Explorar o código

use use current page path

ryoji-s %!s(int64=2) %!d(string=hai) anos
pai
achega
cfbcaa16b4

+ 2 - 2
apps/app/src/client/services/use-on-template-button-clicked.ts

@@ -7,8 +7,8 @@ import { createPage, exist } from '~/client/services/page-operation';
 import { LabelType } from '~/interfaces/template';
 import { LabelType } from '~/interfaces/template';
 
 
 export const useOnTemplateButtonClicked = (
 export const useOnTemplateButtonClicked = (
-  currentPagePath?: string,
-  isLoading?: boolean,
+    currentPagePath?: string,
+    isLoading?: boolean,
 ): {
 ): {
   onClickHandler: (label: LabelType) => Promise<void>,
   onClickHandler: (label: LabelType) => Promise<void>,
   isPageCreating: boolean
   isPageCreating: boolean

+ 4 - 4
apps/app/src/components/Sidebar/PageCreateButton/PageCreateButton.tsx

@@ -7,7 +7,7 @@ import { useOnTemplateButtonClicked } from '~/client/services/use-on-template-bu
 import { toastError } from '~/client/util/toastr';
 import { toastError } from '~/client/util/toastr';
 import { LabelType } from '~/interfaces/template';
 import { LabelType } from '~/interfaces/template';
 import { useCurrentUser } from '~/stores/context';
 import { useCurrentUser } from '~/stores/context';
-import { useSWRxCurrentPage } from '~/stores/page';
+import { useCurrentPagePath } from '~/stores/page';
 
 
 import { CreateButton } from './CreateButton';
 import { CreateButton } from './CreateButton';
 import { DropendMenu } from './DropendMenu';
 import { DropendMenu } from './DropendMenu';
@@ -15,7 +15,7 @@ import { DropendToggle } from './DropendToggle';
 import { useOnNewButtonClicked, useOnTodaysButtonClicked } from './hooks';
 import { useOnNewButtonClicked, useOnTodaysButtonClicked } from './hooks';
 
 
 export const PageCreateButton = React.memo((): JSX.Element => {
 export const PageCreateButton = React.memo((): JSX.Element => {
-  const { data: currentPage, isLoading } = useSWRxCurrentPage();
+  const { data: currentPagePath, isLoading } = useCurrentPagePath();
   const { data: currentUser } = useCurrentUser();
   const { data: currentUser } = useCurrentUser();
 
 
   const [isHovered, setIsHovered] = useState(false);
   const [isHovered, setIsHovered] = useState(false);
@@ -24,9 +24,9 @@ export const PageCreateButton = React.memo((): JSX.Element => {
   const userHomepagePath = pagePathUtils.userHomepagePath(currentUser);
   const userHomepagePath = pagePathUtils.userHomepagePath(currentUser);
   const todaysPath = `${userHomepagePath}/memo/${now}`;
   const todaysPath = `${userHomepagePath}/memo/${now}`;
 
 
-  const { onClickHandler: onClickNewButton, isPageCreating: isNewPageCreating } = useOnNewButtonClicked(currentPage, isLoading);
+  const { onClickHandler: onClickNewButton, isPageCreating: isNewPageCreating } = useOnNewButtonClicked(currentPagePath, isLoading);
   const { onClickHandler: onClickTodaysButton, isPageCreating: isTodaysPageCreating } = useOnTodaysButtonClicked(todaysPath, currentUser);
   const { onClickHandler: onClickTodaysButton, isPageCreating: isTodaysPageCreating } = useOnTodaysButtonClicked(todaysPath, currentUser);
-  const { onClickHandler: onClickTemplateButton, isPageCreating: isTemplatePageCreating } = useOnTemplateButtonClicked(currentPage?.path, isLoading);
+  const { onClickHandler: onClickTemplateButton, isPageCreating: isTemplatePageCreating } = useOnTemplateButtonClicked(currentPagePath, isLoading);
 
 
   const onClickTemplateButtonHandler = useCallback(async(label: LabelType) => {
   const onClickTemplateButtonHandler = useCallback(async(label: LabelType) => {
     try {
     try {

+ 6 - 6
apps/app/src/components/Sidebar/PageCreateButton/hooks.tsx

@@ -1,14 +1,14 @@
 import { useCallback, useState } from 'react';
 import { useCallback, useState } from 'react';
 
 
-import type { Nullable, IPagePopulatedToShowRevision, IUserHasId } from '@growi/core';
+import type { Nullable, IUserHasId } from '@growi/core';
 import { useRouter } from 'next/router';
 import { useRouter } from 'next/router';
 
 
 import { createPage, exist } from '~/client/services/page-operation';
 import { createPage, exist } from '~/client/services/page-operation';
 import { toastError } from '~/client/util/toastr';
 import { toastError } from '~/client/util/toastr';
 
 
 export const useOnNewButtonClicked = (
 export const useOnNewButtonClicked = (
-  currentPage?: IPagePopulatedToShowRevision | null,
-  isLoading?: boolean,
+    currentPagePath?: string,
+    isLoading?: boolean,
 ): {
 ): {
   onClickHandler: () => Promise<void>,
   onClickHandler: () => Promise<void>,
   isPageCreating: boolean
   isPageCreating: boolean
@@ -22,9 +22,9 @@ export const useOnNewButtonClicked = (
     try {
     try {
       setIsPageCreating(true);
       setIsPageCreating(true);
 
 
-      const parentPath = currentPage == null
+      const parentPath = currentPagePath == null
         ? '/'
         ? '/'
-        : currentPage.path;
+        : currentPagePath;
 
 
       const params = {
       const params = {
         isSlackEnabled: false,
         isSlackEnabled: false,
@@ -45,7 +45,7 @@ export const useOnNewButtonClicked = (
     finally {
     finally {
       setIsPageCreating(false);
       setIsPageCreating(false);
     }
     }
-  }, [currentPage, isLoading, router]);
+  }, [currentPagePath, isLoading, router]);
 
 
   return { onClickHandler, isPageCreating };
   return { onClickHandler, isPageCreating };
 };
 };