feat: enter the app name that need to be deleted by one click (#37263)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Hanqing Zhao 2026-06-10 15:15:59 +08:00 committed by GitHub
parent f1ef7379dd
commit 09bfbf386e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 59 additions and 17 deletions

View File

@ -166,14 +166,24 @@ const AppInfoModals = ({
}}
/>
</label>
<Input
type="text"
autoComplete="off"
spellCheck={false}
placeholder={t('deleteAppConfirmInputPlaceholder', { ns: 'app' })}
value={confirmDeleteInput}
onChange={e => setConfirmDeleteInput(e.target.value)}
/>
<div className="relative">
<Input
type="text"
autoComplete="off"
spellCheck={false}
placeholder={t('deleteAppConfirmInputPlaceholder', { ns: 'app' })}
value={confirmDeleteInput}
onChange={e => setConfirmDeleteInput(e.target.value)}
className="pr-20"
/>
<button
type="button"
onClick={() => setConfirmDeleteInput(appDetail.name)}
className="absolute top-1/2 right-2 -translate-y-1/2 rounded-full bg-black/[0.06] px-2.5 py-1 system-xs-medium text-text-secondary hover:bg-black/[0.1]"
>
{t('operation.fill', { ns: 'common' })}
</button>
</div>
</div>
</div>
<AlertDialogActions>

View File

@ -643,15 +643,24 @@ const AppCard = ({ app, onlineUsers = [], onRefresh, onOpenTagManagement = () =>
}}
/>
</FieldLabel>
<FieldControl
type="text"
autoComplete="off"
spellCheck={false}
placeholder={t('deleteAppConfirmInputPlaceholder', { ns: 'app' })}
value={confirmDeleteInput}
onValueChange={setConfirmDeleteInput}
className="border-components-input-border-hover bg-components-input-bg-normal focus:border-components-input-border-active focus:bg-components-input-bg-active"
/>
<div className="relative">
<FieldControl
type="text"
autoComplete="off"
spellCheck={false}
placeholder={t('deleteAppConfirmInputPlaceholder', { ns: 'app' })}
value={confirmDeleteInput}
onValueChange={setConfirmDeleteInput}
className="border-components-input-border-hover bg-components-input-bg-normal pr-20 focus:border-components-input-border-active focus:bg-components-input-bg-active"
/>
<button
type="button"
onClick={() => setConfirmDeleteInput(app.name)}
className="absolute top-1/2 right-2 -translate-y-1/2 rounded-full bg-black/[0.06] px-2.5 py-1 system-xs-medium text-text-secondary hover:bg-black/[0.1]"
>
{t('operation.fill', { ns: 'common' })}
</button>
</div>
</FieldRoot>
</div>
<AlertDialogActions>

View File

@ -497,6 +497,7 @@
"operation.duplicate": "تكرار",
"operation.edit": "تعديل",
"operation.exporting": "جارٍ التصدير",
"operation.fill": "ملء تلقائي",
"operation.format": "تنسيق",
"operation.getForFree": "احصل عليه مجانا",
"operation.imageCopied": "تم نسخ الصورة",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplikat",
"operation.edit": "Bearbeiten",
"operation.exporting": "Exportiere",
"operation.fill": "Automatisch ausfüllen",
"operation.format": "Format",
"operation.getForFree": "Kostenlos erhalten",
"operation.imageCopied": "Kopiertes Bild",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplicate",
"operation.edit": "Edit",
"operation.exporting": "Exporting",
"operation.fill": "Autofill",
"operation.format": "Format",
"operation.getForFree": "Get for free",
"operation.imageCopied": "Image copied",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplicar",
"operation.edit": "Editar",
"operation.exporting": "Exportando",
"operation.fill": "Autocompletar",
"operation.format": "Formato",
"operation.getForFree": "Obtener gratis",
"operation.imageCopied": "Imagen copiada",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "تکرار",
"operation.edit": "ویرایش",
"operation.exporting": "در حال خروجی گرفتن",
"operation.fill": "پر کردن خودکار",
"operation.format": "قالب",
"operation.getForFree": "دریافت رایگان",
"operation.imageCopied": "تصویر کپی شده",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Dupliquer",
"operation.edit": "Modifier",
"operation.exporting": "Exportation",
"operation.fill": "Remplissage auto",
"operation.format": "Format",
"operation.getForFree": "Obtenez gratuitement",
"operation.imageCopied": "Image copied",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "डुप्लिकेट",
"operation.edit": "संपादित करें",
"operation.exporting": "निर्यात हो रहा है",
"operation.fill": "ऑटोफिल",
"operation.format": "फॉर्मेट",
"operation.getForFree": "मुफ्त में प्राप्त करें",
"operation.imageCopied": "कॉपी की गई छवि",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplikat",
"operation.edit": "Mengedit",
"operation.exporting": "Mengekspor",
"operation.fill": "Isi otomatis",
"operation.format": "Format",
"operation.getForFree": "Dapatkan gratis",
"operation.imageCopied": "Gambar yang disalin",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplica",
"operation.edit": "Modifica",
"operation.exporting": "Esportazione in corso",
"operation.fill": "Compilazione automatica",
"operation.format": "Formato",
"operation.getForFree": "Ottieni gratuitamente",
"operation.imageCopied": "Immagine copiata",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "複製",
"operation.edit": "編集",
"operation.exporting": "エクスポート中",
"operation.fill": "自動入力",
"operation.format": "フォーマット",
"operation.getForFree": "無料で入手",
"operation.imageCopied": "コピーした画像",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "중복",
"operation.edit": "편집",
"operation.exporting": "내보내는 중",
"operation.fill": "자동 입력",
"operation.format": "형식",
"operation.getForFree": "무료로 받기",
"operation.imageCopied": "복사된 이미지",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplicate",
"operation.edit": "Edit",
"operation.exporting": "Exporteren",
"operation.fill": "Automatisch invullen",
"operation.format": "Format",
"operation.getForFree": "Get for free",
"operation.imageCopied": "Image copied",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplikuj",
"operation.edit": "Edytuj",
"operation.exporting": "Eksportowanie",
"operation.fill": "Autouzupełnianie",
"operation.format": "Format",
"operation.getForFree": "Zdobądź za darmo",
"operation.imageCopied": "Skopiowany obraz",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplicada",
"operation.edit": "Editar",
"operation.exporting": "Exportando",
"operation.fill": "Preenchimento automático",
"operation.format": "Formato",
"operation.getForFree": "Obter gratuitamente",
"operation.imageCopied": "Imagem copiada",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Duplică",
"operation.edit": "Editează",
"operation.exporting": "Se exportă",
"operation.fill": "Completare automată",
"operation.format": "Format",
"operation.getForFree": "Obține gratuit",
"operation.imageCopied": "Imagine copiată",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Дублировать",
"operation.edit": "Редактировать",
"operation.exporting": "Экспорт",
"operation.fill": "Автозаполнение",
"operation.format": "Формат",
"operation.getForFree": "Получить бесплатно",
"operation.imageCopied": "Скопированное изображение",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Podvoji",
"operation.edit": "Uredi",
"operation.exporting": "Izvažanje",
"operation.fill": "Samodejno izpolni",
"operation.format": "Format",
"operation.getForFree": "Dobite brezplačno",
"operation.imageCopied": "Kopirana slika",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "สำเนา",
"operation.edit": "แก้ไข",
"operation.exporting": "กำลังส่งออก",
"operation.fill": "กรอกอัตโนมัติ",
"operation.format": "รูปแบบ",
"operation.getForFree": "รับฟรี",
"operation.imageCopied": "ภาพที่คัดลอก",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Çoğalt",
"operation.edit": "Düzenle",
"operation.exporting": "Dışa aktarılıyor",
"operation.fill": "Otomatik doldur",
"operation.format": "Format",
"operation.getForFree": "Ücretsiz edinin",
"operation.imageCopied": "Kopyalanan görüntü",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "дублікат",
"operation.edit": "Редагувати",
"operation.exporting": "Експорт",
"operation.fill": "Автозаповнення",
"operation.format": "Формат",
"operation.getForFree": "Отримати безкоштовно",
"operation.imageCopied": "Скопійоване зображення",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "Nhân bản",
"operation.edit": "Chỉnh sửa",
"operation.exporting": "Đang xuất",
"operation.fill": "Tự động điền",
"operation.format": "Định dạng",
"operation.getForFree": "Nhận miễn phí",
"operation.imageCopied": "Hình ảnh sao chép",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "复制",
"operation.edit": "编辑",
"operation.exporting": "导出中",
"operation.fill": "一键填入",
"operation.format": "格式化",
"operation.getForFree": "免费获取",
"operation.imageCopied": "图片已复制",

View File

@ -497,6 +497,7 @@
"operation.duplicate": "複製",
"operation.edit": "編輯",
"operation.exporting": "匯出中",
"operation.fill": "一鍵填入",
"operation.format": "格式",
"operation.getForFree": "免費獲取",
"operation.imageCopied": "複製的圖片",