From a463cc305ae7a52857ca64cac95638a5a67133d3 Mon Sep 17 00:00:00 2001 From: upsiflu Date: Thu, 6 Feb 2025 17:51:23 +0100 Subject: [PATCH] chore(front): replace semantic-modal with Modal component (+ some modernization) --- front/src/components/SetInstanceModal.vue | 16 ++-- front/src/components/audio/podcast/Modal.vue | 29 ++++--- front/src/components/audio/track/Modal.vue | 28 ++++--- front/src/components/channels/AlbumModal.vue | 29 +++---- front/src/components/channels/UploadModal.vue | 23 ++---- front/src/components/common/LoginModal.vue | 31 ++++---- .../src/components/federation/FetchButton.vue | 15 ++-- .../src/components/library/AlbumDropdown.vue | 28 +++---- .../components/library/ImportStatusModal.vue | 17 ++--- .../src/components/library/radios/Filter.vue | 13 ++-- .../manage/moderation/InstancePolicyModal.vue | 25 +++---- .../src/components/moderation/FilterModal.vue | 29 +++---- .../src/components/moderation/ReportModal.vue | 32 ++++---- front/src/components/semantic/Modal.vue | 33 -------- front/src/views/auth/ProfileOverview.vue | 60 +++++++-------- front/src/views/channels/DetailBase.vue | 75 +++++++------------ 16 files changed, 184 insertions(+), 299 deletions(-) delete mode 100644 front/src/components/semantic/Modal.vue diff --git a/front/src/components/SetInstanceModal.vue b/front/src/components/SetInstanceModal.vue index 23926979b..148adb520 100644 --- a/front/src/components/SetInstanceModal.vue +++ b/front/src/components/SetInstanceModal.vue @@ -1,11 +1,13 @@ diff --git a/front/src/components/audio/podcast/Modal.vue b/front/src/components/audio/podcast/Modal.vue index c4839480f..65794d8bc 100644 --- a/front/src/components/audio/podcast/Modal.vue +++ b/front/src/components/audio/podcast/Modal.vue @@ -1,12 +1,11 @@ diff --git a/front/src/components/audio/track/Modal.vue b/front/src/components/audio/track/Modal.vue index 6ded87397..39e1a6fe8 100644 --- a/front/src/components/audio/track/Modal.vue +++ b/front/src/components/audio/track/Modal.vue @@ -1,17 +1,18 @@ diff --git a/front/src/components/channels/AlbumModal.vue b/front/src/components/channels/AlbumModal.vue index ba19a8795..0f5bae0e4 100644 --- a/front/src/components/channels/AlbumModal.vue +++ b/front/src/components/channels/AlbumModal.vue @@ -1,12 +1,14 @@ diff --git a/front/src/components/channels/UploadModal.vue b/front/src/components/channels/UploadModal.vue index 9bd9aa0e6..116a9345a 100644 --- a/front/src/components/channels/UploadModal.vue +++ b/front/src/components/channels/UploadModal.vue @@ -1,5 +1,5 @@ diff --git a/front/src/components/common/LoginModal.vue b/front/src/components/common/LoginModal.vue index 438c71a4e..d0b0ad502 100644 --- a/front/src/components/common/LoginModal.vue +++ b/front/src/components/common/LoginModal.vue @@ -2,11 +2,14 @@ import type { RouteLocationRaw } from 'vue-router' import type { Cover } from '~/types' -import SemanticModal from '~/components/semantic/Modal.vue' import { ref, computed } from 'vue' import { useI18n } from 'vue-i18n' import { useStore } from '~/store' +import Modal from '~/components/ui/Modal.vue' +import Link from '~/components/ui/Link.vue' +import Spacer from '~/components/ui/Spacer.vue' + interface Props { nextRoute: RouteLocationRaw message: string @@ -29,10 +32,7 @@ const labels = computed(() => ({ + diff --git a/front/src/components/federation/FetchButton.vue b/front/src/components/federation/FetchButton.vue index d259d13df..c674f1888 100644 --- a/front/src/components/federation/FetchButton.vue +++ b/front/src/components/federation/FetchButton.vue @@ -2,7 +2,7 @@ import type { BackendError } from '~/types' import axios from 'axios' -import SemanticModal from '~/components/semantic/Modal.vue' +import Modal from '~/components/ui/Modal.vue' import Button from '~/components/ui/Button.vue' import { useTimeoutFn } from '@vueuse/core' import { ref } from 'vue' @@ -80,13 +80,11 @@ const { start: startPolling } = useTimeoutFn(poll, 1000, { immediate: false })
- -

- {{ t('components.federation.FetchButton.header.refresh') }} -

diff --git a/front/src/components/library/AlbumDropdown.vue b/front/src/components/library/AlbumDropdown.vue index 75b48db87..5cb0d6133 100644 --- a/front/src/components/library/AlbumDropdown.vue +++ b/front/src/components/library/AlbumDropdown.vue @@ -10,7 +10,8 @@ import { getDomain } from '~/utils' import useReport from '~/composables/moderation/useReport' import EmbedWizard from '~/components/audio/EmbedWizard.vue' -import SemanticModal from '~/components/semantic/Modal.vue' + +import Modal from '~/components/ui/Modal.vue' import Button from '~/components/ui/Button.vue' import Popover from '~/components/ui/Popover.vue' import PopoverItem from '~/components/ui/popover/PopoverItem.vue' @@ -45,7 +46,10 @@ const labels = computed(() => ({ more: t('components.library.AlbumDropdown.button.more') })) -const isEmbedable = computed(() => (props.isChannel && props.artistCredit[0].artist?.channel?.actor) || props.publicLibraries.length) +// TODO: What is the condition for an album to be embeddable? +// (a) props.publicLibraries.length +// (b) I am the channel's artist: props.isChannel && props.artistCredit[0].artist?.channel?.actor) +const isEmbedable = computed(() => (props.publicLibraries.length)) const musicbrainzUrl = computed(() => props.object?.mbid ? `https://musicbrainz.org/release/${props.object.mbid}` : null) const discogsUrl = computed(() => `https://discogs.com/search/?type=release&title=${encodeURI(props.object?.title)}&artist=${encodeURI(props.object?.artist_credit[0].artist.name)}`) @@ -56,32 +60,20 @@ const open = ref(false) diff --git a/front/src/components/moderation/FilterModal.vue b/front/src/components/moderation/FilterModal.vue index f4e36acd6..f917c8972 100644 --- a/front/src/components/moderation/FilterModal.vue +++ b/front/src/components/moderation/FilterModal.vue @@ -7,9 +7,11 @@ import { computed, ref } from 'vue' import { useI18n } from 'vue-i18n' import { useStore } from '~/store' -import SemanticModal from '~/components/semantic/Modal.vue' import useLogger from '~/composables/useLogger' +import Modal from '~/components/ui/Modal.vue' +import Alert from '~/components/ui/Alert.vue' + const logger = useLogger() const { t } = useI18n() @@ -58,23 +60,15 @@ const hide = async () => { diff --git a/front/src/components/semantic/Modal.vue b/front/src/components/semantic/Modal.vue deleted file mode 100644 index 1dc713551..000000000 --- a/front/src/components/semantic/Modal.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/front/src/views/auth/ProfileOverview.vue b/front/src/views/auth/ProfileOverview.vue index c1fad8de7..8261c49a1 100644 --- a/front/src/views/auth/ProfileOverview.vue +++ b/front/src/views/auth/ProfileOverview.vue @@ -1,7 +1,6 @@