diff --git a/Dockerfile b/Dockerfile index 3fb4fddb3..3d280e6aa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,7 @@ ARG NEXT_PUBLIC_DEFAULT_LOCALE=de ARG NEXT_PUBLIC_ENABLE_FISCHEREI=true ARG NEXT_PUBLIC_ENABLE_MEETING_PROTOCOLS=true ARG NEXT_PUBLIC_ENABLE_VERBANDSVERWALTUNG=true +ARG NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= ENV NEXT_PUBLIC_CI=${NEXT_PUBLIC_CI} ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL} ENV NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} @@ -29,6 +30,7 @@ ENV NEXT_PUBLIC_DEFAULT_LOCALE=${NEXT_PUBLIC_DEFAULT_LOCALE} ENV NEXT_PUBLIC_ENABLE_FISCHEREI=${NEXT_PUBLIC_ENABLE_FISCHEREI} ENV NEXT_PUBLIC_ENABLE_MEETING_PROTOCOLS=${NEXT_PUBLIC_ENABLE_MEETING_PROTOCOLS} ENV NEXT_PUBLIC_ENABLE_VERBANDSVERWALTUNG=${NEXT_PUBLIC_ENABLE_VERBANDSVERWALTUNG} +ENV NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=${NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY} RUN pnpm --filter web build # --- Run --- diff --git a/apps/web/.env.development b/apps/web/.env.development index 3507b798a..fcb4754eb 100644 --- a/apps/web/.env.development +++ b/apps/web/.env.development @@ -21,7 +21,9 @@ EMAIL_PASSWORD=password CONTACT_EMAIL=test@makerkit.dev # STRIPE -NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= +NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_51SMbesKttnWb7SsFOR7cJ1jshdEaZiHmCflWndgLtL3gx1Cu8N4p5qxSJY8PHmpEJL8gf4VrqqX2Fr7pxJtQILUS00yYQ7Tx8V # MAILER -MAILER_PROVIDER=nodemailer \ No newline at end of file +MAILER_PROVIDER=nodemailer +# STRIPE SECRET KEY +STRIPE_SECRET_KEY=sk_test_51SMbesKttnWb7SsFTjCsPZMlxVe3WjrsDnpLDAQehVdzSoDaWMFmc3hiZOTp2IAKB1cleMPIOW9GmEJHEkhazJsq00FEfTr6BI diff --git a/apps/web/.env.production b/apps/web/.env.production index 417308e17..249edeba2 100644 --- a/apps/web/.env.production +++ b/apps/web/.env.production @@ -9,4 +9,4 @@ NEXT_PUBLIC_SUPABASE_URL= # STRIPE -NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= +NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_51SMbesKttnWb7SsFOR7cJ1jshdEaZiHmCflWndgLtL3gx1Cu8N4p5qxSJY8PHmpEJL8gf4VrqqX2Fr7pxJtQILUS00yYQ7Tx8V diff --git a/apps/web/app/[locale]/(marketing)/_components/feature-carousel.tsx b/apps/web/app/[locale]/(marketing)/_components/feature-carousel.tsx new file mode 100644 index 000000000..eefa86011 --- /dev/null +++ b/apps/web/app/[locale]/(marketing)/_components/feature-carousel.tsx @@ -0,0 +1,584 @@ +'use client'; + +import { useCallback, useEffect, useState } from 'react'; + +import { + BedDouble, + CalendarDays, + ChevronLeft, + ChevronRight, + FileText, + Globe, + GraduationCap, + LayoutDashboard, + Mail, + Users, + Wallet, +} from 'lucide-react'; + +import { Badge } from '@kit/ui/badge'; +import { Button } from '@kit/ui/button'; +import { cn } from '@kit/ui/utils'; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +function MiniStat({ label, value }: { label: string; value: string }) { + return ( +