added chapter view, fixes, added ratings, added chapter updates/deletions

This commit is contained in:
lnn0q 2025-06-01 00:37:26 +03:00
parent 029b7e9353
commit 4801cf3a13
34 changed files with 1345 additions and 191 deletions

View file

@ -3,15 +3,21 @@ import {
DefaultContext,
DocumentNode,
FetchResult,
InternalRefetchQueriesInclude,
MaybeMasked,
MutationFunctionOptions,
OperationVariables,
Unmasked,
useMutation
} from '@apollo/client';
import { toaster } from '../components/ui/toaster';
interface UseToastMutationProps {
interface UseToastMutationProps<T> {
mutation: DocumentNode;
refetchQueries?:
| InternalRefetchQueriesInclude
| ((result: FetchResult<Unmasked<NoInfer<T>>>) => InternalRefetchQueriesInclude)
| undefined;
successMsg?: string;
}
@ -23,13 +29,14 @@ interface UseToastMutationReturn<T> {
) => Promise<FetchResult<MaybeMasked<T>>>;
}
export function useToastMutation<T>(props: UseToastMutationProps): UseToastMutationReturn<T> {
export function useToastMutation<T>(props: UseToastMutationProps<T>): UseToastMutationReturn<T> {
const [update] = useMutation<T>(props.mutation, {
onCompleted: () => toaster.create({ description: props.successMsg, type: 'success' }),
onError: error => {
toaster.create({ description: `${error.message}`, type: 'error' });
console.error(error);
}
},
refetchQueries: props.refetchQueries
});
return { update };