'use client'; import React, { useState } from 'react'; import { Session, SessionDevice } from '@ory/client'; import { Card, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { UAParser } from 'ua-parser-js'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; interface SessionItemProps { session: Session; showInvalidate: boolean; invalidateSession: (id: string) => void; } export default function SessionItem({ session, showInvalidate, invalidateSession }: SessionItemProps) { if (!session.devices || session.devices.length < 1) { return; } const [device] = useState(session.devices[0]); const parser = new UAParser(device.user_agent); const result = parser.getResult(); return ( {result.os.name} {result.browser.name}, version {result.browser.version}
Signed in since {new Date(session.authenticated_at!!).toLocaleString()}
{ showInvalidate ? : This session }
); }