Просмотр исходного кода

transplant useGrowiAppIdForGrowiCloud

Yuki Takei 7 месяцев назад
Родитель
Сommit
3d0a66dd2f

+ 2 - 0
apps/app/src/pages/common-props/commons.ts

@@ -17,6 +17,7 @@ export type CommonInitialProps = {
   isDefaultLogo: boolean,
   customTitleTemplate: string,
   growiCloudUri: string | undefined,
+  growiAppIdForGrowiCloud: number | undefined,
   forcedColorScheme?: ColorScheme,
 };
 
@@ -41,6 +42,7 @@ export const getServerSideCommonInitialProps: GetServerSideProps<CommonInitialPr
       isDefaultLogo,
       customTitleTemplate: customizeService.customTitleTemplate,
       growiCloudUri: configManager.getConfig('app:growiCloudUri'),
+      growiAppIdForGrowiCloud: configManager.getConfig('app:growiAppIdForCloud'),
       forcedColorScheme,
     },
   };

+ 17 - 3
apps/app/src/states/global/global.ts

@@ -29,7 +29,9 @@ export const useAppTitle = (): UseAtom<typeof appTitleAtom> => {
 
 // Custom Title Template atom (no persistence needed as it's server-provided)
 export const customTitleTemplateAtom = atom<string>('');
-export const useCustomTitleTemplate = (): UseAtom<typeof customTitleTemplateAtom> => {
+export const useCustomTitleTemplate = (): UseAtom<
+  typeof customTitleTemplateAtom
+> => {
   return useAtom(customTitleTemplateAtom);
 };
 
@@ -53,7 +55,9 @@ export const useGrowiVersion = (): UseAtom<typeof growiVersionAtom> => {
 
 // Maintenance Mode atom (no persistence needed as it's server-provided)
 export const isMaintenanceModeAtom = atom<boolean>(false);
-export const useIsMaintenanceMode = (): UseAtom<typeof isMaintenanceModeAtom> => {
+export const useIsMaintenanceMode = (): UseAtom<
+  typeof isMaintenanceModeAtom
+> => {
   return useAtom(isMaintenanceModeAtom);
 };
 
@@ -69,8 +73,18 @@ export const useGrowiCloudUri = (): UseAtom<typeof growiCloudUriAtom> => {
   return useAtom(growiCloudUriAtom);
 };
 
+// GROWI Cloud App ID atom (no persistence needed as it's server-provided)
+export const growiAppIdForGrowiCloudAtom = atom<number | undefined>(undefined);
+export const useGrowiAppIdForGrowiCloud = (): UseAtom<
+  typeof growiAppIdForGrowiCloudAtom
+> => {
+  return useAtom(growiAppIdForGrowiCloudAtom);
+};
+
 // Forced Color Scheme atom (no persistence needed as it's server-provided)
 export const forcedColorSchemeAtom = atom<ColorScheme | undefined>(undefined);
-export const useForcedColorScheme = (): UseAtom<typeof forcedColorSchemeAtom> => {
+export const useForcedColorScheme = (): UseAtom<
+  typeof forcedColorSchemeAtom
+> => {
   return useAtom(forcedColorSchemeAtom);
 };

+ 2 - 0
apps/app/src/states/global/hydrate.ts

@@ -5,6 +5,7 @@ import {
   confidentialAtom,
   customTitleTemplateAtom,
   forcedColorSchemeAtom,
+  growiAppIdForGrowiCloudAtom,
   growiCloudUriAtom,
   growiVersionAtom,
   isDefaultLogoAtom,
@@ -29,6 +30,7 @@ export const useHydrateGlobalInitialAtoms = (
     [isDefaultLogoAtom, commonInitialProps.isDefaultLogo],
     [customTitleTemplateAtom, commonInitialProps.customTitleTemplate],
     [growiCloudUriAtom, commonInitialProps.growiCloudUri],
+    [growiAppIdForGrowiCloudAtom, commonInitialProps.growiAppIdForGrowiCloud],
     [forcedColorSchemeAtom, commonInitialProps.forcedColorScheme],
   ]);
 };

+ 0 - 6
apps/app/src/stores-universal/context.tsx

@@ -58,12 +58,6 @@ export const useIsCustomizedLogoUploaded = (
   return useSWRStatic('isCustomizedLogoUploaded', initialData);
 };
 
-export const useGrowiAppIdForGrowiCloud = (
-  initialData?: number,
-): SWRResponse<number, Error> => {
-  return useContextSWR('growiAppIdForGrowiCloud', initialData);
-};
-
 export const useIsEnableUnifiedMergeView = (
   initialData?: boolean,
 ): SWRResponse<boolean, Error> => {