🏗️ Migrate dnshole summary to tRPC
This commit is contained in:
@@ -5,10 +5,10 @@ import { useConfigContext } from '../../config/provider';
|
||||
import { defineWidget } from '../helper';
|
||||
import { WidgetLoading } from '../loading';
|
||||
import { IWidget } from '../widgets';
|
||||
import { useDnsHoleSummeryQuery } from './query';
|
||||
import { PiholeApiSummaryType } from './type';
|
||||
import { queryClient } from '../../tools/server/configurations/tanstack/queryClient.tool';
|
||||
import { api } from '~/utils/api';
|
||||
import { useDnsHoleSummeryQuery } from './DnsHoleSummary';
|
||||
|
||||
const definition = defineWidget({
|
||||
id: 'dns-hole-controls',
|
||||
@@ -30,7 +30,7 @@ interface DnsHoleControlsWidgetProps {
|
||||
}
|
||||
|
||||
function DnsHoleControlsWidgetTile({ widget }: DnsHoleControlsWidgetProps) {
|
||||
const { isInitialLoading, data, refetch } = useDnsHoleSummeryQuery();
|
||||
const { isInitialLoading, data } = useDnsHoleSummeryQuery();
|
||||
const { mutateAsync } = useDnsHoleControlMutation();
|
||||
const { t } = useTranslation('common');
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { useTranslation } from 'next-i18next';
|
||||
import { Card, Center, Container, Stack, Text } from '@mantine/core';
|
||||
import {
|
||||
IconAd,
|
||||
@@ -7,11 +6,13 @@ import {
|
||||
IconSearch,
|
||||
IconWorldWww,
|
||||
} from '@tabler/icons-react';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
import { useConfigContext } from '~/config/provider';
|
||||
import { api } from '~/utils/api';
|
||||
import { formatNumber } from '../../tools/client/math';
|
||||
import { defineWidget } from '../helper';
|
||||
import { WidgetLoading } from '../loading';
|
||||
import { IWidget } from '../widgets';
|
||||
import { formatNumber } from '../../tools/client/math';
|
||||
import { useDnsHoleSummeryQuery } from './query';
|
||||
|
||||
const definition = defineWidget({
|
||||
id: 'dns-hole-summary',
|
||||
@@ -179,4 +180,17 @@ function DnsHoleSummaryWidgetTile({ widget }: DnsHoleSummaryWidgetProps) {
|
||||
);
|
||||
}
|
||||
|
||||
export const useDnsHoleSummeryQuery = () => {
|
||||
const { name: configName } = useConfigContext();
|
||||
|
||||
return api.dnsHole.summary.useQuery(
|
||||
{
|
||||
configName: configName!,
|
||||
},
|
||||
{
|
||||
refetchInterval: 3 * 60 * 1000,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default definition;
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { AdStatistics } from './type';
|
||||
|
||||
export const useDnsHoleSummeryQuery = () =>
|
||||
useQuery({
|
||||
queryKey: ['dns-hole-summary'],
|
||||
queryFn: async () => {
|
||||
const response = await fetch('/api/modules/dns-hole/summary');
|
||||
return (await response.json()) as AdStatistics;
|
||||
},
|
||||
refetchInterval: 3 * 60 * 1000,
|
||||
});
|
||||
Reference in New Issue
Block a user