import { ExternalLink, RefreshCw } from 'lucide-react' import Link from 'next/link' import { useQueryState } from 'nuqs' import { useEffect } from 'react' import { useParams } from 'common' import { LOGS_TABLES } from 'components/interfaces/Settings/Logs/Logs.constants' import { ButtonTooltip } from 'components/ui/ButtonTooltip' import { User } from 'data/auth/users-infinite-query' import useLogsPreview from 'hooks/analytics/useLogsPreview' import { useLogsUrlState } from 'hooks/analytics/useLogsUrlState' import { Button, cn, CriticalIcon, Separator } from 'ui' import { Admonition, TimestampInfo } from 'ui-patterns' import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader' import { UserHeader } from './UserHeader' import { PANEL_PADDING } from './Users.constants' interface UserLogsProps { user: User } export const UserLogs = ({ user }: UserLogsProps) => { const { ref } = useParams() const { filters, setFilters } = useLogsUrlState() const [_, setFiltersValue] = useQueryState('f') const { logData: authLogs, isSuccess: isSuccessAuthLogs, isLoading: isLoadingAuthLogs, refresh, } = useLogsPreview({ projectRef: ref as string, table: LOGS_TABLES.auth, filterOverride: { search_query: user.id }, limit: 5, }) useEffect(() => { if (user.id) setFilters({ ...filters, search_query: user.id }) return () => { setFiltersValue(null) } // eslint-disable-next-line react-hooks/exhaustive-deps }, [user.id]) return (
Authentication logs
Latest logs from authentication for this user in the past hour
{`${log.path} | ${log.msg}`}