--- phase: 06-global-site-selection plan: 03 type: execute wave: 2 depends_on: [06-02] files_modified: - SharepointToolbox/MainWindow.xaml - SharepointToolbox/MainWindow.xaml.cs - SharepointToolbox/Localization/Strings.resx - SharepointToolbox/Localization/Strings.fr.resx - SharepointToolbox/ViewModels/MainWindowViewModel.cs autonomous: true requirements: - SITE-01 must_haves: truths: - "A 'Select Sites' button is visible in the toolbar after the Clear Session button" - "A label next to the button shows the count of selected sites (e.g., '3 site(s) selected') or 'No sites selected'" - "Clicking the button opens SitePickerDialog and updates the global selection" - "The button is disabled when no tenant profile is connected" - "The button and label use localized strings (EN + FR)" - "The global site selection persists across tab switches (lives on MainWindowViewModel)" artifacts: - path: "SharepointToolbox/MainWindow.xaml" provides: "Toolbar with global site picker button and count label" contains: "OpenGlobalSitePickerCommand" - path: "SharepointToolbox/MainWindow.xaml.cs" provides: "SitePickerDialog factory wiring for toolbar" contains: "OpenGlobalSitePickerDialog" - path: "SharepointToolbox/Localization/Strings.resx" provides: "EN localization keys for global site picker" contains: "toolbar.selectSites" - path: "SharepointToolbox/Localization/Strings.fr.resx" provides: "FR localization keys for global site picker" contains: "toolbar.selectSites" key_links: - from: "SharepointToolbox/MainWindow.xaml" to: "SharepointToolbox/ViewModels/MainWindowViewModel.cs" via: "Command binding for OpenGlobalSitePickerCommand" pattern: "OpenGlobalSitePickerCommand" - from: "SharepointToolbox/MainWindow.xaml.cs" to: "SharepointToolbox/Views/Dialogs/SitePickerDialog.xaml.cs" via: "Dialog factory lambda using DI" pattern: "OpenGlobalSitePickerDialog" --- Add the global site picker button and count label to the main toolbar, wire the SitePickerDialog factory from code-behind, add localization keys for all new toolbar strings, and update MainWindowViewModel to use localized label text. Purpose: Makes the global site selection visible and interactive in the UI. Users see the button at all times regardless of active tab. Output: Updated MainWindow.xaml with toolbar controls, MainWindow.xaml.cs with dialog wiring, localization files with new EN/FR keys, MainWindowViewModel using localized label. @C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md @C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md @.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/06-global-site-selection/06-CONTEXT.md @.planning/phases/06-global-site-selection/06-02-SUMMARY.md ```csharp public ObservableCollection GlobalSelectedSites { get; } public string GlobalSitesSelectedLabel { get; } // "3 site(s) selected" or "No sites selected" public RelayCommand OpenGlobalSitePickerCommand { get; } public Func? OpenGlobalSitePickerDialog { get; set; } // Factory set by code-behind ``` From SharepointToolbox/MainWindow.xaml (ToolBar section): ```xml