import React, { useEffect, useState } from 'react'; import { useActivityLogs } from '@/api/account/activity'; import { useFlashKey } from '@/plugins/useFlash'; import PageContentBlock from '@/components/elements/PageContentBlock'; import FlashMessageRender from '@/components/FlashMessageRender'; import { format, formatDistanceToNowStrict } from 'date-fns'; import { Link } from 'react-router-dom'; import PaginationFooter from '@/components/elements/table/PaginationFooter'; import { UserIcon } from '@heroicons/react/outline'; import Tooltip from '@/components/elements/tooltip/Tooltip'; import { DesktopComputerIcon } from '@heroicons/react/solid'; export default () => { const { clearAndAddHttpError } = useFlashKey('account'); const [ page, setPage ] = useState(1); const { data, isValidating: _, error } = useActivityLogs(page, { revalidateOnMount: true, revalidateOnFocus: false, }); useEffect(() => { clearAndAddHttpError(error); }, [ error ]); return (
{data?.items.map((activity) => (
{activity.relationships.actor ? {'User : }
{activity.relationships.actor?.username || 'system'}  —  {activity.event} {typeof activity.properties.useragent === 'string' && }
{/*

{activity.description || JSON.stringify(activity.properties)}

*/}
{activity.ip}  |  {formatDistanceToNowStrict(activity.timestamp, { addSuffix: true })}
))}
{data && }
); };