2025-09-06 13:33:14 -05:00
|
|
|
namespace LANCommander.UI;
|
|
|
|
|
|
|
|
|
|
internal class ClassBuilder
|
|
|
|
|
{
|
2025-12-30 18:08:20 -06:00
|
|
|
private readonly List<string> _classes = new();
|
2025-09-06 13:33:14 -05:00
|
|
|
|
2025-12-30 18:08:20 -06:00
|
|
|
public ClassBuilder Add(string? className)
|
2025-09-06 13:33:14 -05:00
|
|
|
{
|
2025-12-30 18:08:20 -06:00
|
|
|
if (string.IsNullOrWhiteSpace(className))
|
|
|
|
|
return this;
|
|
|
|
|
|
|
|
|
|
_classes.Add(className);
|
2025-09-06 13:33:14 -05:00
|
|
|
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ClassBuilder If(Func<bool> condition, string className)
|
|
|
|
|
{
|
|
|
|
|
if (condition())
|
2025-12-30 18:08:20 -06:00
|
|
|
_classes.Add(className);
|
2025-09-06 13:33:14 -05:00
|
|
|
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string Build()
|
|
|
|
|
{
|
2025-12-30 18:08:20 -06:00
|
|
|
return String.Join(' ', _classes);
|
2025-09-06 13:33:14 -05:00
|
|
|
}
|
|
|
|
|
}
|