fix(webui): restore mobile provider source deletion (#8321)

* fix(webui): restore mobile provider source deletion

* fix(webui): improve provider source delete accessibility
This commit is contained in:
letr
2026-05-27 11:59:06 +08:00
committed by GitHub
parent 000d638c1b
commit bc35daa110
4 changed files with 35 additions and 0 deletions

View File

@@ -55,6 +55,18 @@
</v-select>
</div>
<v-btn
v-if="canDeleteSelectedSource"
class="provider-sources-mobile-delete"
icon="mdi-delete-outline"
variant="text"
size="small"
color="error"
:aria-label="tm('providerSources.delete')"
:title="tm('providerSources.delete')"
@click.stop="deleteSelectedSource"
></v-btn>
<StyledMenu>
<template #activator="{ props }">
<v-btn
@@ -130,6 +142,8 @@
icon="mdi-delete-outline"
variant="text"
size="small"
:aria-label="tm('providerSources.delete')"
:title="tm('providerSources.delete')"
@click.stop="emitDeleteSource(source)"
></v-btn>
</div>
@@ -181,6 +195,9 @@ const emit = defineEmits([
])
const selectedId = computed(() => props.selectedProviderSource?.id || null)
const canDeleteSelectedSource = computed(() =>
Boolean(props.selectedProviderSource && !props.selectedProviderSource.isPlaceholder)
)
const isActive = (source) => {
if (source.isPlaceholder) return false
@@ -211,6 +228,12 @@ const emitAddSource = (type) => emit('add-provider-source', type)
const emitSelectSource = (source) => emit('select-provider-source', source)
const emitDeleteSource = (source) => emit('delete-provider-source', source)
const deleteSelectedSource = () => {
if (canDeleteSelectedSource.value) {
emitDeleteSource(props.selectedProviderSource)
}
}
const selectSourceByValue = (value) => {
const option = sourceOptions.value.find((item) => item.value === value)
if (option?.source) {
@@ -263,6 +286,11 @@ const selectSourceByValue = (value) => {
flex: 1;
}
.provider-sources-mobile-delete {
display: none;
flex-shrink: 0;
}
.provider-source-select-value {
min-width: 0;
display: inline-flex;
@@ -375,6 +403,10 @@ const selectSourceByValue = (value) => {
display: block;
}
.provider-sources-mobile-delete {
display: inline-flex;
}
.provider-sources-controls {
width: 100%;
}

View File

@@ -93,6 +93,7 @@
"providerSources": {
"title": "Provider Sources",
"add": "Add",
"delete": "Delete provider source",
"empty": "No provider sources",
"selectHint": "Please select a provider source",
"selectCreated": "Select created provider source",

View File

@@ -94,6 +94,7 @@
"providerSources": {
"title": "Источник провайдера",
"add": "Добавить",
"delete": "Удалить источник провайдера",
"empty": "Источники не найдены",
"selectHint": "Пожалуйста, выберите источник провайдера",
"selectCreated": "Выбрать существующий источник",

View File

@@ -94,6 +94,7 @@
"providerSources": {
"title": "提供商源",
"add": "新增",
"delete": "删除提供商源",
"empty": "暂无提供商源",
"selectHint": "请选择一个提供商源",
"selectCreated": "选择已创建的提供商源",