Adding Vietnamese version of IPV6, Rewrite content of README.md

This commit is contained in:
2026-05-13 21:09:35 +07:00
parent 778f5f735d
commit b0d6bde50c
22 changed files with 1412 additions and 385 deletions
+2 -34
View File
@@ -1,37 +1,5 @@
import Link from "next/link";
import FeedbackForm from "@/app/components/forms/FeedbackForm";
import data from "@/app/data/feedback.json";
import FeedbackPageClient from "@/app/components/forms/FeedbackPageClient";
export default function FeedbackPage() {
return (
<main className="relative min-h-screen pt-[120px] pb-[80px] px-[var(--spacing-gutter)]">
<div className="pointer-events-none absolute top-0 left-1/2 -translate-x-1/2 w-full max-w-[1200px] h-[min(800px,90vh)] hero-glow -z-10" />
<div className="max-w-[800px] mx-auto">
<div className="mb-8">
<Link
className="group flex items-center gap-2 text-outline hover:text-primary transition-colors"
href="/"
>
<span className="material-symbols-outlined text-[20px] transition-transform group-hover:-translate-x-1">
arrow_back
</span>
Back to Home
</Link>
</div>
<div className="text-center mb-10 md:mb-14">
<h1 className="font-[var(--font-display-lg)] text-[clamp(1.75rem,3vw+1rem,3.25rem)] leading-tight font-bold tracking-tighter mb-4 text-primary">
{data.title}
</h1>
<p className="text-on-surface-variant text-lg max-w-2xl mx-auto">{data.subtitle}</p>
</div>
<div className="glass-panel p-6 md:p-10 rounded-xl space-y-8 relative overflow-hidden shadow-2xl">
<div className="absolute top-0 left-0 w-full h-px bg-gradient-to-r from-transparent via-primary/25 to-transparent" />
<FeedbackForm data={data} />
</div>
</div>
</main>
);
return <FeedbackPageClient />;
}
+2 -14
View File
@@ -1,17 +1,5 @@
import home from "@/app/data/home.json";
import HeroSection from "@/app/components/home/HeroSection";
import VisionSection from "@/app/components/home/VisionSection";
import StatsSection from "@/app/components/home/StatsSection";
import AgendaSection from "@/app/components/home/AgendaSection";
import HomePageClient from "@/app/components/home/HomePageClient";
export default function HomePage() {
return (
<main className="pt-16 lg:pt-20">
<HeroSection data={home.hero} />
<VisionSection data={home.vision} />
<StatsSection data={home.stats} />
<AgendaSection data={home.agenda} />
</main>
);
return <HomePageClient />;
}
+2 -35
View File
@@ -1,38 +1,5 @@
import Link from "next/link";
import RegistrationForm from "@/app/components/forms/RegistrationForm";
import data from "@/app/data/registration.json";
import RegistrationPageClient from "@/app/components/forms/RegistrationPageClient";
export default function RegistrationPage() {
return (
<main className="pt-[120px] pb-[80px] px-[var(--spacing-gutter)] flex justify-center">
<div className="w-full max-w-[1280px]">
<div className="max-w-[800px] mx-auto">
<div className="mb-[32px]">
<Link
className="group flex items-center gap-2 text-outline hover:text-primary transition-colors"
href="/"
>
<span className="material-symbols-outlined text-[20px] transition-transform group-hover:-translate-x-1">
arrow_back
</span>
Back to Home
</Link>
</div>
<div className="mb-[32px]">
<h1 className="font-[var(--font-display-lg)] text-[clamp(1.75rem,3vw+1rem,3.25rem)] text-on-surface mb-2 leading-[1.1]">
{data.title}
</h1>
<p className="text-on-surface-variant text-lg">{data.subtitle}</p>
</div>
<div className="glass-panel p-[32px] md:p-12 rounded-xl shadow-2xl relative overflow-hidden">
<div className="absolute top-0 left-0 w-full h-[1px] bg-gradient-to-r from-transparent via-primary/20 to-transparent" />
<RegistrationForm data={data} />
</div>
</div>
</div>
</main>
);
return <RegistrationPageClient />;
}
+4 -15
View File
@@ -1,23 +1,12 @@
import type { Metadata } from "next";
import sponsor from "@/app/data/sponsor.json";
import SponsorHero from "@/app/components/sponsor/SponsorHero";
import SponsorPackages from "@/app/components/sponsor/SponsorPackages";
import SponsorItemBased from "@/app/components/sponsor/SponsorItemBased";
import SponsorContact from "@/app/components/sponsor/SponsorContact";
import SponsorPageClient from "@/app/components/sponsor/SponsorPageClient";
export const metadata: Metadata = {
title: "Sponsorship | IPv6 Summit 2026",
title: "Nhà Tài Trợ | IPv6 Summit 2026",
description:
"Become a sponsor at the IPv6 for AI & Data Centre Summit 2026. Align your brand with the architects of tomorrow's infrastructure.",
"Trở thành nhà tài trợ tại Hội Nghị IPv6 cho AI & Trung Tâm Dữ Liệu 2026. Kết nối thương hiệu của bạn với những kiến trúc sư của hạ tầng ngày mai.",
};
export default function SponsorPage() {
return (
<main className="pt-20">
<SponsorHero data={sponsor.hero} />
<SponsorPackages data={sponsor.packages} />
<SponsorItemBased data={sponsor.itemBased} />
<SponsorContact data={sponsor.contact} />
</main>
);
return <SponsorPageClient />;
}