improve sidebar style

This commit is contained in:
Thomas Amland 2020-08-18 18:09:44 +02:00
parent e7519ef2ef
commit d08118bfad
5 changed files with 46 additions and 29 deletions

View File

@ -1,20 +1,16 @@
<template> <template>
<div class="text-truncate"> <div>
<nav class="nav flex-column"> <nav class="nav flex-column">
<router-link class="nav-link logo" :to="{name: 'home'}"> <router-link class="nav-link logo" :to="{name: 'home'}">
<Logo /> <Logo />
</router-link> </router-link>
<router-link class="nav-link" :to="{name: 'home'}"> <router-link class="nav-link" :to="{name: 'home'}">
<Icon icon="card-text" class="mr-2" /> Home <Icon icon="card-text" class="" /> Home
</router-link> </router-link>
<router-link class="nav-link" :to="{name: 'queue'}"> <router-link class="nav-link" :to="{name: 'queue'}">
<Icon icon="music-note-list" class="mr-2" /> Playing <Icon icon="music-note-list" /> Playing
</router-link>
<router-link class="nav-link" :to="{name: 'starred'}">
<Icon icon="star-fill" class="mr-2" /> Starred
</router-link> </router-link>
<a class="nav-link disabled"> <a class="nav-link disabled">
@ -24,32 +20,25 @@
</a> </a>
<router-link class="nav-link" :to="{name: 'albums'}"> <router-link class="nav-link" :to="{name: 'albums'}">
<Icon icon="collection-fill" class="mr-2" /> Albums <Icon icon="collection" /> Albums
</router-link> </router-link>
<router-link class="nav-link" :to="{name: 'artists'}"> <router-link class="nav-link" :to="{name: 'artists'}">
<Icon icon="collection-fill" class="mr-2" /> Artists <Icon icon="collection" /> Artists
</router-link> </router-link>
<router-link class="nav-item nav-link" :to="{name: 'genres'}"> <router-link class="nav-item nav-link" :to="{name: 'genres'}">
<Icon icon="collection-fill" class="mr-2" /> Genres <Icon icon="collection" /> Genres
</router-link>
<router-link class="nav-link" :to="{name: 'starred'}">
<Icon icon="star" /> Starred
</router-link> </router-link>
<PlaylistNav /> <PlaylistNav />
</nav> </nav>
</div> </div>
</template> </template>
<style lang="scss" scoped>
.logo {
height: 48px;
}
.nav-link {
width: 220px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
<script lang="ts"> <script lang="ts">
import Vue from 'vue' import Vue from 'vue'
import Logo from './Logo.vue' import Logo from './Logo.vue'

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="sidebar elevated"> <div class="sidebar-container elevated">
<div class="d-none d-md-block"> <div class="sidebar-fixed d-none d-md-block">
<Nav /> <Nav />
</div> </div>
<b-sidebar <b-sidebar
@ -18,9 +18,31 @@
</b-sidebar> </b-sidebar>
</div> </div>
</template> </template>
<style lang="scss" scoped> <style>
.sidebar { .sidebar-container .sidebar-fixed {
padding-left: 0.5rem;
padding-right: 0.5rem;
padding-bottom: 180px; padding-bottom: 180px;
width: 250px;
}
.sidebar-container .logo {
height: 48px;
}
.sidebar-container .nav-link {
width: calc(100%);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-container a.nav-link .b-icon {
margin-right: 0.75rem;
}
.sidebar-container a.nav-link:not(.active) .b-icon {
color: var(--text-muted);
} }
</style> </style>
<script lang="ts"> <script lang="ts">

View File

@ -1,5 +1,5 @@
<template> <template>
<div> <div style="max-width: 100%">
<span class="nav-link"> <span class="nav-link">
<small class="text-uppercase text-muted font-weight-bold"> <small class="text-uppercase text-muted font-weight-bold">
Playlists Playlists
@ -9,19 +9,19 @@
</small> </small>
</span> </span>
<router-link class="nav-item nav-link" :to="{name: 'playlist', params: { id: 'random' }}"> <router-link class="nav-link" :to="{name: 'playlist', params: { id: 'random' }}">
<Icon icon="music-note-list" class="mr-2" /> Random <Icon icon="music-note-list" class="mr-2" /> Random
</router-link> </router-link>
<router-link v-for="item in playlists" :key="item.id" <router-link v-for="item in playlists" :key="item.id"
:to="{name: 'playlist', params: { id: item.id }}" :to="{name: 'playlist', params: { id: item.id }}"
class="nav-item nav-link"> class="nav-link">
<span @dragover="onDragover" @drop="onDrop(item.id, $event)"> <span @dragover="onDragover" @drop="onDrop(item.id, $event)">
<Icon icon="music-note-list" class="mr-2" /> {{ item.name }} <Icon icon="music-note-list" class="mr-2" /> {{ item.name }}
</span> </span>
</router-link> </router-link>
<router-link class="nav-item nav-link" :to="{name: 'playlists'}"> <router-link class="nav-link" :to="{name: 'playlists'}">
More... More...
</router-link> </router-link>

View File

@ -9,6 +9,7 @@
BIconMusicNoteList, BIconMusicNoteList,
BIconStar, BIconStar,
BIconStarFill, BIconStarFill,
BIconCollection,
BIconCollectionFill, BIconCollectionFill,
BIconList, BIconList,
BIconPlayFill, BIconPlayFill,
@ -29,6 +30,7 @@
BIconMusicNoteList, BIconMusicNoteList,
BIconStar, BIconStar,
BIconStarFill, BIconStarFill,
BIconCollection,
BIconCollectionFill, BIconCollectionFill,
BIconList, BIconList,
BIconPlayFill, BIconPlayFill,

View File

@ -37,6 +37,10 @@ $input-color: $theme-text;
$progress-bg: rgb(35, 35, 35); $progress-bg: rgb(35, 35, 35);
:root {
--text-muted: #{$theme-text-muted};
}
.elevated { .elevated {
background-color: $theme-elevation-1; background-color: $theme-elevation-1;
} }