import styles from './UsersPage.module.scss'; import { useState } from 'react'; import useSWR from 'swr'; import useUser from '../../lib/hooks/useUser'; import { PaginatedResponse } from '../../lib/types/paginated-response.interface'; import { UserListItem } from '../../lib/types/users.interfaces'; import { Container } from '../common/Container/Container'; import { Header } from '../common/Header/Header'; import avatar from '../../public/avatar.png'; import Image from 'next/image'; import { UPLOADS_URL } from '../../lib/constants'; import { Paginator } from '../common/Paginator/Paginator'; const UserCard = ({ user }: { user: UserListItem }) => (
{user.picture ? ( ) : ( )}

{user.display_name}{' '} @{user.username}

UUID
{user.uuid}
Email
{user.email}
Activated
{user.activated ? 'Yes' : NOT ACTIVATED}
Registered
{new Date(user.created_at).toDateString()}
); const UserList = ({ pageIndex, searchTerm, setPage, }: { pageIndex: number; searchTerm: string; setPage: (page: number) => void; }) => { const { data } = useSWR>( `/api/admin/users?page=${pageIndex}${searchTerm ? `&q=${searchTerm}` : ''}` ); return data ? ( <>
{data.list.map((user) => ( ))}
) : ( Nothing found ); }; export const UsersPage = () => { const { user } = useUser({ redirectTo: '/login' }); const [pageIndex, setPageIndex] = useState(1); const [searchTerm, setSearchTerm] = useState(''); return ( <>

Users

); };