--- import Avatar from './Avatar.astro' import Button from './Button.astro' import ButtonList from './ButtonList.astro' import DropdownMenu from './DropdownMenu.astro' import people from '@data/people.json' import { randomNumber } from '@shared/lib/pseudo-random' interface Props { card?: boolean limit?: number stripped?: boolean offset?: number avatars?: boolean mobile?: boolean buttons?: boolean nowrap?: boolean } const { card, limit = 5, stripped, offset, avatars, mobile, buttons, nowrap } = Astro.props const roles = ['User', 'Admin', 'Owner'] const start = offset ?? 0 const rows = (people as Record[]).slice(start, start + limit) const tableClasses = ['table', 'table-vcenter', mobile && 'table-mobile-md', card && 'card-table', stripped && 'table-striped', nowrap && 'table-nowrap'] ---
{!avatars && } {nowrap && { rows.map((person, i) => { const role = roles[randomNumber(i + 1, 0, 2)] return ( {avatars ? ( ) : ( )} {avatars ? ( ) : ( )} {!avatars && ( )} {nowrap && } ) }) }
Name TitleEmailRole}
{person.full_name}
{person.full_name}
{person.job_title}
{person.department}
{person.job_title}, {person.department} {person.email} {role} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates. {buttons ? ( ) : ( Edit )}