--- import { people } from '@shared/lib/people' import Avatar from '@ui/Avatar.astro' import Button from '@ui/Button.astro' import ButtonList from '@ui/ButtonList.astro' import DropdownMenu from './DropdownMenu.astro' import { randomNumber } from '@shared/lib/pseudo-random' interface Props { card?: boolean limit?: number striped?: boolean offset?: number avatars?: boolean mobile?: boolean buttons?: boolean } const { card, limit = 5, striped, offset, avatars, mobile, buttons } = Astro.props const roles = ['User', 'Admin', 'Owner'] const start = offset ?? 0 const rows = people.slice(start, start + limit) const tableClasses = ['table', 'table-vcenter', mobile && 'table-mobile-md', card && 'card-table', striped && 'table-striped'] ---
{!avatars && } { rows.map((person, i) => { const role = roles[randomNumber(i + 1, 0, 2)] return ( {avatars ? ( ) : ( )} {avatars ? ( ) : ( )} {!avatars && ( )} ) }) }
Name TitleEmailRole
{person.full_name}
{person.full_name}
{person.job_title}
{person.department}
{person.job_title}, {person.department} {person.email} {role} {buttons ? ( ) : ( Edit )}