Files
dnsmasq-webui/src/DnsmasqWebUI/Models/Client/ClientSettings.cs
T
alex 1bdd176c18 App logs, client settings, NavMenu layout
- Add real-time app logs via SignalR (log level, category filters)
- Add filters modal with restore defaults; sentinel for empty arrays
- Add client settings: max lines and auto-scroll per log panel
- Improve NavMenu: align settings + hamburger, smaller mobile logo
- LogsService, LogsHub, LoggingController, AppLogsLoggerProvider
- Persist log level and filters to appsettings.Overrides.json
2026-02-10 08:44:30 +10:00

32 lines
1.4 KiB
C#

namespace DnsmasqWebUI.Models.Client;
/// <summary>
/// Client-side preferences persisted in browser local storage.
/// </summary>
public class ClientSettings
{
/// <summary>Polling interval for the service status block (seconds).</summary>
public int ServiceStatusPollingIntervalSeconds { get; set; } = 15;
/// <summary>Polling interval for the recent dnsmasq logs block (seconds).</summary>
public int RecentLogsPollingIntervalSeconds { get; set; } = 5;
/// <summary>Polling interval for the app logs block fallback (seconds).</summary>
public int AppLogsPollingIntervalSeconds { get; set; } = 5;
/// <summary>Polling interval for the DHCP leases list (seconds).</summary>
public int LeasesPollingIntervalSeconds { get; set; } = 5;
/// <summary>Maximum number of lines in the dnsmasq (recent) logs panel. Older lines are truncated.</summary>
public int RecentLogsMaxLines { get; set; } = 500;
/// <summary>Whether to auto-scroll the dnsmasq logs panel when new lines arrive.</summary>
public bool RecentLogsAutoScroll { get; set; } = true;
/// <summary>Maximum number of lines in the app logs panel. Older lines are truncated.</summary>
public int AppLogsMaxLines { get; set; } = 500;
/// <summary>Whether to auto-scroll the app logs panel when new lines arrive.</summary>
public bool AppLogsAutoScroll { get; set; } = true;
}