diff --git a/front/src/App.vue b/front/src/App.vue
index 5d23e078e..2cc1be1d5 100644
--- a/front/src/App.vue
+++ b/front/src/App.vue
@@ -1,31 +1,33 @@
-
-
+
+
+
+
+
+
+
-
+
diff --git a/front/src/components/federation/UserFollowButton.vue b/front/src/components/federation/UserFollowButton.vue
index 3029b86a7..cdd83abf3 100644
--- a/front/src/components/federation/UserFollowButton.vue
+++ b/front/src/components/federation/UserFollowButton.vue
@@ -2,8 +2,11 @@
import type { Actor } from '~/types'
import { computed } from 'vue'
+import { useI18n } from 'vue-i18n'
import { useStore } from '~/store'
+const { t } = useI18n()
+
interface Events {
(e: 'unfollowed'): void
(e: 'followed'): void
@@ -39,13 +42,13 @@ const toggle = () => {
>
- {{ $t('components.audio.LibraryFollowButton.button.unfollow') }}
+ {{ t('components.audio.LibraryFollowButton.button.unfollow') }}
- {{ $t('components.audio.LibraryFollowButton.button.cancel') }}
+ {{ t('components.audio.LibraryFollowButton.button.cancel') }}
- {{ $t('components.audio.LibraryFollowButton.button.follow') }}
+ {{ t('components.audio.LibraryFollowButton.button.follow') }}
diff --git a/front/src/components/playlists/PlaylistDropdown.vue b/front/src/components/playlists/PlaylistDropdown.vue
index 2d8034628..064dc9bd1 100644
--- a/front/src/components/playlists/PlaylistDropdown.vue
+++ b/front/src/components/playlists/PlaylistDropdown.vue
@@ -95,7 +95,7 @@ const triggerFileInput = () => {
{{ labels.export }}
import type { RouterLinkProps } from 'vue-router'
+import { useAttrs } from 'vue'
import Layout from '~/components/ui/Layout.vue'
import Spacer from '~/components/ui/layout/Spacer.vue'
@@ -20,13 +21,14 @@ const [headingLevel, title] =
const numberOfColumnsPerItem =
'noItems' in props && props.noItems ? 1 : 'tinyItems' in props && props.tinyItems ? 2 : 'smallItems' in props && props['smallItems'] ? 3 : 4
+const { style, ...fallthroughProps } = useAttrs()
const headerGrid =
`auto / repeat(auto-fit, calc(46px * ${numberOfColumnsPerItem} + 32px * ${numberOfColumnsPerItem - 1}))`
-
+
@@ -60,7 +62,7 @@ const headerGrid =
ghost force-underline thinFont align-self="baseline"
:style="`margin-right: ${('primary' in props || 'secondary' in props || 'destructive' in props) ? '0px' : '-16px'}`"
:to="props.action.to"
- v-bind="$attrs"
+ v-bind="fallthroughProps"
>
{{ props.action.text }}
diff --git a/front/src/composables/width.ts b/front/src/composables/width.ts
index 245afd648..7d63c1f64 100644
--- a/front/src/composables/width.ts
+++ b/front/src/composables/width.ts
@@ -18,7 +18,7 @@ export type WidthProps =
export type Key = KeysOfUnion
const widths = {
- minContent: 'width: min-content;',
+ minContent: 'width: min-content; flex-grow: 0;',
iconWidth: 'width: 40px;',
tiny: "width: 124px; grid-column: span 2;",
buttonWidth: "width: 136px; grid-column: span 2; flex-grow: 0; min-width: min-content;",
diff --git a/front/src/ui/App.vue b/front/src/ui/App.vue
deleted file mode 100644
index 0865ec429..000000000
--- a/front/src/ui/App.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/front/src/ui/components/Sidebar.vue b/front/src/ui/components/Sidebar.vue
index 59f0e60b7..0fdbddf2a 100644
--- a/front/src/ui/components/Sidebar.vue
+++ b/front/src/ui/components/Sidebar.vue
@@ -3,12 +3,10 @@ import { ref, onMounted, watch, computed } from 'vue'
import { useUploadsStore } from '../stores/upload'
import { useI18n } from 'vue-i18n'
import { useStore } from '~/store'
-import { color } from '~/composables/color'
import Logo from '~/components/Logo.vue'
import Input from '~/components/ui/Input.vue'
import Link from '~/components/ui/Link.vue'
-import ActorAvatar from '~/components/common/ActorAvatar.vue'
import UserMenu from './UserMenu.vue'
import Button from '~/components/ui/Button.vue'
import Layout from '~/components/ui/Layout.vue'
@@ -62,7 +60,6 @@ const logoUrl = computed(() => store.state.auth.authenticated ? 'library.index'
round
square-small
icon="bi-upload"
- :class="[$style.button]"
ghost
@click="store.commit('ui/toggleModal', 'upload')"
:aria-pressed="store.state.ui.modalsOpen.has('upload') || undefined"
@@ -106,7 +103,9 @@ const logoUrl = computed(() => store.state.auth.authenticated ? 'library.index'
/>
-
+
+
+
store.state.auth.authenticated ? 'library.index'
}
}
- .search {
- padding: 0 4px;
- margin-bottom: 28px;
- }
-
> h3 {
margin: 0;
padding: 0 32px 8px;
diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue
index dc5a10f65..a8fe9d69c 100644
--- a/front/src/views/auth/ProfileBase.vue
+++ b/front/src/views/auth/ProfileBase.vue
@@ -36,6 +36,7 @@ const props = withDefaults(defineProps(), {
const { report, getReportableObjects } = useReport()
const store = useStore()
+// We are working either with an Actor or null
const object = ref(null)
const displayName = computed(() => object.value?.name ?? object.value?.preferred_username)
@@ -79,7 +80,6 @@ watch(props, fetchData, { immediate: true })
@@ -136,7 +136,7 @@ watch(props, fetchData, { immediate: true })
-->
-
-
-
-
- {{ displayName }}
- Edit profile
-
- {{ object?.full_username }}
-
{{ object?.full_username }}
@@ -226,12 +216,16 @@ watch(props, fetchData, { immediate: true })
+