Skip to content

Commit 1f16270

Browse files
committed
init
1 parent 306f57b commit 1f16270

33 files changed

+4055
-387
lines changed

.cpanel.yml

-7
This file was deleted.

.gitattributes

-2
This file was deleted.

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules/

dist/css/final.css

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/img/clients/gojek.svg

+9
Loading

dist/img/clients/google.svg

+2
Loading

dist/img/clients/tokopedia.svg

+5
Loading

dist/img/clients/traveloka.svg

+27
Loading

dist/img/portfolio/1.png

23.1 KB
Loading

dist/img/portfolio/2.png

151 KB
Loading

dist/img/portfolio/3.png

90.3 KB
Loading

dist/img/portfolio/4.png

84.7 KB
Loading

dist/img/sandhika.jpg

50.9 KB
Loading

dist/img/sandhika.png

205 KB
Loading

dist/js/script.js

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// Navbar Fixed
2+
window.onscroll = function () {
3+
const header = document.querySelector('header');
4+
const fixedNav = header.offsetTop;
5+
const toTop = document.querySelector('#to-top');
6+
7+
if (window.pageYOffset > fixedNav) {
8+
header.classList.add('navbar-fixed');
9+
toTop.classList.remove('hidden');
10+
toTop.classList.add('flex');
11+
} else {
12+
header.classList.remove('navbar-fixed');
13+
toTop.classList.remove('flex');
14+
toTop.classList.add('hidden');
15+
}
16+
};
17+
18+
// Hamburger
19+
const hamburger = document.querySelector('#hamburger');
20+
const navMenu = document.querySelector('#nav-menu');
21+
22+
hamburger.addEventListener('click', function () {
23+
hamburger.classList.toggle('hamburger-active');
24+
navMenu.classList.toggle('hidden');
25+
});
26+
27+
// Klik di luar hamburger
28+
window.addEventListener('click', function (e) {
29+
if (e.target != hamburger && e.target != navMenu) {
30+
hamburger.classList.remove('hamburger-active');
31+
navMenu.classList.add('hidden');
32+
}
33+
});
34+
35+
// Darkmode toggle
36+
const darkToggle = document.querySelector('#dark-toggle');
37+
const html = document.querySelector('html');
38+
39+
darkToggle.addEventListener('click', function () {
40+
if (darkToggle.checked) {
41+
html.classList.add('dark');
42+
localStorage.theme = 'dark';
43+
} else {
44+
html.classList.remove('dark');
45+
localStorage.theme = 'light';
46+
}
47+
});
48+
49+
// pindahkan posisi toggle sesuai mode
50+
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
51+
darkToggle.checked = true;
52+
} else {
53+
darkToggle.checked = false;
54+
}

0 commit comments

Comments
 (0)