VueTube/NUXT/components/bottomNavigation.vue

94 lines
2.3 KiB
Vue
Raw Normal View History

2022-03-02 13:14:52 +00:00
<template>
2022-05-04 23:09:17 +00:00
<!-- hide-on-scroll -->
2022-03-21 23:47:11 +00:00
<v-bottom-navigation
v-model="tabSelection"
shift
2022-05-04 23:09:17 +00:00
class="bottomNav py-4 background"
2022-04-15 03:14:52 +00:00
:style="
$vuetify.theme.dark
? 'border-top: 1px solid var(--v-background-lighten1) !important;'
: 'border-top: 1px solid var(--v-background-darken1) !important;'
"
2022-03-21 23:47:11 +00:00
>
<v-btn
v-for="(item, i) in tabs"
:key="i"
2022-03-21 23:47:11 +00:00
v-ripple="false"
class="navButton"
:to="item.link"
plain
>
2022-03-02 13:14:52 +00:00
<span v-text="item.name" />
<v-icon
2022-03-30 02:37:54 +00:00
:color="
tabSelection == i
? 'primary'
: $vuetify.theme.dark
? 'background lighten-4'
: 'background darken-4'
"
:class="
tabSelection == i
? $vuetify.theme.dark
? 'tab primary darken-4'
: 'tab primary lighten-4'
: ''
"
2022-03-21 23:47:11 +00:00
v-text="item.icon"
/>
2022-03-24 19:56:11 +00:00
<!--
Add the following to 'v-text- above to make the icons outlined unless active
+ (tabSelection == i ? '' : '-outline')
-->
2022-03-02 13:14:52 +00:00
</v-btn>
<!-- <v-btn text class="navButton mr-2 fill-height" color="white" @click="searchBtn()"
><v-icon>mdi-magnify</v-icon></v-btn
> -->
2022-03-02 13:14:52 +00:00
</v-bottom-navigation>
</template>
<script>
export default {
data() {
return {
tabSelection: 0,
tabs: [
// TODO: pull from Vuex & localStorage for customizations
2022-03-16 00:31:03 +00:00
{ name: "Home", icon: "mdi-home", link: "/home" },
2022-03-02 13:14:52 +00:00
//{ name: "Shorts", icon: "mdi-lightning-bolt", link: "/shorts" },
//{ name: "Upload", icon: "mdi-plus", link: "/upload" },
{
name: "Subscriptions",
icon: "mdi-youtube-subscription",
link: "/subscriptions",
},
2022-03-02 13:14:52 +00:00
{ name: "Library", icon: "mdi-view-list", link: "/library" },
// { name: "Settings", icon: "mdi-menu", link: "/settings" },
2022-03-02 13:14:52 +00:00
],
};
},
};
2022-03-02 13:14:52 +00:00
</script>
<style scoped>
.bottomNav {
2022-05-04 23:09:17 +00:00
/* box-shadow: inset 0 1rem 10rem var(--v-background-base) !important; */
2022-05-05 04:28:51 +00:00
box-shadow: none !important;
/* ios gesture nav */
bottom: env(safe-area-inset-bottom) !important;
height: 4rem !important;
2022-03-02 13:14:52 +00:00
padding: 0 !important;
position: fixed;
2022-03-02 13:14:52 +00:00
}
.navButton {
2022-03-22 01:13:48 +00:00
width: 25vw !important;
font-size: 0.66rem !important;
2022-03-02 13:14:52 +00:00
}
2022-03-07 13:52:38 +00:00
.tab {
padding: 0.1em 0.5em 0.1em 0.5em;
border-radius: 1em;
}
2022-03-02 13:14:52 +00:00
</style>