mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-14 09:25:47 +01:00
🐛 AdGuard Home time unit fix (#1005)
This commit is contained in:
@@ -135,8 +135,14 @@ const collectAdGuardSummary = async (app: ConfigAppType) => {
|
|||||||
const status = await adGuard.getStatus();
|
const status = await adGuard.getStatus();
|
||||||
const countFilteredDomains = await adGuard.getCountFilteringDomains();
|
const countFilteredDomains = await adGuard.getCountFilteringDomains();
|
||||||
|
|
||||||
const blockedQueriesToday = stats.blocked_filtering.reduce((prev, sum) => prev + sum, 0);
|
const blockedQueriesToday =
|
||||||
const queriesToday = stats.dns_queries.reduce((prev, sum) => prev + sum, 0);
|
stats.time_units === 'days'
|
||||||
|
? stats.blocked_filtering[stats.blocked_filtering.length - 1]
|
||||||
|
: stats.blocked_filtering.reduce((prev, sum) => prev + sum, 0);
|
||||||
|
const queriesToday =
|
||||||
|
stats.time_units === 'days'
|
||||||
|
? stats.dns_queries[stats.dns_queries.length - 1]
|
||||||
|
: stats.dns_queries.reduce((prev, sum) => prev + sum, 0);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
domainsBeingBlocked: countFilteredDomains,
|
domainsBeingBlocked: countFilteredDomains,
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
export const adGuardApiStatsResponseSchema = z.object({
|
export const adGuardApiStatsResponseSchema = z.object({
|
||||||
time_units: z.enum(['hours']),
|
time_units: z.enum(['hours', 'days']),
|
||||||
top_queried_domains: z.array(z.record(z.string(), z.number())),
|
top_queried_domains: z.array(z.record(z.string(), z.number())),
|
||||||
top_clients: z.array(z.record(z.string(), z.number())),
|
top_clients: z.array(z.record(z.string(), z.number())),
|
||||||
top_blocked_domains: z.array(z.record(z.string(), z.number())),
|
top_blocked_domains: z.array(z.record(z.string(), z.number())),
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { z } from 'zod';
|
||||||
import { trimStringEnding } from '../../../shared/strings';
|
import { trimStringEnding } from '../../../shared/strings';
|
||||||
import {
|
import {
|
||||||
adGuardApiFilteringStatusSchema,
|
adGuardApiFilteringStatusSchema,
|
||||||
@@ -77,19 +78,4 @@ export class AdGuard {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export type AdGuardStatsType = {
|
export type AdGuardStatsType = z.infer<typeof adGuardApiStatsResponseSchema>;
|
||||||
time_units: string;
|
|
||||||
top_queried_domains: { [key: string]: number }[];
|
|
||||||
top_clients: { [key: string]: number }[];
|
|
||||||
top_blocked_domains: { [key: string]: number }[];
|
|
||||||
dns_queries: number[];
|
|
||||||
blocked_filtering: number[];
|
|
||||||
replaced_safebrowsing: number[];
|
|
||||||
replaced_parental: number[];
|
|
||||||
num_dns_queries: number;
|
|
||||||
num_blocked_filtering: number;
|
|
||||||
num_replaced_safebrowsing: number;
|
|
||||||
num_replaced_safesearch: number;
|
|
||||||
num_replaced_parental: number;
|
|
||||||
avg_processing_time: number;
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ function DnsHoleSummaryWidgetTile({ widget }: DnsHoleSummaryWidgetProps) {
|
|||||||
<Stack align="center" spacing="xs">
|
<Stack align="center" spacing="xs">
|
||||||
<IconSearch size={30} />
|
<IconSearch size={30} />
|
||||||
<div>
|
<div>
|
||||||
<Text align="center">{formatNumber(data.dnsQueriesToday, 3)}</Text>
|
<Text align="center">{formatNumber(data.dnsQueriesToday, 0)}</Text>
|
||||||
<Text align="center" lh={1.2} size="sm">
|
<Text align="center" lh={1.2} size="sm">
|
||||||
{t('card.metrics.queriesToday')}
|
{t('card.metrics.queriesToday')}
|
||||||
</Text>
|
</Text>
|
||||||
|
|||||||
Reference in New Issue
Block a user