import { useSignal } from '@preact/signals' import { useEffect } from 'preact/hooks' type User = { uid: string gecos: string } function applyPatches(users: User[]) { users.forEach(user => { // strip ",+" from the end of the gecos field user.gecos = user.gecos.replace(/,+$/, '') // capitalize the first letter of each word user.gecos = user.gecos.replace(/\b\w/g, c => c.toUpperCase()) }) } export const UtentiPage = () => { const utentiSignal = useSignal([]) useEffect(() => { fetch('https://poisson.phc.dm.unipi.it/users.json') .then(response => response.json()) .then(data => { applyPatches(data) utentiSignal.value = data }) }, []) return ( <>
{utentiSignal.value.map(user => (
person
{user.gecos}
))}
) }