diff --git a/front/src/App.vue b/front/src/App.vue index 37b9f48a7..3fe84eae7 100644 --- a/front/src/App.vue +++ b/front/src/App.vue @@ -87,6 +87,7 @@ store.dispatch('auth/fetchUser') 'has-bottom-player': tracks.length > 0, 'queue-focused': store.state.ui.queueFocused }" + id="fw-content" > - - - - - + + + + + + + @@ -130,3 +133,12 @@ store.dispatch('auth/fetchUser') + + diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index a3cd9ca78..8655de8b9 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -1,591 +1,167 @@ - diff --git a/front/src/main.ts b/front/src/main.ts index 597b47079..331c1300e 100644 --- a/front/src/main.ts +++ b/front/src/main.ts @@ -3,6 +3,9 @@ import type { InitModule, InitModuleContext } from '~/types' import store, { key } from '~/store' import router from '~/router' +import FunkwhaleUI from '@funkwhale/ui' +import '@funkwhale/ui/style.css' + import { createApp, defineAsyncComponent, h } from 'vue' import useLogger from '~/composables/useLogger' @@ -37,6 +40,7 @@ const app = createApp({ app.use(router) app.use(store, key) +app.use(FunkwhaleUI) const modules: Record = import.meta.glob('./init/*.ts', { eager: true }) const moduleContext: InitModuleContext = { diff --git a/front/src/style/_global-vars.scss b/front/src/style/_global-vars.scss new file mode 100644 index 000000000..a5ab91538 --- /dev/null +++ b/front/src/style/_global-vars.scss @@ -0,0 +1,3 @@ +$desktop-sidebar-width: 275px; +$widedesktop-sidebar-width: 275px; +$bottom-player-height: 4rem; diff --git a/front/src/style/_main.scss b/front/src/style/_main.scss index 797948cba..8a21551dc 100644 --- a/front/src/style/_main.scss +++ b/front/src/style/_main.scss @@ -1,9 +1,8 @@ @use "./_vars" as *; // not in vars because not meant to be overridden -$desktop-sidebar-width: 275px; -$widedesktop-sidebar-width: 275px; -$bottom-player-height: 4rem; +// TODO (wvffle): Already imported globally in every file, needs to be redesigned +@use "./global-vars" as *; @import "@funkwhale/ui/style.css"; diff --git a/front/src/style/globals/_layout.scss b/front/src/style/globals/_layout.scss index a6759410f..7b20bda36 100644 --- a/front/src/style/globals/_layout.scss +++ b/front/src/style/globals/_layout.scss @@ -74,13 +74,6 @@ > .main.pusher, > .footer { position: relative; - @include media(">desktop") { - margin-left: $desktop-sidebar-width !important; - } - - @include media(">widedesktop") { - margin-left: $widedesktop-sidebar-width !important;; - } transform: none !important; } } diff --git a/front/vite.config.ts b/front/vite.config.ts index f46eb8807..72d02c58f 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -8,6 +8,9 @@ import manifest from './pwa-manifest.json' import VueI18n from '@intlify/unplugin-vue-i18n/vite' import Vue from '@vitejs/plugin-vue' import VueMacros from 'unplugin-vue-macros/vite' +import VueDevTools from 'vite-plugin-vue-devtools' + +import { fileURLToPath, URL } from "url" const port = +(process.env.VUE_PORT ?? 8080) @@ -15,6 +18,9 @@ const port = +(process.env.VUE_PORT ?? 8080) export default defineConfig(({ mode }) => ({ envPrefix: ['VUE_', 'FUNKWHALE_SENTRY_'], plugins: [ + // https://github.com/webfansplz/vite-plugin-vue-devtools + VueDevTools(), + // https://vue-macros.sxzz.moe/ VueMacros({ plugins: { @@ -48,13 +54,22 @@ export default defineConfig(({ mode }) => ({ server: { port }, - resolve: { - alias: { - '#': resolve(__dirname, './src/worker'), - '?': resolve(__dirname, './test'), - '~': resolve(__dirname, './src') + css: { + preprocessorOptions: { + scss: { + additionalData: ` + @use "./src/style/global-vars" as *; + ` + } } }, + resolve: { + alias: [ + { find: '#', replacement: fileURLToPath(new URL('./src/worker', import.meta.url)) }, + { find: '?', replacement: fileURLToPath(new URL('./test', import.meta.url)) }, + { find: '~', replacement: fileURLToPath(new URL('./src', import.meta.url)) } + ] + }, build: { sourcemap: true, // https://rollupjs.org/configuration-options/