diff --git a/frontend/components/ui-header/app-header.tsx b/frontend/components/ui-header/app-header.tsx index 737bcfc..70e64e7 100644 --- a/frontend/components/ui-header/app-header.tsx +++ b/frontend/components/ui-header/app-header.tsx @@ -22,14 +22,14 @@ export default function AppHeader() { Logo {/* update, issues */} -
+
+ {/* New session button */} + + {/* slider */}
@@ -353,6 +371,23 @@ export default function SettingsBar() {
+ + + + Start a new session? + + Your current session is unsaved. Hitting confirm will clear the current pipeline. Any unsaved changes will be lost. + + +
+ + + + +
+
+
+ { ); const onNodesChange: OnNodesChange = useCallback( - (changes) => setNodes((nds) => applyNodeChanges(changes, nds)), + (changes) => { + setNodes((nds) => applyNodeChanges(changes, nds)); + window.dispatchEvent(new Event('canvas-changed')); + }, [setNodes] ); diff --git a/frontend/components/ui-sessions/session-modal.tsx b/frontend/components/ui-sessions/session-modal.tsx index cbda500..ddc6965 100644 --- a/frontend/components/ui-sessions/session-modal.tsx +++ b/frontend/components/ui-sessions/session-modal.tsx @@ -1,7 +1,7 @@ 'use client'; import { useEffect, useMemo, useState } from 'react'; -import { Check, ChevronsUpDown } from 'lucide-react'; +import { Check } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { @@ -20,7 +20,6 @@ import { CommandItem, CommandList, } from '@/components/ui/command'; -import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { cn } from '@/lib/utils'; import { SessionSummary } from '@/lib/session-api'; @@ -49,7 +48,6 @@ export default function SessionModal({ const [selectedSessionId, setSelectedSessionId] = useState( null ); - const [isSessionPickerOpen, setIsSessionPickerOpen] = useState(false); const [validationError, setValidationError] = useState(null); useEffect(() => { @@ -57,7 +55,6 @@ export default function SessionModal({ setSessionName(''); setSelectedSessionId(null); setValidationError(null); - setIsSessionPickerOpen(false); } }, [open, mode]); @@ -129,58 +126,35 @@ export default function SessionModal({
) : (
- - - - - - - - - No sessions found. - - {sessions.map((session) => ( - { - setSelectedSessionId(session.id); - setIsSessionPickerOpen(false); - }} - > - - {session.name} - - ID {session.id} - - - ))} - - - - - + + + + No sessions found. + + {sessions.map((session) => ( + setSelectedSessionId(session.id)} + disabled={isSubmitting} + > + + {session.name} + + ID {session.id} + + + ))} + + + {validationError ? (

{validationError}

) : null}