feat: rewording and add initial animation

This commit is contained in:
Henry Li
2026-02-08 21:24:17 +08:00
parent 17365e40d5
commit 0355493a16
7 changed files with 45 additions and 12 deletions

View File

@@ -58,11 +58,13 @@ export function Hero({ className }: { className?: string }) {
</h1>
<p
className="mt-8 scale-105 text-center text-2xl text-shadow-sm"
style={{ color: "rgb(182,182,188)" }}
style={{ color: "rgb(184,184,192)" }}
>
An open-source SuperAgent harness that researches, codes, and creates.
With
<br />
With the help of sandboxes, memories, tools and skills, it handles
the help of sandboxes, memories, tools, skills and subagents, it
handles
<br />
different levels of tasks that could take minutes to hours.
</p>

View File

@@ -16,8 +16,9 @@ const features: BentoCardProps[] = [
{
color: COLOR,
label: "Long Task Running",
title: "Planning and Reasoning",
description: "Plans ahead, reasons through complexity, then acts",
title: "Planning and Sub-tasking",
description:
"Plans ahead, reasons through complexity, then executes sequentially or in parallel",
},
{
color: COLOR,

View File

@@ -1,13 +1,19 @@
"use client";
import { useSearchParams } from "next/navigation";
import { useEffect } from "react";
import { useI18n } from "@/core/i18n/hooks";
import { cn } from "@/lib/utils";
let waved = false;
export function Welcome({ className }: { className?: string }) {
const { t } = useI18n();
const searchParams = useSearchParams();
useEffect(() => {
waved = true;
}, []);
return (
<div
className={cn(
@@ -16,9 +22,16 @@ export function Welcome({ className }: { className?: string }) {
)}
>
<div className="text-2xl font-bold">
{searchParams.get("mode") === "skill"
? `${t.welcome.createYourOwnSkill}`
: t.welcome.greeting}
{searchParams.get("mode") === "skill" ? (
`${t.welcome.createYourOwnSkill}`
) : (
<div className="flex items-center gap-2">
<div className={cn("inline-block", !waved ? "animate-wave" : "")}>
👋
</div>
<div>{t.welcome.greeting}</div>
</div>
)}
</div>
{searchParams.get("mode") === "skill" ? (
<div className="text-muted-foreground text-sm">

View File

@@ -47,7 +47,7 @@ export const enUS: Translations = {
// Welcome
welcome: {
greeting: "👋 Hello, again!",
greeting: "Hello, again!",
description:
"Welcome to 🦌 DeerFlow, an open source super agent. With built-in and custom skills, DeerFlow helps you search on the web, analyze data, and generate artifacts like slides, web pages and do almost anything.",
@@ -214,7 +214,7 @@ export const enUS: Translations = {
subtask: "Subtask",
executing: (count: number) =>
`Executing ${count} subtask${count === 1 ? "" : "s"} in parallel`,
running: "Running subtask",
in_progress: "Running subtask",
completed: "Subtask completed",
failed: "Subtask failed",
},

View File

@@ -159,7 +159,7 @@ export interface Translations {
subtasks: {
subtask: string;
executing: (count: number) => string;
running: string;
in_progress: string;
completed: string;
failed: string;
};

View File

@@ -47,7 +47,7 @@ export const zhCN: Translations = {
// Welcome
welcome: {
greeting: "👋 你好,欢迎回来!",
greeting: "你好,欢迎回来!",
description:
"欢迎使用 🦌 DeerFlow一个完全开源的超级智能体。通过内置和\n自定义的 SkillsDeerFlow 可以帮你搜索网络、分析数据,\n还能为你生成幻灯片、网页等作品几乎可以做任何事情。",
@@ -207,7 +207,7 @@ export const zhCN: Translations = {
subtasks: {
subtask: "子任务",
executing: (count: number) => `并行执行 ${count} 个子任务`,
running: "子任务运行中",
in_progress: "子任务运行中",
completed: "子任务已完成",
failed: "子任务失败",
},

View File

@@ -127,6 +127,23 @@
transform: translateY(0);
}
}
--animate-wave: wave 0.6s ease-in-out 2;
@keyframes wave {
0%,
100% {
transform: rotate(0deg);
}
25% {
transform: rotate(20deg);
}
50% {
transform: rotate(0deg);
}
75% {
transform: rotate(20deg);
}
}
}
@theme inline {