init:初始化项目

This commit is contained in:
2026-04-07 15:21:27 +08:00
commit 1b494b6029
366 changed files with 11461 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
import Link from "next/link";
import { getDictionary, type Locale } from "@/lib/site-content";
export default async function LoginPage({
params,
}: {
params: Promise<{ locale: string }>;
}) {
const { locale } = await params;
const dictionary = getDictionary(locale as Locale);
return (
<div className="page-stack">
<section className="login-shell">
<div className="login-panel">
<div className="eyebrow">{dictionary.login.tag}</div>
<h1>{dictionary.login.title}</h1>
<p>{dictionary.login.subtitle}</p>
<div className="login-actions">
<button className="button button-dark" type="button">
{dictionary.login.primaryProvider}
</button>
<button className="button button-light" type="button">
{dictionary.login.secondaryProvider}
</button>
</div>
<p className="legal-copy">
{dictionary.login.termsPrefix}{" "}
<Link href={`/${locale}/pricing`}>{dictionary.login.termsLink}</Link>{" "}
{dictionary.login.and}{" "}
<Link href={`/${locale}/docs`}>{dictionary.login.privacyLink}</Link>
</p>
</div>
<div className="login-benefits">
{dictionary.login.benefits.map((benefit) => (
<article className="benefit-card" key={benefit.title}>
<span className="card-kicker">{benefit.kicker}</span>
<h2>{benefit.title}</h2>
<p>{benefit.description}</p>
</article>
))}
</div>
</section>
</div>
);
}