--- import AppLayout from '../layouts/AppLayout.astro'; import { getAllUsersPublic } from '../lib/db'; import type { UserPublic, Role } from '../lib/db'; const user = Astro.locals.user; const allUsers = getAllUsersPublic().filter((u) => u.active); // Group by organisation const orgs = new Map(); for (const u of allUsers) { if (!orgs.has(u.organisation)) orgs.set(u.organisation, []); orgs.get(u.organisation)!.push(u); } const roleLabels: Record = { pilot: 'Pilot', cab: 'CAB', fenja: 'Fenja', }; const roleColors: Record = { pilot: 'var(--pigment-copper)', cab: 'var(--pigment-indigo)', fenja: 'var(--secondary)', }; ---
{[...orgs.entries()].map(([orgName, members]) => (

{orgName}

    {members.map((member) => (
  • {member.name} {roleLabels[member.role]}
    {member.bio && (

    {member.bio}

    )} {member.id === user.id && ( Edit your bio )}
  • ))}
))}