mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-03 06:12:14 +08:00
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
"use client";
|
|
|
|
import { useMemo } from "react";
|
|
|
|
import { useStore } from "~/core/store";
|
|
import { cn } from "~/lib/utils";
|
|
|
|
import { MessagesBlock } from "./components/messages-block";
|
|
import { ResearchBlock } from "./components/research-block";
|
|
|
|
export default function Main() {
|
|
const openResearchId = useStore((state) => state.openResearchId);
|
|
const doubleColumnMode = useMemo(
|
|
() => openResearchId !== null,
|
|
[openResearchId],
|
|
);
|
|
return (
|
|
<div
|
|
className={cn(
|
|
"flex h-full w-full justify-center px-4 pt-12 pb-4",
|
|
doubleColumnMode && "gap-8",
|
|
)}
|
|
>
|
|
<MessagesBlock
|
|
className={cn(
|
|
"shrink-0 transition-all duration-300 ease-out",
|
|
!doubleColumnMode &&
|
|
`w-[768px] translate-x-[min(calc((100vw-538px)*0.75/2),960px/2)]`,
|
|
doubleColumnMode && `w-[538px]`,
|
|
)}
|
|
/>
|
|
<ResearchBlock
|
|
className={cn(
|
|
"w-[min(calc((100vw-538px)*0.75),960px)] pb-4 transition-all duration-300 ease-out",
|
|
!doubleColumnMode && "scale-0",
|
|
doubleColumnMode && "",
|
|
)}
|
|
researchId={openResearchId}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|