From 2dc9a34241336c787b994cd96a008bb37e426f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=97=E6=9E=B3?= <7854742+wang_rumeng@user.noreply.gitee.com> Date: Sat, 28 Jun 2025 10:09:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E7=89=88-=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/login/page.tsx | 5 + components/ai-suggestion-bar.tsx | 124 +++- components/pages/login.tsx | 54 ++ components/pages/style/login.css | 302 ++++++++++ components/pages/style/work-flow.css | 4 +- components/pages/work-flow.tsx | 861 +++++++++++++++++++++++---- components/parallax.tsx | 221 +++++++ components/ui/edit-modal.tsx | 173 ++++++ components/ui/glass-icon-button.tsx | 71 +++ components/ui/script-tab-content.tsx | 202 +++++++ components/vanta-halo-background.tsx | 111 ++++ lib/vanta.halo.min.js | 1 + package-lock.json | 227 ++++++- package.json | 5 + public/assets/3dr_chihiro.png | Bin 0 -> 12943 bytes public/assets/3dr_howlbg.jpg | Bin 0 -> 5456 bytes public/assets/3dr_howlcastle.png | Bin 0 -> 24651 bytes public/assets/3dr_mono.png | Bin 0 -> 25937 bytes public/assets/3dr_monobg.jpg | Bin 0 -> 5095 bytes public/assets/3dr_spirited.jpg | Bin 0 -> 6040 bytes public/js/three.min.js | 6 + 21 files changed, 2235 insertions(+), 132 deletions(-) create mode 100644 app/login/page.tsx create mode 100644 components/pages/login.tsx create mode 100644 components/pages/style/login.css create mode 100644 components/parallax.tsx create mode 100644 components/ui/edit-modal.tsx create mode 100644 components/ui/glass-icon-button.tsx create mode 100644 components/ui/script-tab-content.tsx create mode 100644 components/vanta-halo-background.tsx create mode 100644 lib/vanta.halo.min.js create mode 100644 public/assets/3dr_chihiro.png create mode 100644 public/assets/3dr_howlbg.jpg create mode 100644 public/assets/3dr_howlcastle.png create mode 100644 public/assets/3dr_mono.png create mode 100644 public/assets/3dr_monobg.jpg create mode 100644 public/assets/3dr_spirited.jpg create mode 100644 public/js/three.min.js diff --git a/app/login/page.tsx b/app/login/page.tsx new file mode 100644 index 0000000..d53c8b7 --- /dev/null +++ b/app/login/page.tsx @@ -0,0 +1,5 @@ +import Login from "@/components/pages/login"; + +export default function LoginPage() { + return ; +} \ No newline at end of file diff --git a/components/ai-suggestion-bar.tsx b/components/ai-suggestion-bar.tsx index b09d31f..fdfd3a7 100644 --- a/components/ai-suggestion-bar.tsx +++ b/components/ai-suggestion-bar.tsx @@ -1,6 +1,7 @@ import { useState, useRef, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; -import { Sparkles, Send, X, Lightbulb } from 'lucide-react'; +import { Sparkles, Send, X, Lightbulb, ChevronUp } from 'lucide-react'; +import { GlassIconButton } from "@/components/ui/glass-icon-button"; interface AISuggestionBarProps { suggestions: string[]; @@ -18,6 +19,7 @@ export function AISuggestionBar({ const [inputText, setInputText] = useState(''); const [isFocused, setIsFocused] = useState(false); const [showSuggestions, setShowSuggestions] = useState(false); + const [isCollapsed, setIsCollapsed] = useState(false); const inputRef = useRef(null); // 自动调整输入框高度 @@ -47,37 +49,99 @@ export function AISuggestionBar({ } }; + // 切换折叠状态 + const toggleCollapse = () => { + setIsCollapsed(!isCollapsed); + if (isCollapsed) { + // 展开时自动显示建议 + setShowSuggestions(true); + } + }; + return ( + {/* 折叠/展开按钮 */} +
+ + + +
+
{/* 智能预设词条 */} - {showSuggestions && ( + {showSuggestions && !isCollapsed && ( -
- + + + + 智能预设词条 -
+
{suggestions.map((suggestion, index) => ( {/* 输入区域 */} -
+ isCollapsed && toggleCollapse()} + >