import { useState } from "react";
import { revokeOtherSession, signOutEverywhere } from "~/fns/account-security";
import { resetAnalytics } from "~/lib/analytics";
import { useAction } from "~/hooks/use-action";
import { Button } from "~/ui/Button";
import { ErrorBanner } from "~/ui/Callout";
import { Panel } from "~/ui/Panel";
import { RelativeTime } from "~/ui/RelativeTime";
type Session = {
id: string;
ip: string | null;
userAgent: string | null;
createdAt: number;
lastSeenAt: number;
current: boolean;
};
/** A short, human label for a browser user-agent string. */
function describeAgent(userAgent: string | null): string {
if (!userAgent) return "Unknown browser";
const browser = /Firefox\//.test(userAgent)
? "Firefox"
: /Edg\//.test(userAgent)
? "Edge"
: /OPR\//.test(userAgent)
? "Opera"
: /Chrome\//.test(userAgent)
? "Chrome"
: /Safari\//.test(userAgent)
? "Safari"
: "Browser";
const platform = /iPhone|iPad/.test(userAgent)
? "iOS"
: /Android/.test(userAgent)
? "Android"
: /Mac OS X/.test(userAgent)
? "macOS"
: /Windows/.test(userAgent)
? "Windows"