ui: improve modal escape and rail wrapping

This commit is contained in:
2026-04-06 12:30:49 +09:00
parent bdc7ee42e2
commit 58b8df51ab
4 changed files with 93 additions and 3 deletions

View File

@@ -419,6 +419,26 @@ function handleAdminPopState() {
function handleAdminKeydown(event) {
if (event.key !== 'Escape') return
if (previewModalOpen.value) {
event.preventDefault()
closePreviewModal()
return
}
if (imageResetModalOpen.value) {
event.preventDefault()
closeImageResetModal()
return
}
if (adminTierListManageModalOpen.value) {
event.preventDefault()
closeAdminTierListManageModal()
return
}
if (templateItemDeleteModalOpen.value) {
event.preventDefault()
closeTemplateItemDeleteModal()
return
}
if (customItemDeleteModalOpen.value) {
event.preventDefault()
closeCustomItemDeleteModal()
@@ -429,9 +449,55 @@ function handleAdminKeydown(event) {
closeCustomItemModal()
return
}
if (previewModalOpen.value) {
if (templatePickerModalOpen.value) {
event.preventDefault()
closePreviewModal()
closeTemplatePickerModal()
return
}
if (templateBulkTagModalOpen.value) {
event.preventDefault()
closeTemplateBulkTagModal()
return
}
if (templateLibraryItemModalOpen.value) {
event.preventDefault()
closeTemplateLibraryItemModal()
return
}
if (templateSourceImportModalOpen.value) {
event.preventDefault()
closeTemplateSourceImportModal()
return
}
if (importModalOpen.value) {
event.preventDefault()
closeTierListImportModal()
return
}
if (userRoleModalOpen.value) {
event.preventDefault()
closeUserRoleModal()
return
}
if (userDeleteModalOpen.value) {
event.preventDefault()
closeUserDeleteModal()
return
}
if (userPasswordModalOpen.value) {
event.preventDefault()
closeUserPasswordModal()
return
}
if (userEditModalOpen.value) {
event.preventDefault()
closeUserEditModal()
return
}
if (templateCreateModalOpen.value) {
event.preventDefault()
closeTemplateCreateModal()
return
}
}