初始化项目

This commit is contained in:
2026-01-27 17:26:30 +08:00
commit 08af95116e
62 changed files with 9364 additions and 0 deletions

71
app/globals.css Normal file
View File

@@ -0,0 +1,71 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--background: #ffffff;
--foreground: #111827;
}
@media (prefers-color-scheme: dark) {
:root {
--background: #0a0a0a;
--foreground: #ededed;
}
}
body {
color: var(--foreground);
background: var(--background);
font-family: var(--font-inter), Arial, Helvetica, sans-serif;
}
@layer utilities {
.text-balance {
text-wrap: balance;
}
}
/* Calculator card wiggle animation */
@keyframes wiggle {
0% { transform: rotate(0deg); }
15% { transform: rotate(-5deg); }
35% { transform: rotate(4.5deg); }
55% { transform: rotate(-2.5deg); }
75% { transform: rotate(2deg); }
90% { transform: rotate(-0.5deg); }
100% { transform: rotate(0deg); }
}
.calculator-card-container:hover {
animation: wiggle 2.5s ease-in-out infinite;
}
/* Menu animations */
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateX(-50%) translateY(-10px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
}
.animate-fade-in {
animation: fadeIn 0.2s ease-out;
}
.animate-slide-down {
animation: slideDown 0.3s ease-out;
}

41
app/layout.tsx Normal file
View File

@@ -0,0 +1,41 @@
import type { Metadata } from "next";
import { Inter, JetBrains_Mono, Domine } from "next/font/google";
import "./globals.css";
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
display: "swap",
});
const jetbrainsMono = JetBrains_Mono({
subsets: ["latin"],
variable: "--font-jetbrains",
display: "swap",
});
const domine = Domine({
subsets: ["latin"],
variable: "--font-domine",
weight: ["400", "700"],
display: "swap",
});
export const metadata: Metadata = {
title: "Asset Homepage",
description: "Asset management platform homepage",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="zh-CN" className={`${inter.variable} ${jetbrainsMono.variable} ${domine.variable}`}>
<body className="antialiased">
{children}
</body>
</html>
);
}

25
app/page.tsx Normal file
View File

@@ -0,0 +1,25 @@
import Navbar from '@/components/Navbar';
import HeroSection from '@/components/HeroSection';
import StatsSection from '@/components/StatsSection';
import TrustedBySection from '@/components/TrustedBySection';
import WhyAssetXSection from '@/components/WhyAssetXSection';
import HowItWorksSection from '@/components/HowItWorksSection';
import SecuritySection from '@/components/SecuritySection';
import Footer from '@/components/Footer';
export default function Home() {
return (
<div className="min-h-screen bg-white">
<Navbar />
<div className="pt-[80px]">
<HeroSection />
<StatsSection />
<TrustedBySection />
<WhyAssetXSection />
<HowItWorksSection />
<SecuritySection />
<Footer />
</div>
</div>
);
}