Changes for commercial use (#138)

This commit is contained in:
Gregory Schier
2024-12-03 09:28:27 -08:00
committed by GitHub
parent 2b076c90e4
commit 88bcfb9e66
49 changed files with 1072 additions and 96 deletions
+33
View File
@@ -0,0 +1,33 @@
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { invoke } from '@tauri-apps/api/core';
import { useListenToTauriEvent } from '@yaakapp/app/hooks/useListenToTauriEvent';
import { LicenseCheckStatus } from './bindings/license';
export * from './bindings/license';
export function useLicense() {
const queryClient = useQueryClient();
const activate = useMutation<void, string, { licenseKey: string }>({
mutationKey: ['license.activate'],
mutationFn: (payload) => invoke('plugin:yaak-license|activate', payload),
onSuccess: async () => {
await queryClient.invalidateQueries({ queryKey: CHECK_QUERY_KEY });
},
});
// Check the license again after a license is activated
useListenToTauriEvent('license-activated', async () => {
await queryClient.invalidateQueries({ queryKey: CHECK_QUERY_KEY });
});
const CHECK_QUERY_KEY = ['license.check'];
const check = useQuery<void, string, LicenseCheckStatus>({
queryKey: CHECK_QUERY_KEY,
queryFn: () => invoke('plugin:yaak-license|check'),
});
return {
activate,
check,
} as const;
}