aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/App.js23
-rw-r--r--src/App.scss12
-rw-r--r--src/App.vue14
3 files changed, 16 insertions, 33 deletions
diff --git a/src/App.js b/src/App.js
index 3823bd03..1da3ff7c 100644
--- a/src/App.js
+++ b/src/App.js
@@ -23,18 +23,6 @@ export default {
style () { return { 'background-image': `url(${this.background})` } },
sitename () { return this.$store.state.config.name }
},
- created () {
- // this is to detect user zooming mostly
- window.addEventListener('resize', this.fixSidebarWidth)
- },
- mounted () {
- // for some reason, at least in dev mode, dom is not ready enough at this point
- // in theory calling the function directly here should be enough, but it's not
- setTimeout(() => { this.fixSidebarWidth() }, 500)
- },
- destroyed () {
- window.removeEventListener('resize', this.fixSidebarWidth)
- },
methods: {
activatePanel (panelName) {
this.mobileActivePanel = panelName
@@ -44,17 +32,6 @@ export default {
},
logout () {
this.$store.dispatch('logout')
- },
- fixSidebarWidth () {
- // firefox
- let barwidth = window.innerWidth - document.body.offsetWidth
- if (document.body.offsetWidth <= 0) {
- // chromium
- barwidth = window.innerWidth - document.body.scrollWidth
- }
- // adjust the sidebar size to fit the scrollbar width to keep the gap consistently sized
- document.getElementById('sidebar-container').style.width = `${345 + barwidth}px`
- document.getElementById('sidebar-container').style.paddingRight = `${barwidth}px`
}
}
}
diff --git a/src/App.scss b/src/App.scss
index c3c9013e..5a117f04 100644
--- a/src/App.scss
+++ b/src/App.scss
@@ -191,7 +191,7 @@ nav {
flex-shrink: 1;
}
-.sidebar {
+.sidebar-bounds {
flex: 0;
flex-basis: 35%;
}
@@ -222,21 +222,25 @@ nav {
body {
overflow-y: scroll;
}
- .sidebar {
+ .sidebar-bounds {
overflow: hidden;
max-height: 100vh;
width: 345px;
position: fixed;
margin-top: -10px;
- .sidebar-container {
+ .sidebar-scroller {
height: 96vh;
width: 365px;
padding-top: 10px;
- padding-right: 20px;
+ padding-right: 50px;
overflow-x: hidden;
overflow-y: scroll;
}
+
+ .sidebar {
+ width: 345px;
+ }
}
.sidebar-flexer {
max-height: 96vh;
diff --git a/src/App.vue b/src/App.vue
index 59cfcaa6..0d004665 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,6 @@
<template>
<div id="app" v-bind:style="style" class="base02-background">
- <nav class='container base01-background base04' @click="scrollToTop()">
+ <nav class='container base01-background base04' @click="scrollToTop()" id="nav">
<div class='inner-nav' :style="logoStyle">
<div class='item'>
<router-link :to="{ name: 'root'}">{{sitename}}</router-link>
@@ -18,11 +18,13 @@
<button @click="activatePanel('timeline')" class="base01-background base04">Timeline</button>
</div>
<div class="sidebar-flexer" :class="{ 'mobile-hidden': mobileActivePanel != 'sidebar'}">
- <div class="sidebar" :class="{ 'mobile-hidden': mobileActivePanel != 'sidebar' }">
- <div class="sidebar-container" id="sidebar-container">
- <user-panel></user-panel>
- <nav-panel></nav-panel>
- <notifications v-if="currentUser"></notifications>
+ <div class="sidebar-bounds">
+ <div class="sidebar-scroller">
+ <div class="sidebar">
+ <user-panel></user-panel>
+ <nav-panel></nav-panel>
+ <notifications v-if="currentUser"></notifications>
+ </div>
</div>
</div>
</div>