mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-15 17:30:13 +08:00
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:
@@ -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%;
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
"providerSources": {
|
||||
"title": "Источник провайдера",
|
||||
"add": "Добавить",
|
||||
"delete": "Удалить источник провайдера",
|
||||
"empty": "Источники не найдены",
|
||||
"selectHint": "Пожалуйста, выберите источник провайдера",
|
||||
"selectCreated": "Выбрать существующий источник",
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
"providerSources": {
|
||||
"title": "提供商源",
|
||||
"add": "新增",
|
||||
"delete": "删除提供商源",
|
||||
"empty": "暂无提供商源",
|
||||
"selectHint": "请选择一个提供商源",
|
||||
"selectCreated": "选择已创建的提供商源",
|
||||
|
||||
Reference in New Issue
Block a user