resolving conflicts
This commit is contained in:
16
frontend/app/(main)/about/page.tsx
Normal file
16
frontend/app/(main)/about/page.tsx
Normal file
@@ -0,0 +1,16 @@
|
||||
"use server"
|
||||
|
||||
export default async function About() {
|
||||
return (
|
||||
<div>
|
||||
<div>
|
||||
About us
|
||||
will :
|
||||
+explain what we
|
||||
+pricing
|
||||
|
||||
+plannign for what will come next
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
5
frontend/app/(main)/contact/page.tsx
Normal file
5
frontend/app/(main)/contact/page.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import Contact from "@/components/contact";
|
||||
|
||||
export default function ContactPage() {
|
||||
return <Contact />;
|
||||
}
|
||||
31
frontend/app/(main)/history/[slug]/page.tsx
Normal file
31
frontend/app/(main)/history/[slug]/page.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
"use server";
|
||||
|
||||
import { BlogInterface, posts } from "@/components/blog";
|
||||
import BlogItem, { BlogItemParams } from "@/components/blogItem";
|
||||
|
||||
export default async function HistoryDetails({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ slug: string }>;
|
||||
}) {
|
||||
const { slug } = await params;
|
||||
|
||||
const blog_item: BlogInterface = posts.find(
|
||||
(value) => value.slug == slug,
|
||||
) as BlogInterface;
|
||||
|
||||
const blog_item_params: BlogItemParams = {
|
||||
slug: slug,
|
||||
title_style:
|
||||
"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",
|
||||
subtitle_style:
|
||||
"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",
|
||||
p_style:
|
||||
"blog-paragraph mb-5 text-muted-foreground md:text-base lg:max-w-2xl lg:text-lg",
|
||||
default_img:
|
||||
"https://shadcnblocks.com/images/block/placeholder-dark-1.svg",
|
||||
blog_content: blog_item,
|
||||
};
|
||||
|
||||
return <BlogItem params={blog_item_params} />;
|
||||
}
|
||||
9
frontend/app/(main)/history/page.tsx
Normal file
9
frontend/app/(main)/history/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import Blog from "@/components/blog";
|
||||
|
||||
export default function History() {
|
||||
return (
|
||||
<div className="flex flex-col">
|
||||
<Blog />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
frontend/app/(main)/layout.tsx
Normal file
38
frontend/app/(main)/layout.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
24
frontend/app/(main)/login/page.tsx
Normal file
24
frontend/app/(main)/login/page.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
121
frontend/app/(main)/page.tsx
Normal file
121
frontend/app/(main)/page.tsx
Normal 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 l’on fait, comment on
|
||||
le fait et pourquoi on le fait.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Éducation au Mouvement et à l’Efficacité
|
||||
<ul className="list-disc list-inside">
|
||||
<li>
|
||||
Plus qu’un enchaînement de techniques :
|
||||
une véritable éducation aux mouvements
|
||||
corporels et à l’efficacité des armes.
|
||||
</li>
|
||||
<li>
|
||||
Priorité à l’authenticité 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 s’est 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 Aujourd’hui"
|
||||
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>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user