diff --git a/apps/client/src/common/hooks-query/useCustomTranslation.ts b/apps/client/src/common/hooks-query/useCustomTranslation.ts index 51a70b1e3..87b65588f 100644 --- a/apps/client/src/common/hooks-query/useCustomTranslation.ts +++ b/apps/client/src/common/hooks-query/useCustomTranslation.ts @@ -1,16 +1,16 @@ import { useQuery } from '@tanstack/react-query'; import { langEn } from 'ontime-types'; +import { MILLIS_PER_HOUR } from 'ontime-utils'; import { getUserTranslation } from '../../common/api/assets'; import { TRANSLATION } from '../../common/api/constants'; -import { queryRefetchIntervalSlow } from '../../ontimeConfig'; export function useCustomTranslation() { const { data, status, refetch } = useQuery({ queryKey: TRANSLATION, queryFn: ({ signal }) => getUserTranslation({ signal }), placeholderData: (previousData, _previousQuery) => previousData, - refetchInterval: queryRefetchIntervalSlow, + staleTime: MILLIS_PER_HOUR, }); return { data: data ?? langEn, status, refetch }; } diff --git a/apps/server/src/api-data/assets/assets.router.ts b/apps/server/src/api-data/assets/assets.router.ts index 22e54b22a..175fd0b3d 100644 --- a/apps/server/src/api-data/assets/assets.router.ts +++ b/apps/server/src/api-data/assets/assets.router.ts @@ -1,5 +1,5 @@ import express from 'express'; -import type { Request, Response } from 'express'; +import type { Request, Response, Router } from 'express'; import { type ErrorResponse, RefetchKey } from 'ontime-types'; import { getErrorMessage } from 'ontime-utils'; @@ -8,7 +8,7 @@ import { defaultCss } from '../../bundle/bundledCss.js'; import { readCssFile, writeCssFile, writeUserTranslation } from './assets.service.js'; import { validatePostCss, validatePostTranslation } from './assets.validation.js'; -export const router = express.Router(); +export const router: Router = express.Router(); router.get('/css', async (_req: Request, res: Response) => { try { @@ -24,7 +24,6 @@ router.post('/css', validatePostCss, async (req: Request, res: Response { + sendRefetch(RefetchKey.CssOverride); + }); } /** @@ -43,4 +47,7 @@ export async function writeUserTranslation(translations: TranslationObject) { const path = publicFiles.translationsFile; const translationsString = JSON.stringify(translations, null, 2); await writeFile(path, translationsString, { encoding: 'utf8' }); + setImmediate(() => { + sendRefetch(RefetchKey.Translation); + }); }