Skip to content

Commit 6ca1e15

Browse files
committed
feat(homepage): turn off homepage when a generator is clicked
closes #155
1 parent 1e1d1f5 commit 6ca1e15

File tree

3 files changed

+35
-16
lines changed

3 files changed

+35
-16
lines changed

index.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
<!-- Generator Card -->
7676
<!-- Now👇🏾 -->
7777
<!-- Side Bar -->
78-
<header></header>
7978
<div class="menu">
8079
<iconify-icon
8180
id="menu-icon"
@@ -149,7 +148,7 @@ <h1 id="head">Code Magic</h1>
149148
</nav>
150149

151150
<main>
152-
<section>
151+
<section id="home-page">
153152
<h1>
154153
All in one tool for <span>Developers</span>.
155154
<br />
@@ -164,7 +163,7 @@ <h2>
164163
Your browser does not support the video tag.
165164
</video>
166165
</section>
167-
<section>
166+
<section id="generator">
168167
<div class="generators">
169168
<!-- Pic Text -->
170169
<div data-content="pic-text">

src/main.ts

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ const navBarAnimationOptions = {
7575
// Elements
7676
const generators = document.querySelectorAll('[data-gen]');
7777
const sidebar = document.querySelector('.side-results') as HTMLElement;
78+
const getHeaderText = document.getElementById('head');
7879
const getResults = document.querySelectorAll('[data-button]');
80+
const getHomePage = document.getElementById('home-page');
81+
const getGeneratorSection = document.getElementById('generator');
7982
const results = document.querySelectorAll('[data-result]');
8083
const closeBar = document.getElementById('close-side-bar');
8184
const getImageEntryElement = document.getElementById(
@@ -266,13 +269,37 @@ function showResult(attribute: string | null) {
266269
generatorsFunction(attribute);
267270
}
268271

272+
// display current gradient value for all range inputs
273+
const displayGradientValue = (gradientElement: HTMLInputElement) => {
274+
gradientElement.addEventListener('input', (e) => {
275+
const target = e.target as HTMLInputElement;
276+
const degreeDisplayElement = <HTMLElement>(
277+
target.parentElement?.querySelector('#degree-display')
278+
);
279+
degreeDisplayElement.innerText = `${target.value}deg`;
280+
});
281+
};
282+
283+
getHeaderText?.addEventListener('click', () => {
284+
if (getHomePage === null || getGeneratorSection === null) return;
285+
getHomePage.style.display = 'flex';
286+
getGeneratorSection.style.display = 'none';
287+
});
288+
269289
generators.forEach((generator) => {
270290
generator?.addEventListener('click', (): void => {
271291
const checking = generator.getAttribute('data-gen');
272292

273-
if (checking === null) return;
293+
if (
294+
checking === null ||
295+
getHomePage === null ||
296+
getGeneratorSection === null
297+
)
298+
return;
274299
sidebar.style.display = 'none';
275300
attributeValue = checking;
301+
getHomePage.style.display = 'none';
302+
getGeneratorSection.style.display = 'flex';
276303
showContent(attributeValue, 'flex');
277304
});
278305
});
@@ -296,17 +323,6 @@ closeBar?.addEventListener('click', () => {
296323
}, 600);
297324
});
298325

299-
// display current gradient value for all range inputs
300-
const displayGradientValue = (gradientElement: HTMLInputElement) => {
301-
gradientElement.addEventListener('input', (e) => {
302-
const target = e.target as HTMLInputElement;
303-
const degreeDisplayElement = <HTMLElement>(
304-
target.parentElement?.querySelector('#degree-display')
305-
);
306-
degreeDisplayElement.innerText = `${target.value}deg`;
307-
});
308-
};
309-
310326
gradientRangeInputs.forEach((gradientRangeInput: HTMLInputElement) => {
311327
displayGradientValue(gradientRangeInput);
312328
});

src/style.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ main {
117117
outline: 2px solid red;
118118
}
119119

120-
main > section:first-of-type {
120+
main > section {
121121
min-height: var(--content-container);
122122
min-width: var(--content-container);
123123
display: flex;
@@ -151,6 +151,10 @@ main > section:first-of-type video {
151151
border: 2px solid var(--text-color);
152152
}
153153

154+
main > section:last-of-type {
155+
display: none;
156+
}
157+
154158
.generators {
155159
min-height: var(--content-container);
156160
min-width: var(--content-container);

0 commit comments

Comments
 (0)