---
// Port of ui/advanced-table.html
import BadgesList from './BadgesList.astro'
import Icon from './Icon.astro'
import { formatLongDate } from '@shared/lib/date-format'
import { randomNumber, randomItem, randomDate } from '@shared/lib/pseudo-random'
import Avatar from './Avatar.astro'
import Button from './Button.astro'
import ButtonList from './ButtonList.astro'
import Pagination from './Pagination.astro'
import people from '@data/people.json'
import tableProperties from '@data/table-properties.json'
interface Props {
id?: string
}
const { id: tableId = 'advanced-table' } = Astro.props
const statuses = ['Active', 'Inactive', 'Requested']
const perPage = ['10', '20', '50', '100']
const categories = ['Agencies', 'Individual', 'Event', 'Ticket']
const tags = ['QTA,Event,Tickets,TODO', 'Event,Tickets', 'QTA,Event', 'Tickets']
const headers = (tableProperties as Record)['advanced-table'].headers as {
'data-sort': string
'name': string
}[]
const rows = (people as Record[]).map((person, i) => {
const index = i + 1
const status = randomItem(index + 5, statuses)
const itemTags = randomItem(index + 5, tags).split(',')
const category = randomItem(index, categories)
const date = formatLongDate(randomDate(index))
return { person, index, status, itemTags, category, date }
})
// Inline