import { NextJsConfig, NpmSettings } from '@/types/project' import { ScrollArea } from '@/components/ui/scroll-area' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Cube } from '@phosphor-icons/react' import projectSettingsCopy from '@/data/project-settings.json' import { NextJsConfigTab } from '@/components/project-settings/NextJsConfigTab' import { PackagesTab } from '@/components/project-settings/PackagesTab' import { ScriptsTab } from '@/components/project-settings/ScriptsTab' import { DataTab } from '@/components/project-settings/DataTab' import { PackageDialog } from '@/components/project-settings/PackageDialog' import { ScriptDialog } from '@/components/project-settings/ScriptDialog' import { useProjectSettingsActions } from '@/components/project-settings/useProjectSettingsActions' interface ProjectSettingsDesignerProps { nextjsConfig: NextJsConfig npmSettings: NpmSettings onNextjsConfigChange: (config: NextJsConfig | ((current: NextJsConfig) => NextJsConfig)) => void onNpmSettingsChange: (settings: NpmSettings | ((current: NpmSettings) => NpmSettings)) => void } export function ProjectSettingsDesigner({ nextjsConfig, npmSettings, onNextjsConfigChange, onNpmSettingsChange, }: ProjectSettingsDesignerProps) { const { packageDialogOpen, setPackageDialogOpen, editingPackage, setEditingPackage, scriptDialogOpen, setScriptDialogOpen, scriptKey, setScriptKey, scriptValue, setScriptValue, editingScriptKey, handleAddPackage, handleEditPackage, handleSavePackage, handleDeletePackage, handleAddScript, handleEditScript, handleSaveScript, handleDeleteScript, } = useProjectSettingsActions({ onNpmSettingsChange }) return (
{projectSettingsCopy.header.description}