Shun Miyazawa 1 год назад
Родитель
Сommit
22e49de186

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

@@ -36,7 +36,7 @@ import {
 
 import { BookmarkButtons } from './BookmarkButtons';
 import LikeButtons from './LikeButtons';
-import RagPromptButton from './RagPromptButton';
+import RagSearchButton from './RagSearchButton';
 import SearchButton from './SearchButton';
 import SeenUserInfo from './SeenUserInfo';
 import SubscribeButton from './SubscribeButton';
@@ -285,7 +285,7 @@ const PageControlsSubstance = (props: PageControlsSubstanceProps): JSX.Element =
       { isViewMode && isDeviceLargerThanMd && !isSearchPage && !isSearchPage && (
         <>
           <SearchButton />
-          <RagPromptButton />
+          <RagSearchButton />
         </>
       )}
 

+ 0 - 28
apps/app/src/client/components/PageControls/RagPromptButton.tsx

@@ -1,28 +0,0 @@
-import React, { useCallback } from 'react';
-
-import { useRagPromptModal } from '~/stores/rag-prompt';
-
-import styles from './RagPromptButton.module.scss';
-
-const RagPromptButton = (): JSX.Element => {
-
-  const { open: openRagPromptModal } = useRagPromptModal();
-
-  const ragPromptButtonClickHandler = useCallback(() => {
-    openRagPromptModal();
-  }, [openRagPromptModal]);
-
-
-  return (
-    <button
-      type="button"
-      className={`btn btn-search ${styles['btn-rag-prompt']}`}
-      onClick={ragPromptButtonClickHandler}
-      data-testid="open-search-modal-button"
-    >
-      <span className="material-symbols-outlined">chat</span>
-    </button>
-  );
-};
-
-export default RagPromptButton;

+ 2 - 2
apps/app/src/client/components/PageControls/RagPromptButton.module.scss → apps/app/src/client/components/PageControls/RagSearchButton.module.scss

@@ -2,11 +2,11 @@
 @use '@growi/ui/scss/atoms/btn-muted';
 @use './button-styles';
 
-.btn-rag-prompt :global {
+.btn-rag-search :global {
   @extend %btn-basis;
 }
 
 // == Colors
-.btn-rag-prompt {
+.btn-rag-search {
   @include btn-muted.colorize(bs.$success);
 }

+ 28 - 0
apps/app/src/client/components/PageControls/RagSearchButton.tsx

@@ -0,0 +1,28 @@
+import React, { useCallback } from 'react';
+
+import { useRagSearchModal } from '~/stores/rag-search';
+
+import styles from './RagSearchButton.module.scss';
+
+const RagSearchButton = (): JSX.Element => {
+
+  const { open: openRagSearchModal } = useRagSearchModal();
+
+  const ragSearchButtonClickHandler = useCallback(() => {
+    openRagSearchModal();
+  }, [openRagSearchModal]);
+
+
+  return (
+    <button
+      type="button"
+      className={`btn btn-search ${styles['btn-rag-search']}`}
+      onClick={ragSearchButtonClickHandler}
+      data-testid="open-search-modal-button"
+    >
+      <span className="material-symbols-outlined">chat</span>
+    </button>
+  );
+};
+
+export default RagSearchButton;

+ 5 - 5
apps/app/src/client/components/RagPrompt/RagPromptModal.tsx → apps/app/src/client/components/RagSearch/RagSearchModal.tsx

@@ -4,13 +4,13 @@ import React, { useState } from 'react';
 import { Modal, ModalBody, ModalHeader } from 'reactstrap';
 
 import { apiv3Post } from '~/client/util/apiv3-client';
-import { useRagPromptModal } from '~/stores/rag-prompt';
+import { useRagSearchModal } from '~/stores/rag-search';
 
-const RagPromptModal = (): JSX.Element => {
+const RagSearchModal = (): JSX.Element => {
   const [userMessage, setUserMessage] = useState('');
   const [assistantMessage, setAssistantMessage] = useState('');
 
-  const { data: ragPromptModalData, close: closeRagPromptModal } = useRagPromptModal();
+  const { data: ragSearchModalData, close: closeRagSearchModal } = useRagSearchModal();
 
   const onClickSubmitUserMessageHandler = async() => {
     try {
@@ -23,7 +23,7 @@ const RagPromptModal = (): JSX.Element => {
   };
 
   return (
-    <Modal size="lg" isOpen={ragPromptModalData?.isOpened ?? false} toggle={closeRagPromptModal} data-testid="search-modal">
+    <Modal size="lg" isOpen={ragSearchModalData?.isOpened ?? false} toggle={closeRagSearchModal} data-testid="search-modal">
       <ModalBody>
         <ModalHeader tag="h4" className="mb-3 p-0">
           Chat
@@ -56,4 +56,4 @@ const RagPromptModal = (): JSX.Element => {
   );
 };
 
-export default RagPromptModal;
+export default RagSearchModal;

+ 2 - 2
apps/app/src/components/Layout/BasicLayout.tsx

@@ -34,7 +34,7 @@ const DeleteBookmarkFolderModal = dynamic(
   () => import('~/client/components/DeleteBookmarkFolderModal').then(mod => mod.DeleteBookmarkFolderModal), { ssr: false },
 );
 const SearchModal = dynamic(() => import('../../features/search/client/components/SearchModal'), { ssr: false });
-const RagPromptModal = dynamic(() => import('~/client/components/RagPrompt/RagPromptModal'), { ssr: false });
+const RagSearchModal = dynamic(() => import('~/client/components/RagSearch/RagSearchModal'), { ssr: false });
 
 type Props = {
   children?: ReactNode
@@ -67,7 +67,7 @@ export const BasicLayout = ({ children, className }: Props): JSX.Element => {
       <DeleteBookmarkFolderModal />
       <PutbackPageModal />
       <SearchModal />
-      <RagPromptModal />
+      <RagSearchModal />
 
       <PagePresentationModal />
       <HotkeysManager />

+ 4 - 4
apps/app/src/stores/rag-prompt.ts → apps/app/src/stores/rag-search.ts

@@ -4,17 +4,17 @@ import { useSWRStatic } from '@growi/core/dist/swr';
 import type { SWRResponse } from 'swr';
 
 
-type RagPromptMoldalStatus = {
+type RagSearchMoldalStatus = {
   isOpened: boolean,
 }
 
-type RagPromptUtils = {
+type RagSearchUtils = {
   open(): void
   close(): void
 }
-export const useRagPromptModal = (status?: RagPromptMoldalStatus): SWRResponse<RagPromptMoldalStatus, Error> & RagPromptUtils => {
+export const useRagSearchModal = (status?: RagSearchMoldalStatus): SWRResponse<RagSearchMoldalStatus, Error> & RagSearchUtils => {
   const initialStatus = { isOpened: false };
-  const swrResponse = useSWRStatic<RagPromptMoldalStatus, Error>('RagPromptModal', status, { fallbackData: initialStatus });
+  const swrResponse = useSWRStatic<RagSearchMoldalStatus, Error>('RagSearchModal', status, { fallbackData: initialStatus });
 
   return {
     ...swrResponse,