Răsfoiți Sursa

Renamed & added current user context

Taichi Masuyama 4 ani în urmă
părinte
comite
3e1817616a

+ 9 - 4
packages/app/src/client/services/ContextExtractor.tsx

@@ -4,8 +4,8 @@ import { pagePathUtils } from '@growi/core';
 import {
   useCreatedAt, useDeleteUsername, useDeletedAt, useHasChildren, useHasDraftOnHackmd, useIsAbleToDeleteCompletely,
   useIsDeletable, useIsDeleted, useIsNotCreatable, useIsPageExist, useIsTrashPage, useIsUserPage, useLastUpdateUsername,
-  usePageId, usePageIdOnHackmd, usePageUser, usePath, useRevisionCreatedAt, useRevisionId, useRevisionIdHackmdSynced,
-  useShareLinkId, useShareLinksNumber, useTemplateTagData, useUpdatedAt, useCreator, useRevisionAuthor,
+  usePageId, usePageIdOnHackmd, usePageUser, useCurrentPagePath, useRevisionCreatedAt, useRevisionId, useRevisionIdHackmdSynced,
+  useShareLinkId, useShareLinksNumber, useTemplateTagData, useUpdatedAt, useCreator, useRevisionAuthor, useCurrentUser,
 } from '../../stores/context';
 
 const { isTrashPage: _isTrashPage } = pagePathUtils;
@@ -16,6 +16,11 @@ const ContextExtractor: FC = () => {
 
   const mainContent = document.querySelector('#content-main');
 
+  /*
+   * App Context from DOM
+   */
+  const currentUser = JSON.parse(document.getElementById('growi-current-user')?.textContent || jsonNull);
+
   /*
    * Page Context from DOM
    */
@@ -49,6 +54,7 @@ const ContextExtractor: FC = () => {
   /*
    * use static swr
    */
+  useCurrentUser(currentUser);
   useCreatedAt(createdAt);
   useDeleteUsername(deleteUsername);
   useDeletedAt(deletedAt);
@@ -65,7 +71,7 @@ const ContextExtractor: FC = () => {
   usePageId(pageId);
   usePageIdOnHackmd(pageIdOnHackmd);
   usePageUser(pageUser);
-  usePath(path);
+  useCurrentPagePath(path);
   useRevisionCreatedAt(revisionCreatedAt);
   useRevisionId(revisionId);
   useRevisionIdHackmdSynced(revisionIdHackmdSynced);
@@ -78,7 +84,6 @@ const ContextExtractor: FC = () => {
 
   return (
     <div>
-      なに
       {/* Render nothing */}
     </div>
   );

+ 6 - 2
packages/app/src/stores/context.tsx

@@ -3,12 +3,16 @@ import { useStaticSWR } from './use-static-swr';
 
 type Nullable<T> = T | null;
 
+export const useCurrentUser = (initialData?: any): SWRResponse<Nullable<any>, any> => {
+  return useStaticSWR<Nullable<any>, Error>('currentUser', initialData);
+};
+
 export const useRevisionId = (initialData?: Nullable<any>): SWRResponse<Nullable<any>, Error> => {
   return useStaticSWR<Nullable<any>, Error>('revisionId', initialData || null);
 };
 
-export const usePath = (initialData?: Nullable<string>): SWRResponse<Nullable<any>, Error> => {
-  return useStaticSWR<Nullable<any>, Error>('path', initialData || null);
+export const useCurrentPagePath = (initialData?: Nullable<string>): SWRResponse<Nullable<any>, Error> => {
+  return useStaticSWR<Nullable<any>, Error>('currentPagePath', initialData || null);
 };
 
 export const usePageId = (initialData?: Nullable<string>): SWRResponse<Nullable<any>, Error> => {