Repository navigation
feat(public-bridge): a portal gets the whole role layer, the brand motif and the accent from any set - #1097
Merged
Conversation
…ripe and the accent from any set A portal on zuiddrecht or a school set resolved 116 of the 489 roles the site reads (no logo, header and DigiD button in browser defaults). The bridge now names the measured 375, hands the stripe and its new inverse motif to the site as --cn-brand-stripe-*, and reads a new accent vocabulary (--nldesign-color-accent, -light, -text) into --thematiq-accent-*. openspec/changes/brand-motif-on-portals
… through the bridge
Contributor
Quality Report — ConductionNL/thematiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| test-fonts | ✅ | ||||
| test-token-set-coverage | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 2/2 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ✅ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ✅ |
Quality workflow — 2026-10-05 17:03 UTC
Download the full PDF report from the workflow artifacts.
Contributor
Quality Report — ConductionNL/thematiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| test-fonts | ✅ | ||||
| test-token-set-coverage | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 2/2 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ✅ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ✅ |
Quality workflow — 2026-10-05 17:25 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A portal on zuiddrecht or one of the four school sets now looks as designed instead of worse than on an
example-*set.wilgenboomin place ofexample-basisschoolthe site resolved 116 of the 489 component roles it reads (no logo, header and DigiD button in browser defaults, footer without padding). The bridge now declares the 375 that were missing (list intests/vitest/fixtures/portal-site-roles.json): colours from--nldesign-*with fallbacks, logos from--nldesign-logo-url, geometry as neutral values. Sets with their own role layer load after the bridge and keep every value.--cn-brand-stripe-*, plus--cn-brand-stripe-imageand-image-inverse, without fallbacks (a set without a stripe draws none).css/brand-stripe.csshands the two image names to the component library too.--nldesign-brand-stripe-image-inverse(wilgenboom light twigs, vaartveld white bank, esdoornveen the cut at the other end). A variant of the one motif token, not a second one. wilgenboom's header motif gains its 3px green line (17px).--nldesign-color-accent,-accent-light,-accent-textin the four school sets and zuiddrecht, read by the bridge into--thematiq-accent-*(falling back to the primary) and--thematiq-badge-*.--nldesign-website-logo-width/-height/-text-size,--nldesign-color-footer-background/-text,--nldesign-hero-*; bridge roles--thematiq-logo-text-font-size,--thematiq-footer-legal-background-color,--thematiq-hero-*.OpenSpec:
openspec/changes/brand-motif-on-portals.Depends on / used by
site-chrome-follows-the-design(draws the stripe, reads the accent, logo and hero roles) and nextcloud-vue #1316 (CnBrandStripedraws the image). Merge this first: portaliq renders unchanged without it (every role has a fallback), but the school portals only look right with it.Verified
bash scripts/token-set-gate.sh(contrast report, token reference, coverage, then the token-set PHPUnit and vitest specs): exit 0; PHPUnit OK (344 tests, 6071 assertions), vitest 16 files passed, including the newtests/vitest/publicBridgeRoleLayer.spec.js(32 tests: roles, stripe, accent, logo, footer band, the example-set control).check:strictwas not run.Inherited: none seen in the touched files.
🤖 Generated with Claude Code