From be4e8a881fb2148d435e2e6b3ee42d3ce1994caf Mon Sep 17 00:00:00 2001 From: Marius Ahsmus Date: Wed, 15 Apr 2026 20:23:59 +0200 Subject: [PATCH 1/6] feat: init actioncard & action overview page --- export/actions.json | 1 + .../[locale]/actions/[...slug]/page.tsx | 5 ++ src/app/(landing)/[locale]/actions/page.tsx | 30 ++++++++ src/collections/actions.ts | 64 +++++++++++++++++ src/components/cards/ActionCard.tsx | 72 +++++++++++++++++++ src/lib/cms.ts | 41 ++++++++++- src/migrations/index.ts | 4 +- src/payload-types.ts | 46 ++++++++++++ src/payload.config.ts | 4 +- 9 files changed, 263 insertions(+), 4 deletions(-) create mode 100644 export/actions.json create mode 100644 src/app/(landing)/[locale]/actions/[...slug]/page.tsx create mode 100644 src/app/(landing)/[locale]/actions/page.tsx create mode 100644 src/collections/actions.ts create mode 100644 src/components/cards/ActionCard.tsx diff --git a/export/actions.json b/export/actions.json new file mode 100644 index 0000000..1c9a4ee --- /dev/null +++ b/export/actions.json @@ -0,0 +1 @@ +[{"id":1,"title":{"en":"Test Action"},"shortDescription":{"en":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."},"description":{"en":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."},"icon":{"id":189,"alt":"GLS X CodeZero","href":"https://www.gls-pakete.de","updatedAt":"2026-04-08T10:00:51.022Z","createdAt":"2026-04-08T10:00:51.022Z","url":"/api/media/file/gls.svg","thumbnailURL":null,"filename":"gls.svg","mimeType":"image/svg+xml","filesize":4020,"width":24,"height":24,"focalX":null,"focalY":null},"tags":["logistic","abc"],"documentation":{"label":{"en":"View documentation"},"url":"/"},"references":[],"updatedAt":"2026-04-15T18:19:40.446Z","createdAt":"2026-04-15T18:19:40.446Z"}] \ No newline at end of file diff --git a/src/app/(landing)/[locale]/actions/[...slug]/page.tsx b/src/app/(landing)/[locale]/actions/[...slug]/page.tsx new file mode 100644 index 0000000..7bc4181 --- /dev/null +++ b/src/app/(landing)/[locale]/actions/[...slug]/page.tsx @@ -0,0 +1,5 @@ +import { notFound } from "next/navigation" + +export default function ActionDetailPage() { + notFound() +} diff --git a/src/app/(landing)/[locale]/actions/page.tsx b/src/app/(landing)/[locale]/actions/page.tsx new file mode 100644 index 0000000..8c75acf --- /dev/null +++ b/src/app/(landing)/[locale]/actions/page.tsx @@ -0,0 +1,30 @@ +import { ActionCard } from "@/components/cards/ActionCard" +import { Aurora } from "@/components/ui/Aurora" +import { LandingContainer } from "@/components/ui/LandingContainer" +import { getActions } from "@/lib/cms" +import { isSupportedLocale } from "@/lib/i18n" +import { notFound } from "next/navigation" + +export default async function ActionsPage({ params }: { params: Promise<{ locale: string }> }) { + const { locale } = await params + if (!isSupportedLocale(locale)) notFound() + + const actions = await getActions(locale) + + return ( + <> + + +