diff --git a/apps/web/src/app/(portal)/modules/tender-radar/page.tsx b/apps/web/src/app/(portal)/modules/tender-radar/page.tsx index 772a438..e92ccdd 100644 --- a/apps/web/src/app/(portal)/modules/tender-radar/page.tsx +++ b/apps/web/src/app/(portal)/modules/tender-radar/page.tsx @@ -3,6 +3,7 @@ import { Suspense } from 'react'; import { useTranslations } from 'next-intl'; import { useRouter, useSearchParams } from 'next/navigation'; +import Link from 'next/link'; import { CoverageBanner } from './components/CoverageBanner'; import { FilterPanel } from './components/FilterPanel'; import { ResultsList } from './components/ResultsList'; @@ -52,10 +53,29 @@ function TenderRadarContent() { return (
-
+

{t('page.title')}

+ + {/* + * Einstellungen-Link. Absolute literal href (NOT the dynamic + * [category]/[moduleSlug] basePath): the tender-radar settings page + * only exists as the literal route /modules/tender-radar/settings — + * the dynamic settings route returns "Modul nicht gefunden" for this + * module, so the gear must point at the literal path directly. + */} + + +
diff --git a/apps/web/src/messages/de.json b/apps/web/src/messages/de.json index 743dbea..094710d 100644 --- a/apps/web/src/messages/de.json +++ b/apps/web/src/messages/de.json @@ -575,7 +575,8 @@ "tenderRadar": { "page": { "title": "Ausschreibungs-Radar", - "loading": "Lädt…" + "loading": "Lädt…", + "settingsTitle": "Einstellungen" }, "results": { "colTitle": "Titel", diff --git a/apps/web/src/messages/en.json b/apps/web/src/messages/en.json index e920e30..da38464 100644 --- a/apps/web/src/messages/en.json +++ b/apps/web/src/messages/en.json @@ -575,7 +575,8 @@ "tenderRadar": { "page": { "title": "Tender Radar", - "loading": "Loading…" + "loading": "Loading…", + "settingsTitle": "Settings" }, "results": { "colTitle": "Title",