diff --git a/apps/web/src/app/(portal)/modules/tender-radar/page.tsx b/apps/web/src/app/(portal)/modules/tender-radar/page.tsx new file mode 100644 index 0000000..2ca8507 --- /dev/null +++ b/apps/web/src/app/(portal)/modules/tender-radar/page.tsx @@ -0,0 +1,31 @@ +'use client'; + +/** + * Ausschreibungs-Radar module page within the portal. + * + * MVP stub (Plan 10-02, CONFIG-01): proves the activation -> page-load + * path (marketplace seed -> module-loader whitelist -> lazy-loaded + * page). Real results UI (search, filters, tender list) lands in + * Phase 11. + * + * Intentional hardcoded German string: full i18n (next-intl message + * keys) is CONFIG-03, planned for Phase 14. Do not add a translation + * key for this stub yet — replace this whole component in Phase 11. + */ +export default function TenderRadarPage() { + return ( +
+
+

+ Ausschreibungs-Radar +

+
+ +
+

+ Ausschreibungen werden erfasst. +

+
+
+ ); +} diff --git a/apps/web/src/lib/module-loader.ts b/apps/web/src/lib/module-loader.ts index 2ec18b8..72c409a 100644 --- a/apps/web/src/lib/module-loader.ts +++ b/apps/web/src/lib/module-loader.ts @@ -47,6 +47,12 @@ export const MODULE_REGISTRY: Record = { { ssr: false }, ), }, + 'tender-radar': { + component: dynamic( + () => import('@/app/(portal)/modules/tender-radar/page'), + { ssr: false }, + ), + }, }; /**