diff --git a/src/lang/en.ts b/src/lang/en.ts
index 027f1f3e..b12b336b 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -644,4 +644,5 @@ export const languageEnglish = {
start: "Start",
end: "End",
index: "Index",
+ search: "Search",
}
\ No newline at end of file
diff --git a/src/lib/Setting/Pages/Module/ModuleChatMenu.svelte b/src/lib/Setting/Pages/Module/ModuleChatMenu.svelte
index 8b671dda..6f40a28a 100644
--- a/src/lib/Setting/Pages/Module/ModuleChatMenu.svelte
+++ b/src/lib/Setting/Pages/Module/ModuleChatMenu.svelte
@@ -2,11 +2,35 @@
import { CheckCircle2Icon, Globe, XIcon } from "lucide-svelte";
import { language } from "src/lang";
import Button from "src/lib/UI/GUI/Button.svelte";
+ import TextInput from "src/lib/UI/GUI/TextInput.svelte";
+ import type { RisuModule } from "src/ts/process/modules";
import { DataBase } from "src/ts/storage/database";
import { CurrentChat } from "src/ts/stores";
import { SettingsMenuIndex, settingsOpen } from "src/ts/stores";
export let close = () => {}
+ let moduleSearch = ''
+
+ function sortModules(modules:RisuModule[], search:string){
+ const db = $DataBase
+ return modules.filter((v) => {
+ if(search === '') return true
+ return v.name.toLowerCase().includes(search.toLowerCase())
+
+ }).sort((a, b) => {
+ let score = a.name.toLowerCase().localeCompare(b.name.toLowerCase())
+
+ if(db.enabledModules.includes(a.id)){
+ score += 1000
+ }
+ if(db.enabledModules.includes(b.id)){
+ score -= 1000
+ }
+
+ return score
+ })
+ }
+
@@ -20,22 +44,28 @@
+
{language.chatModulesInfo}
+