This commit is contained in:
Roberto Musso
2026-02-25 07:31:50 +01:00
parent 5445bb0eec
commit 50b7fa784c
8 changed files with 335 additions and 86 deletions

View File

@@ -117,6 +117,8 @@ export function AppShell({ children }: AppShellProps) {
},
});
const isHomePage = currentPath === '/';
// Curtain is disabled on home page and on /projects without a selected project
const searchObj = routerState.location.search as Record<string, unknown>;
const projectId = typeof searchObj['projectId'] === 'string' ? searchObj['projectId'] : undefined;
@@ -220,33 +222,36 @@ export function AppShell({ children }: AppShellProps) {
contextType={contextType}
projectId={projectId}
projectName={projectQuery.data?.name}
curtainOpen={curtainOpen}
curtainOpen={isHomePage || curtainOpen}
isHomePage={isHomePage}
/>
{/* Content panel: slides down to reveal chat */}
<motion.div
style={{ y: springY }}
className="absolute inset-0 z-10 flex flex-col bg-background"
>
{children}
{/* Content panel: slides down to reveal chat (hidden on home — AIChatPanel IS the home page) */}
{!isHomePage && (
<motion.div
style={{ y: springY }}
className="absolute inset-0 z-10 flex flex-col bg-background"
>
{children}
{/* Right-edge vertical affordance (non-interactive, hidden on home) */}
<div className={`absolute right-0 top-0 flex items-end justify-center pt-8 pointer-events-none select-none${!curtainEnabled ? ' hidden' : ''}`}>
<div className="flex flex-col items-center gap-1.5 pr-2">
{curtainOpen ? (
<ChevronDown size={10} />
) : (
<ChevronUp size={10} />
)}
<span
className="text-[9px] tracking-widest uppercase font-medium"
style={{ writingMode: 'vertical-rl', transform: 'rotate(180deg)' }}
>
{curtainOpen ? 'back to app' : 'scrolling up for Adiuva'}
</span>
{/* Right-edge vertical affordance (non-interactive) */}
<div className={`absolute right-0 top-0 flex items-end justify-center pt-8 pointer-events-none select-none${!curtainEnabled ? ' hidden' : ''}`}>
<div className="flex flex-col items-center gap-1.5 pr-2">
{curtainOpen ? (
<ChevronDown size={10} />
) : (
<ChevronUp size={10} />
)}
<span
className="text-[9px] tracking-widest uppercase font-medium"
style={{ writingMode: 'vertical-rl', transform: 'rotate(180deg)' }}
>
{curtainOpen ? 'back to app' : 'scrolling up for Adiuva'}
</span>
</div>
</div>
</div>
</motion.div>
</motion.div>
)}
</SidebarInset>
</SidebarProvider>