Newer
Older
<script setup lang="ts">
import NavBarComponent from '@/components/NavBarComponent.vue'
import { RouterView, useRoute } from 'vue-router'
import { computed } from 'vue'
import HelpComponent from '@/components/HelpComponent.vue'
// Check if the navbar should be shown and return the paths that should not have the navbar
// Check if the route is the home page, login page, registration page, forgot password page or configuration page
return !(
route.path == '/' ||
route.path == '/registrer' ||
route.path.startsWith('/logginn') ||
route.path == '/forgotPassword' ||
route.path.startsWith('/konfigurasjon')
)
})
if (dontShowSti.value) {
return {
backgroundImage: 'none'
};
} else {
return {
backgroundImage: `url(${Sti})`
};
}
});
// Check if the sti component should be shown and return the paths that should have the sti component
const dontShowSti = computed(() => {
return (
route.path == '/' ||
route.path == '/registrer' ||
route.path == '/logginn' ||
route.path == '/forgotPassword' ||
route.path.startsWith('/konfigurasjon') ||
route.path == '/hjem' ||
route.path.startsWith('/loggin')
)
// Check if the help component should be shown and return the paths that should not have the help component
const showHelp = computed(() => {
return !(
route.path == '/' ||
route.path == '/registrer' ||
route.path == '/logginn' ||
route.path == '/forgotPassword' ||
route.path.startsWith('/konfigurasjon')
)
})
// Check the path and return the help messages for the specific path
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
let messages = []
if (route.path == '/hjem') {
messages.push('Heisann, jeg er Spare!')
messages.push('Jeg skal hjelpe deg med å spare penger 💵')
messages.push('Du kan legge til sparemål og spareutfordringer!')
messages.push('Sammen kan vi spare penger og nå dine mål! 🚀')
} else if (route.path == '/profil') {
messages.push('Du har kommet til profilen din 🐷')
messages.push('Her kan du se en oversikt over dine profilinstillinger ⚙️')
messages.push('Du kan også se dine fullførte sparemål og utfordringer!')
messages.push('Du kan redigere profilen din ved å trykke på "Rediger bruker" 💎')
} else if (route.path == '/profil/rediger') {
messages.push('️Her kan du se og redigere dine profil-instillinger 🪄')
messages.push('For å lagre endringene dine, trykk på "Lagre endringer" i høyre hjørne')
messages.push(
'Husk at passordet ditt må være minst 8 tegn langt, og inneholde minst ett tall, en stor bokstav, en liten bokstav, og et spesialtegn'
)
} else if (route.path == '/sparemaal') {
messages.push('Du har kommet til sparemålene dine 🎯')
messages.push(
'Et sparemål kan være noe du ønsker å spare penger til, for eksempel en ferie 🏖️ eller en ny sykkel 🚴🏻'
)
messages.push(
'Du kan lage nye sparemål ved å trykke på knappen "Opprett et nytt sparemål".'
)
messages.push(
'Du kan også endre rekkefølgen på sparemålene dine ved å trykke på "Endre rekkefølge".'
)
messages.push(
'Når du har fullført et sparemål, vil det dukke opp under "Fullførte sparemål".'
)
messages.push('Lykke til med målene dine! 🎀')
} else if (route.path == '/spareutfordringer') {
messages.push('Du har kommet til spareutfordringene dine 💰')
messages.push(
'En spareutfordring er en måte å bli kvitt dårlige vaner, samtidig spare penger for å nå dine mål ✨'
)
messages.push('Du kan opprette en ny utfordring ved å trykke på "Opprett en ny utfordring"')
messages.push(
'Du kan også endre rekkefølgen på utfordringene dine ved å trykke på "Endre rekkefølge".'
)
messages.push(
'Når du har fullført en utfordring, vil den dukke opp under "Fullførte utfordringer".'
)
messages.push('Lykke til med utfordringene dine 🏆')
} else if (route.path.startsWith('/sparemaal/oversikt')) {
messages.push('Her har du en oversikt over sparemålet ditt 🗽')
messages.push('Du kan redigere målet, markere det som ferdig eller slette det')
messages.push(
'Du kan også se hvor mye du har spart av målet ditt, og hvor mye du har igjen'
)
} else if (route.path.startsWith('/spareutfordringer/oversikt')) {
messages.push('Her har du en oversikt over spareutfordringen din 🏔️')
messages.push('Du kan redigere utfordringen, markere det som ferdig eller slette det')
messages.push(
'Du kan også se hvor mye du har spart av utfordringen din, og hvor mye du har igjen'
)
} else if (route.path.startsWith('/sparemaal/rediger/ny')) {
messages.push('Her kan du opprette et nytt sparemål 🌸')
messages.push(
'Tittel er navnet på sparemålet, og beskrivelse er en kort forklaring på hva sparemålet går ut på.'
)
messages.push(
'Kroner spart er hvor mye du har spart til nå, og av målbeløp er hvor mye du ønsker å spare.'
)
messages.push('Forfallsdato er datoen du ønsker å ha nådd sparemålet ditt.')
messages.push('Lykke til med sparingen! 🌴')
} else if (route.path.startsWith('/spareutfordringer/ny')) {
messages.push('Her kan du opprette en ny utfordring ☕️')
messages.push(
'Tittel er navnet på utfordringen, og beskrivelse er en kort forklaring på hva utfordringen går ut på.'
)
messages.push(
'Pris per sparing er hvor mye du sparer hver gang du sparer, og antall sparinger er hvor mange ganger du har spart.'
)
messages.push(
'Av målbeløp er hvor mye du har spart til nå, og forfallsdato er når utfordringen skal være fullført.'
)
messages.push('Du kan selvsagt endre på dette senere!')
messages.push('Lykke til med utfordringen din! 🎉')
} else {
messages.push('Hei! Jeg er Spare 🐷')
messages.push('Jeg er her for å hjelpe deg med sparingen din 💰')
messages.push('Kom igang nå 🔥')
}
return messages
})
</script>
<template>
Malin Haugland Høli
committed
<HelpComponent v-if="showHelp" :speech="helpMessages" />
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<div
class="min-h-screen bg-left-bottom bg-phone md:bg-pc bg-no-repeat"
:style="backgroundImageStyle"
>
<NavBarComponent v-if="showNavBar" />
<main class="mb-10">
<RouterView />
</main>
</div>
</template>
<style>
nav {
display: flex;
justify-content: center;
gap: 1rem;
margin: 1rem 0;
}
nav a.router-link-exact-active {
color: var(--color-text);
}
nav a.router-link-exact-active:hover {
background-color: transparent;
}
</style>