Files
ZelWiki/TightWiki.Engine.Implementation/Utility/BGFGStyle.cs
2025-01-22 23:31:03 +08:00

71 lines
2.5 KiB
C#

namespace TightWiki.Engine.Implementation.Utility
{
public class BGFGStyle
{
public string ForegroundStyle { get; set; } = String.Empty;
public string BackgroundStyle { get; set; } = String.Empty;
public BGFGStyle(string foregroundStyle, string backgroundStyle)
{
ForegroundStyle = foregroundStyle;
BackgroundStyle = backgroundStyle;
}
public BGFGStyle Swap()
{
return new BGFGStyle(BackgroundStyle, ForegroundStyle);
}
public BGFGStyle()
{
}
public static readonly Dictionary<string, BGFGStyle> ForegroundStyles = new(StringComparer.OrdinalIgnoreCase)
{
{ "primary", new BGFGStyle("text-primary", "") },
{ "secondary", new BGFGStyle("text-secondary", "") },
{ "success", new BGFGStyle("text-success", "") },
{ "danger", new BGFGStyle("text-danger", "") },
{ "warning", new BGFGStyle("text-warning", "") },
{ "info", new BGFGStyle("text-info", "") },
{ "light", new BGFGStyle("text-light", "") },
{ "dark", new BGFGStyle("text-dark", "") },
{ "muted", new BGFGStyle("text-muted", "") },
{ "white", new BGFGStyle("text-white", "bg-dark") }
};
public static readonly Dictionary<string, BGFGStyle> BackgroundStyles = new(StringComparer.OrdinalIgnoreCase)
{
{ "muted", new BGFGStyle("text-muted", "") },
{ "primary", new BGFGStyle("text-white", "bg-primary") },
{ "secondary", new BGFGStyle("text-white", "bg-secondary") },
{ "info", new BGFGStyle("text-white", "bg-info") },
{ "success", new BGFGStyle("text-white", "bg-success") },
{ "warning", new BGFGStyle("bg-warning", "") },
{ "danger", new BGFGStyle("text-white", "bg-danger") },
{ "light", new BGFGStyle("text-black", "bg-light") },
{ "dark", new BGFGStyle("text-white", "bg-dark") }
};
public static BGFGStyle GetBackgroundStyle(string style)
{
if (BackgroundStyles.TryGetValue(style, out var html))
{
return html;
}
return new BGFGStyle();
}
public static BGFGStyle GetForegroundStyle(string style)
{
if (ForegroundStyles.TryGetValue(style, out var html))
{
return html;
}
return new BGFGStyle();
}
}
}