Commit cbdbd078 authored by Vũ Hoàng Anh's avatar Vũ Hoàng Anh

feat(nav): add 1-click 3D Vu Tru button on top navbar and embed Banner3DCanvas

parent cadb9671
Pipeline #3909 failed with stage
......@@ -3,7 +3,7 @@ import { TeamManagementPage } from "../../team/team-management-page";
import type { CSSProperties } from "react";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { usePanelRef } from "react-resizable-panels";
import { Cloud, FileText, Globe, Mic2, MoreHorizontal, PanelRight, TextSearch, Zap } from "lucide-react";
import { Cloud, FileText, Globe, Mic2, MoreHorizontal, PanelRight, Sparkles, TextSearch, Zap } from "lucide-react";
import { resolveExtensionIconSrc } from "@/react-app/design-system/extension-icon-src";
import { ModeToggle } from "@/components/mode-toggle";
......@@ -1179,6 +1179,16 @@ export function SessionPage(props: SessionPageProps) {
</div>
<div className="flex items-center gap-1.5 text-gray-10 mac:titlebar-no-drag">
<Button
variant="outline"
size="sm"
className="hidden sm:inline-flex items-center gap-1.5 rounded-xl border-primary/30 bg-primary/10 text-primary hover:bg-primary/20 text-xs font-medium"
onClick={() => setTeamViewOpen((prev) => !prev)}
title="Mở Trung Tâm Điều Hành 3D Vũ Trụ AI"
>
<Sparkles className="size-3.5 text-amber-400 animate-pulse" />
<span>🌌 Vũ Trụ 3D</span>
</Button>
<ModeToggle />
{!props.primarySlot && findButtonSessionId && !hasMainContentTakeover ? (
<Tooltip>
......
......@@ -86,6 +86,7 @@ import {
useComposerStateStore,
} from "./composer-state-store";
import { MessageList } from "@/components/chat/message-list";
import { Banner3DCanvas } from "@/components/ui/banner-3d-canvas";
import { DeliverablePreviewModal } from "@/components/modals/deliverable-preview-modal";
import { mockOpencodeStore } from "@/app/lib/mock-opencode";
import { MessageListProvider, type DispatchAction } from "@/components/chat/message-list-provider";
......@@ -2097,6 +2098,12 @@ export function SessionSurface(props: SessionSurfaceProps) {
openTargets={verifiedOpenTargets}
onOpenTarget={props.onOpenTarget}
>
<div className="mx-auto w-full max-w-3xl px-4 pt-3 pb-2">
<Banner3DCanvas
title="Trung Tâm Điều Hành 3D Vũ Trụ AI"
subtitle="Quỹ đạo 5 AI Agent tự vận hành liên phòng ban · DeepSeek-V4 & ThreeUI 3D WebGL"
/>
</div>
<EnvironmentVariableProvider
client={props.isRemoteWorkspace ? null : props.environmentClient ?? props.client}
runtimeKey={props.environmentRuntimeKey}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment