Add report logos and configurable folder scan depth
Report branding (top-left MSP logo, top-right client logo): - Add MspLogo to AppSettings; client logo already on TenantProfile - IUserSessionService.CurrentBranding composes MSP + active profile logo - New reusable LogoUpload component (InputFile -> base64 LogoData, 512KB cap) - MSP logo upload in Settings; optional client logo in profile create/edit - Wire ReportBranding into all 6 HTML export pages - Fix EditProfile dropping ClientLogo on edit Storage metrics: expose folder scan depth (0-20) in scan options UI, passed to existing StorageScanOptions.FolderDepth recursion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,9 @@ public interface IUserSessionService
|
||||
bool HasProfile { get; }
|
||||
AppSettings Settings { get; }
|
||||
|
||||
/// <summary>Branding for exported reports: MSP logo (settings) + active profile's client logo.</summary>
|
||||
ReportBranding CurrentBranding { get; }
|
||||
|
||||
void SetProfile(TenantProfile profile);
|
||||
Task ClearSessionAsync();
|
||||
void UpdateSettings(AppSettings settings);
|
||||
|
||||
@@ -15,6 +15,8 @@ public class UserSessionService : IUserSessionService
|
||||
public bool HasProfile => _currentProfile is not null;
|
||||
public AppSettings Settings => _settings;
|
||||
|
||||
public ReportBranding CurrentBranding => new(_settings.MspLogo, _currentProfile?.ClientLogo);
|
||||
|
||||
public event Action? ProfileChanged;
|
||||
|
||||
public UserSessionService(ISessionManager sessionManager, SettingsRepository settingsRepo)
|
||||
|
||||
Reference in New Issue
Block a user