namespace NexusShell;



public static class NexusAssets

{

    public const string LogoLarge = "pack://application:,,,/Assets/Images/Stort_nexus_logo.png";

    public const string LogoMedium = "pack://application:,,,/Assets/Images/Mellem_nexus_logo.png";

    public const string LogoSmall = "pack://application:,,,/Assets/Images/Lille_nexus_logo.png";

    public const string LogoTopBar = "pack://application:,,,/Assets/Images/Lille_nexus_logo.png";

    public const string Icon = "pack://application:,,,/Assets/Images/Nexus_ikon.png";

    public const string ProfileAvatar = "pack://application:,,,/Assets/Images/Dock_profil_avatar.png";

    public const string DesktopWallpaper = "pack://application:,,,/Assets/Images/Baggrund.png";



    public const string LogoLargeLight = "pack://application:,,,/Assets/Images/Stort_nexus_logo_light.png";

    public const string LogoMediumLight = "pack://application:,,,/Assets/Images/nexus-logo-light.png";

    public const string LogoSmallLight = "pack://application:,,,/Assets/Images/Lille_nexus_logo_light.png";

    public const string LogoTopBarLight = "pack://application:,,,/Assets/Images/Lille_nexus_logo_light.png";

    public const string IconLight = "pack://application:,,,/Assets/Images/nexus-icon-light.png";



    public static bool IsLightTheme(string? theme) =>

        string.Equals(theme, "light", StringComparison.OrdinalIgnoreCase);



    public static string ResolveLogoTopBar(string? theme) =>

        IsLightTheme(theme) ? LogoTopBarLight : LogoTopBar;



    public static string ResolveLogoMedium(string? theme) =>

        IsLightTheme(theme) ? LogoMediumLight : LogoMedium;



    public static string ResolveLogoLarge(string? theme) =>

        IsLightTheme(theme) ? LogoLargeLight : LogoLarge;



    public static string ResolveIcon(string? theme) =>

        IsLightTheme(theme) ? IconLight : Icon;



    public static string ResolveDesktopWallpaper(string? theme, string? customWallpaperPath)

    {

        if (!string.IsNullOrWhiteSpace(customWallpaperPath))

        {

            return customWallpaperPath;

        }



        return IsLightTheme(theme) ? string.Empty : DesktopWallpaper;

    }

}

