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

Modified two files based off FB

Shunm634-source 3 лет назад
Родитель
Сommit
dcc39f7277
2 измененных файлов с 41 добавлено и 47 удалено
  1. 6 8
      packages/app/src/components/UnstatedUtils.tsx
  2. 35 39
      packages/app/src/pages/login.page.tsx

+ 6 - 8
packages/app/src/components/UnstatedUtils.tsx

@@ -47,14 +47,12 @@ function generateAutoNamedProps(instances) {
 export function withUnstatedContainers<T, P>(Component, containerClasses): React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<T>> {
   const unstatedContainer = React.forwardRef<T, P>((props, ref) => (
     // wrap with <Subscribe></Subscribe>
-    <Provider>
-      <Subscribe to={containerClasses}>
-        { (...containers) => {
-          const propsForContainers = generateAutoNamedProps(containers);
-          return <Component {...props} {...propsForContainers} ref={ref} />;
-        }}
-      </Subscribe>
-    </Provider>
+    <Subscribe to={containerClasses}>
+      { (...containers) => {
+        const propsForContainers = generateAutoNamedProps(containers);
+        return <Component {...props} {...propsForContainers} ref={ref} />;
+      }}
+    </Subscribe>
   ));
   unstatedContainer.displayName = 'unstatedContainer';
   return unstatedContainer;

+ 35 - 39
packages/app/src/pages/login.page.tsx

@@ -11,8 +11,8 @@ import { RawLayout } from '~/components/Layout/RawLayout';
 import { CrowiRequest } from '~/interfaces/crowi-request';
 
 import {
-  useCurrentPagePath, useCsrfToken,
-  useAppTitle, useSiteUrl, useConfidential,
+  useCsrfToken,
+  useCurrentPathname,
 } from '../stores/context';
 
 
@@ -20,39 +20,6 @@ import {
   CommonProps, getServerSideCommonProps, useCustomTitle,
 } from './commons';
 
-
-function injectEnabledStrategies(context: GetServerSidePropsContext, props: Props): void {
-  const req: CrowiRequest = context.req as CrowiRequest;
-  const { crowi } = req;
-  const {
-    configManager,
-  } = crowi;
-
-  const enabledStrategies = {
-    google: configManager.getConfig('crowi', 'security:passport-google:isEnabled'),
-    github: configManager.getConfig('crowi', 'security:passport-github:isEnabled'),
-    facebook: false,
-    twitter: configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
-    smal: configManager.getConfig('crowi', 'security:passport-saml:isEnabled'),
-    oidc: configManager.getConfig('crowi', 'security:passport-oidc:isEnabled'),
-    basic: configManager.getConfig('crowi', 'security:passport-basic:isEnabled'),
-  };
-
-  props.enabledStrategies = enabledStrategies;
-}
-
-async function injectServerConfigurations(context: GetServerSidePropsContext, props: Props): Promise<void> {
-  const req: CrowiRequest = context.req as CrowiRequest;
-  const { crowi } = req;
-  const {
-    mailService,
-    configManager,
-  } = crowi;
-
-  props.isMailerSetup = mailService.isMailerSetup;
-  props.registrationWhiteList = configManager.getConfig('crowi', 'security:registrationWhiteList');
-}
-
 type Props = CommonProps & {
 
   pageWithMetaStr: string,
@@ -64,13 +31,10 @@ type Props = CommonProps & {
 const LoginPage: NextPage<Props> = (props: Props) => {
 
   // commons
-  useAppTitle(props.appTitle);
-  useSiteUrl(props.siteUrl);
-  useConfidential(props.confidential);
   useCsrfToken(props.csrfToken);
 
   // page
-  useCurrentPagePath(props.currentPathname);
+  useCurrentPathname(props.currentPathname);
 
   const classNames: string[] = [];
 
@@ -94,6 +58,38 @@ const LoginPage: NextPage<Props> = (props: Props) => {
   );
 };
 
+function injectEnabledStrategies(context: GetServerSidePropsContext, props: Props): void {
+  const req: CrowiRequest = context.req as CrowiRequest;
+  const { crowi } = req;
+  const {
+    configManager,
+  } = crowi;
+
+  const enabledStrategies = {
+    google: configManager.getConfig('crowi', 'security:passport-google:isEnabled'),
+    github: configManager.getConfig('crowi', 'security:passport-github:isEnabled'),
+    facebook: false,
+    twitter: configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
+    smal: configManager.getConfig('crowi', 'security:passport-saml:isEnabled'),
+    oidc: configManager.getConfig('crowi', 'security:passport-oidc:isEnabled'),
+    basic: configManager.getConfig('crowi', 'security:passport-basic:isEnabled'),
+  };
+
+  props.enabledStrategies = enabledStrategies;
+}
+
+async function injectServerConfigurations(context: GetServerSidePropsContext, props: Props): Promise<void> {
+  const req: CrowiRequest = context.req as CrowiRequest;
+  const { crowi } = req;
+  const {
+    mailService,
+    configManager,
+  } = crowi;
+
+  props.isMailerSetup = mailService.isMailerSetup;
+  props.registrationWhiteList = configManager.getConfig('crowi', 'security:registrationWhiteList');
+}
+
 export const getServerSideProps: GetServerSideProps = async(context: GetServerSidePropsContext) => {
   const result = await getServerSideCommonProps(context);