1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Invalidate queries on update

This commit is contained in:
viown 2025-02-21 00:31:56 +03:00
parent e80cbdc094
commit e4ccacac83
2 changed files with 9 additions and 2 deletions

View file

@ -2,7 +2,7 @@ import React from 'react';
import globalize from 'lib/globalize';
import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom';
import { useConfiguration } from 'hooks/useConfiguration';
import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration';
import Page from 'components/Page';
import Box from '@mui/material/Box';
import Stack from '@mui/material/Stack';
@ -21,6 +21,7 @@ import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-a
import { TrickplayScanBehavior } from '@jellyfin/sdk/lib/generated-client/models/trickplay-scan-behavior';
import { ProcessPriorityClass } from '@jellyfin/sdk/lib/generated-client/models/process-priority-class';
import { ActionData } from 'types/actionData';
import { queryClient } from 'utils/query/queryClient';
export const action = async ({ request }: ActionFunctionArgs) => {
const api = ServerConnections.getCurrentApi();
@ -50,6 +51,10 @@ export const action = async ({ request }: ActionFunctionArgs) => {
await getConfigurationApi(api)
.updateConfiguration({ serverConfiguration: config });
void queryClient.invalidateQueries({
queryKey: [ QUERY_KEY ]
});
return {
isSaved: true
};

View file

@ -4,6 +4,8 @@ import { useQuery } from '@tanstack/react-query';
import { useApi } from 'hooks/useApi';
import type { AxiosRequestConfig } from 'axios';
export const QUERY_KEY = 'Configuration';
export const fetchConfiguration = async (api?: Api, options?: AxiosRequestConfig) => {
if (!api) {
console.error('[useLogOptions] No API instance available');
@ -19,7 +21,7 @@ export const useConfiguration = () => {
const { api } = useApi();
return useQuery({
queryKey: ['Configuration'],
queryKey: [QUERY_KEY],
queryFn: ({ signal }) => fetchConfiguration(api, { signal }),
enabled: !!api
});