feat: DnsHole feature parity with oldmarr (#1145)

* feat: DnsHole feature parity with oldmarr
feat: advanced control management
feat: disconnected state
fix: summary widget sizing
feat: summary text flash on update

* feat: dnshole summary integrations disconnected error page

* fix: classnaming

* refactor: small rename, console to logger and unnecessary as conversion changes

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
This commit is contained in:
SeDemal
2024-09-24 23:25:13 +02:00
committed by GitHub
parent 07f72f7367
commit 36915d95fe
16 changed files with 467 additions and 145 deletions

View File

@@ -77,7 +77,7 @@ export class AdGuardHomeIntegration extends Integration implements DnsHoleSummar
return {
status: status.data.protection_enabled ? ("enabled" as const) : ("disabled" as const),
adsBlockedToday: blockedQueriesToday,
adsBlockedTodayPercentage: (queriesToday / blockedQueriesToday) * 100,
adsBlockedTodayPercentage: blockedQueriesToday > 0 ? (queriesToday / blockedQueriesToday) * 100 : 0,
domainsBeingBlocked: countFilteredDomains,
dnsQueriesToday: queriesToday,
};

View File

@@ -1,5 +1,5 @@
export interface DnsHoleSummary {
status: "enabled" | "disabled";
status?: "enabled" | "disabled";
domainsBeingBlocked: number;
adsBlockedToday: number;
adsBlockedTodayPercentage: number;

View File

@@ -2,3 +2,4 @@ export * from "./calendar-types";
export * from "./interfaces/dns-hole-summary/dns-hole-summary-types";
export * from "./interfaces/indexer-manager/indexer";
export * from "./interfaces/media-requests/media-request";
export * from "./pi-hole/pi-hole-types";