'use client' import { useState } from 'react' import type { InvoiceInboxSettings } from '@/extensions/general/invoice-inbox/types' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Switch } from '@/components/ui/switch' import { Loader2, Copy, Check } from 'lucide-react' interface InboxSettingsDialogProps { open: boolean onOpenChange: (open: boolean) => void settings: InvoiceInboxSettings onSave: (settings: InvoiceInboxSettings) => Promise } export default function InboxSettingsDialog({ open, onOpenChange, settings, onSave, }: InboxSettingsDialogProps) { const [local, setLocal] = useState(settings) const [saving, setSaving] = useState(false) const [copied, setCopied] = useState(false) // Reset local state when dialog opens with new settings function handleOpenChange(isOpen: boolean) { if (isOpen) { setLocal(settings) } onOpenChange(isOpen) } async function handleSave() { setSaving(true) try { await onSave(local) onOpenChange(false) } finally { setSaving(false) } } function handleCopyEmail() { if (local.inboxEmail) { navigator.clipboard.writeText(local.inboxEmail) setCopied(true) setTimeout(() => setCopied(false), 2000) } } return ( Inställningar

Analysera fakturor automatiskt vid uppladdning

setLocal((prev) => ({ ...prev, autoProcessEnabled: checked })) } />

Matcha extraherade uppgifter mot befintliga leverantörer

setLocal((prev) => ({ ...prev, autoMatchSupplierEnabled: checked })) } />

Lägsta konfidens för automatisk leverantörsmatchning (0-1)

setLocal((prev) => ({ ...prev, supplierMatchThreshold: Math.min(1, Math.max(0, parseFloat(e.target.value) || 0)), })) } />
{local.inboxEmail && (

Vidarebefodra fakturor till denna adress

)}
) }