Files
dnsmasq-webui/src/DnsmasqWebUI/Client/Http/LeasesClient.cs
T
alex 92dfa2b170 Refactor: Bootstrap 5.3.8, Bootstrap Icons, Client/Http/Configuration layout
- Update Bootstrap to 5.3.8, add Bootstrap Icons; replace custom SVGs
- Fix settings modal: load editing state only when modal opens (avoid refresh overwrite)
- Home: StatusSection and LogsSection components with own timers
- Move HTTP clients under Client/Http with Abstractions namespace pattern
- Rename Options to Configuration; remove empty Options dir
- Components: Modals/, Home/; consistent Abstractions (Services, Client.Services, Client.Http)
2026-02-01 22:51:05 +10:00

17 lines
533 B
C#

using DnsmasqWebUI.Client.Http.Abstractions;
using DnsmasqWebUI.Models;
using System.Net.Http.Json;
namespace DnsmasqWebUI.Client.Http;
public sealed class LeasesClient : ILeasesClient
{
private readonly HttpClient _http;
public LeasesClient(HttpClient http) => _http = http;
public async Task<LeasesResult> GetLeasesAsync(CancellationToken ct = default) =>
await _http.GetFromJsonAsync<LeasesResult>("api/leases", ct)
?? throw new InvalidOperationException("Unexpected null from api/leases.");
}