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

Update swr search hook usage to hide user pages

arvid-e 2 месяцев назад
Родитель
Сommit
3551280f09

+ 5 - 0
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementKeywordSearch.tsx

@@ -14,6 +14,7 @@ import { ModalBody } from 'reactstrap';
 import SimpleBar from 'simplebar-react';
 
 import { useSWRxSearch } from '~/stores/search';
+import { useSWRxSecuritySettings } from '~/stores/security-settings';
 
 import type { SelectablePage } from '../../../../interfaces/selectable-page';
 import { useSelectedPages } from '../../../services/use-selected-pages';
@@ -49,6 +50,9 @@ type Props = {
 export const AiAssistantKeywordSearch = (props: Props): JSX.Element => {
   const { isActivePane, baseSelectedPages, updateBaseSelectedPages } = props;
 
+  const { data: generalSetting } = useSWRxSecuritySettings();
+  const isHidingUserPages = generalSetting?.isHidingUserPages ?? false;
+
   const [selectedSearchKeywords, setSelectedSearchKeywords] = useState<
     Array<SelectedSearchKeyword>
   >([]);
@@ -69,6 +73,7 @@ export const AiAssistantKeywordSearch = (props: Props): JSX.Element => {
       includeUserPages: true,
       includeTrashPages: false,
     },
+    isHidingUserPages,
   );
 
   // Search results will include subordinate pages by default

+ 7 - 1
apps/app/src/features/search/client/components/PrivateLegacyPages.tsx

@@ -43,6 +43,7 @@ import {
   useSWRxV5MigrationStatus,
 } from '~/stores/page-listing';
 import { useSWRxSearch } from '~/stores/search';
+import { useSWRxSecuritySettings } from '~/stores/security-settings';
 
 import { OperateAllControl } from './SearchPage/OperateAllControl';
 import SearchControl from './SearchPage/SearchControl';
@@ -268,6 +269,9 @@ const PrivateLegacyPages = (): JSX.Element => {
   const keyword = useSearchKeyword();
   const setSearchKeyword = useSetSearchKeyword('/_private-legacy-pages');
 
+  const { data: generalSetting } = useSWRxSecuritySettings();
+  const isHidingUserPages = generalSetting?.isHidingUserPages ?? false;
+
   const [offset, setOffset] = useState<number>(0);
   const [limit, setLimit] = useState<number>(INITIAL_PAGING_SIZE);
   const [isOpenConvertModal, setOpenConvertModal] = useState<boolean>(false);
@@ -295,6 +299,7 @@ const PrivateLegacyPages = (): JSX.Element => {
       includeUserPages: true,
       includeTrashPages: false,
     },
+    isHidingUserPages,
   );
 
   const { data: migrationStatus, mutate: mutateMigrationStatus } =
@@ -515,6 +520,7 @@ const PrivateLegacyPages = (): JSX.Element => {
   const searchControl = useMemo(() => {
     return (
       <SearchControl
+        isHidingUserPages={isHidingUserPages}
         isEnableSort={false}
         isEnableFilter={false}
         initialSearchConditions={{ keyword: initQ, limit: INITIAL_PAGING_SIZE }}
@@ -522,7 +528,7 @@ const PrivateLegacyPages = (): JSX.Element => {
         extraControls={extraControls}
       />
     );
-  }, [searchInvokedHandler, extraControls]);
+  }, [searchInvokedHandler, extraControls, isHidingUserPages]);
 
   const searchResultListHead = useMemo(() => {
     if (data == null) {

+ 5 - 0
apps/app/src/features/search/client/components/SearchResultMenuItem.tsx

@@ -3,6 +3,7 @@ import { PagePathLabel, UserPicture } from '@growi/ui/dist/components';
 import { useDebounce } from 'usehooks-ts';
 
 import { useSWRxSearch } from '~/stores/search';
+import { useSWRxSecuritySettings } from '~/stores/security-settings';
 
 import type { GetItemProps } from '../interfaces/downshift';
 import { SearchMenuItem } from './SearchMenuItem';
@@ -15,6 +16,9 @@ type Props = {
 export const SearchResultMenuItem = (props: Props): JSX.Element => {
   const { activeIndex, searchKeyword, getItemProps } = props;
 
+  const { data: generalSetting } = useSWRxSecuritySettings();
+  const isHidingUserPages = generalSetting?.isHidingUserPages ?? false;
+
   const debouncedKeyword = useDebounce(searchKeyword, 500);
 
   const isEmptyKeyword = searchKeyword.trim().length === 0;
@@ -23,6 +27,7 @@ export const SearchResultMenuItem = (props: Props): JSX.Element => {
     isEmptyKeyword ? null : debouncedKeyword,
     null,
     { limit: 10 },
+    isHidingUserPages,
   );
 
   /**