diff --git a/frontend/src/pages/SettingsPage.tsx b/frontend/src/pages/SettingsPage.tsx index 6f57d09..c91addb 100644 --- a/frontend/src/pages/SettingsPage.tsx +++ b/frontend/src/pages/SettingsPage.tsx @@ -14,6 +14,8 @@ import { useVehicles } from '../features/vehicles/hooks/useVehicles'; import { useTheme } from '../shared-minimal/theme/ThemeContext'; import { DeleteAccountDialog } from '../features/settings/components/DeleteAccountDialog'; import { PendingDeletionBanner } from '../features/settings/components/PendingDeletionBanner'; +import { ImportButton } from '../features/settings/components/ImportButton'; +import { ImportDialog } from '../features/settings/components/ImportDialog'; import { Box, Typography, @@ -64,6 +66,8 @@ export const SettingsPage: React.FC = () => { const [editedDisplayName, setEditedDisplayName] = useState(''); const [editedNotificationEmail, setEditedNotificationEmail] = useState(''); const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); + const [importDialogOpen, setImportDialogOpen] = useState(false); + const [selectedFile, setSelectedFile] = useState(null); const exportMutation = useExportUserData(); // Initialize edit form when profile loads or edit mode starts @@ -112,6 +116,16 @@ export const SettingsPage: React.FC = () => { } }; + const handleImportFileSelected = (file: File) => { + setSelectedFile(file); + setImportDialogOpen(true); + }; + + const handleImportClose = () => { + setImportDialogOpen(false); + setSelectedFile(null); + }; + return ( @@ -444,9 +458,20 @@ export const SettingsPage: React.FC = () => { + + + + + + + { setDeleteDialogOpen(false)} /> + ); }; \ No newline at end of file