'use client'; import React, { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Download, Upload, RotateCcw, Settings } from 'lucide-react'; import { useSidebarLayout } from '@/hooks/use-sidebar-layout'; export function SettingsManagement() { const { exportSettings, importSettings, resetToDefaults } = useSidebarLayout(); const [importFile, setImportFile] = useState(null); const [importing, setImporting] = useState(false); const [importError, setImportError] = useState(null); const handleImportFile = async () => { if (!importFile) return; setImporting(true); setImportError(null); try { await importSettings(importFile); setImportFile(null); // Reset file input const fileInput = document.getElementById('settings-import') as HTMLInputElement; if (fileInput) fileInput.value = ''; } catch (error) { setImportError(error instanceof Error ? error.message : 'Failed to import settings'); } finally { setImporting(false); } }; return ( Settings Management Export, import, or reset your application settings
setImportFile(e.target.files?.[0] || null)} className="hidden" /> {importFile && ( )}
{importFile && (
Selected: {importFile.name}
)} {importError && (
Error: {importError}
)}
); }