Files
automatisch/packages/web/src/hooks/useUsageData.ee.ts
2023-03-07 20:48:57 +00:00

31 lines
883 B
TypeScript

import { useQuery } from '@apollo/client';
import { DateTime } from 'luxon';
import { GET_USAGE_DATA } from 'graphql/queries/get-usage-data.ee';
type UseUsageDataReturn = {
name: string;
allowedTaskCount: number;
consumedTaskCount: number;
remainingTaskCount: number;
nextResetAt: DateTime;
loading: boolean;
};
export default function useUsageData(): UseUsageDataReturn {
const { data, loading } = useQuery(GET_USAGE_DATA);
const usageData = data?.getUsageData;
const nextResetAt = usageData?.nextResetAt;
const nextResetAtDateTimeObject = nextResetAt && DateTime.fromMillis(Number(nextResetAt));
return {
name: usageData?.name,
allowedTaskCount: usageData?.allowedTaskCount,
consumedTaskCount: usageData?.consumedTaskCount,
remainingTaskCount: usageData?.remainingTaskCount,
nextResetAt: nextResetAtDateTimeObject,
loading
};
}