feat: dashboard v2, esm, upgrades (#211)

* esm

* wip

* wip

* wip

* wip

* wip

* wip

* subscription notice

* wip

* wip

* wip

* fix envs

* fix: update docker build

* fix

* esm/types

* delete dashboard :D

* add patches to dockerfiles

* update packages + catalogs + ts

* wip

* remove native libs

* ts

* improvements

* fix redirects and fetching session

* try fix favicon

* fixes

* fix

* order and resize reportds within a dashboard

* improvements

* wip

* added userjot to dashboard

* fix

* add op

* wip

* different cache key

* improve date picker

* fix table

* event details loading

* redo onboarding completely

* fix login

* fix

* fix

* extend session, billing and improve bars

* fix

* reduce price on 10M
This commit is contained in:
Carl-Gerhard Lindesvärd
2025-10-16 12:27:44 +02:00
committed by GitHub
parent 436e81ecc9
commit 81a7e5d62e
741 changed files with 32695 additions and 16996 deletions

View File

@@ -0,0 +1,35 @@
import { useTRPC } from '@/integrations/trpc/react';
import { useMutation, useQuery } from '@tanstack/react-query';
import { useRouteContext, useRouter } from '@tanstack/react-router';
import { useEffect, useRef } from 'react';
export function useSessionExtension() {
const trpc = useTRPC();
const context = useRouteContext({
strict: false,
});
const extendMutation = useMutation(trpc.auth.extendSession.mutationOptions());
const intervalRef = useRef<NodeJS.Timeout>(null);
const session = context.session?.session;
useEffect(() => {
if (!session) return;
const extendSessionFn = () => extendMutation.mutate();
intervalRef.current = setInterval(
() => {
extendMutation.mutate();
},
1000 * 60 * 5,
);
extendSessionFn();
return () => {
if (intervalRef.current) {
clearInterval(intervalRef.current);
}
};
}, [session]);
}