import useSWR from 'swr'; import Image from 'next/image'; import { OAuth2ClientListItem } from '../../lib/types/oauth2-client.interface'; import { PaginatedResponse } from '../../lib/types/paginated-response.interface'; import { Paginator } from '../common/Paginator/Paginator'; import styles from './OAuth2Page.module.scss'; import { UPLOADS_URL } from '../../lib/constants'; import application from '../../public/application.png'; import { useState } from 'react'; import useUser from '../../lib/hooks/useUser'; import { Container } from '../common/Container/Container'; import { Header } from '../common/Header/Header'; import Modal from '../common/Modal/Modal/Modal'; import ModalHeader from '../common/Modal/ModalHeader/ModalHeader'; import ModalBody from '../common/Modal/ModalBody/ModalBody'; import ModalFooter from '../common/Modal/ModalFooter/ModalFooter'; import ModalService from '../common/Modal/services/ModalService'; const TestModal = ({ close }: { close: (...args: any[]) => void }) => { return (

Test!

This is only a test

); }; const OAuth2ClientCard = ({ client }: { client: OAuth2ClientListItem }) => (
{client.picture ? ( ) : ( )}

{client.title}

{client.description}
Client ID
{client.client_id}
Allowed scopes
{client.scope?.split(' ').join(', ')}
Allowed grant types
{client.grants?.split(' ').join(', ')}
Activated
{client.activated ? 'Yes' : NOT ACTIVATED}
Verified
{client.verified ? 'Yes' : 'No'}
Created
{new Date(client.created_at).toDateString()}
); const OAuth2ClientList = ({ pageIndex, searchTerm, setPage, }: { pageIndex: number; searchTerm: string; setPage: (page: number) => void; }) => { const { data } = useSWR>( `/api/admin/oauth2/clients?page=${pageIndex}${ searchTerm ? `&q=${searchTerm}` : '' }` ); return data ? ( <>
{data.list.map((client) => ( ))} {data?.pagination && ( )}
) : ( Nothing found ); }; export const OAuth2Page = () => { const { user } = useUser({ redirectTo: '/login' }); const [pageIndex, setPageIndex] = useState(1); const [searchTerm, setSearchTerm] = useState(''); return ( <>

OAuth2 clients

); };