diff --git a/apps/website/app/[locale]/_changelog/page.tsx b/apps/website/app/[locale]/_changelog/page.tsx new file mode 100644 index 0000000..f6b1b6d --- /dev/null +++ b/apps/website/app/[locale]/_changelog/page.tsx @@ -0,0 +1,178 @@ +// import { ScrollArea } from "@/components/ui/scroll-area"; + +// Datos de ejemplo del changelog +const changelogEntries = [ + { + date: "2023-11-01", + title: "Versión 2.1.0", + changes: [ + "Añadido soporte para modo oscuro en todas las páginas", + "Mejorado el rendimiento para grandes conjuntos de datos", + "Corregido error en el flujo de autenticación de usuarios", + ], + image: + "https://g-ndmbkfuhw2w.vusercontent.net/placeholder.svg?height=200&width=400", + }, + { + date: "2023-10-15", + title: "Versión 2.0.1", + changes: [ + "Corrección urgente para vulnerabilidad crítica de seguridad", + "Actualizadas las dependencias a las últimas versiones", + ], + image: + "https://g-ndmbkfuhw2w.vusercontent.net/placeholder.svg?height=200&width=400", + }, + { + date: "2023-10-01", + title: "Versión 2.0.0", + changes: [ + "Rediseño completo de la UI para mejorar la experiencia de usuario", + "Introducidas nuevas características en el panel de control", + "Añadido soporte para temas personalizados", + "Mejorada la accesibilidad en toda la aplicación", + ], + image: + "https://g-ndmbkfuhw2w.vusercontent.net/placeholder.svg?height=200&width=400", + }, + { + date: "2023-09-15", + title: "Versión 1.9.5", + changes: [ + "Optimización de rendimiento en la carga inicial", + "Nuevas opciones de personalización para usuarios premium", + ], + image: + "https://g-ndmbkfuhw2w.vusercontent.net/placeholder.svg?height=200&width=400", + }, + { + date: "2023-08-01", + title: "Versión 1.9.0", + changes: [ + "Lanzamiento de la API pública para desarrolladores", + "Mejoras en la sincronización de datos entre dispositivos", + ], + image: + "https://g-ndmbkfuhw2w.vusercontent.net/placeholder.svg?height=200&width=400", + }, +]; + +const Comp = () => { + return ( +
+
+ + + + + + + + + + + + + + + +
+
+

Changelog

+
+ {changelogEntries.map((entry, index) => ( +
+
+ + {entry.date} + +

{entry.title}

+
+
+
+ {`Imagen +
+ +
    + {entry.changes.map((change, changeIndex) => ( +
  • + {change} +
  • + ))} +
+
+
+ ))} +
+
+
+ ); +}; + +// export default function Changelog() { +// return ( +//
+//
+// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +//
+//
+//

Changelog

+//
+// {changelogEntries.map((entry, index) => ( +//
+//
+// +// {entry.date} +// +//

{entry.title}

+//
+//
+//
+// {`Imagen +//
+ +//
    +// {entry.changes.map((change, changeIndex) => ( +//
  • +// {change} +//
  • +// ))} +//
+//
+//
+// ))} +//
+//
+//
+// ); +// } diff --git a/apps/website/app/[locale]/page.tsx b/apps/website/app/[locale]/page.tsx index 7630268..37c0216 100644 --- a/apps/website/app/[locale]/page.tsx +++ b/apps/website/app/[locale]/page.tsx @@ -1,19 +1,28 @@ import { CallToAction } from "@/components/CallToAction"; import { Faqs } from "@/components/Faqs"; import { Hero } from "@/components/Hero"; -import { PrimaryFeatures } from "@/components/PrimaryFeatures"; -import { SecondaryFeatures } from "@/components/SecondaryFeatures"; +import { Testimonials } from "@/components/Testimonials"; +import { FirstFeaturesSection } from "@/components/first-features"; +import { Pricing } from "@/components/pricing"; +import { SecondaryFeaturesSections } from "@/components/secondary-features"; +import { Sponsors } from "@/components/sponsors"; +import { StatsSection } from "@/components/stats"; export default function Home() { return (
- - - - {/* */} + + + + +
+ +
+ +
); diff --git a/apps/website/app/[locale]/pricing/page.tsx b/apps/website/app/[locale]/pricing/page.tsx deleted file mode 100644 index 8bd1177..0000000 --- a/apps/website/app/[locale]/pricing/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Pricing } from "@/components/pricing"; - -export default function Home() { - return ( -
- -
- ); -} diff --git a/apps/website/app/sitemap.ts b/apps/website/app/sitemap.ts index 52a2ad7..05893c0 100644 --- a/apps/website/app/sitemap.ts +++ b/apps/website/app/sitemap.ts @@ -5,7 +5,7 @@ export default function sitemap(): MetadataRoute.Sitemap { { url: "https://dokploy.com", lastModified: new Date(), - changeFrequency: "yearly", + changeFrequency: "monthly", priority: 1, }, ]; diff --git a/apps/website/components/CallToAction.tsx b/apps/website/components/CallToAction.tsx index 3e18a14..232fa74 100644 --- a/apps/website/components/CallToAction.tsx +++ b/apps/website/components/CallToAction.tsx @@ -5,11 +5,10 @@ import { Button } from "./ui/button"; export function CallToAction() { const t = useTranslations("HomePage"); - const linkT = useTranslations("Link"); return (
- -
+ +

{t("faq.title")}

-

+

{t("faq.des")}

-
    + + {faqs.map((column, columnIndex) => ( -
  • -
      - {column.map((faq, faqIndex) => ( -
    • -

      - {t(faq.question)} -

      -

      - {t(faq.answer)} -

      -
    • - ))} -
    -
  • + + + {t(column.question)} + + {t(column.answer)} + ))} -
+
); diff --git a/apps/website/components/Footer.tsx b/apps/website/components/Footer.tsx index b2d8e4c..d8c411d 100644 --- a/apps/website/components/Footer.tsx +++ b/apps/website/components/Footer.tsx @@ -67,10 +67,14 @@ export function Footer() { aria-label="Dokploy on Twitter" > - Pricing + Pricing {t("navigation.faqs")} {t("navigation.docs")} + + + @@ -144,15 +159,28 @@ export function Header() {
- {t("navigation.pricing")} + {t("navigation.pricing")} {t("navigation.faqs")} {t("navigation.docs")}
-
- + + + + + + + {/* - -
diff --git a/apps/website/components/Hero.tsx b/apps/website/components/Hero.tsx index b8c81a1..05aa7ee 100644 --- a/apps/website/components/Hero.tsx +++ b/apps/website/components/Hero.tsx @@ -1,45 +1,46 @@ "use client"; import { cn } from "@/lib/utils"; -import { ArrowRight, ArrowRightIcon, Check, Copy } from "lucide-react"; +import { motion } from "framer-motion"; +import { Check, ChevronRight, Copy } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useEffect, useState } from "react"; -import { Container } from "./Container"; -import AnimatedShinyText from "./ui/animated-shiny-text"; +import AnimatedGradientText from "./ui/animated-gradient-text"; +import AnimatedGridPattern from "./ui/animated-grid-pattern"; import { Button } from "./ui/button"; -import { HoverBorderGradient } from "./ui/hover-border-gradient"; +import HeroVideoDialog from "./ui/hero-video-dialog"; -const ProductHunt = () => { - return ( - - - - - - - - - - ); -}; +// const ProductHunt = () => { +// return ( +// +// +// +// +// +// +// +// +// +// ); +// }; export function Hero() { const t = useTranslations("HomePage"); @@ -52,347 +53,158 @@ export function Hero() { return () => clearTimeout(timer); }, [isCopied]); return ( - -
- - - - - - - - - - - - - - - -
- -
- -
-
+
+
+
+ - - 🚀 {t("hero.cloud")} - - -
-
- +
+ + 🎉
{" "} + + Introducing Dokploy Cloud + + +
+
+ -

- {t("hero.deploy")}{" "} - - - {t("hero.anywhere")} - {" "} - {t("hero.with")} -

-

- {t("hero.des")} -

-
-
- - curl -sSL https://dokploy.com/install.sh | sh - - - {/* */} -
-
- - + {t("hero.des")} + + +
+
+ + curl -sSL https://dokploy.com/install.sh | sh + + +
+
+ + +
+
+
-
-
-