-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnavigation.js
143 lines (136 loc) · 6.3 KB
/
navigation.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
const speakerData = [
{
speakerName: 'Alick Nyirenda',
speakerTitle: 'Software Developer',
speakerAchievements: `Alick has been invested in the Zambian tech scene for a long time.
He helped start a company called Get It Online Zambia and has been heavily involved in the building
up of the e-commerce & developer community in Zambia.`,
speakerImage: './images/alick.jpg',
speakerImageBackground: './images/bg-square.jpg',
},
{
speakerName: 'Robert Phiri',
speakerTitle: 'Real estate Developer',
speakerAchievements: `Robert has studied in the UK as an investment professional.
He quickly got back to Zambia after a few years as he felt he needed to give back to his home .He
is involved as a director on the Nkwashi team and is looking to build charter cities all across Africa.`,
speakerImage: './images/robert.jpg',
speakerImageBackground: './images/bg-square.jpg',
},
{
speakerName: 'Bestone Bwalya',
speakerTitle: 'Lawyer',
speakerAchievements: `Bestone has been a Zambian lawyer that has been practicsing law locally
for over 20 years. He brings his experience in local land matters to this conference to educate us
on the work they are doing to improve local land laws for the people`,
speakerImage: './images/bestone.jpg',
speakerImageBackground: './images/bg-square.jpg',
},
{
speakerName: 'Mick Jenkins',
speakerTitle: 'Rapper',
speakerAchievements: `Alick has been invested in the Zambian tech scene for a long time.
He helped start a company called Get It Online Zambia and has been heavily involved in the building
up of the e-commerce & developer community in Zambia`,
speakerImage: './images/mick.jpeg',
speakerImageBackground: './images/bg-square.jpg',
},
{
speakerName: 'Dambiso Mwale',
speakerTitle: 'Artist',
speakerAchievements: ` Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc volutpat dictum est.
Cras pulvinar lectus sit amet dolor vehicula, eu semper magna lacinia.
Etiam lobortis sem eget nibh posuere aliquam a sit amet nisl. Phasellus iaculis augue vel lacus laoreet commodo.`,
speakerImage: './images/dambiso.jpeg',
speakerImageBackground: './images/bg-square.jpg',
},
{
speakerName: 'Xian Hing',
speakerTitle: 'Asain Investment Banker',
speakerAchievements: `Proin sit amet placerat est. Nunc sit amet augue sit amet nulla sollicitudin maximus eget sit
amet nunc. Etiam posuere cursus facilisis. Phasellus nec sodales odio. Sed malesuada nisl quis porttitor gravida.
Aliquam nec auctor tortor. Nam ut vulputate nibh.`,
speakerImage: './images/xian.jpg',
speakerImageBackground: './images/bg-square.jpg',
},
];
const hamburger = document.querySelector('#hamburger-menu');
const closeIcon = document.getElementById('close-menu-icon');
const speakerSection = document.querySelector('#speakers');
function popUpMenu() {
hamburger.classList.toggle('menu-hidden');
closeIcon.classList.toggle('menu-hidden');
document.getElementById('mobile-menu-links').classList.toggle('menu-hidden');
}
function populateAllSpeakersMobile() {
speakerSection.innerHTML = '';
speakerData.forEach((data) => {
speakerSection.innerHTML += `
<div class="grid-speaker-section">
<div class="speaker-image-container">
<img src="${data.speakerImage}" alt="speaker image" class="rounded speaker-image">
<img src="${data.speakerImageBackground}" alt="background checker image" class="background-checker-image">
</div>
<div class="speaker-description">
<p class="h5 mb-1">${data.speakerName}</p>
<p class="speaker-profession"> ${data.speakerTitle} </p>
<hr class="dividing-line-speakers">
<p class="speaker-description-text"> ${data.speakerAchievements} </p>
</div>
</div>`;
});
document.querySelector('#see-less-button').classList.toggle('see-less-button-hide');
}
function populateFirstTwoSpeakers() {
let counter = 0;
speakerSection.innerHTML = '';
speakerData.forEach((data) => {
if (counter <= 1) {
speakerSection.innerHTML += `
<div class="grid-speaker-section">
<div class="speaker-image-container">
<img src="${data.speakerImage}" alt="speaker image" class="rounded speaker-image">
<img src="${data.speakerImageBackground}" alt="background checker image" class="background-checker-image">
</div>
<div class="speaker-description">
<p class="h5 mb-1">${data.speakerName}</p>
<p class="speaker-profession"> ${data.speakerTitle} </p>
<hr class="dividing-line-speakers">
<p class="speaker-description-text"> ${data.speakerAchievements} </p>
</div>
</div>`;
}
counter += 1;
});
speakerSection.innerHTML += '<button id="see-more-button" class="speakers-button rounded p-2" type="button"> MORE <i class="fas fa-chevron-down see-more-speakers-icon"></i> </button>';
document.querySelector('#see-more-button').addEventListener('click', populateAllSpeakersMobile);
}
function populateAllSpeakersDesktop() {
speakerData.forEach((data) => {
speakerSection.innerHTML += `
<div class="grid-speaker-section">
<div class="speaker-image-container">
<img src="${data.speakerImage}" alt="speaker image" class="rounded speaker-image">
<img src="${data.speakerImageBackground}" alt="background checker image" class="background-checker-image">
</div>
<div class="speaker-description">
<p class="h5 mb-1">${data.speakerName}</p>
<p class="speaker-profession"> ${data.speakerTitle} </p>
<hr class="dividing-line-speakers">
<p class="speaker-description-text"> ${data.speakerAchievements} </p>
</div>
</div>`;
});
}
hamburger.addEventListener('click', popUpMenu);
closeIcon.addEventListener('click', popUpMenu);
document.querySelector('#see-less-button').addEventListener('click', () => {
document.querySelector('#see-less-button').classList.toggle('see-less-button-hide');
populateFirstTwoSpeakers();
});
const mediaQuerryDesktop = window.matchMedia('(max-width:768px)');
if (mediaQuerryDesktop.matches) {
populateFirstTwoSpeakers();
} else {
populateAllSpeakersDesktop();
}