import { isAdministrator, Solution as SolutionModel, SolutionStat } from '../../shared/model' import { sortByStringKey } from '../../shared/utils' import { prependBaseUrl } from '../../shared/utils' import { Header } from '../components/Header' import { Solution } from '../components/Solution' import { useResource } from '../hooks' import { useCurrentUser } from '../hooks/useCurrentUser' type RouteProps = { uid: string } export const UserPage = ({ uid }: RouteProps) => { const [user, ready] = useCurrentUser() if (!ready) { return <> } const [stats] = useResource>(`/api/stats`, null) if (!stats) { return <> } const userStats = stats[uid] const [solutions, refreshSolutions] = useResource(`/api/solutions?user=${uid}&public`, []) const sortedSolutions = sortByStringKey(solutions, s => s.createdAt, false) return ( <>
Profilo di {user?.fullName}

Statistiche
Soluzioni inviate
Soluzioni corrette
{userStats?.sentSolutionsCount ?? 0}
{userStats?.correctSolutionsCount ?? 0}

Soluzioni notevoli
{sortedSolutions.map(solution => ( ))}
) }