namespace HellionChat.Branding;

// Lazy-loaded ASCII art that ships embedded with the DLL.
//
//   - FoxMini: the four-line fox-head + curly-tail that gets stitched
//     into the DI-logger bootstrap line so an xllog reader sees the
//     same signature on every plugin load.
//
// The file lives as an embedded resource under HellionChat.Branding.* so
// the plugin DLL is self-contained; no on-disk asset lookup that could
// silently miss after a partial deploy.
internal static class HellionForgeAscii
{
    private static string? _foxMini;

    public static string FoxMini => _foxMini ??= Load("HellionChat.Branding.fox-mini.txt");

    private static string Load(string resourceName)
    {
        using var stream = typeof(HellionForgeAscii).Assembly.GetManifestResourceStream(
            resourceName
        );
        if (stream is null)
            return string.Empty;

        using var reader = new StreamReader(stream);
        return reader.ReadToEnd();
    }
}
