feat: Add MessageInput to the external chat page #1880 (#1963)

### What problem does this PR solve?
feat: Add MessageInput to the external chat page #1880

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2024-08-15 16:10:21 +08:00
committed by GitHub
parent 6acc46bc7b
commit d3ff1a30bf
10 changed files with 146 additions and 122 deletions

View File

@ -50,13 +50,8 @@ const ChatOverviewModal = ({
hideModal: hideApiKeyModal,
showModal: showApiKeyModal,
} = useSetModalState();
const {
embedVisible,
hideEmbedModal,
showEmbedModal,
embedToken,
errorContextHolder,
} = useShowEmbedModal(id, idKey);
const { embedVisible, hideEmbedModal, showEmbedModal, embedToken } =
useShowEmbedModal(id, idKey);
const { pickerValue, setPickerValue } = useFetchNextStats();
@ -64,7 +59,7 @@ const ChatOverviewModal = ({
return current && current > dayjs().endOf('day');
};
const { handlePreview, contextHolder } = usePreviewChat(id, idKey);
const { handlePreview } = usePreviewChat(id, idKey);
return (
<>
@ -138,8 +133,6 @@ const ChatOverviewModal = ({
visible={embedVisible}
hideModal={hideEmbedModal}
></EmbedModal>
{contextHolder}
{errorContextHolder}
</Modal>
</>
);

View File

@ -63,13 +63,12 @@ export const useSelectChartStatsList = (): ChartStatsType => {
};
export const useShowTokenEmptyError = () => {
const [messageApi, contextHolder] = message.useMessage();
const { t } = useTranslate('chat');
const showTokenEmptyError = useCallback(() => {
messageApi.error(t('tokenError'));
}, [messageApi, t]);
return { showTokenEmptyError, contextHolder };
message.error(t('tokenError'));
}, [t]);
return { showTokenEmptyError };
};
const getUrlWithToken = (token: string) => {
@ -78,7 +77,7 @@ const getUrlWithToken = (token: string) => {
};
const useFetchTokenListBeforeOtherStep = (dialogId: string, idKey: string) => {
const { showTokenEmptyError, contextHolder } = useShowTokenEmptyError();
const { showTokenEmptyError } = useShowTokenEmptyError();
const { data: tokenList, refetch } = useFetchTokenList({ [idKey]: dialogId });
@ -98,7 +97,6 @@ const useFetchTokenListBeforeOtherStep = (dialogId: string, idKey: string) => {
return {
token,
contextHolder,
handleOperate,
};
};
@ -110,8 +108,10 @@ export const useShowEmbedModal = (dialogId: string, idKey: string) => {
showModal: showEmbedModal,
} = useSetModalState();
const { handleOperate, token, contextHolder } =
useFetchTokenListBeforeOtherStep(dialogId, idKey);
const { handleOperate, token } = useFetchTokenListBeforeOtherStep(
dialogId,
idKey,
);
const handleShowEmbedModal = useCallback(async () => {
const succeed = await handleOperate();
@ -125,15 +125,11 @@ export const useShowEmbedModal = (dialogId: string, idKey: string) => {
hideEmbedModal,
embedVisible,
embedToken: token,
errorContextHolder: contextHolder,
};
};
export const usePreviewChat = (dialogId: string, idKey: string) => {
const { handleOperate, contextHolder } = useFetchTokenListBeforeOtherStep(
dialogId,
idKey,
);
const { handleOperate } = useFetchTokenListBeforeOtherStep(dialogId, idKey);
const open = useCallback((t: string) => {
window.open(getUrlWithToken(t), '_blank');
@ -148,6 +144,5 @@ export const usePreviewChat = (dialogId: string, idKey: string) => {
return {
handlePreview,
contextHolder,
};
};