'use client'; import { useTranslations } from 'next-intl'; import { useState } from 'react'; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { IpAnalysisPanel } from './ip-analysis-panel'; export function IpDetailDialog({ open, remoteAddr, region, initialHours, onOpenChange, }: { open: boolean; remoteAddr: string | null; region?: string; initialHours?: number; onOpenChange: (open: boolean) => void; }) { const [displayAddr, setDisplayAddr] = useState(remoteAddr); const [displayRegion, setDisplayRegion] = useState(region); if (remoteAddr && remoteAddr !== displayAddr) { setDisplayAddr(remoteAddr); setDisplayRegion(region); } const t = useTranslations('accessLogs.ip'); const ip = remoteAddr ?? displayAddr ?? ''; return ( {t('dialogTitle')} {ip || '—'} {displayRegion ? ( · {displayRegion} ) : null} {t('dialogDesc')} ); }