using System.Runtime.CompilerServices;
using HellionChat.Util;

namespace HellionChat.Branding;

// Centralised — a future invite/URL rotation only touches this file.
internal static class BrandingLinks
{
    public const string HellionForgeDiscordInvite = "https://discord.gg/X9V7Kcv5gR";
    public const string HellionForgeGitea = "https://gitea.hellion-forge.cloud/Hellion-Forge";
    public const string HellionChatRepo =
        "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat";
    public const string HellionForgeWebsite = "https://hellion-forge.cloud";
    public const string HellionMediaWebsite = "https://hellion-media.de/de";

    // CA2255 warns against [ModuleInitializer] in library code, but Dalamud
    // loads the plugin DLL directly so the module-init pass is the right hook
    // for a one-shot URL sanity check at plugin load.
#pragma warning disable CA2255
    [ModuleInitializer]
#pragma warning restore CA2255
    internal static void ValidateUrls()
    {
        UrlValidation.ValidateAll(
            nameof(BrandingLinks),
            HellionForgeDiscordInvite,
            HellionForgeGitea,
            HellionChatRepo,
            HellionForgeWebsite,
            HellionMediaWebsite
        );
    }
}
