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,
- }}
- />
+
+ ) : (
+
)
}