|
@@ -1,9 +1,11 @@
|
|
|
-import React, { useState } from 'react';
|
|
|
|
|
|
|
+import React, { useState, useCallback } from 'react';
|
|
|
|
|
|
|
|
import { pagePathUtils } from '@growi/core/dist/utils';
|
|
import { pagePathUtils } from '@growi/core/dist/utils';
|
|
|
import { format } from 'date-fns';
|
|
import { format } from 'date-fns';
|
|
|
|
|
|
|
|
-import { useOnTemplateButtonClicked } from '~/hooks/use-on-template-button-clicked';
|
|
|
|
|
|
|
+import { useOnTemplateButtonClicked } from '~/client/services/use-on-template-button-clicked';
|
|
|
|
|
+import { toastError } from '~/client/util/toastr';
|
|
|
|
|
+import { LabelType } from '~/interfaces/template';
|
|
|
import { useCurrentUser } from '~/stores/context';
|
|
import { useCurrentUser } from '~/stores/context';
|
|
|
import { useSWRxCurrentPage } from '~/stores/page';
|
|
import { useSWRxCurrentPage } from '~/stores/page';
|
|
|
|
|
|
|
@@ -26,6 +28,15 @@ export const PageCreateButton = React.memo((): JSX.Element => {
|
|
|
const { onClickHandler: onClickTodaysButton, isPageCreating: isTodaysPageCreating } = useOnTodaysButtonClicked(todaysPath, currentUser);
|
|
const { onClickHandler: onClickTodaysButton, isPageCreating: isTodaysPageCreating } = useOnTodaysButtonClicked(todaysPath, currentUser);
|
|
|
const { onClickHandler: onClickTemplateButton, isPageCreating: isTemplatePageCreating } = useOnTemplateButtonClicked(currentPage?.path);
|
|
const { onClickHandler: onClickTemplateButton, isPageCreating: isTemplatePageCreating } = useOnTemplateButtonClicked(currentPage?.path);
|
|
|
|
|
|
|
|
|
|
+ const onClickTemplateButtonHandler = useCallback(async(label: LabelType) => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await onClickTemplateButton(label);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (err) {
|
|
|
|
|
+ toastError(err);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, [onClickTemplateButton]);
|
|
|
|
|
+
|
|
|
const onMouseEnterHandler = () => {
|
|
const onMouseEnterHandler = () => {
|
|
|
setIsHovered(true);
|
|
setIsHovered(true);
|
|
|
};
|
|
};
|
|
@@ -58,7 +69,7 @@ export const PageCreateButton = React.memo((): JSX.Element => {
|
|
|
todaysPath={todaysPath}
|
|
todaysPath={todaysPath}
|
|
|
onClickCreateNewPageButtonHandler={onClickNewButton}
|
|
onClickCreateNewPageButtonHandler={onClickNewButton}
|
|
|
onClickCreateTodaysButtonHandler={onClickTodaysButton}
|
|
onClickCreateTodaysButtonHandler={onClickTodaysButton}
|
|
|
- onClickTemplateButtonHandler={onClickTemplateButton}
|
|
|
|
|
|
|
+ onClickTemplateButtonHandler={onClickTemplateButtonHandler}
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
)}
|
|
)}
|