Files
Ready2Blob/.planning/STATE.md
T
kawa d173fd4455 docs(09-05): complete tooltip fix plan - hover behavior and helpTextPrefix prop
- SUMMARY.md: tooltip placement fix and hover+pin behavior documented
- STATE.md: decisions added, session updated, progress at 100%
- ROADMAP.md: Phase 9 plan 5/5 complete
2026-04-01 11:22:06 +02:00

74 lines
4.0 KiB
Markdown

---
gsd_state_version: 1.0
milestone: v1.2
milestone_name: UI Polish & Clarity
status: completed
stopped_at: "Completed 09-05 — Tooltip placement fix + hover behavior: all UAT test 7 criteria satisfied"
last_updated: "2026-04-01T09:21:49.765Z"
last_activity: 2026-04-01 — Phase 9 complete (COMP-01, COMP-02, COMP-03, COMP-04, DEBT-01 satisfied)
progress:
total_phases: 4
completed_phases: 2
total_plans: 7
completed_plans: 7
percent: 64
---
# Project State
## Project Reference
See: .planning/PROJECT.md (updated 2026-03-31)
**Core value:** An IT pro can go from zero to a deployable rclone setup in minutes — without needing to know rclone's config syntax or PowerShell deployment conventions.
**Current focus:** v1.2 — UI Polish & Clarity (Phase 9: MD3 Components complete, Phase 10 next)
## Current Position
Phase: 9 of 11 (MD3 Components) — COMPLETE
Plan: 09-03 (complete)
Status: Phase 9 complete, ready for Phase 10
Last activity: 2026-04-01 — Phase 9 complete (COMP-01, COMP-02, COMP-03, COMP-04, DEBT-01 satisfied)
Progress: [██████░░░░] 64% (v1.2)
## Accumulated Context
### Decisions
Decisions are logged in PROJECT.md Key Decisions table.
Recent decisions affecting current work:
- v1.2 roadmap: Zero new runtime dependencies — Tailwind v4 @theme + CSS custom properties only
- v1.2 roadmap: Bottom-up migration order (tokens -> primitives -> migration -> content -> polish)
- v1.2 roadmap: ThemeToggle via DOM class toggle, not React Context (avoids re-render cascade)
- [Phase 08-01]: Two-layer CSS token pattern: @theme var() references + @layer base :root/.dark raw values — required for .dark cascade in Tailwind v4
- [Phase 08-01]: vi.stubGlobal for localStorage/matchMedia in tests — Node v25 experimental WebStorage breaks standard Storage API in jsdom environment
- [Phase 08-02]: Mechanical migration only — zero DOM structure changes, only className strings replaced
- [Phase 08-02]: Post-migration grep check is mandatory — replace_all can miss occurrences in dual-branch components with identical className strings
- [Phase 08-02]: User visually confirmed light/dark theme renders correctly across all 4 wizard steps — THEME-01 and THEME-02 complete
- [Phase 09-02]: Label text inside button element (not adjacent) preserves test selector compatibility: textContent includes step name
- [Phase 09-02]: Pre-existing TextFieldMD3.test.tsx failure scoped out — component not yet built, belongs to future plan
- [Phase 09-md3-components]: TextFieldMD3 uses CSS-only floating label via peer-[:not(:placeholder-shown)] without JS state
- [Phase 09-md3-components]: DEBT-01 fix: tooltip buttons use aria-label directly; RemoteConfigStep.test updated with { selector: 'input' } to prevent aria-label/label ambiguity
- [Phase 09-03]: Tooltip button rendered ABOVE TextFieldMD3 in FieldRenderer (tooltip is separate concern, TextFieldMD3 is self-contained)
- [Phase 09-03]: PasswordField show/hide toggle passed as suffix prop to TextFieldMD3 — suffix slot is right-aligned inside input container
- [Phase 09-03]: OutputBlock Copy/Download buttons use MD3_BTN_OUTLINED with !text-xs !px-3 !py-1.5 overrides to preserve small utility button size
- [Phase 09-md3-components]: BackendSelectionStep gap: plain label+input replaced with TextFieldMD3; no test changes required because TextFieldMD3 preserves textbox role and role=alert contract
- [Phase 09-05]: Tooltip hover uses dual-state (hoverTooltip + showTooltip); click-unpin explicitly clears hoverTooltip to prevent sticky tooltip after dismiss
- [Phase 09-05]: helpTextPrefix prop guard is (helpText || helpTextPrefix) so tooltip icon renders on fields without helpText
### Pending Todos
None yet.
### Blockers/Concerns
- 131 test selectors could break during component restyling — one-component-at-a-time discipline required (ongoing, Phase 10+)
## Session Continuity
Last session: 2026-04-01T09:21:49.762Z
Stopped at: Completed 09-05 — Tooltip placement fix + hover behavior: all UAT test 7 criteria satisfied
Resume file: None