Added dashboard

This commit is contained in:
cdricms
2025-01-14 09:48:41 +01:00
parent 09e2716e46
commit fa3dd398e0
27 changed files with 2157 additions and 81 deletions

View File

@@ -0,0 +1,5 @@
import Contact from "@/components/contact";
export default function ContactPage() {
return <Contact />;
}

View File

@@ -0,0 +1,3 @@
export default function Gallery() {
return <></>;
}

View File

@@ -0,0 +1,80 @@
"use server";
export default async function HistoryDetails({
params,
}: {
params: Promise<{ slug: string }>;
}) {
const { slug } = await params;
const default_img: string =
"https://shadcnblocks.com/images/block/placeholder-dark-1.svg";
const default_style: string =
"blog-paragraph mb-5 text-muted-foreground md:text-base lg:max-w-2xl lg:text-lg";
const sub_header_style: string =
"py-12 mb-3 text-pretty text-xl font-semibold md:mb-4 md:text-4xl lg:mb-6 lg:max-w-3xl lg:text-3xl";
return (
<main className="flex flex-col w-full lg:md:py-24 sm:py-24">
<section className="container self-center max-w-2xl">
<div className="blog-title w-full h-28 justify-center">
<h1 className="mb-3 text-pretty text-3xl font-semibold lg:text-5xl">
{slug}
</h1>
</div>
<div className="content">
<div>
<h2 className={sub_header_style}>Subtitle 1</h2>
<p className={default_style}>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Deleniti architecto incidunt, hic in
consectetur eligendi nobis numquam tenetur sit
repellat et unde, maxime ducimus autem esse
temporibus omnis eum molestias!
</p>
</div>
<div>
<img
src={default_img}
alt={slug}
className="aspect-[16/9] mb-5 rounded-sm h-full w-full object-cover object-center"
/>
</div>
<div>
<h2 className={sub_header_style}>Subtitle 2</h2>
<p className={default_style}>
Lorem ipsm dolor sit amet, consectetur adipisicing
elit. Deleniti architecto incidunt, hic in
consectetur eligendi nobis numquam tenetur sit
repellat et unde, maxime ducimus autem esse
temporibus omnis eum molestias!
</p>
</div>
<div>
<img
src={default_img}
alt={slug}
className="aspect-[16/9] mb-5 rounded-sm h-full w-full object-cover object-center"
/>
</div>
<div>
<h2 className={sub_header_style}>Subtitle 3</h2>
<p className={default_style}>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Deleniti architecto incidunt, hic in
consectetur eligendi nobis numquam tenetur sit
repellat et unde, maxime ducimus autem esse
temporibus omnis eum molestias!
</p>
<p className={default_style}>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Deleniti architecto incidunt, hic in
consectetur eligendi nobis numquam tenetur sit
repellat et unde, maxime ducimus autem esse
temporibus omnis eum molestias!
</p>
</div>
</div>
</section>
</main>
);
}

View File

@@ -0,0 +1,9 @@
import Blog from "@/components/blog";
export default function History() {
return (
<div className="flex flex-col">
<Blog />
</div>
);
}

View File

@@ -0,0 +1,38 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import "@/app/globals.css";
import Navbar from "@/components/nav-bar";
import Footer from "@/components/footer";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="fr">
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
>
<Navbar />
{children}
<Footer />
</body>
</html>
);
}

View File

@@ -0,0 +1,24 @@
import { GalleryVerticalEnd } from "lucide-react";
import { LoginForm } from "@/components/login-form";
export default function LoginPage() {
return (
<div className="grid min-h-svh lg:grid-cols-2">
<div className="flex flex-col gap-4 p-6 md:p-10">
<div className="flex flex-1 items-center justify-center">
<div className="w-full max-w-xs">
<LoginForm />
</div>
</div>
</div>
<div className="relative hidden bg-muted lg:block">
<img
src="/placeholder.svg"
alt="Image"
className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
/>
</div>
</div>
);
}

View File

@@ -0,0 +1,121 @@
"use server";
import Features, { FeatureItem } from "@/components/features";
import Gallery from "@/components/gallery";
import Hero from "@/components/hero";
import Testimonial from "@/components/testimonial";
export default async function Home() {
return (
<main>
<Hero />
<div className="flex flex-col p-12">
<Features
title="DÉVELOPPEMENT DU SYSTÈME"
description="Latosa Escrima Concepts est un système martial dynamique et en constante évolution. Ce système repose sur une approche logique, qui progresse au fil du développement des compétences techniques des pratiquants."
cta="Envie de découvrir Latosa Escrima ?"
>
<FeatureItem
title="Les Fondements de Latosa Escrima Concepts"
position="left"
image="https://shadcnblocks.com/images/block/placeholder-2.svg"
>
<ol className="list-decimal text-justify flex flex-col gap-4">
<li>
Un Système Centré sur les Concepts{" "}
<ul className="list-disc list-inside">
<li>
Étude et application des meilleurs
concepts et stratégies issus de
différentes approches martiales.
</li>
<li>
Comprendre ce que lon fait, comment on
le fait et pourquoi on le fait.
</li>
</ul>
</li>
<li>
Éducation au Mouvement et à lEfficacité
<ul className="list-disc list-inside">
<li>
Plus quun enchaînement de techniques :
une véritable éducation aux mouvements
corporels et à lefficacité des armes.
</li>
<li>
Priorité à lauthenticité et à la
réalité.
</li>
</ul>
</li>
</ol>
</FeatureItem>
<FeatureItem
title="LÉvolution du Système"
position="right"
image="https://shadcnblocks.com/images/block/placeholder-2.svg"
>
<ol className="list-none text-justify flex flex-col gap-4">
<li>
<span className="font-bold">
Les Premières Étapes
</span>
<ul className="list-disc list-inside">
<li>
Initialement centré sur les techniques
et mouvements, le système sest montré
efficace mais incomplet.
</li>
<li>
Recherche de ce qui différencie les arts
martiaux philippins des autres
disciplines.
</li>
</ul>
</li>
<li>
<span className="font-bold">
La Découverte des Concepts Clés
</span>{" "}
<ul className="list-disc list-inside">
<li>
Rôle central des concepts de combat :
<ul className="list-disc list-inside pl-4">
<li>Puissance dans les frappes.</li>
<li>Blocage ferme.</li>
<li>Équilibre et attitude.</li>
</ul>
</li>
<li>
Restructuration des exercices pour
intégrer et transmettre ces concepts
fondamentaux.
</li>
</ul>
</li>
</ol>
</FeatureItem>
<FeatureItem
title="Les Principes du Système Aujourdhui"
position="left"
image="https://shadcnblocks.com/images/block/placeholder-2.svg"
>
Latosa Escrima Concepts repose sur cinq concepts
fondamentaux :
<ul className="list-disc list-inside">
<li>Équilibre</li>
<li>Vitesse (Timing et Distance)</li>
<li>Puissance</li>
<li>Concentration</li>
<li>Transition</li>
</ul>
</FeatureItem>
</Features>
<Gallery />
<Gallery />
<Testimonial />
</div>
</main>
);
}