diff --git a/front/src/components/radios/Button.vue b/front/src/components/radios/Button.vue index 67f8032c9..7ed8126c0 100644 --- a/front/src/components/radios/Button.vue +++ b/front/src/components/radios/Button.vue @@ -10,14 +10,15 @@ interface Props { type?: string clientOnly?: boolean objectId?: ObjectId | null - radioConfig: RadioConfig + radioConfig?: RadioConfig | null } const props = withDefaults(defineProps(), { customRadioId: null, type: '', clientOnly: false, - objectId: null + objectId: null, + radioConfig: null }) const store = useStore() @@ -33,7 +34,7 @@ const running = computed(() => { const { $pgettext } = useGettext() const buttonLabel = computed(() => { - switch (props.radioConfig.type) { + switch (props.radioConfig?.type) { case 'tag': return running.value ? $pgettext('*/Player/Button.Label/Short, Verb', 'Stop tags radio') diff --git a/front/src/router/routes/library.ts b/front/src/router/routes/library.ts index 8b79a5c60..63ffcfc7a 100644 --- a/front/src/router/routes/library.ts +++ b/front/src/router/routes/library.ts @@ -26,7 +26,8 @@ export default [ defaultTags: Array.isArray(route.query.tag || []) ? route.query.tag : [route.query.tag], - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -40,7 +41,8 @@ export default [ defaultTags: Array.isArray(route.query.tag || []) ? route.query.tag : [route.query.tag], - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -53,7 +55,8 @@ export default [ defaultTags: Array.isArray(route.query.tag || []) ? route.query.tag : [route.query.tag], - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -66,7 +69,8 @@ export default [ defaultTags: Array.isArray(route.query.tag || []) ? route.query.tag : [route.query.tag], - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -80,7 +84,8 @@ export default [ defaultTags: Array.isArray(route.query.tag || []) ? route.query.tag : [route.query.tag], - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -90,7 +95,8 @@ export default [ props: route => ({ defaultOrdering: route.query.ordering, defaultQuery: route.query.query, - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -101,7 +107,8 @@ export default [ scope: 'me', defaultOrdering: route.query.ordering, defaultQuery: route.query.query, - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -129,7 +136,8 @@ export default [ props: route => ({ defaultOrdering: route.query.ordering, defaultQuery: route.query.query, - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { @@ -140,7 +148,8 @@ export default [ scope: 'me', defaultOrdering: route.query.ordering, defaultQuery: route.query.query, - defaultPage: route.query.page ? +route.query.page : undefined + defaultPage: route.query.page ? +route.query.page : undefined, + orderingConfigName: null }) }, { diff --git a/front/src/types.ts b/front/src/types.ts index b7d236bcc..72a233e4e 100644 --- a/front/src/types.ts +++ b/front/src/types.ts @@ -143,6 +143,9 @@ export interface LibraryScan { export interface LibraryFollow { uuid: string approved: boolean + + // TODO (wvffle): Check if it's not added only on frontend side + isLoading?: boolean } export interface Cover { diff --git a/front/src/views/Search.vue b/front/src/views/Search.vue index 774dbcef0..8739ef53d 100644 --- a/front/src/views/Search.vue +++ b/front/src/views/Search.vue @@ -8,6 +8,7 @@ import TrackTable from '~/components/audio/track/Table.vue' import Pagination from '~/components/vui/Pagination.vue' import PlaylistCardList from '~/components/playlists/CardList.vue' import RadioCard from '~/components/radios/Card.vue' +import RadioButton from '~/components/radios/Button.vue' import TagsList from '~/components/tags/List.vue' import { ref, reactive, computed, watch } from 'vue' import { useRouter, onBeforeRouteUpdate } from 'vue-router' diff --git a/front/src/views/library/Edit.vue b/front/src/views/library/Edit.vue index 6d803a21a..1a7a3b5a5 100644 --- a/front/src/views/library/Edit.vue +++ b/front/src/views/library/Edit.vue @@ -1,3 +1,51 @@ + + - -