diff --git a/front/src/components/auth/Settings.vue b/front/src/components/auth/Settings.vue index df2580f27..c08c6d34c 100644 --- a/front/src/components/auth/Settings.vue +++ b/front/src/components/auth/Settings.vue @@ -13,9 +13,11 @@ import { useStore } from '~/store' import useSharedLabels from '~/composables/locale/useSharedLabels' import useLogger from '~/composables/useLogger' +import DangerousButton from '~/components/common/DangerousButton.vue' import SubsonicTokenForm from '~/components/auth/SubsonicTokenForm.vue' import AttachmentInput from '~/components/common/AttachmentInput.vue' import PasswordInput from '~/components/forms/PasswordInput.vue' + import Input from '~/components/ui/Input.vue' import Layout from '~/components/ui/Layout.vue' import Header from '~/components/ui/Header.vue' @@ -412,13 +414,9 @@ fetchOwnedApps() {{ t('components.auth.Settings.button.password') }} - diff --git a/front/src/components/common/ActionTable.vue b/front/src/components/common/ActionTable.vue index 8ae5a5138..f8ef6aa16 100644 --- a/front/src/components/common/ActionTable.vue +++ b/front/src/components/common/ActionTable.vue @@ -4,6 +4,8 @@ import type { BackendError } from '~/types' import { ref, computed, reactive, watch } from 'vue' import { useI18n } from 'vue-i18n' +import DangerousButton from '~/components/common/DangerousButton.vue' + import axios from 'axios' interface Action { @@ -203,33 +205,26 @@ const launchAction = async () => {
{{ t('components.common.ActionTable.button.go') }} - {{ t('components.manage.moderation.InstancePolicyForm.button.delete') }} - diff --git a/front/src/components/manage/moderation/NotesThread.vue b/front/src/components/manage/moderation/NotesThread.vue index 9f02b4603..c37ff473f 100644 --- a/front/src/components/manage/moderation/NotesThread.vue +++ b/front/src/components/manage/moderation/NotesThread.vue @@ -5,11 +5,12 @@ import { useMarkdownRaw } from '~/composables/useMarkdown' import { ref } from 'vue' import { useI18n } from 'vue-i18n' - import axios from 'axios' import useErrorHandler from '~/composables/useErrorHandler' +import DangerousButton from '~/components/common/DangerousButton.vue' + interface Events { (e: 'deleted', uuid: string): void } @@ -64,27 +65,19 @@ const remove = async (note: Note) => {
- {{ t('components.manage.moderation.NotesThread.button.delete') }} - +
diff --git a/front/src/components/manage/moderation/ReportCard.vue b/front/src/components/manage/moderation/ReportCard.vue index 3c3c64858..d3c892348 100644 --- a/front/src/components/manage/moderation/ReportCard.vue +++ b/front/src/components/manage/moderation/ReportCard.vue @@ -11,6 +11,7 @@ import InstancePolicyModal from '~/components/manage/moderation/InstancePolicyMo import ReportCategoryDropdown from '~/components/moderation/ReportCategoryDropdown.vue' import NotesThread from '~/components/manage/moderation/NotesThread.vue' import NoteForm from '~/components/manage/moderation/NoteForm.vue' +import DangerousButton from '~/components/common/DangerousButton.vue' import useReportConfigs from '~/composables/moderation/useReportConfigs' import useErrorHandler from '~/composables/useErrorHandler' @@ -446,21 +447,17 @@ const handleRemovedNote = (uuid: string) => { > -   {{ action.label }} - diff --git a/front/src/components/playlists/Editor.vue b/front/src/components/playlists/Editor.vue index b63d11ce0..f05c666a4 100644 --- a/front/src/components/playlists/Editor.vue +++ b/front/src/components/playlists/Editor.vue @@ -13,7 +13,9 @@ import { useStore } from '~/store' import draggable from 'vuedraggable' import axios from 'axios' +import DangerousButton from '~/components/common/DangerousButton.vue' import PlaylistForm from '~/components/playlists/Form.vue' + import Layout from '~/components/ui/Layout.vue' import Button from '~/components/ui/Button.vue' import Alert from '~/components/ui/Alert.vue' @@ -237,25 +239,17 @@ const insertMany = async (insertedTracks: number[], allowDuplicates: boolean) => - {{ t('components.playlists.Editor.button.clear') }} -
{{ t('views.admin.ChannelDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/AlbumDetail.vue b/front/src/views/admin/library/AlbumDetail.vue index 5f9a0560e..590047508 100644 --- a/front/src/views/admin/library/AlbumDetail.vue +++ b/front/src/views/admin/library/AlbumDetail.vue @@ -7,6 +7,7 @@ import { useStore } from '~/store' import axios from 'axios' +import DangerousButton from '~/components/common/DangerousButton.vue' import FetchButton from '~/components/federation/FetchButton.vue' import TagsList from '~/components/tags/List.vue' @@ -193,26 +194,16 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"`
{{ t('views.admin.library.AlbumDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/ArtistDetail.vue b/front/src/views/admin/library/ArtistDetail.vue index 66280157f..121a4246d 100644 --- a/front/src/views/admin/library/ArtistDetail.vue +++ b/front/src/views/admin/library/ArtistDetail.vue @@ -7,6 +7,7 @@ import { useStore } from '~/store' import axios from 'axios' +import DangerousButton from '~/components/common/DangerousButton.vue' import FetchButton from '~/components/federation/FetchButton.vue' import TagsList from '~/components/tags/List.vue' @@ -181,37 +182,27 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"`
- - {{ t('views.admin.library.ArtistDetail.button.edit') }} - +
{{ t('views.admin.library.ArtistDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/LibraryDetail.vue b/front/src/views/admin/library/LibraryDetail.vue index 261348fa6..61cca9aaa 100644 --- a/front/src/views/admin/library/LibraryDetail.vue +++ b/front/src/views/admin/library/LibraryDetail.vue @@ -13,6 +13,8 @@ import useSharedLabels from '~/composables/locale/useSharedLabels' import useErrorHandler from '~/composables/useErrorHandler' import useLogger from '~/composables/useLogger' +import DangerousButton from '~/components/common/DangerousButton.vue' + const PRIVACY_LEVELS = ['me', 'instance', 'everyone'] as PrivacyLevel[] interface Props { @@ -168,26 +170,16 @@ const updateObj = async (attr: string) => {
{{ t('views.admin.library.LibraryDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/TagDetail.vue b/front/src/views/admin/library/TagDetail.vue index 4c3890d84..29b5de3cc 100644 --- a/front/src/views/admin/library/TagDetail.vue +++ b/front/src/views/admin/library/TagDetail.vue @@ -9,6 +9,8 @@ import axios from 'axios' import useErrorHandler from '~/composables/useErrorHandler' +import DangerousButton from '~/components/common/DangerousButton.vue' + interface Props { id: number } @@ -105,26 +107,16 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"`
{{ t('views.admin.library.TagDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/TrackDetail.vue b/front/src/views/admin/library/TrackDetail.vue index 9347eb5d6..59d5b91b1 100644 --- a/front/src/views/admin/library/TrackDetail.vue +++ b/front/src/views/admin/library/TrackDetail.vue @@ -12,6 +12,8 @@ import TagsList from '~/components/tags/List.vue' import useErrorHandler from '~/composables/useErrorHandler' +import DangerousButton from '~/components/common/DangerousButton.vue' + interface Props { id: number } @@ -193,26 +195,16 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"`
{{ t('views.admin.library.TrackDetail.button.delete') }} -
diff --git a/front/src/views/admin/library/UploadDetail.vue b/front/src/views/admin/library/UploadDetail.vue index 7012affd7..b1150e5da 100644 --- a/front/src/views/admin/library/UploadDetail.vue +++ b/front/src/views/admin/library/UploadDetail.vue @@ -15,6 +15,8 @@ import ImportStatusModal from '~/components/library/ImportStatusModal.vue' import useSharedLabels from '~/composables/locale/useSharedLabels' import useErrorHandler from '~/composables/useErrorHandler' +import DangerousButton from '~/components/common/DangerousButton.vue' + interface Props { id: number } @@ -155,26 +157,16 @@ const showUploadDetailModal = ref(false)
{{ t('views.admin.library.UploadDetail.button.delete') }} -
diff --git a/front/src/views/channels/DetailBase.vue b/front/src/views/channels/DetailBase.vue index cf2885c65..3030c5f66 100644 --- a/front/src/views/channels/DetailBase.vue +++ b/front/src/views/channels/DetailBase.vue @@ -11,6 +11,7 @@ import axios from 'axios' import useErrorHandler from '~/composables/useErrorHandler' import useReport from '~/composables/moderation/useReport' +import DangerousButton from '~/components/common/DangerousButton.vue' import SubscribeButton from '~/components/channels/SubscribeButton.vue' import ChannelForm from '~/components/audio/ChannelForm.vue' import EmbedWizard from '~/components/audio/EmbedWizard.vue' @@ -305,22 +306,13 @@ const updateSubscriptionCount = (delta: number) => { - - {{ t('views.channels.DetailBase.button.delete') }} - diff --git a/front/src/views/radios/Detail.vue b/front/src/views/radios/Detail.vue index 1fc7f5424..2bbf3909e 100644 --- a/front/src/views/radios/Detail.vue +++ b/front/src/views/radios/Detail.vue @@ -8,12 +8,13 @@ import { useStore } from '~/store' import axios from 'axios' +import DangerousButton from '~/components/common/DangerousButton.vue' import TrackTable from '~/components/audio/track/Table.vue' import RadioButton from '~/components/radios/Button.vue' + import Layout from '~/components/ui/Layout.vue' import Header from '~/components/ui/Header.vue' import Section from '~/components/ui/Section.vue' -import Spacer from '~/components/ui/Spacer.vue' import Pagination from '~/components/ui/Pagination.vue' import Alert from '~/components/ui/Alert.vue' import Button from '~/components/ui/Button.vue' @@ -98,24 +99,16 @@ const deleteRadio = async () => { {{ t('views.radios.Detail.button.edit') }} - {{ t('views.radios.Detail.button.delete') }} - + {{ t('views.radios.Detail.button.delete') }} @@ -127,9 +120,8 @@ const deleteRadio = async () => {