Skip to content

Commit 9a112bf

Browse files
authored
Merge pull request #5 from GeniALE/navbar-corection
Navbar corection
2 parents 371d9d5 + cd74c58 commit 9a112bf

2 files changed

Lines changed: 48 additions & 19 deletions

File tree

src/components/NavbarComponent.vue

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<script setup lang="ts">
2-
import { onBeforeMount, onMounted, ref } from 'vue';
2+
import { onBeforeMount, ref } from 'vue';
33
import logo from '@geniale/assets/media/logo_flag2.svg';
4+
import i18n from '@geniale/plugins/i18n';
5+
import { faEarthAmerica } from '@fortawesome/free-solid-svg-icons';
6+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
47
58
const isOpen = ref(false);
69
@@ -33,23 +36,44 @@ onBeforeMount(() => {
3336
}
3437
});
3538
36-
onMounted(() => {
37-
if (window.location.pathname === '/dashboard') {
38-
const navbar = document.getElementById('navbar');
39-
if (navbar) {
40-
navbar.classList.remove('bg-white');
41-
navbar.classList.add('hidden');
39+
const languages = [
40+
{
41+
name: 'EN',
42+
code: 'en',
43+
},
44+
{
45+
name: 'FR',
46+
code: 'fr',
47+
},
48+
];
49+
50+
let langIndex = languages.findIndex(
51+
lang => lang.code === i18n.global.locale.value
52+
);
53+
54+
// Hide navbar until scroll
55+
onBeforeMount(() => {
56+
// Check which page we are on
57+
for (const item of navbarItems) {
58+
if (window.location.pathname === item.link) {
59+
item.selected = true;
4260
}
4361
}
4462
});
4563
4664
// Set locale on select change
47-
const onLocaleChange = (event: Event) => {
48-
window.localStorage.setItem(
49-
'locale',
50-
(event.target as HTMLSelectElement).value
51-
);
65+
const onLocaleChange = () => {
66+
langIndex = (langIndex + 1) % languages.length;
67+
changeLanguage(languages[langIndex].code);
5268
};
69+
70+
/**
71+
*
72+
*/
73+
function changeLanguage(newLang: string) {
74+
window.localStorage.setItem('locale', newLang);
75+
i18n.global.locale.value = newLang as typeof i18n.global.locale.value;
76+
}
5377
</script>
5478

5579
<template>
@@ -93,16 +117,16 @@ const onLocaleChange = (event: Event) => {
93117
>
94118
{{ $t(item.name) }}
95119
</a>
96-
<select
97-
v-model="$i18n.locale"
120+
121+
<button
98122
:aria-label="$t('language')"
99123
type="button"
100-
class="text-gray-500 hover:text-primary-700 focus:text-gray-600 focus:outline-none pr-2 border-none"
101-
@change="onLocaleChange"
124+
class="block md:inline-block px-2 py-1 text-white hover:text-gray-500 md:px-4 md:py-2 md:text-lg"
125+
@click="onLocaleChange"
102126
>
103-
<option value="en">EN</option>
104-
<option value="fr">FR</option>
105-
</select>
127+
<FontAwesomeIcon :icon="faEarthAmerica" class="w-6" />
128+
{{ languages[langIndex].name }}
129+
</button>
106130
</div>
107131
</div>
108132
</div>

src/data/members.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ export const teams: Team[] = [
5454
link: 'https://www.linkedin.com/in/elliott-gillespie-5b476b236/',
5555
title: 'title_chef_production',
5656
},
57+
{
58+
name: 'Félix Lachance',
59+
program: 'engineering_gpa',
60+
link: 'https://www.linkedin.com/in/félix-lachance-72871b32a',
61+
},
5762
],
5863
},
5964
{

0 commit comments

Comments
 (0)