{{ i18n.ts.additionalEmojiDictionary }}
@@ -191,6 +210,7 @@ import { definePageMetadata } from '@/scripts/page-metadata.js';
import { miLocalStorage } from '@/local-storage.js';
import { globalEvents } from '@/events.js';
import { $i } from '@/account.js';
+import MkInput from '@/components/MkInput.vue';
const lang = ref(miLocalStorage.getItem('lang'));
const dataSaver = ref(defaultStore.state.dataSaver);
@@ -223,6 +243,9 @@ const useAutoTranslate = computed(defaultStore.makeGetterSetter('useAutoTranslat
const welcomeBackToast = computed(defaultStore.makeGetterSetter('welcomeBackToast'));
const disableNyaize = computed(defaultStore.makeGetterSetter('disableNyaize'));
const externalNavigationWarning = computed(defaultStore.makeGetterSetter('externalNavigationWarning'));
+const searchEngine = computed(defaultStore.makeGetterSetter('searchEngine'));
+const searchEngineUrl = computed(defaultStore.makeGetterSetter('searchEngineUrl'));
+const searchEngineUrlQuery = computed(defaultStore.makeGetterSetter('searchEngineUrlQuery'));
watch(lang, () => {
miLocalStorage.setItem('lang', lang.value as string);
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index 348b9479b2..01de5aa3a6 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -582,6 +582,18 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'device',
default: false,
},
+ searchEngine: {
+ where: 'device',
+ default: 'google' as 'google' | 'bing' | 'yahoo' | 'baidu'| 'naver' | 'duckduckgo' | 'other',
+ },
+ searchEngineUrl: {
+ where: 'device',
+ default: 'https://www.ecosia.org/search?',
+ },
+ searchEngineUrlQuery: {
+ where: 'device',
+ default: 'q',
+ },
// - Settings/Appearance
collapseReplies: {