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:
parent
e80cbdc094
commit
e4ccacac83
2 changed files with 9 additions and 2 deletions
|
@ -2,7 +2,7 @@ import React from 'react';
|
||||||
|
|
||||||
import globalize from 'lib/globalize';
|
import globalize from 'lib/globalize';
|
||||||
import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom';
|
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 Page from 'components/Page';
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import Stack from '@mui/material/Stack';
|
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 { TrickplayScanBehavior } from '@jellyfin/sdk/lib/generated-client/models/trickplay-scan-behavior';
|
||||||
import { ProcessPriorityClass } from '@jellyfin/sdk/lib/generated-client/models/process-priority-class';
|
import { ProcessPriorityClass } from '@jellyfin/sdk/lib/generated-client/models/process-priority-class';
|
||||||
import { ActionData } from 'types/actionData';
|
import { ActionData } from 'types/actionData';
|
||||||
|
import { queryClient } from 'utils/query/queryClient';
|
||||||
|
|
||||||
export const action = async ({ request }: ActionFunctionArgs) => {
|
export const action = async ({ request }: ActionFunctionArgs) => {
|
||||||
const api = ServerConnections.getCurrentApi();
|
const api = ServerConnections.getCurrentApi();
|
||||||
|
@ -50,6 +51,10 @@ export const action = async ({ request }: ActionFunctionArgs) => {
|
||||||
await getConfigurationApi(api)
|
await getConfigurationApi(api)
|
||||||
.updateConfiguration({ serverConfiguration: config });
|
.updateConfiguration({ serverConfiguration: config });
|
||||||
|
|
||||||
|
void queryClient.invalidateQueries({
|
||||||
|
queryKey: [ QUERY_KEY ]
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isSaved: true
|
isSaved: true
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,8 @@ import { useQuery } from '@tanstack/react-query';
|
||||||
import { useApi } from 'hooks/useApi';
|
import { useApi } from 'hooks/useApi';
|
||||||
import type { AxiosRequestConfig } from 'axios';
|
import type { AxiosRequestConfig } from 'axios';
|
||||||
|
|
||||||
|
export const QUERY_KEY = 'Configuration';
|
||||||
|
|
||||||
export const fetchConfiguration = async (api?: Api, options?: AxiosRequestConfig) => {
|
export const fetchConfiguration = async (api?: Api, options?: AxiosRequestConfig) => {
|
||||||
if (!api) {
|
if (!api) {
|
||||||
console.error('[useLogOptions] No API instance available');
|
console.error('[useLogOptions] No API instance available');
|
||||||
|
@ -19,7 +21,7 @@ export const useConfiguration = () => {
|
||||||
const { api } = useApi();
|
const { api } = useApi();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ['Configuration'],
|
queryKey: [QUERY_KEY],
|
||||||
queryFn: ({ signal }) => fetchConfiguration(api, { signal }),
|
queryFn: ({ signal }) => fetchConfiguration(api, { signal }),
|
||||||
enabled: !!api
|
enabled: !!api
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue