mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 16:23:41 +08:00 
			
		
		
		
	fix: #613 show all prompts when input /
This commit is contained in:
		@@ -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);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -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: "发送",
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -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",
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -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<PromptStore>()(
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      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<PromptStore>()(
 | 
			
		||||
        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]) =>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user