Name: [IMP] viin_brain,viin_web_editor: UI hardening v1 (token + polish + Odoo-native + v2 seams)

State: Failed finished in 19m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #27

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: 95d08c88645eaf25449445f57469dfabc74354d1

Description:

                                            [IMP] viin_brain: P6 brand parity + P9 ShareDialog polish (round 3 sprint 2)

P6 Properties — scope brand cyan to .o_brain_app .btn-primary
- Add explicit cascade override in _app_shell.scss (Bootstrap 5.1.3
  compiles .btn-primary to hex literals so --bs-primary scope override
  has zero effect; explicit property cascade is the only safe approach).
- Switch '+ Add property' button class btn-light → btn-primary so it
  picks up the brand accent. Hover via color-mix() (same darkening
  visual as $darken-10% on Bootstrap baseline).
- Scope is .o_brain_app to prevent leak into form/list views in sibling
  apps that share global Bootstrap tokens.

P9 ShareDialog — iOS-style switch + dynamic title
- Replace native <input type='checkbox'> for 'Public link' with OWL
  CheckBox component using Bootstrap 5 form-switch class (matches
  Odoo 17 boolean_toggle_field iOS-pill pattern).
- Load page name via Promise.all alongside share-link search; render
  Dialog title 'Share <Page Name>' via dialogTitle getter (was
  hardcoded 'Share this page').
- onToggleLink signature updated for OWL CheckBox onChange contract
  (passes value, not DOM event).

Evidence (visual-evidence MCP, ephemeral):
- Session 20260503-2016-p8r3-sprint1-final shot-005: P11 CRM Lead
  ID=13 form sidebar rail mode renders with Brain stat buttons.
- Session 20260503-2031-p8r3-sprint2-polish shot-002: P11 Project Task
  ID=1 form sidebar rail mode renders with Brain Pages + Brain Note
  stat buttons.
- Session 20260503-2031 shot-005: P9 ShareDialog title 'Share Welcome'
  + iOS-switch toggle render confirmed.
- Round 3 deferred items documented in phase-8-retroactive-evidence.md.

AC-1 hex grep PASS, brain_v3_ci_check.py --strict 8 PASS / 1
pre-existing WARN (rule2 contenteditable baseline = 14, unchanged).

Refs PR #27.
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: