From eedc4fb3beeddef1c7548b6b1d52146fced0c259 Mon Sep 17 00:00:00 2001 From: gom-by Date: Mon, 13 Jan 2025 16:23:26 +0100 Subject: [PATCH] cherry picking --- latosa-frontend/app/history/[slug]/page.tsx | 63 +++++++++++ latosa-frontend/app/history/page.tsx | 9 ++ latosa-frontend/components/blog.tsx | 93 ++++++++++++++++ latosa-frontend/components/testimonial.tsx | 112 ++++++++++++++++++++ 4 files changed, 277 insertions(+) create mode 100644 latosa-frontend/app/history/[slug]/page.tsx create mode 100644 latosa-frontend/app/history/page.tsx create mode 100644 latosa-frontend/components/blog.tsx create mode 100644 latosa-frontend/components/testimonial.tsx diff --git a/latosa-frontend/app/history/[slug]/page.tsx b/latosa-frontend/app/history/[slug]/page.tsx new file mode 100644 index 0000000..d37d138 --- /dev/null +++ b/latosa-frontend/app/history/[slug]/page.tsx @@ -0,0 +1,63 @@ +"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 ( +
+
+
+

+ {slug} +

+
+
+
+

Subtitle 1

+

+ 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! +

+
+
+ {slug} + +
+
+

Subtitle 2

+

+ 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! +

+
+
+ {slug} + +
+
+

Subtitle 3

+

+ 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! +

+

+ 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! +

+
+
+
+
+ ) +} diff --git a/latosa-frontend/app/history/page.tsx b/latosa-frontend/app/history/page.tsx new file mode 100644 index 0000000..893b516 --- /dev/null +++ b/latosa-frontend/app/history/page.tsx @@ -0,0 +1,9 @@ +import Blog from "@/components/blog"; + +export default function History() { + return( +
+ +
+ ) +} diff --git a/latosa-frontend/components/blog.tsx b/latosa-frontend/components/blog.tsx new file mode 100644 index 0000000..19acb74 --- /dev/null +++ b/latosa-frontend/components/blog.tsx @@ -0,0 +1,93 @@ +import { ArrowRight } from "lucide-react"; + +import { Button } from "@/components/ui/button"; + +const posts = [ + { + id: "post-1", + title: "Duis sem sem, gravida vel porttitor eu, volutpat ut arcu", + summary: + "Pellentesque eget quam ligula. Sed felis ante, consequat nec ultrices ut, ornare quis metus. Vivamus sit amet tortor vel enim sollicitudin hendrerit.", + label: "Ut varius dolor turpis", + author: "Jane Doe", + published: "1 Jan 2024", + href: "#", + image: "https://shadcnblocks.com/images/block/placeholder-dark-1.svg", + }, + { + id: "post-2", + title: "Duis sem sem, gravida vel porttitor eu, volutpat ut arcu", + summary: + "Pellentesque eget quam ligula. Sed felis ante, consequat nec ultrices ut, ornare quis metus. Vivamus sit amet tortor vel enim sollicitudin hendrerit.", + label: "Ut varius dolor turpis", + author: "Jane Doe", + published: "1 Jan 2024", + href: "#", + image: "https://shadcnblocks.com/images/block/placeholder-dark-1.svg", + }, + { + id: "post-3", + title: "Duis sem sem, gravida vel porttitor eu, volutpat ut arcu", + summary: + "Pellentesque eget quam ligula. Sed felis ante, consequat nec ultrices ut, ornare quis metus. Vivamus sit amet tortor vel enim sollicitudin hendrerit.", + label: "Ut varius dolor turpis", + author: "Jane Doe", + published: "1 Jan 2024", + href: "#", + image: "https://shadcnblocks.com/images/block/placeholder-dark-1.svg", + }, +]; + +const Blog = () => { + return ( +
+
+
+

+ En savoir plus sur ce sport +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Elig + doloremque mollitia fugiat omnis! Porro facilis quo animi + consequatur. Explicabo. +

+ +
+
+ {posts.map((post) => ( + +
+ {post.title} +
+
+

+ {post.title} +

+

+ {post.summary} +

+

+ Read more + +

+
+
+ ))} +
+
+
+ ); +}; + +export default Blog; diff --git a/latosa-frontend/components/testimonial.tsx b/latosa-frontend/components/testimonial.tsx new file mode 100644 index 0000000..0f37703 --- /dev/null +++ b/latosa-frontend/components/testimonial.tsx @@ -0,0 +1,112 @@ +"use client"; + +import { Star } from "lucide-react"; +import { useEffect, useState } from "react"; + +import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; +import { Button } from "@/components/ui/button"; +import { + Carousel, + CarouselApi, + CarouselContent, + CarouselItem, +} from "@/components/ui/carousel"; + +const testimonials = [ + { + id: "testimonial-1", + text: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Elig doloremque mollitia fugiat omnis! Porro facilis quo animi consequatur. Explicabo.", + name: "Customer Name", + role: "Position at Company", + avatar: "https://shadcnblocks.com/images/block/avatar-1.webp", + }, + { + id: "testimonial-2", + text: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Elig doloremque mollitia fugiat omnis! Porro facilis quo animi consequatur. Explicabo.", + name: "Customer Name", + role: "Position at Company", + avatar: "https://shadcnblocks.com/images/block/avatar-2.webp", + }, + { + id: "testimonial-3", + text: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Elig doloremque mollitia fugiat omnis! Porro facilis quo animi consequatur. Explicabo.", + name: "Customer Name", + role: "Position at Company", + avatar: "https://shadcnblocks.com/images/block/avatar-3.webp", + }, +]; + +const Testimonial = () => { + const [api, setApi] = useState(); + const [current, setCurrent] = useState(0); + + useEffect(() => { + if (!api) { + return; + } + + const updateCurrent = () => { + setCurrent(api.selectedScrollSnap()); + }; + + api.on("select", updateCurrent); + return () => { + api.off("select", updateCurrent); + }; + }, [api]); + + return ( +
+ + + {testimonials.map((testimonial) => ( + +
+

+ “{testimonial.text}” +

+ + + + {testimonial.name} + + +

+ {testimonial.name} +

+

+ {testimonial.role} +

+
+ + + + + +
+
+
+ ))} +
+
+
+ {testimonials.map((testimonial, index) => ( + + ))} +
+
+ ); +}; + +export default Testimonial;