Repository navigation
fix: Icon row placeholder shows the colour the page or application inherits EXO-90337 - #578
Merged
Merged
Conversation
…herits EXO-90337 **Symptom** With a Page & Apps icon colour set in Branding, the Edit Page drawer's Icon row shows its dimmed `Inherited` swatch in the built-in grey, not the configured colour; the application editor shows the grey too once the page stores an icon colour. **Cause** The shared text input (Meeds-io/social, `styling-inputs/TextInput.vue`) passed the built-in `#707070` as the Icon row's placeholder at every level, by design of note 51586 §4 (D6). The PO ruled on EXO-90337 that the page-level row shows the platform's customised colour and the application-level row shows the page's; nothing is stored until the user picks (D6 kept). The editors never resolved that colour. **Fix** - `ApplicationUtils.getThemeColor(name)`: the value of a branding theme variable as computed at the document root, null when the branding stylesheet emits `initial`. - `EditPageDrawer.vue`: the platform's `--allPagesAppIconColor`. - `common-layout/EditApplicationDrawer.vue`: the page root container's stored icon colour, else the platform's. - The site layout editor drawers are unchanged and keep the built-in grey. Known limit, left to the PO: a colour the site stores on its own page area (the site layout editor's page properties, `middleCenterContainer`) is inherited by every page of the site at view time but is not read by the page editor, which renders the page alone, outside the site layout that carries that colour, and reads the theme at the document root; the page and application placeholders then show the platform's colour, and covering it needs a fetch of the site layout at open. Depends on the `iconPlaceholder` prop of the shared text input in Meeds-io/social under the same task id. Verified with eslint on the changed files and a headless Chrome check of `getThemeColor`: an `initial` custom property computes to the empty string, a set one and `transparent` come back as written. No committed JS test (frontend-vue.md). This change is classified N3: editor-side placeholder only, no REST/DAO/schema/ACL surface touched (`classification.md` §3); the delivery is N1 by max-severity at the `feature/mips` integration PR. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
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.



Symptom
With a Page & Apps icon colour set in Branding, the Edit Page drawer's Icon row shows its dimmed
Inheritedswatch in the built-in grey, not the configured colour; the application editor shows the grey too once the page stores an icon colour (EXO-90337, PO feedback on US04).Cause
The shared text input (Meeds-io/social,
styling-inputs/TextInput.vue) passed the built-in#707070as the Icon row's placeholder at every level, by design of note 51586 §4 (D6). The PO ruled on EXO-90337 that the page-level row shows the platform's customised colour and the application-level row shows the page's; nothing is stored until the user picks (D6 kept). The editors never resolved that colour.Fix
ApplicationUtils.getThemeColor(name): the value of a branding theme variable as computed at the document root, null when the branding stylesheet emitsinitial.EditPageDrawer.vue: the platform's--allPagesAppIconColor.common-layout/EditApplicationDrawer.vue: the page root container's stored icon colour, else the platform's.Known limit, left to the PO: a colour the site stores on its own page area (the site layout editor's page properties,
middleCenterContainer) is inherited by every page of the site at view time but is not read by the page editor, which renders the page alone, outside the site layout that carries that colour, and reads the theme at the document root; the page and application placeholders then show the platform's colour, and covering it needs a fetch of the site layout at open.Depends on the
iconPlaceholderprop of the shared text input in Meeds-io/social, same task id.Verified with eslint on the changed files and a headless Chrome check of
getThemeColor: aninitialcustom property computes to the empty string, a set one andtransparentcome back as written. No committed JS test (frontend-vue.md).Knowledge: owed by the eXIP's knowledge update (EXO-90341), gated at the
feature/mipsintegration PR.This change is classified N3 at a7b90cd: editor-side placeholder only, no REST/DAO/schema/ACL surface touched (
classification.md§3); the delivery is N1 by max-severity at thefeature/mipsintegration PR.🤖 Generated with Claude Code