mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-23 01:49:13 +01:00
Refactor hooks to be easier to use
This commit is contained in:
24
src-web/hooks/useRequests.ts
Normal file
24
src-web/hooks/useRequests.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { invoke } from '@tauri-apps/api';
|
||||
import type { HttpRequest } from '../lib/models';
|
||||
import { convertDates } from '../lib/models';
|
||||
import { useActiveWorkspace } from './useActiveWorkspace';
|
||||
|
||||
export function requestsQueryKey(workspaceId: string) {
|
||||
return ['requests', { workspaceId }];
|
||||
}
|
||||
|
||||
export function useRequests() {
|
||||
const workspace = useActiveWorkspace();
|
||||
return (
|
||||
useQuery({
|
||||
enabled: workspace != null,
|
||||
queryKey: requestsQueryKey(workspace?.id ?? 'n/a'),
|
||||
queryFn: async () => {
|
||||
if (workspace == null) return [];
|
||||
const requests = (await invoke('requests', { workspaceId: workspace.id })) as HttpRequest[];
|
||||
return requests.map(convertDates);
|
||||
},
|
||||
}).data ?? []
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user