Yuki Takei 7 месяцев назад
Родитель
Сommit
9513615315

+ 2 - 2
apps/app/src/client/components/Hotkeys/Subscribers/ShowShortcutsModal.tsx

@@ -1,13 +1,13 @@
 import React, { useEffect, type JSX } from 'react';
 
-import { useShortcutsModal, useShortcutsModalActions } from '~/states/ui/modal/shortcuts';
+import { useShortcutsModalStatus, useShortcutsModalActions } from '~/states/ui/modal/shortcuts';
 
 type Props = {
   onDeleteRender: () => void,
 }
 const ShowShortcutsModal = (props: Props): JSX.Element => {
 
-  const status = useShortcutsModal();
+  const status = useShortcutsModalStatus();
   const { open } = useShortcutsModalActions();
 
   const { onDeleteRender } = props;

+ 2 - 2
apps/app/src/client/components/PageAccessoriesModal/PageAccessoriesModal.tsx

@@ -9,7 +9,7 @@ import {
 
 import { useIsGuestUser, useIsReadOnlyUser, useIsSharedUser } from '~/states/context';
 import { disableLinkSharingAtom } from '~/states/server-configurations';
-import { usePageAccessoriesModal, usePageAccessoriesModalActions, PageAccessoriesModalContents } from '~/states/ui/modal/page-accessories';
+import { usePageAccessoriesModalStatus, usePageAccessoriesModalActions, PageAccessoriesModalContents } from '~/states/ui/modal/page-accessories';
 import { useIsDeviceLargerThanLg } from '~/stores/ui';
 
 import { CustomNavDropdown, CustomNavTab } from '../CustomNavigation/CustomNav';
@@ -38,7 +38,7 @@ export const PageAccessoriesModal = (): JSX.Element => {
   const isLinkSharingDisabled = useAtomValue(disableLinkSharingAtom);
   const { data: isDeviceLargerThanLg } = useIsDeviceLargerThanLg();
 
-  const status = usePageAccessoriesModal();
+  const status = usePageAccessoriesModalStatus();
   const { close, selectContents } = usePageAccessoriesModalActions();
 
   useAutoOpenModalByQueryParam();

+ 2 - 2
apps/app/src/client/components/PageAccessoriesModal/hooks.tsx

@@ -1,6 +1,6 @@
 import { useEffect, useState } from 'react';
 
-import { usePageAccessoriesModal, usePageAccessoriesModalActions, PageAccessoriesModalContents } from '~/states/ui/modal/page-accessories';
+import { usePageAccessoriesModalStatus, usePageAccessoriesModalActions, PageAccessoriesModalContents } from '~/states/ui/modal/page-accessories';
 
 function getURLQueryParamValue(key: string) {
 // window.location.href is page URL;
@@ -15,7 +15,7 @@ const queryCompareFormat = /^([0-9a-f]{24})...([0-9a-f]{24})$/i;
 export const useAutoOpenModalByQueryParam = (): void => {
   const [isArleadyMounted, setIsArleadyMounted] = useState(false);
 
-  const status = usePageAccessoriesModal();
+  const status = usePageAccessoriesModalStatus();
   const { open: openPageAccessories } = usePageAccessoriesModalActions();
 
   useEffect(() => {

+ 2 - 5
apps/app/src/client/components/PageCreateModal.tsx

@@ -21,7 +21,7 @@ import { useCreatePage } from '~/client/services/create-page/use-create-page';
 import { useToastrOnError } from '~/client/services/use-toastr-on-error';
 import { useCurrentUser } from '~/states/global';
 import { isSearchServiceReachableAtom } from '~/states/server-configurations';
-import { usePageCreateModal, usePageCreateModalActions } from '~/states/ui/modal/page-create';
+import { usePageCreateModalStatus, usePageCreateModalActions } from '~/states/ui/modal/page-create';
 
 import PagePathAutoComplete from './PagePathAutoComplete';
 
@@ -36,16 +36,13 @@ const PageCreateModal: React.FC = () => {
 
   const currentUser = useCurrentUser();
 
-  const pageCreateModalData = usePageCreateModal();
+  const { isOpened, path: pathname = '' } = usePageCreateModalStatus();
   const { close: closeCreateModal } = usePageCreateModalActions();
 
-  const isOpened = pageCreateModalData?.isOpened ?? false;
-
   const { create } = useCreatePage();
   const { createTemplate } = useCreateTemplatePage();
 
   const isReachable = useAtomValue(isSearchServiceReachableAtom);
-  const pathname = pageCreateModalData?.path ?? '';
   const userHomepagePath = pagePathUtils.userHomepagePath(currentUser);
   const isCreatable = isCreatablePage(pathname) || isUsersHomepage(pathname);
   const pageNameInputInitialValue = isCreatable ? pathUtils.addTrailingSlash(pathname) : '/';

+ 2 - 2
apps/app/src/client/components/PageDeleteModal.tsx

@@ -16,7 +16,7 @@ import {
 import { apiPost } from '~/client/util/apiv1-client';
 import { apiv3Post } from '~/client/util/apiv3-client';
 import type { IDeleteSinglePageApiv1Result, IDeleteManyPageApiv3Result } from '~/interfaces/page';
-import { usePageDeleteModal, usePageDeleteModalActions } from '~/states/ui/modal/page-delete';
+import { usePageDeleteModalStatus, usePageDeleteModalActions } from '~/states/ui/modal/page-delete';
 import { useSWRxPageInfoForList } from '~/stores/page-listing';
 import loggerFactory from '~/utils/logger';
 
@@ -50,7 +50,7 @@ const isIPageInfoForEntityForDeleteModal = (pageInfo: any | undefined): pageInfo
 const PageDeleteModal: FC = () => {
   const { t } = useTranslation();
 
-  const deleteModalData = usePageDeleteModal();
+  const deleteModalData = usePageDeleteModalStatus();
   const { close: closeDeleteModal } = usePageDeleteModalActions();
 
   const isOpened = deleteModalData?.isOpened ?? false;

+ 4 - 7
apps/app/src/client/components/PageDuplicateModal.tsx

@@ -13,7 +13,7 @@ import { apiv3Get, apiv3Post } from '~/client/util/apiv3-client';
 import { toastError } from '~/client/util/toastr';
 import { useSiteUrl } from '~/states/global';
 import { isSearchServiceReachableAtom } from '~/states/server-configurations';
-import { usePageDuplicateModal, usePageDuplicateModalActions } from '~/states/ui/modal/page-duplicate';
+import { usePageDuplicateModalStatus, usePageDuplicateModalActions } from '~/states/ui/modal/page-duplicate';
 
 import DuplicatePathsTable from './DuplicatedPathsTable';
 import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
@@ -26,12 +26,9 @@ const PageDuplicateModal = (): JSX.Element => {
   const siteUrl = useSiteUrl();
   const isReachable = useAtomValue(isSearchServiceReachableAtom);
 
-  const duplicateModalData = usePageDuplicateModal();
+  const { isOpened, page, opts } = usePageDuplicateModalStatus();
   const { close: closeDuplicateModal } = usePageDuplicateModalActions();
 
-  const isOpened = duplicateModalData?.isOpened ?? false;
-  const page = duplicateModalData?.page;
-
   const [pageNameInput, setPageNameInput] = useState('');
 
   const [errs, setErrs] = useState(null);
@@ -121,7 +118,7 @@ const PageDuplicateModal = (): JSX.Element => {
       const { data } = await apiv3Post('/pages/duplicate', {
         pageId, pageNameInput, isRecursively: isDuplicateRecursively, onlyDuplicateUserRelatedResources,
       });
-      const onDuplicated = duplicateModalData?.opts?.onDuplicated;
+      const onDuplicated = opts?.onDuplicated;
       const fromPath = path;
       const toPath = data.page.path;
 
@@ -133,7 +130,7 @@ const PageDuplicateModal = (): JSX.Element => {
     catch (err) {
       setErrs(err);
     }
-  }, [closeDuplicateModal, duplicateModalData?.opts?.onDuplicated, isDuplicateRecursively, page, pageNameInput, onlyDuplicateUserRelatedResources]);
+  }, [closeDuplicateModal, opts?.onDuplicated, isDuplicateRecursively, page, pageNameInput, onlyDuplicateUserRelatedResources]);
 
   useEffect(() => {
     if (isOpened) {

+ 4 - 7
apps/app/src/client/components/PageRenameModal.tsx

@@ -15,7 +15,7 @@ import { apiv3Get, apiv3Put } from '~/client/util/apiv3-client';
 import { toastError } from '~/client/util/toastr';
 import { useSiteUrl } from '~/states/global';
 import { isSearchServiceReachableAtom } from '~/states/server-configurations';
-import { usePageRenameModal, usePageRenameModalActions } from '~/states/ui/modal/page-rename';
+import { usePageRenameModalStatus, usePageRenameModalActions } from '~/states/ui/modal/page-rename';
 import { useSWRxPageInfo } from '~/stores/page';
 
 import DuplicatedPathsTable from './DuplicatedPathsTable';
@@ -32,13 +32,10 @@ const PageRenameModal = (): JSX.Element => {
 
   const { isUsersHomepage } = pagePathUtils;
   const siteUrl = useSiteUrl();
-  const renameModalData = usePageRenameModal();
+  const { isOpened, page, opts } = usePageRenameModalStatus();
   const { close: closeRenameModal } = usePageRenameModalActions();
   const isReachable = useAtomValue(isSearchServiceReachableAtom);
 
-  const isOpened = renameModalData?.isOpened ?? false;
-  const page = renameModalData?.page;
-
   const shouldFetch = isOpened && page != null && !isIPageInfoForEntity(page.meta);
   const { data: pageInfo } = useSWRxPageInfo(shouldFetch ? page?.data._id : null);
 
@@ -119,7 +116,7 @@ const PageRenameModal = (): JSX.Element => {
         url.searchParams.append('withRedirect', 'true');
       }
 
-      const onRenamed = renameModalData?.opts?.onRenamed;
+      const onRenamed = opts?.onRenamed;
       if (onRenamed != null) {
         onRenamed(path);
       }
@@ -128,7 +125,7 @@ const PageRenameModal = (): JSX.Element => {
     catch (err) {
       setErrs(err);
     }
-  }, [closeRenameModal, canRename, isRemainMetadata, isRenameRecursively, isRenameRedirect, page, pageNameInput, renameModalData?.opts?.onRenamed]);
+  }, [closeRenameModal, canRename, isRemainMetadata, isRenameRecursively, isRenameRedirect, page, pageNameInput, opts?.onRenamed]);
 
   const checkExistPaths = useCallback(async(fromPath, toPath) => {
     if (page == null) {

+ 2 - 2
apps/app/src/client/components/PageTags/TagEditModal.tsx

@@ -10,7 +10,7 @@ import {
 import { useUpdateStateAfterSave } from '~/client/services/page-operation';
 import { apiPost } from '~/client/util/apiv1-client';
 import { toastError, toastSuccess } from '~/client/util/toastr';
-import { useTagEditModal, useTagEditModalActions, type TagEditModalStatus } from '~/states/ui/modal/tag-edit';
+import { useTagEditModalStatus, useTagEditModalActions, type TagEditModalStatus } from '~/states/ui/modal/tag-edit';
 
 import { TagsInput } from './TagsInput';
 
@@ -69,7 +69,7 @@ const TagEditModalSubstance: React.FC<TagEditModalSubstanceProps> = (props: TagE
 };
 
 export const TagEditModal: React.FC = () => {
-  const tagEditModalData = useTagEditModal();
+  const tagEditModalData = useTagEditModalStatus();
   const { close: closeTagEditModal } = useTagEditModalActions();
 
   if (!tagEditModalData?.isOpen) {

+ 2 - 2
apps/app/src/client/components/ShortcutsModal.tsx

@@ -3,7 +3,7 @@ import React, { type JSX } from 'react';
 import { useTranslation } from 'next-i18next';
 import { Modal, ModalHeader, ModalBody } from 'reactstrap';
 
-import { useShortcutsModal, useShortcutsModalActions } from '~/states/ui/modal/shortcuts';
+import { useShortcutsModalStatus, useShortcutsModalActions } from '~/states/ui/modal/shortcuts';
 
 import styles from './ShortcutsModal.module.scss';
 
@@ -11,7 +11,7 @@ import styles from './ShortcutsModal.module.scss';
 const ShortcutsModal = (): JSX.Element => {
   const { t } = useTranslation();
 
-  const status = useShortcutsModal();
+  const status = useShortcutsModalStatus();
   const { close } = useShortcutsModalActions();
 
   const bodyContent = () => {

+ 1 - 1
apps/app/src/states/ui/modal/page-accessories.ts

@@ -31,7 +31,7 @@ const pageAccessoriesModalAtom = atom<PageAccessoriesModalStatus>({
  * Hook for managing page accessories modal state
  * Returns read-only modal status for optimal performance
  */
-export const usePageAccessoriesModal = (): PageAccessoriesModalStatus => {
+export const usePageAccessoriesModalStatus = (): PageAccessoriesModalStatus => {
   return useAtomValue(pageAccessoriesModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/page-create.ts

@@ -20,7 +20,7 @@ const pageCreateModalAtom = atom<CreateModalStatus>({ isOpened: false });
  * Returns read-only modal status for optimal performance
  * Used for creating new pages with optional path specification
  */
-export const usePageCreateModal = (): CreateModalStatus => {
+export const usePageCreateModalStatus = (): CreateModalStatus => {
   return useAtomValue(pageCreateModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/page-delete.ts

@@ -31,7 +31,7 @@ const pageDeleteModalAtom = atom<DeleteModalStatus>({
  * Returns read-only modal status for optimal performance
  * Used for deleting single or multiple pages
  */
-export const usePageDeleteModal = (): DeleteModalStatus => {
+export const usePageDeleteModalStatus = (): DeleteModalStatus => {
   return useAtomValue(pageDeleteModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/page-duplicate.ts

@@ -36,7 +36,7 @@ const pageDuplicateModalAtom = atom<DuplicateModalStatus>({
  * Hook for managing page duplicate modal state
  * Returns read-only modal status for optimal performance
  */
-export const usePageDuplicateModal = (): DuplicateModalStatus => {
+export const usePageDuplicateModalStatus = (): DuplicateModalStatus => {
   return useAtomValue(pageDuplicateModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/page-rename.ts

@@ -29,7 +29,7 @@ const pageRenameModalAtom = atom<RenameModalStatus>({
  * Hook for managing page rename modal state
  * Returns read-only modal status for optimal performance
  */
-export const usePageRenameModal = (): RenameModalStatus => {
+export const usePageRenameModalStatus = (): RenameModalStatus => {
   return useAtomValue(pageRenameModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/shortcuts.ts

@@ -20,7 +20,7 @@ const shortcutsModalAtom = atom<ShortcutsModalStatus>({
  * Hook for managing shortcuts modal state
  * Returns read-only modal status for optimal performance
  */
-export const useShortcutsModal = (): ShortcutsModalStatus => {
+export const useShortcutsModalStatus = (): ShortcutsModalStatus => {
   return useAtomValue(shortcutsModalAtom);
 };
 

+ 1 - 1
apps/app/src/states/ui/modal/tag-edit.ts

@@ -26,7 +26,7 @@ const tagEditModalAtom = atom<TagEditModalStatus>({
  * Hook for managing tag edit modal state
  * Returns read-only modal status for optimal performance
  */
-export const useTagEditModal = (): TagEditModalStatus => {
+export const useTagEditModalStatus = (): TagEditModalStatus => {
   return useAtomValue(tagEditModalAtom);
 };