Sfoglia il codice sorgente

add siteUrlWithEmptyValueWarn

Yuki Takei 7 mesi fa
parent
commit
31a9ee907a

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

@@ -12,6 +12,7 @@ export type CommonInitialProps = {
   isNextjsRoutingTypeInitial: true,
   isNextjsRoutingTypeInitial: true,
   appTitle: string,
   appTitle: string,
   siteUrl: string | undefined,
   siteUrl: string | undefined,
+  siteUrlWithEmptyValueWarn: string,
   confidential: string,
   confidential: string,
   growiVersion: string,
   growiVersion: string,
   isDefaultLogo: boolean,
   isDefaultLogo: boolean,
@@ -25,7 +26,7 @@ export const getServerSideCommonInitialProps: GetServerSideProps<CommonInitialPr
   const req = context.req as CrowiRequest;
   const req = context.req as CrowiRequest;
   const { crowi } = req;
   const { crowi } = req;
   const {
   const {
-    appService, configManager, attachmentService, customizeService,
+    appService, configManager, attachmentService, customizeService, growiInfoService,
   } = crowi;
   } = crowi;
 
 
   const isCustomizedLogoUploaded = await attachmentService.isBrandLogoExist();
   const isCustomizedLogoUploaded = await attachmentService.isBrandLogoExist();
@@ -36,7 +37,8 @@ export const getServerSideCommonInitialProps: GetServerSideProps<CommonInitialPr
     props: {
     props: {
       isNextjsRoutingTypeInitial: true,
       isNextjsRoutingTypeInitial: true,
       appTitle: appService.getAppTitle(),
       appTitle: appService.getAppTitle(),
-      siteUrl: configManager.getConfig('app:siteUrl'), // DON'T USE growiInfoService.getSiteUrl()
+      siteUrl: configManager.getConfig('app:siteUrl'),
+      siteUrlWithEmptyValueWarn: growiInfoService.getSiteUrl(),
       confidential: appService.getAppConfidential() || '',
       confidential: appService.getAppConfidential() || '',
       growiVersion: getGrowiVersion(),
       growiVersion: getGrowiVersion(),
       isDefaultLogo,
       isDefaultLogo,

+ 42 - 1
apps/app/src/states/global/global.ts

@@ -1,6 +1,6 @@
 import type { ColorScheme, IUserHasId } from '@growi/core';
 import type { ColorScheme, IUserHasId } from '@growi/core';
 import { atom, useAtom } from 'jotai';
 import { atom, useAtom } from 'jotai';
-
+import type { SupportedActionType } from '~/interfaces/activity';
 import type { UseAtom } from '../helper';
 import type { UseAtom } from '../helper';
 
 
 // CSRF Token atom (no persistence needed as it's server-provided)
 // CSRF Token atom (no persistence needed as it's server-provided)
@@ -41,6 +41,14 @@ export const useSiteUrl = (): UseAtom<typeof siteUrlAtom> => {
   return useAtom(siteUrlAtom);
   return useAtom(siteUrlAtom);
 };
 };
 
 
+// Site URL atom (no persistence needed as it's server-provided)
+export const siteUrlWithEmptyValueWarnAtom = atom<string>();
+export const useSiteUrlWithEmptyValueWarn = (): UseAtom<
+  typeof siteUrlWithEmptyValueWarnAtom
+> => {
+  return useAtom(siteUrlWithEmptyValueWarnAtom);
+};
+
 // Confidential atom (no persistence needed as it's server-provided)
 // Confidential atom (no persistence needed as it's server-provided)
 export const confidentialAtom = atom<string>('');
 export const confidentialAtom = atom<string>('');
 export const useConfidential = (): UseAtom<typeof confidentialAtom> => {
 export const useConfidential = (): UseAtom<typeof confidentialAtom> => {
@@ -67,6 +75,20 @@ export const useIsDefaultLogo = (): UseAtom<typeof isDefaultLogoAtom> => {
   return useAtom(isDefaultLogoAtom);
   return useAtom(isDefaultLogoAtom);
 };
 };
 
 
+// Customize Title (admin customize setting)
+export const customizeTitleAtom = atom<string | undefined>(undefined);
+export const useCustomizeTitle = (): UseAtom<typeof customizeTitleAtom> => {
+  return useAtom(customizeTitleAtom);
+};
+
+// Is Customized Logo Uploaded
+export const isCustomizedLogoUploadedAtom = atom<boolean>(false);
+export const useIsCustomizedLogoUploaded = (): UseAtom<
+  typeof isCustomizedLogoUploadedAtom
+> => {
+  return useAtom(isCustomizedLogoUploadedAtom);
+};
+
 // GROWI Cloud URI atom (no persistence needed as it's server-provided)
 // GROWI Cloud URI atom (no persistence needed as it's server-provided)
 export const growiCloudUriAtom = atom<string | undefined>(undefined);
 export const growiCloudUriAtom = atom<string | undefined>(undefined);
 export const useGrowiCloudUri = (): UseAtom<typeof growiCloudUriAtom> => {
 export const useGrowiCloudUri = (): UseAtom<typeof growiCloudUriAtom> => {
@@ -88,3 +110,22 @@ export const useForcedColorScheme = (): UseAtom<
 > => {
 > => {
   return useAtom(forcedColorSchemeAtom);
   return useAtom(forcedColorSchemeAtom);
 };
 };
+
+export const auditLogEnabledAtom = atom<boolean>(false);
+export const useAuditLogEnabled = (): UseAtom<typeof auditLogEnabledAtom> => {
+  return useAtom(auditLogEnabledAtom);
+};
+
+export const activityExpirationSecondsAtom = atom<number>(0);
+export const useActivityExpirationSeconds = (): UseAtom<
+  typeof activityExpirationSecondsAtom
+> => {
+  return useAtom(activityExpirationSecondsAtom);
+};
+
+export const auditLogAvailableActionsAtom = atom<SupportedActionType[]>([]);
+export const useAuditLogAvailableActions = (): UseAtom<
+  typeof auditLogAvailableActionsAtom
+> => {
+  return useAtom(auditLogAvailableActionsAtom);
+};

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

@@ -10,6 +10,7 @@ import {
   growiVersionAtom,
   growiVersionAtom,
   isDefaultLogoAtom,
   isDefaultLogoAtom,
   siteUrlAtom,
   siteUrlAtom,
+  siteUrlWithEmptyValueWarnAtom,
 } from './global';
 } from './global';
 
 
 /**
 /**
@@ -25,6 +26,10 @@ export const useHydrateGlobalInitialAtoms = (
   useHydrateAtoms([
   useHydrateAtoms([
     [appTitleAtom, commonInitialProps.appTitle],
     [appTitleAtom, commonInitialProps.appTitle],
     [siteUrlAtom, commonInitialProps.siteUrl],
     [siteUrlAtom, commonInitialProps.siteUrl],
+    [
+      siteUrlWithEmptyValueWarnAtom,
+      commonInitialProps.siteUrlWithEmptyValueWarn,
+    ],
     [confidentialAtom, commonInitialProps.confidential],
     [confidentialAtom, commonInitialProps.confidential],
     [growiVersionAtom, commonInitialProps.growiVersion],
     [growiVersionAtom, commonInitialProps.growiVersion],
     [isDefaultLogoAtom, commonInitialProps.isDefaultLogo],
     [isDefaultLogoAtom, commonInitialProps.isDefaultLogo],