[UPG] branding-base cluster (5 modules) to Odoo 19.0 + de-brand/teal SSOT#658
Open
davidtranhp wants to merge 9 commits into
Open
[UPG] branding-base cluster (5 modules) to Odoo 19.0 + de-brand/teal SSOT#658davidtranhp wants to merge 9 commits into
davidtranhp wants to merge 9 commits into
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
davidtranhp
force-pushed
the
upg/viin-brand-19-main
branch
from
July 25, 2026 02:33
e8f1643 to
a3f008b
Compare
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
…e allowlist + on-disk drift guard, web dependency, modern super(), v19 URLs) Signed-off-by: David Tran <david.tran@tvtmarine.com>
…de #007F8E/#005E68, de-brand, i18n, robust title/favicon re-home, PWA/webmanifest de-brand, content-palette scope, security+robustness hardening + compile guards) Signed-off-by: David Tran <david.tran@tvtmarine.com>
davidtranhp
force-pushed
the
upg/viin-brand-19-main
branch
from
July 25, 2026 06:05
a3f008b to
b55799a
Compare
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
… chrome at AA + white foregrounds, web-push icon, email button color, ir_mail_server help, i18n, hardening + contrast guards) Signed-off-by: David Tran <david.tran@tvtmarine.com>
…og wordmark guard, edition widget, i18n) Signed-off-by: David Tran <david.tran@tvtmarine.com>
…or rename, primary-button de-brand SCSS) Signed-off-by: David Tran <david.tran@tvtmarine.com>
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
Adds the behavior-guard test layer for the theme, wired into web.assets_unit_tests (Hoot) and web.assets_tests (tours), driven by tests/test_tours.py: * Hoot - viin_theme service: setScheme dark/light flips documentElement data-bs-theme + persists the color_scheme cookie; setDensity compact flips data-viin-density + viin_density cookie; 'auto' resolves via a mocked matchMedia and re-resolves on OS flip. * Hoot - StatusBarField (D6) stepper: getStepInfo maps a mid-pipeline record to done/current/upcoming markers; clicking a stage still fires core selectItem -> web_save (presentation-only patch must not break click-to-change). * HttpCase tours: instant dark toggle + reload persistence; density compact + reload persistence (single-session location.reload, expectUnloadPage); home-menu fuzzy search + keyboard launch; mobile ViinBottomNav single-chrome + slot navigation (375x667 touch). All assert observable state (RED-on-behavior-removal); no assertion is a code snapshot. 23/23 green on 19.0 CE (17 Python/tours + 6 Hoot).
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
…d list, kanban, text utilities) A live acceptance review found several dark-mode surfaces still rendering compiled light-mode colors that do not scheme-flip. Re-point them (dark-scoped, so light mode is untouched) to the runtime scheme props, at the correct layer: * Form: record title / headings -> var(--emphasis-color); field values/inputs -> var(--body-color) (core .oe_title uses a compiled $headings-color hex). * Light form labels: brand-purple leak -> neutral var(--secondary-color) (grey, matches the mockup and the dark label tier). * Teal FOREGROUND on dark (nocontent link, bulk-selection count, active notebook tab, statusbar done glyph, many2one o_form_uri links): compiled #007F8E (3.69:1) -> lighter dark teal #4FD4E2 (~9.9:1). Teal fills + the rail accent untouched. * Dialog titles + any var-based heading: flip --heading-color -> var(--emphasis-color) at the scheme engine (core $headings-color-dark is 'inherit', never flips). * Grouped-list header + the Bootstrap .text-body/.text-muted utilities: these are compiled with light values + !important into the dark bundle, so relit with !important in dark (.text-muted spares .btn-light/.btn-secondary chips); also fix the stale --body-color-rgb in the dark scheme. * Overdue/rotting kanban card: core's static light-pink bg -> a dark-red color-mix so its text is readable in dark (light mode keeps the pink). * .o_web_client color-scheme: core's invalid 'bright' ($o-webclient-color-scheme) -> light/dark per the app toggle, so native scrollbars/controls match the scheme. All light-on-light / dark-on-light-chip cases verified non-regressed; light mode unchanged. 13 source-invariant guards added (TestReviewA11yFixes). Live re-verify: form/dialog/list/kanban/labels/links all clear AA in dark; 36/36 theme tests green.
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
…kend) + keep public login light
Dark mode is a LOGGED-IN per-user choice applied to the backend only; public pages and the
default state stay LIGHT. Two parts:
1. Public/default-light: remove login.scss's `@media (prefers-color-scheme: dark)` block - the
PUBLIC pre-auth login must not darken from the visitor's OS. The login now always renders the
light split-screen. Guard test_public_login_never_os_darkens bans re-adding it.
2. Complete the backend dark-mode AA coverage the earlier commit started, all dark-scoped
([data-bs-theme=dark]) so light mode is untouched. Odoo 19 CE core dark mode leaves many
surfaces on compiled light values that never scheme-flip; re-point them to the runtime scheme
props at the layer each is read:
- Backgrounds via the core CSS var (fixes the whole family at once): grouped-kanban
--Kanban-background/--KanbanGroup-background; form o2m list --ListRenderer-thead/tfoot-bg-color;
breadcrumb --breadcrumb-bg; a GLOBAL .bg-view --background-color flip (view-surface utility on
~14 surfaces incl. search panel + calendar container + inputs) - beats .bg-view's !important
WITHOUT an !important war since re-pointing its own local var; messaging systray
--mail-MessagingMenu-bg (core set it light in its OWN dark stylesheet); search-panel list-group.
- Text utilities compiled light + !important: .text-body/.text-muted/.text-900 relit WITH
!important (sparing .btn-light/.btn-secondary light chips); --body-color-rgb flipped for dark.
- Per-surface: search-panel active row (core hardcodes .text-black), field-selector chain part,
pivot cells/headers (beat core's o-hover-text-color mixin), chatter header, command-palette
footer, settings form (--settings__* vars + .settings bg + section titles).
- Calendar: re-point --fc-* tokens on the .fc element itself (FullCalendar declares them there,
so an ancestor rule loses) -> dark grid + readable day names/dates.
- .o_web_client color-scheme: correct core's invalid 'bright' ident to light/dark per the app
toggle (fixes native scrollbars/controls + the getComputedStyle skew).
REVERTED a mis-step from the prior iteration: a global .text-success/.text-info dark flip that,
being unscoped, lost contrast on light surfaces (selected rows/subtle alerts) - core's marginal
~3.7-3.9:1 values are accepted known-minors (like white-on-color badges), not regressed.
Live getComputedStyle-verified (the review browser runs force-dark, so screenshots are unreliable):
all primary daily screens (home/list/form/kanban/pivot/settings/dialog/dropdowns/command-palette/
search-panel/activities+messages menus/calendar/chatter) are AA-clean in dark, regression reverted,
0 console errors, light mode unchanged. ~24 source-invariant guards (TestReviewA11yFixes) protect
the intent; 52/52 theme tests green (Python /viin_backend_theme + Hoot bracket).
Contributor
|
@davidtranhp Viindoo Test Suite has failed! |
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.
Mục tiêu
Nâng cấp cụm 5 module branding-base của Viindoo lên Odoo 19.0 CE (de-brand + teal SSOT), làm nền cho theme backend
viin_backend_theme(Phase 3 - sẽ bổ sung vào PR này sau, cùng 1 PR).Base:
19.0(fdfd1fc). Nhánh:upg/viin-brand-19-main. Chưa data-migration, không bumpversion(theo quy ước upgrade Viindoo Standard).Phạm vi (5 module, thứ tự phụ thuộc)
viin_brandsuper()hiện đại; URL v19viin_brand_common$o-brand-primary=#00BBCE; khôi phục brand-color family = teal (chặn leak purple/aubergine qua portal chatter); navbar AA#007F8E; ẩn doc-link www.odoo.com còn sótviin_brand_mailtest_enable); helpnotification_type; nút email#875A7B -> #007F8E; fix 404 tên file iconviin_brand_webviin_brand_web_editorweb_editor -> html_editor(rename v19); rename SCSS de-brandChất lượng đã qua (bằng chứng)
[I18N].state=installed, 0 Traceback/ParseError, navbarrgb(0,127,142)=#007F8E(chữ trắng AA 4.744:1, KHÔNG phải #00BBCE nhạt), 0 console error, title/login "Viindoo".Ảnh chụp navbar/DB-manager/login đã gửi trực tiếp cho reviewer.
Chờ bổ sung (cùng PR này)
viin_backend_theme(theme backend 19.0 redesign + de-brand, hướng teal-darken heritage 17.0/18.0). Đang build; sẽ push tiếp vào nhánh này.Author các commit:
David Tran <david.tran@tvtmarine.com>.