@@ -14,7 +14,9 @@ import {
1414 type AssistantComposerApi ,
1515} from "@/components/vibe-coding" ;
1616import { ToolCallContent } from "@/components/vibe-coding/chat-adapters" ;
17+ import type { AppId } from "@/lib/apps-frontend" ;
1718import { useUpdateConfig } from "@/lib/config-update" ;
19+ import { getPublicEnvVar } from "@/lib/env" ;
1820import { cn } from "@/lib/utils" ;
1921import {
2022 ChatCircleIcon ,
@@ -23,13 +25,11 @@ import {
2325 TrashIcon ,
2426 XIcon ,
2527} from "@phosphor-icons/react" ;
28+ import { useUser } from "@stackframe/stack" ;
2629import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config" ;
27- import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects" ;
2830import { throwErr } from "@stackframe/stack-shared/dist/utils/errors" ;
29- import type { AppId } from "@/lib/apps-frontend " ;
31+ import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects " ;
3032import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises" ;
31- import { getPublicEnvVar } from "@/lib/env" ;
32- import { useUser } from "@stackframe/stack" ;
3333import { usePathname } from "next/navigation" ;
3434import { useCallback , useEffect , useMemo , useRef , useState } from "react" ;
3535import { PageLayout } from "../../page-layout" ;
@@ -391,7 +391,7 @@ function DashboardDetailContent({
391391 < PageLayout fillWidth noPadding >
392392 { /* Both panels are always in the DOM so the iframe never unmounts/reloads.
393393 The chat panel animates its width; the dashboard panel adjusts via flex-1. */ }
394- < div data-full-bleed className = "flex h-full " >
394+ < div data-full-bleed className = "flex h-[calc(100vh-3.5rem)] dark:h-[calc(100vh-6rem)] " >
395395 { /* Dashboard iframe panel */ }
396396 < div
397397 className = { cn (
0 commit comments