55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
---
|
|
phase: 12-branding-ui-views
|
|
plan: "03"
|
|
subsystem: views
|
|
tags: [wpf, xaml, branding, profile-dialog, client-logo]
|
|
dependency_graph:
|
|
requires: [12-01]
|
|
provides: [client-logo-ui-profile-dialog]
|
|
affects: [ProfileManagementDialog]
|
|
tech_stack:
|
|
patterns: [data-binding, value-converter, data-trigger]
|
|
key_files:
|
|
modified:
|
|
- SharepointToolbox/Views/Dialogs/ProfileManagementDialog.xaml
|
|
decisions:
|
|
- Label+StackPanel layout instead of GroupBox for consistency with SettingsView pattern
|
|
- 60px max image height (smaller than 80px in SettingsView) to fit dialog space
|
|
- Pull from Entra button wider at 130px to accommodate localized text
|
|
metrics:
|
|
duration: 46s
|
|
completed: 2026-04-08T13:21:15Z
|
|
---
|
|
|
|
# Phase 12 Plan 03: Client Logo Section in ProfileManagementDialog Summary
|
|
|
|
Client logo section added to ProfileManagementDialog with live Base64-to-image preview, three action buttons (Import, Clear, Pull from Entra), and validation feedback display.
|
|
|
|
## What Was Done
|
|
|
|
### Task 1: Add client logo section and resize ProfileManagementDialog
|
|
|
|
- Increased dialog height from 480 to 620 to accommodate the new logo section
|
|
- Added a 5th RowDefinition (Auto) for the logo section at Row 3
|
|
- Moved existing action buttons from Grid.Row="3" to Grid.Row="4"
|
|
- Added client logo section containing:
|
|
- Localized label bound to `profile.logo.title`
|
|
- Border with overlapping Image (bound to `ClientLogoPreview` via `Base64ToImageConverter`) and placeholder TextBlock (bound to `profile.logo.nopreview`)
|
|
- Image visible when `ClientLogoPreview` is non-null; placeholder visible when null (via `DataTrigger` on `StringToVisibilityConverter`)
|
|
- Three horizontally aligned buttons: Import (80px), Clear (80px), Pull from Entra (130px), bound to `BrowseClientLogoCommand`, `ClearClientLogoCommand`, `AutoPullClientLogoCommand`
|
|
- ValidationMessage TextBlock in red, visible only when message is non-empty
|
|
|
|
## Commits
|
|
|
|
| Task | Commit | Description |
|
|
|------|--------|-------------|
|
|
| 1 | ba81ea3 | feat(12-03): add client logo section with live preview to ProfileManagementDialog |
|
|
|
|
## Deviations from Plan
|
|
|
|
None - plan executed exactly as written.
|
|
|
|
## Verification
|
|
|
|
- `dotnet build --no-restore -warnaserror` passed with 0 warnings, 0 errors
|