diff --git a/app/components/chat.tsx b/app/components/chat.tsx index bc2c3df2..c5c257e5 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -417,9 +417,6 @@ export function Chat(props: { // check if need to trigger auto completion if (text.startsWith("/")) { let searchText = text.slice(1); - if (searchText.length === 0) { - searchText = " "; - } onSearch(searchText); } } diff --git a/app/locales/cn.ts b/app/locales/cn.ts index e21272a1..02331c66 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -21,11 +21,11 @@ const cn = { Rename: "重命名对话", Typing: "正在输入…", Input: (submitKey: string) => { - var inputHints = `输入消息,${submitKey} 发送`; + var inputHints = `${submitKey} 发送`; if (submitKey === String(SubmitKey.Enter)) { inputHints += ",Shift + Enter 换行"; } - return inputHints; + return inputHints + ",/ 触发补全"; }, Send: "发送", }, diff --git a/app/locales/en.ts b/app/locales/en.ts index 61d20b60..3bdf491b 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -23,11 +23,11 @@ const en: LocaleType = { Rename: "Rename Chat", Typing: "Typing…", Input: (submitKey: string) => { - var inputHints = `Type something and press ${submitKey} to send`; + var inputHints = `${submitKey} to send`; if (submitKey === String(SubmitKey.Enter)) { - inputHints += ", press Shift + Enter to newline"; + inputHints += ", Shift + Enter to wrap"; } - return inputHints; + return inputHints + ", / to search prompts"; }, Send: "Send", }, diff --git a/app/store/prompt.ts b/app/store/prompt.ts index b91a38d0..d0dd454a 100644 --- a/app/store/prompt.ts +++ b/app/store/prompt.ts @@ -1,6 +1,7 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; import Fuse from "fuse.js"; +import { getLang } from "../locales"; export interface Prompt { id?: number; @@ -25,11 +26,13 @@ export const SearchService = { count: { builtin: 0, }, + allBuiltInPrompts: [] as Prompt[], init(prompts: Prompt[]) { if (this.ready) { return; } + this.allBuiltInPrompts = prompts; this.engine.setCollection(prompts); this.ready = true; }, @@ -78,6 +81,11 @@ export const usePromptStore = create()( }, search(text) { + if (text.length === 0) { + // return all prompts + const userPrompts = get().prompts?.values?.() ?? []; + return SearchService.allBuiltInPrompts.concat([...userPrompts]); + } return SearchService.search(text) as Prompt[]; }, }), @@ -92,7 +100,11 @@ export const usePromptStore = create()( fetch(PROMPT_URL) .then((res) => res.json()) .then((res) => { - const builtinPrompts = [res.en, res.cn] + let fetchPrompts = [res.en, res.cn]; + if (getLang() === "cn") { + fetchPrompts = fetchPrompts.reverse(); + } + const builtinPrompts = fetchPrompts .map((promptList: PromptList) => { return promptList.map( ([title, content]) =>