From 024ccbede37802af5e09d17601eca127a640f1df Mon Sep 17 00:00:00 2001 From: JOYCEQL <1449239013@qq.com> Date: Mon, 16 Dec 2024 20:25:48 +0800 Subject: [PATCH] feat: home page ssr --- apps/fronted/src/app/globals.css | 2 +- apps/fronted/src/app/page.tsx | 220 ++++++------------ .../src/components/home/AnimatedFeatures.tsx | 112 --------- .../src/components/home/AnimatedHero.tsx | 46 ---- .../src/components/home/CreateResume.tsx | 18 -- .../src/components/home/FeaturesAnimation.tsx | 21 ++ apps/fronted/src/components/home/Header.tsx | 79 +++++++ .../src/components/home/HeroAnimation.tsx | 16 ++ .../src/components/home/TypewriterText.tsx | 32 --- 9 files changed, 182 insertions(+), 364 deletions(-) delete mode 100644 apps/fronted/src/components/home/AnimatedFeatures.tsx delete mode 100644 apps/fronted/src/components/home/AnimatedHero.tsx delete mode 100644 apps/fronted/src/components/home/CreateResume.tsx create mode 100644 apps/fronted/src/components/home/FeaturesAnimation.tsx create mode 100644 apps/fronted/src/components/home/Header.tsx create mode 100644 apps/fronted/src/components/home/HeroAnimation.tsx delete mode 100644 apps/fronted/src/components/home/TypewriterText.tsx diff --git a/apps/fronted/src/app/globals.css b/apps/fronted/src/app/globals.css index fb68765..876eed8 100644 --- a/apps/fronted/src/app/globals.css +++ b/apps/fronted/src/app/globals.css @@ -56,7 +56,7 @@ * { scrollbar-width: thin; - scrollbar-color: #c1c1c1 #f1f1f1; + scrollbar-color: rgba(255, 255, 255, 0.16) transparent; } .dark { diff --git a/apps/fronted/src/app/page.tsx b/apps/fronted/src/app/page.tsx index 7dc8d89..9929b92 100644 --- a/apps/fronted/src/app/page.tsx +++ b/apps/fronted/src/app/page.tsx @@ -1,176 +1,86 @@ -"use client"; -import { useEffect, useState } from "react"; -import { Moon, Sun } from "lucide-react"; -import { motion } from "framer-motion"; import Link from "next/link"; import Image from "next/image"; - import { Button } from "@/components/ui/button"; -import Logo from "@/components/shared/Logo"; -import ThemeToggle from "@/components/shared/ThemeToggle"; +import Header from "@/components/home/Header"; +import { HeroAnimation } from "@/components/home/HeroAnimation"; +import { FeaturesAnimation } from "@/components/home/FeaturesAnimation"; + +const features = [ + { + title: "简约设计", + description: "专注于内容创作,简洁的界面让您的思路更加清晰", + icon: "✨", + }, + { + title: "本地存储", + description: "所有数据存储在本地,无需担心隐私泄露", + icon: "🔒", + }, + { + title: "智能助手", + description: "AI助手帮您优化简历内容,提供专业建议", + icon: "🤖", + }, +]; export default function LandingPage() { - const [isVisible, setIsVisible] = useState(true); - const [lastScrollY, setLastScrollY] = useState(0); - - useEffect(() => { - const handleScroll = () => { - const currentScrollY = window.scrollY; - - if (currentScrollY < 10) { - setIsVisible(true); - setLastScrollY(currentScrollY); - return; - } - - if (currentScrollY > lastScrollY && currentScrollY > 200) { - setIsVisible(false); - } else if (currentScrollY < lastScrollY) { - setIsVisible(true); - } - - setLastScrollY(currentScrollY); - }; - - window.addEventListener("scroll", handleScroll, { passive: true }); - return () => window.removeEventListener("scroll", handleScroll); - }, [lastScrollY]); - return (
+ 数据完全存储在本地,确保您的隐私安全。 +
+{feature.description}
+ {features.map((feature, index) => ( ++ {feature.description} +
+- {feature.description} -
-