chore(web): remove search provider filter

This commit is contained in:
Acbox
2026-03-01 14:26:54 +08:00
parent b82444759a
commit b2349fab13
2 changed files with 2 additions and 78 deletions
@@ -40,40 +40,6 @@
</FormField>
</section>
<section>
<Label
for="search-provider-type"
class="scroll-m-20 font-semibold tracking-tight"
>
{{ $t('searchProvider.provider') }}
</Label>
<div class="mt-3 mb-4">
<Select
:model-value="form.values.provider"
@update:model-value="(val) => form.setFieldValue('provider', val)"
>
<SelectTrigger
id="search-provider-type"
class="w-full"
:aria-label="$t('searchProvider.provider')"
>
<SelectValue :placeholder="$t('common.typePlaceholder')" />
</SelectTrigger>
<SelectContent>
<SelectGroup>
<SelectItem
v-for="type in PROVIDER_TYPES"
:key="type"
:value="type"
>
{{ $t(`searchProvider.providerNames.${type}`, type) }}
</SelectItem>
</SelectGroup>
</SelectContent>
</Select>
</div>
</section>
<Separator class="my-4" />
<template v-if="form.values.provider === 'brave'">
@@ -156,12 +122,6 @@ import {
FormField,
FormItem,
Separator,
Select,
SelectTrigger,
SelectValue,
SelectContent,
SelectGroup,
SelectItem,
Label,
} from '@memoh/ui'
import ConfirmPopover from '@/components/confirm-popover/index.vue'
@@ -187,8 +147,6 @@ import { useMutation, useQueryCache } from '@pinia/colada'
import { putSearchProvidersById, deleteSearchProvidersById } from '@memoh/sdk'
import type { SearchprovidersGetResponse, SearchprovidersUpdateRequest } from '@memoh/sdk'
const PROVIDER_TYPES = ['brave', 'bing', 'google', 'tavily', 'sogou', 'serper', 'searxng', 'jina', 'exa', 'bocha', 'duckduckgo', 'yandex'] as const
const curProvider = inject('curSearchProvider', ref<SearchprovidersGetResponse>())
const curProviderId = computed(() => curProvider.value?.id)
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed, ref, provide, watch, reactive } from 'vue'
import { useQueryCache, useQuery } from '@pinia/colada'
import { useQuery } from '@pinia/colada'
import {
ScrollArea,
SidebarMenu,
@@ -8,12 +8,6 @@ import {
SidebarMenuItem,
InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput,
Toggle,
Select,
SelectTrigger,
SelectValue,
SelectContent,
SelectGroup,
SelectItem,
Empty,
EmptyContent,
EmptyDescription,
@@ -29,24 +23,15 @@ import ProviderSetting from './components/provider-setting.vue'
import SearchProviderLogo from '@/components/search-provider-logo/index.vue'
import MasterDetailSidebarLayout from '@/components/master-detail-sidebar-layout/index.vue'
const PROVIDER_TYPES = ['brave', 'bing', 'google', 'tavily', 'sogou', 'serper', 'searxng', 'jina', 'exa', 'bocha', 'duckduckgo', 'yandex'] as const
const filterProvider = ref('')
const { data: providerData } = useQuery({
key: () => ['search-providers', filterProvider.value],
key: () => ['search-providers'],
query: async () => {
const { data } = await getSearchProviders({
query: filterProvider.value ? { provider: filterProvider.value } : undefined,
throwOnError: true,
})
return data
},
})
const queryCache = useQueryCache()
watch(filterProvider, () => {
queryCache.invalidateQueries({ key: ['search-providers'] })
}, { immediate: true })
const curProvider = ref<SearchprovidersGetResponse>()
provide('curSearchProvider', curProvider)
@@ -142,25 +127,6 @@ const openStatus = reactive({
</template>
<template #sidebar-footer>
<Select v-model:model-value="filterProvider">
<SelectTrigger
class="w-full"
:aria-label="$t('searchProvider.provider')"
>
<SelectValue :placeholder="$t('common.typePlaceholder')" />
</SelectTrigger>
<SelectContent>
<SelectGroup>
<SelectItem
v-for="type in PROVIDER_TYPES"
:key="type"
:value="type"
>
{{ $t(`searchProvider.providerNames.${type}`, type) }}
</SelectItem>
</SelectGroup>
</SelectContent>
</Select>
<AddSearchProvider v-model:open="openStatus.addOpen" />
</template>