import { Badge } from '@/components/ui/badge'
import { Button } from '@/components/ui/button'
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
import { Cloud, Cpu, Database, Download, HardDrive, Upload } from '@phosphor-icons/react'
import {
getBackendCopy,
storageSettingsCopy,
} from '@/components/storage/storageSettingsConfig'
import type { StorageBackendKey } from '@/components/storage/storageSettingsConfig'
import type { StorageSettingsWrapperProps } from './interfaces'
const getBackendIcon = (backend: StorageBackendKey | null) => {
switch (backend) {
case 'flask':
return
case 'indexeddb':
return
case 'sqlite':
return
case 'sparkkv':
return
default:
return
}
}
export function StorageSettingsWrapper({
backend = null,
isLoading = false,
flaskUrl = storageSettingsCopy.molecule.flaskUrlPlaceholder,
isSwitching = false,
onFlaskUrlChange,
onSwitchToFlask,
onSwitchToIndexedDB,
onSwitchToSQLite,
isExporting = false,
isImporting = false,
onExport,
onImport,
}: StorageSettingsWrapperProps) {
const backendCopy = getBackendCopy(backend)
return (
{getBackendIcon(backend)}
{storageSettingsCopy.molecule.title}
{storageSettingsCopy.molecule.description}
{storageSettingsCopy.molecule.currentBackendLabel}
{getBackendIcon(backend)}
{backendCopy.moleculeLabel}
{storageSettingsCopy.molecule.backendDetails.indexeddb}
{storageSettingsCopy.molecule.backendDetails.sqlite}
{storageSettingsCopy.molecule.backendDetails.flask}
{storageSettingsCopy.molecule.dataTitle}
{storageSettingsCopy.molecule.dataDescription}
{storageSettingsCopy.molecule.dataHelp}
)
}