diff --git a/frontend/app/globals.css b/frontend/app/globals.css index 33d51423..eba809e2 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -25,6 +25,7 @@ --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); + --color-destructive-foreground: var(--destructive-foreground); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); @@ -61,6 +62,7 @@ --accent: oklch(0.967 0.001 286.375); --accent-foreground: oklch(0.21 0.006 285.885); --destructive: oklch(0.577 0.245 27.325); + --destructive-foreground: oklch(98.5% 0% 0); --border: oklch(0.92 0.004 286.32); --input: oklch(0.92 0.004 286.32); --ring: oklch(0.705 0.015 286.067); @@ -95,6 +97,7 @@ --accent: oklch(0.274 0.006 286.033); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); + --destructive-foreground: oklch(98.5% 0% 0); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.552 0.016 285.938); @@ -193,4 +196,4 @@ 80% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } } -} \ No newline at end of file +} diff --git a/frontend/components/home/footer-section.tsx b/frontend/components/home/footer-section.tsx index 7f4630d3..7fe36d74 100644 --- a/frontend/components/home/footer-section.tsx +++ b/frontend/components/home/footer-section.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import {cn} from "@/lib/utils"; import Link from "next/link"; -import {Github, LucideIcon} from "lucide-react"; +import {Github, LucideIcon, WavesIcon} from "lucide-react"; export interface FooterSectionProps { className?: string; @@ -19,10 +19,10 @@ export const FooterSection = React.memo(function FooterSection({ className }: Fo
-
- MP -
- Modern Platform + + + Wavelet

通用的、现代化的后台管理系统脚手架。基于 Go + React 构建,开箱即用、完整基建、极易扩展。 diff --git a/frontend/components/home/hero-section.tsx b/frontend/components/home/hero-section.tsx index 0174b89b..2598c3d5 100644 --- a/frontend/components/home/hero-section.tsx +++ b/frontend/components/home/hero-section.tsx @@ -1,9 +1,9 @@ import * as React from "react"; import Link from "next/link"; -import { motion } from "motion/react"; -import { ArrowRight, Zap, Shield, Globe, CreditCard } from "lucide-react"; -import { cn } from "@/lib/utils"; -import { Button } from "@/components/ui/button"; +import {motion} from "motion/react"; +import {ArrowRight, CreditCard, Globe, Shield, Zap} from "lucide-react"; +import {cn} from "@/lib/utils"; +import {Button} from "@/components/ui/button"; export interface HeroSectionProps { className?: string; @@ -37,9 +37,9 @@ export const HeroSection = React.memo(function HeroSection({ className }: HeroSe transition={{ duration: 0.6, delay: 0.1, ease: [0.16, 1, 0.3, 1] }} className="text-4xl md:text-5xl lg:text-6xl font-extrabold tracking-tight leading-[1.1] mb-6 text-foreground" > - Modern Platform
+ Wavelet
- 为二次开发而生 + Modern Platform @@ -52,7 +52,7 @@ export const HeroSection = React.memo(function HeroSection({ className }: HeroSe > 通用的、现代化的后台管理系统脚手架
- 开箱即用、完整基建、极易扩展,助您快速构建企业级应用。 + 开箱即用、完整基建、极易扩展,助您快速构建应用。 ) { } const sidebarMenuButtonVariants = cva( - "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-bold data-[active=true]:text-[#6366F1] data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", + "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-bold data-[active=true]:text-sidebar-primary data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", { variants: { variant: { diff --git a/frontend/lib/theme/themes.json b/frontend/lib/theme/themes.json index 150daa7e..9818de0f 100644 --- a/frontend/lib/theme/themes.json +++ b/frontend/lib/theme/themes.json @@ -20,6 +20,7 @@ "accent": "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", "destructive": "oklch(0.577 0.245 27.325)", + "destructive-foreground": "oklch(98.5% 0% 0)", "border": "oklch(0.92 0.004 286.32)", "input": "oklch(0.92 0.004 286.32)", "ring": "oklch(0.705 0.015 286.067)", @@ -53,6 +54,7 @@ "accent": "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", "destructive": "oklch(0.704 0.191 22.216)", + "destructive-foreground": "oklch(98.5% 0% 0)", "border": "oklch(1 0 0 / 10%)", "input": "oklch(1 0 0 / 15%)", "ring": "oklch(0.552 0.016 285.938)", diff --git a/frontend/public/style/default.css b/frontend/public/style/default.css index badcf6e4..94980532 100644 --- a/frontend/public/style/default.css +++ b/frontend/public/style/default.css @@ -25,6 +25,7 @@ --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); + --color-destructive-foreground: var(--destructive-foreground); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); @@ -61,6 +62,7 @@ --accent: oklch(0.967 0.001 286.375); --accent-foreground: oklch(0.21 0.006 285.885); --destructive: oklch(0.577 0.245 27.325); + --destructive-foreground: oklch(98.5% 0% 0); --border: oklch(0.92 0.004 286.32); --input: oklch(0.92 0.004 286.32); --ring: oklch(0.705 0.015 286.067); @@ -95,6 +97,7 @@ --accent: oklch(0.274 0.006 286.033); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); + --destructive-foreground: oklch(98.5% 0% 0); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.552 0.016 285.938); @@ -133,7 +136,7 @@ } @theme inline { - /* + /* * Aurora 动画配置 */ --animate-aurora: aurora 120s linear infinite; @@ -151,4 +154,4 @@ 350% 50%; } } -} \ No newline at end of file +}