diff --git a/web/pages/admin.tsx b/web/pages/admin.tsx index 251f7a04..91f71b9d 100644 --- a/web/pages/admin.tsx +++ b/web/pages/admin.tsx @@ -5,6 +5,7 @@ import { html } from 'gridjs' import dayjs from 'dayjs' import { useUsers } from '../hooks/use-users' import { useUser } from '../hooks/use-user' +import Error from 'next/error' function avatarHtml(avatarUrl: string) { return `` } +function UsersTable() { + let users = useUsers() + // Sort users by createdTime descending, by default + users = users.sort((a, b) => b.createdTime - a.createdTime) + + return ( + html(avatarHtml(cell as string)), + }, + { + id: 'username', + name: 'Username', + formatter: (cell) => + html(`@${cell}`), + }, + 'Email', + { + id: 'createdTime', + name: 'Created Time', + formatter: (cell) => + html( + `${dayjs(cell as number).format( + 'MMM D, h:mma' + )}` + ), + }, + { + id: 'balance', + name: 'Balance', + formatter: (cell) => (cell as number).toFixed(0), + }, + { + id: 'id', + name: 'ID', + formatter: (cell) => + html(`${cell}`), + }, + ]} + search={true} + sort={true} + pagination={{ + enabled: true, + limit: 25, + }} + /> + ) +} + export default function Admin() { const user = useUser() - let users = useUsers() - const adminIds = [ 'igi2zGXsfxYPgB0DJTXVJVmwCOr2', // Austin '5LZ4LgYuySdL1huCWe7bti02ghx2', // James 'tlmGNz9kjXc2EteizMORes4qvWl2', // Stephen ] - if (!adminIds.includes(user?.id || '')) { - return Nice try. No access for you. - } - - // Sort users by createdTime descending, by default - users = users.sort((a, b) => b.createdTime - a.createdTime) - - return ( + const isAdmin = adminIds.includes(user?.id || '') + return isAdmin ? ( - html(avatarHtml(cell as string)), - }, - { - id: 'username', - name: 'Username', - formatter: (cell) => - html(`@${cell}`), - }, - 'Email', - { - id: 'createdTime', - name: 'Created Time', - formatter: (cell) => dayjs(cell as number).format('MMM D, h:mma'), - }, - { - id: 'balance', - name: 'Balance', - formatter: (cell) => (cell as number).toFixed(0), - }, - { - id: 'id', - name: 'ID', - formatter: (cell) => - html(`${cell}`), - }, - ]} - search={true} - sort={true} - pagination={{ - enabled: true, - limit: 25, - }} - /> + + ) : ( + ) }