Files
stats/apps/start/src/components/realtime/realtime-reloader.tsx
Carl-Gerhard Lindesvärd 790801b728 feat: revenue tracking
* wip

* wip

* wip

* wip

* show revenue better on overview

* align realtime and overview counters

* update revenue docs

* always return device id

* add project settings, improve projects charts,

* fix: comments

* fixes

* fix migration

* ignore sql files

* fix comments
2025-11-19 14:27:34 +01:00

42 lines
1005 B
TypeScript

import useWS from '@/hooks/use-ws';
import { useTRPC } from '@/integrations/trpc/react';
import { useQueryClient } from '@tanstack/react-query';
type Props = {
projectId: string;
};
const RealtimeReloader = ({ projectId }: Props) => {
const client = useQueryClient();
const trpc = useTRPC();
useWS<number>(
`/live/events/${projectId}`,
() => {
if (!document.hidden) {
client.refetchQueries(trpc.realtime.pathFilter());
client.refetchQueries(
trpc.overview.liveData.queryFilter({ projectId }),
);
client.refetchQueries(
trpc.realtime.activeSessions.queryFilter({ projectId }),
);
client.refetchQueries(
trpc.realtime.referrals.queryFilter({ projectId }),
);
client.refetchQueries(trpc.realtime.paths.queryFilter({ projectId }));
}
},
{
debounce: {
delay: 1000,
maxWait: 60000,
},
},
);
return null;
};
export default RealtimeReloader;