diff --git a/web/src/app/app.tsx b/web/src/app/app.tsx deleted file mode 100644 index 36edc31..0000000 --- a/web/src/app/app.tsx +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates -// SPDX-License-Identifier: MIT - -"use client"; - -import { GithubOutlined } from "@ant-design/icons"; -import Link from "next/link"; -import { useMemo } from "react"; - -import { Button } from "~/components/ui/button"; -import { useReplay } from "~/core/replay"; -import { useStore } from "~/core/store"; -import { cn } from "~/lib/utils"; - -import { Logo } from "./_components/logo"; -import { MessagesBlock } from "./_components/messages-block"; -import { ResearchBlock } from "./_components/research-block"; -import { ThemeToggle } from "./_components/theme-toggle"; -import { Tooltip } from "./_components/tooltip"; -import { SettingsDialog } from "./_settings/dialogs/settings-dialog"; - -export default function App() { - const { isReplay } = useReplay(); - const openResearchId = useStore((state) => state.openResearchId); - const doubleColumnMode = useMemo( - () => openResearchId !== null, - [openResearchId], - ); - return ( -
-
- -
- - - - - {!isReplay && } -
-
-
- - -
-
- ); -} diff --git a/web/src/app/chat/main.tsx b/web/src/app/chat/main.tsx new file mode 100644 index 0000000..3d41653 --- /dev/null +++ b/web/src/app/chat/main.tsx @@ -0,0 +1,54 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: MIT + +"use client"; + +import { GithubOutlined } from "@ant-design/icons"; +import Link from "next/link"; +import { useMemo } from "react"; + +import { Button } from "~/components/ui/button"; +import { useReplay } from "~/core/replay"; +import { useStore } from "~/core/store"; +import { cn } from "~/lib/utils"; + +import { Logo } from "../_components/logo"; +import { MessagesBlock } from "../_components/messages-block"; +import { ResearchBlock } from "../_components/research-block"; +import { ThemeToggle } from "../_components/theme-toggle"; +import { Tooltip } from "../_components/tooltip"; +import { SettingsDialog } from "../_settings/dialogs/settings-dialog"; + +export default function Main() { + const { isReplay } = useReplay(); + const openResearchId = useStore((state) => state.openResearchId); + const doubleColumnMode = useMemo( + () => openResearchId !== null, + [openResearchId], + ); + return ( +
+ + +
+ ); +} diff --git a/web/src/app/chat/page.tsx b/web/src/app/chat/page.tsx new file mode 100644 index 0000000..26dba29 --- /dev/null +++ b/web/src/app/chat/page.tsx @@ -0,0 +1,47 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: MIT + +"use client"; + +import { GithubOutlined } from "@ant-design/icons"; +import dynamic from "next/dynamic"; +import Link from "next/link"; +import { Suspense } from "react"; + +import { Button } from "~/components/ui/button"; +import { useReplay } from "~/core/replay"; + +import { Logo } from "../_components/logo"; +import { ThemeToggle } from "../_components/theme-toggle"; +import { Tooltip } from "../_components/tooltip"; +import { SettingsDialog } from "../_settings/dialogs/settings-dialog"; + +const Main = dynamic(() => import("./main"), { ssr: false }); + +export default function HomePage() { + const { isReplay } = useReplay(); + return ( +
+
+ +
+ + {!isReplay && } + + + +
+
+ Loading DeerFlow...
}> +
+ + + ); +} diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index cc4fb26..5e802ff 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -3,15 +3,8 @@ "use client"; -import dynamic from "next/dynamic"; -import { Suspense } from "react"; - -const App = dynamic(() => import("./app"), { ssr: false }); +import { redirect } from "next/navigation"; export default function HomePage() { - return ( - Loading DeerFlow...}> - - - ); + redirect("/chat"); }