feat: add the MaKo-Prozesse pill to the cross-app solutions footer - #913
feat: add the MaKo-Prozesse pill to the cross-app solutions footer#913hf-kklein wants to merge 2 commits into
Conversation
|
🚀 The Update (preview) for Hochfrequenz/ahb-tabellen/stage (at 3b667ac) was successful. Resource Changes Name Type Operation
~ ahb-tabellen azure-native:web:WebApp update
|
|
Independent review checked all five app hosts. Four are healthy; the new one is not:
Two things to confirm before merging:
The diff itself was reviewed and found correct — URL string, label, colour value and token |
MaKo-Prozesse is joining the family of cross-linked MaKo apps, so it gets a fifth pill in the solutions footer, wired through the environment files and the Pulumi stack config like its siblings. All environments - local/dev, docker, stage and prod alike - point at the same URL, https://mako-prozesse.hochfrequenz.de. That is the *intended* production host: the app is not deployed under it yet, in any environment (the DNS name currently lands on the marketing site), so there is no *.stage host to point at either. See Hochfrequenz/mako_prozesse#65; the pill only becomes functional once that custom domain is live. The pill is filled with var(--grell-lila), which the companystylesheet submodule did not define yet, so the submodule is bumped by exactly one commit (0ef9d69..bdb5667, "Add lila/violet color variables for mako_prozesse (#49)"). That commit only adds --pastell-lila/--grell-lila/--dunkel-lila to css/hochfrequenz.css, nothing else. The submodule stylesheet is never loaded by the app, though: its custom properties are hand-mirrored in the :root block of src/styles.scss and again in tailwind.config.js, so the lila trio is added to both mirrors - those copies, not the submodule, define the colour at runtime.
be20662 to
d69e1d6
Compare
Adds a fifth pill — MaKo-Prozesse — to the solutions footer, so this app links to the new
MaKo processes web app alongside the other three. The same pill is being added to
AHahnB,entscheidungsbaumdiagrammeandfristenkalender-frontendin parallel PRs.Design:
Hochfrequenz/mako_prozesse→docs/plans/2026-08-11-solutions-footer-design.md.The pill
<a class="mako" [href]="makoProzesseUrl">MaKo-Prozesse</a>, appended last. The existing fourpills are untouched — not reordered, not relabelled, not refactored into a loop.
makoProzesseUrlfollows the existingebdBaseUrlpattern exactly, across the fourenvironment*.tsfiles, theenvironment.interface.tsdeclaration, bothinfra/Pulumi.*.yamlstacks, and the config read plus
appSettingsentry ininfra/index.ts.Every environment points at the same production URL, because the app is not deployed under
that host in any environment — there is no staging host to differ from. All six touched files
say so in a comment citing
mako_prozesse#65, so a future reader re-checks rather than assumingit was settled. (An earlier revision of this PR described it as "no staging deployment yet",
which was wrong and would have implied production was fine.)
Why the colour needed two changes, not one
#solutions a.mako { background-color: var(--grell-lila); }alone would have shipped aninvisible white-on-white pill, for two independent reasons:
src/assets/companystylesheetsat one commit behind thecommit adding the lila variables. Bumped to
bdb5667, verified as exactly one commit, onefile, five added lines, no icons/fonts/build output.
angular.json'sstylesarray is onlyrose-red.css,src/styles.scss,src/tailwind.css;index.htmllinks no stylesheet; thesubmodule is consumed purely as a static asset directory for SVGs and TTFs.
src/styles.scss:30admits it: "copied from …hochfrequenz.css, because I didn't manage toimport/include it properly". So that
:rootblock is the only runtime definition site forevery
--grell-*token.So the lila family is also copied into
styles.scss's:root— that copy is what makes thepill purple, the bump keeps the reference honest. All three lila vars came along because every
other
--pastell-*in that file is likewise unused; copying complete families keeps the mirrordiffable against upstream.
tailwind.config.jsturned out to be a third mirror of these hexes and also lacked lila, sobg-hf-grell-liladidn't exist for the next person — now added, with a comment naming thesubmodule as source of truth and recording that the two mirrors have already drifted
independently (
dunkel-mintexists in one and not the other).Tests
solutions-footer.component.spec.tswas a bare "should create". It now asserts all five linkswith labels and hrefs, plus a case pinning the URL literal in every built environment — prod,
stage and docker. That matters because Jest resolves
environments/environmentto the devfile, so the literals that actually ship were asserted nowhere.
Two environment caveats, neither caused by this change:
npx ng lintcannot start (Angular CLIwants Node v22.22.3+/v24.15.0+, this machine has v24.11.1), so eslint was run directly — worth a
maintainer confirming CI lint is green. And Prettier needs
--end-of-line autolocally becausecore.autocrlf=truefights.prettierrc'sendOfLine: lffor every file in the checkout,proven against untouched
src/main.ts. CI on Linux is unaffected.Known, and deliberate
infra/index.tsthrows ifmakoProzesseBaseUrlis unset, mirroringebdBaseUrl. Both in-repostacks carry the key; a stack configured outside this repo would fail its next deploy until it
is added. The
*_BASE_URLapp settings are also not read at runtime —start.shbuildswith
--configuration=$ENVIRONMENT, so URLs are baked in from the env files. That is nowrecorded in a comment covering all three, so nobody hunts for a consumer.
Entscheidungsbaumdiagramm(singular, unlike the Svelte siblings) —Solutions footer: label the EBD pill 'Entscheidungsbaumdiagramme' (plural), as the other apps do #911. Pill labels stay white on pastel (1.51–2.55:1, failing WCAG AA) — a11y: solutions-footer pill labels fail WCAG AA (white on pastel, 1.51-2.55:1) #910. Both deliberately
out of a pill-addition PR.
Fallback page tells users to use a Kontaktformular that no longer exists in the footer #914.
Related issues filed in this repo
Entscheidungsbaumdiagramm(singular) where the Svelte siblingapps use the plural
fallback-page.component.htmltells users to use "das Kontaktformular im Footer", whichno longer exists once the dead link is removed
Design doc:
Hochfrequenz/mako_prozesse→docs/plans/2026-08-11-solutions-footer-design.md(Hochfrequenz/mako_prozesse#73).