Skip to content

Commit 8e9f27d

Browse files
authored
Add navigation bar (#29)
1 parent 3d81ec4 commit 8e9f27d

File tree

11 files changed

+95
-11
lines changed

11 files changed

+95
-11
lines changed

deployment/dev/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ services:
88
ports:
99
- "24900:5432"
1010
volumes:
11-
- ./onepool/psql-data/app:/var/lib/postgresql/data
11+
- /onepool/psql-data/app:/var/lib/postgresql/data
1212
- /etc/localtime:/etc/localtime:ro
1313
environment:
1414
POSTGRES_USER: ${POSTGRES_USER}
@@ -23,7 +23,7 @@ services:
2323
ports:
2424
- "24903:5432"
2525
volumes:
26-
- ./onepool/psql-data/auth:/var/lib/postgresql/data/pgdata
26+
- /onepool/psql-data/auth:/var/lib/postgresql/data/pgdata
2727
- /etc/localtime:/etc/localtime:ro
2828
environment:
2929
POSTGRES_USER: ${POSTGRES_USER}

webapp/src/App.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
<component :is="Component"/>
66
</transition>
77
</router-view>
8+
<NavigationBar/>
89
</template>
910

1011
<script setup lang="ts">
1112
import AlertFactory from "@/vue/alerts/AlertFactory.vue";
1213
import {useUserStore} from "@/objects/stores/UserStore.ts";
14+
import NavigationBar from "@/vue/NavigationBar.vue";
1315
</script>
1416

1517
<style scoped lang="scss">

webapp/src/assets/icons/friend.svg

Lines changed: 8 additions & 0 deletions
Loading

webapp/src/assets/icons/home.svg

Lines changed: 8 additions & 0 deletions
Loading

webapp/src/assets/icons/info.svg

Lines changed: 3 additions & 0 deletions
Loading

webapp/src/assets/icons/note.svg

Lines changed: 8 additions & 0 deletions
Loading
Lines changed: 8 additions & 0 deletions
Loading

webapp/src/assets/style.scss

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
scrollbar-width: thin;
1010
color: var(--primary-text);
1111
user-select: none;
12+
-webkit-font-smoothing: antialiased;
13+
}
14+
15+
*, *::before, *::after {
16+
box-sizing: border-box;
1217
}
1318

1419
body {
@@ -33,16 +38,16 @@ body {
3338

3439
html, body {
3540
background: var(--primary-background);
36-
height: 100vh;
37-
overflow: hidden;
38-
overflow-y: auto;
39-
width: auto;
40-
position: relative;
41+
4142
}
4243

4344
#app {
4445
background: var(--primary-background);
45-
46+
position: relative;
47+
overflow: hidden;
48+
overflow-y: auto;
49+
height: 100vh;
50+
padding-bottom: 80px; //Simulate nav bar web flow
4651
// Remove when computer display is done
4752
max-width: 600px;
4853
margin: auto;

webapp/src/components/UserProfile.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<template>
2-
<p>User profile</p>
3-
<button @click="keycloakStore.keycloak.logout()">logout</button>
2+
<section>
3+
<p>User profile</p>
4+
<button @click="keycloakStore.keycloak.logout()">logout</button>
5+
</section>
46
</template>
57

68
<script setup lang="ts">

webapp/src/vue/NavigationBar.vue

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<template>
2+
<nav>
3+
<router-link to="/">
4+
<img src="@/assets/icons/info.svg" alt="nav-icon"/>
5+
</router-link>
6+
<router-link to="/" v-if="router.currentRoute.value.name !== t('router.home')">
7+
<img src="@/assets/icons/note.svg" alt="nav-icon"/>
8+
</router-link>
9+
<router-link to="/">
10+
<img src="@/assets/icons/home.svg" alt="nav-icon"/>
11+
</router-link>
12+
<router-link to="/friends" v-if="router.currentRoute.value.name !== t('router.home')">
13+
<img src="@/assets/icons/friend.svg" alt="nav-icon"/>
14+
</router-link>
15+
<router-link to="/profile/:id">
16+
<img src="@/assets/icons/parameters.svg" alt="nav-icon"/>
17+
</router-link>
18+
</nav>
19+
</template>
20+
21+
<script setup lang="ts">
22+
import router from "@/router";
23+
import {useI18n} from "vue-i18n";
24+
25+
const {t} = useI18n();
26+
</script>
27+
28+
<style scoped lang="scss">
29+
nav {
30+
position: fixed;
31+
bottom: 0;
32+
width: 100%;
33+
display: flex;
34+
align-items: center;
35+
justify-content: space-between;
36+
padding: 18px;
37+
background: var(--secondary-background);
38+
margin-top: 4px;
39+
border-radius: 0 0 4px 4px;
40+
}
41+
</style>

webapp/src/vue/alerts/AlertFactory.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ watch(alerts.getAlerts, () => {
4646
gap: 8px;
4747
width: 90%;
4848
margin: 8px auto auto;
49-
box-sizing: border-box;
5049
overflow: hidden;
5150
transition: all 200ms;
5251
}

0 commit comments

Comments
 (0)