using AIStudio.Tools.PluginSystem; namespace AIStudio.Tools.Databases; public sealed class NoDatabaseClient(string name, string? unavailableReason, DatabaseClientStatus status = DatabaseClientStatus.UNAVAILABLE) : DatabaseClient(name, string.Empty) { private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(NoDatabaseClient).Namespace, nameof(NoDatabaseClient)); public override DatabaseClientStatus Status => status; public override async IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo() { yield return (TB("Status"), status switch { DatabaseClientStatus.STARTING => TB("Starting"), _ => TB("Unavailable") }); if (!string.IsNullOrWhiteSpace(unavailableReason)) yield return (TB("Reason"), unavailableReason); await Task.CompletedTask; } public override void Dispose() { } }