diff --git a/src/context/index.ts b/src/context/index.ts index 5863583..8d8175d 100644 --- a/src/context/index.ts +++ b/src/context/index.ts @@ -55,11 +55,6 @@ export type AppContextType = { fetch: (roleName: string) => Promise; fetchRoles: () => Promise; }; - users: { - data: User[] | null; - loading: boolean; - fetch: () => Promise; - }; me: { data: User | null; loading: boolean; diff --git a/src/pages/admin/index.tsx b/src/pages/admin/index.tsx index c13b666..9a86758 100644 --- a/src/pages/admin/index.tsx +++ b/src/pages/admin/index.tsx @@ -1,6 +1,6 @@ -import { CalendarIcon, ClipboardCopyIcon } from '@heroicons/react/outline'; +import { CalendarIcon } from '@heroicons/react/outline'; import { useSlashAuth } from '@slashauth/slashauth-react'; -import { useCallback, useContext, useMemo, useRef } from 'react'; +import { useCallback, useContext, useMemo } from 'react'; import { PrimaryButton } from '../../common/components/Buttons'; import { LoggedOut } from '../../common/components/LoggedOut'; import { NotAuthorized } from '../../common/components/NotAuthorized'; @@ -19,30 +19,16 @@ import TopBar from '../../features/top-bar'; import { SlashauthEvent } from '../../model/event'; import adminGradient from '../../common/gradients/admin-gradient.png'; import { StripedTable } from '../../common/components/table/striped'; -import { shortenAddress } from '../../util/address'; -import { toast } from 'react-hot-toast'; import { classNames } from '../../util/classnames'; import { AddFileModalContents } from '../../features/add-file/modal'; import { Link } from 'react-router-dom'; export const AdminPage = () => { const modalContext = useContext(ModalContext); - const { events, roles, users, files } = useContext(AppContext); + const { events, roles, files } = useContext(AppContext); const { isAuthenticated } = useSlashAuth(); - const listDivRef = useRef(null); - - const handleListScroll = useCallback(() => { - if ( - // If has more - listDivRef.current && - listDivRef.current.scrollHeight > 0 - ) { - // Fetch more - } - }, []); - const handleUpload = useCallback( async (input: { name: string; @@ -118,49 +104,6 @@ export const AdminPage = () => { ); }, [events]); - const userContents = useMemo(() => { - if (!users.data || users.loading) { - return ; - } - - return ( - ({ - id: user.address, - columns: [ -
-
{shortenAddress(user.address)}
- e.stopPropagation()} - onMouseUp={(e) => e.stopPropagation()} - onClick={(e) => { - e.stopPropagation(); - navigator.clipboard.writeText(user.address); - toast.success('Copied to clipboard', { - duration: 1000, - id: 'copyable-text-div', - }); - }} - /> -
, - - {user.nickname || 'No nickname'} - , - {(user.roles || []).sort().join(', ')}, - {new Date(user.dateTime).toLocaleDateString()}, - ], - }))} - /> - ); - }, [users.data, users.loading]); - const fileContents = useMemo(() => { if (!files.data || files.loading) { return ; @@ -207,20 +150,6 @@ export const AdminPage = () => { return (
-
-
- Track Your App Users -
-
-
- {userContents} -
-
-
@@ -253,11 +182,9 @@ export const AdminPage = () => { eventsContent, fileContents, handleAddEvent, - handleListScroll, handleUploadFile, isAuthenticated, roles.data, - userContents, ]); return ( diff --git a/src/providers/app-provider.tsx b/src/providers/app-provider.tsx index ad1486f..fe5adb1 100644 --- a/src/providers/app-provider.tsx +++ b/src/providers/app-provider.tsx @@ -34,11 +34,6 @@ const AppProvider = ({ children }: Props) => { [roleName: string]: FetchedData; }>({}); - const [users, setUsers] = useState>({ - data: undefined, - loading: false, - }); - const [me, setMe] = useState>({ data: undefined, loading: false, @@ -234,37 +229,6 @@ const AppProvider = ({ children }: Props) => { }); }, [appMetadata, config, getTokens]); - const fetchUsers = useCallback(async (): Promise => { - if (!isAuthenticated) { - return null; - } - setUsers((existing) => ({ - ...existing, - loading: true, - })); - - return getTokens().then((token) => { - const api = new API(config, token); - return api - .getUsers() - .then((users) => { - setUsers({ - data: users, - loading: false, - }); - return users; - }) - .catch((err) => { - console.error('Error fetching users: ', err); - setUsers({ - data: null, - loading: false, - }); - return null; - }); - }); - }, [config, getTokens, isAuthenticated]); - const fetchEvents = useCallback(async (): Promise< SlashauthEvent[] | null > => { @@ -506,7 +470,6 @@ const AppProvider = ({ children }: Props) => { ) { if (roles[RoleNameAdmin].data && isAuthenticated) { fetchEvents(); - fetchUsers(); listFiles(); } setLastRoleDataAdmin(roles[RoleNameAdmin].data); @@ -551,10 +514,6 @@ const AppProvider = ({ children }: Props) => { fetch: fetchRoleData, fetchRoles, }, - users: { - ...users, - fetch: fetchUsers, - }, me: { ...me, fetch: fetchMe,