import { type ComponentProps, useContext } from "react" import { AuthUIContext } from "../../../lib/auth-ui-provider" import { cn } from "../../../lib/utils" import type { AuthLocalization } from "../../../localization/auth-localization" import { Button } from "../../ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "../../ui/dialog" import type { SettingsCardClassNames } from "./settings-card" export interface SessionFreshnessDialogProps extends ComponentProps { classNames?: SettingsCardClassNames localization?: AuthLocalization title?: string description?: string } export function SessionFreshnessDialog({ classNames, localization, title, description, onOpenChange, ...props }: SessionFreshnessDialogProps) { const { basePath, localization: contextLocalization, viewPaths, navigate } = useContext(AuthUIContext) localization = { ...contextLocalization, ...localization } const handleSignOut = () => { navigate(`${basePath}/${viewPaths.SIGN_OUT}`) onOpenChange?.(false) } return ( {title || localization?.SESSION_EXPIRED || "Session Expired"} {description || localization?.SESSION_NOT_FRESH} ) }