| 07-validation-ux-polish |
02 |
ui |
| react |
| typescript |
| vitest |
| tooltips |
| ux |
| rclone |
| wizard |
|
| phase |
provides |
| 07-01 |
tooltipText field on FieldDef interface + VALID-01 regex validation in buildZodSchema |
|
|
| tooltipText populated for azureblob.sas_url, azureblob.key, onedrive.token in BACKEND_REGISTRY |
| ⓘ toggle button + inline tooltip panel in FieldRenderer (text/select branches) |
| ⓘ toggle button + inline tooltip panel in PasswordField (tooltipText prop) |
| AzureAuthToggle reads tooltipText from BACKEND_REGISTRY and passes to PasswordField |
| SftpAuthToggle showAuthTip state with ⓘ button above segmented auth-method control |
|
| future wizard UI phases |
| any phase using PasswordField or FieldRenderer |
|
| added |
patterns |
|
|
| tooltipText sourced from BACKEND_REGISTRY, passed as prop to PasswordField — single source of truth |
| showTooltip useState per FieldRenderer/PasswordField instance — no global tooltip state |
| showAuthTip useState in SftpAuthToggle for section-level tooltip above segmented control |
| ⓘ button outside label element (sibling in flex container) to avoid label text contamination |
|
|
| created |
modified |
|
|
| src/schemas/registry.ts |
| src/components/ui/FieldRenderer.tsx |
| src/components/ui/PasswordField.tsx |
| src/components/wizard/AzureAuthToggle.tsx |
| src/components/wizard/SftpAuthToggle.tsx |
|
|
| ⓘ button placed as sibling (outside) label element in a flex container — prevents aria-label text from contaminating label, keeps accessible aria-label on button |
| AzureAuthToggle reads tooltipText from BACKEND_REGISTRY at runtime (not hardcoded) — ensures tooltip stays in sync with registry |
| SFTP auth-method tooltip is section-level (above segmented control), not field-level — represents explanation of the whole auth strategy choice |
|
| Per-field tooltip: tooltipText on FieldDef → FieldRenderer passes to PasswordField or renders inline for text/select |
| Section-level tooltip: showAuthTip state in SftpAuthToggle above segmented control |
|
|
2min |
2026-03-31 |