mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-04 20:43:04 +00:00
add queue page
This commit is contained in:
@@ -82,9 +82,10 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.separator {
|
.separator {
|
||||||
border-top: 0.1px $separator solid;
|
border-top: 1px $separator solid;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
margin: $small 0 $small 0;
|
margin: $small 0 $small 0;
|
||||||
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-border {
|
.no-border {
|
||||||
|
|||||||
@@ -5,8 +5,18 @@
|
|||||||
:key="menu.name"
|
:key="menu.name"
|
||||||
:to="{ name: menu.route_name, params: menu?.params }"
|
:to="{ name: menu.route_name, params: menu?.params }"
|
||||||
>
|
>
|
||||||
<div v-if="menu.separator" :class="{ separator: menu.separator }"></div>
|
<div
|
||||||
<div class="nav-button" id="home-button" v-else>
|
v-if="menu.separator"
|
||||||
|
:class="{
|
||||||
|
separator: menu.separator,
|
||||||
|
}"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
class="nav-button"
|
||||||
|
id="home-button"
|
||||||
|
:class="{ active: menu.route_name === $route.name }"
|
||||||
|
v-else
|
||||||
|
>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<component :is="menu.icon"></component>
|
<component :is="menu.icon"></component>
|
||||||
<span>{{ menu.name }}</span>
|
<span>{{ menu.name }}</span>
|
||||||
@@ -36,6 +46,15 @@ const menus = [
|
|||||||
params: { path: "$home" },
|
params: { path: "$home" },
|
||||||
icon: FolderSvg,
|
icon: FolderSvg,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
separator: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "queue",
|
||||||
|
route_name: Routes.queue,
|
||||||
|
icon: PlaylistSvg,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "search",
|
name: "search",
|
||||||
route_name: Routes.search,
|
route_name: Routes.search,
|
||||||
@@ -54,29 +73,25 @@ const menus = [
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.side-nav-container {
|
.side-nav-container {
|
||||||
color: #fff;
|
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
|
||||||
|
.active {
|
||||||
|
background-color: $gray4;
|
||||||
|
}
|
||||||
|
|
||||||
.nav-button {
|
.nav-button {
|
||||||
border-radius: $small;
|
border-radius: $small;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
padding: 0.6rem 0;
|
padding: $smaller 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: $gray3;
|
background-color: $gray3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-icon {
|
|
||||||
height: 2rem;
|
|
||||||
width: 2rem;
|
|
||||||
margin: 0 $small 0 $small;
|
|
||||||
border-radius: $small;
|
|
||||||
background-color: rgb(26, 24, 24);
|
|
||||||
}
|
|
||||||
|
|
||||||
.in {
|
.in {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -90,6 +105,7 @@ const menus = [
|
|||||||
svg {
|
svg {
|
||||||
margin: 0 $small 0 $small;
|
margin: 0 $small 0 $small;
|
||||||
border-radius: $small;
|
border-radius: $small;
|
||||||
|
transform: scale(0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
svg > path {
|
svg > path {
|
||||||
|
|||||||
@@ -18,5 +18,3 @@ import useSettingsStore from "@/stores/settings";
|
|||||||
|
|
||||||
const settings = useSettingsStore();
|
const settings = useSettingsStore();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss"></style>
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export enum ContextSrc {
|
|||||||
PHeader = "PHeader",
|
PHeader = "PHeader",
|
||||||
Track = "Track",
|
Track = "Track",
|
||||||
AHeader = "AHeader",
|
AHeader = "AHeader",
|
||||||
FHeader = "FHeader"
|
FHeader = "FHeader",
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum Routes {
|
export enum Routes {
|
||||||
@@ -34,5 +34,6 @@ export enum Routes {
|
|||||||
album = "AlbumView",
|
album = "AlbumView",
|
||||||
artists = "ArtistsView",
|
artists = "ArtistsView",
|
||||||
settings = "SettingsView",
|
settings = "SettingsView",
|
||||||
search = "SearchView"
|
search = "SearchView",
|
||||||
|
queue = "QueueView",
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,7 @@ import PlaylistList from "@/views/PlaylistList.vue";
|
|||||||
import PlaylistView from "@/views/playlist/index.vue";
|
import PlaylistView from "@/views/playlist/index.vue";
|
||||||
import SettingsView from "@/views/SettingsView.vue";
|
import SettingsView from "@/views/SettingsView.vue";
|
||||||
import SearchView from "@/views/Search.vue";
|
import SearchView from "@/views/Search.vue";
|
||||||
|
import QueueView from "@/views/QueueView.vue";
|
||||||
|
|
||||||
import { createRouter, createWebHashHistory } from "vue-router";
|
import { createRouter, createWebHashHistory } from "vue-router";
|
||||||
|
|
||||||
@@ -101,6 +102,11 @@ const routes = [
|
|||||||
name: "SearchView",
|
name: "SearchView",
|
||||||
component: SearchView,
|
component: SearchView,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/queue",
|
||||||
|
name: "QueueView",
|
||||||
|
component: QueueView,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/:pathMatch(.*)",
|
path: "/:pathMatch(.*)",
|
||||||
component: () => import("../views/NotFound.vue"),
|
component: () => import("../views/NotFound.vue"),
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<template>
|
||||||
|
<div class="queue-view">
|
||||||
|
<Queue />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import Queue from "@/components/RightSideBar/Queue.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.queue-view {
|
||||||
|
background-color: $black;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user