diff options
| author | Zach Berwaldt <zberwaldt@tutamail.com> | 2023-10-09 13:41:04 -0400 |
|---|---|---|
| committer | Zach Berwaldt <zberwaldt@tutamail.com> | 2023-10-09 13:48:07 -0400 |
| commit | 4e30ae95eaf52a7f427bdf020d118f40e00ab291 (patch) | |
| tree | a270827b339c8c40274b41fabedcb0ec3b4afb3b /assets/js | |
| parent | 93a4ba55f2159e69aa1fcdaa1cf87c09e7455017 (diff) | |
add some homemade svg, wpartials, and darkmode
Diffstat (limited to 'assets/js')
| -rw-r--r-- | assets/js/darkmode.js | 11 | ||||
| -rw-r--r-- | assets/js/fullscreen.js | 27 |
2 files changed, 34 insertions, 4 deletions
diff --git a/assets/js/darkmode.js b/assets/js/darkmode.js new file mode 100644 index 0000000..c6094d0 --- /dev/null +++ b/assets/js/darkmode.js | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | // get with web apis #fullscren element and on click toggle fullscreen | ||
| 2 | const darkmode = document.getElementById('darkmode'); | ||
| 3 | const html = document.querySelector('html'); | ||
| 4 | darkmode.addEventListener('click', () => { | ||
| 5 | if (html.dataset.theme === 'dark') { | ||
| 6 | html.dataset.theme = 'light'; | ||
| 7 | } else { | ||
| 8 | html.dataset.theme = 'dark'; | ||
| 9 | } | ||
| 10 | }); | ||
| 11 | |||
diff --git a/assets/js/fullscreen.js b/assets/js/fullscreen.js index e191854..e3cc342 100644 --- a/assets/js/fullscreen.js +++ b/assets/js/fullscreen.js | |||
| @@ -1,15 +1,27 @@ | |||
| 1 | // get with web apis #fullscren element and on click toggle fullscreen | 1 | // page |
| 2 | const fullscreen = document.getElementById('fullscreen'); | 2 | const fullscreen = document.getElementById('fullscreen'); |
| 3 | const fullscreenIcon = document.getElementById('fullscreen-icon'); | ||
| 4 | const smallscreenIcon = document.getElementById('smallscreen-icon'); | ||
| 3 | const elem = document.documentElement; | 5 | const elem = document.documentElement; |
| 4 | fullscreen.addEventListener('click', () => { | 6 | |
| 7 | // Functions | ||
| 8 | |||
| 9 | function toggleFullscreen(event) { | ||
| 10 | // check if the event is a keydown event or a click event | ||
| 11 | if (event.type === 'keydown') { | ||
| 12 | // check if the key pressed is '/' key | ||
| 13 | if (event.key !== '/') return; | ||
| 14 | } | ||
| 5 | if (document.fullscreenElement) { | 15 | if (document.fullscreenElement) { |
| 6 | closeFullscreen(); | 16 | closeFullscreen(); |
| 7 | } else { | 17 | } else { |
| 8 | openFullscreen(); | 18 | openFullscreen(); |
| 9 | } | 19 | } |
| 10 | }); | 20 | } |
| 11 | 21 | ||
| 12 | function openFullscreen() { | 22 | function openFullscreen() { |
| 23 | smallscreenIcon.classList.toggle('hide'); | ||
| 24 | fullscreenIcon.classList.toggle('hide'); | ||
| 13 | if (elem.requestFullscreen) { | 25 | if (elem.requestFullscreen) { |
| 14 | elem.requestFullscreen(); | 26 | elem.requestFullscreen(); |
| 15 | } else if (elem.webkitRequestFullscreen) { /* Safari */ | 27 | } else if (elem.webkitRequestFullscreen) { /* Safari */ |
| @@ -20,6 +32,8 @@ function openFullscreen() { | |||
| 20 | } | 32 | } |
| 21 | 33 | ||
| 22 | function closeFullscreen() { | 34 | function closeFullscreen() { |
| 35 | smallscreenIcon.classList.toggle('hide'); | ||
| 36 | fullscreenIcon.classList.toggle('hide'); | ||
| 23 | if (document.exitFullscreen) { | 37 | if (document.exitFullscreen) { |
| 24 | document.exitFullscreen(); | 38 | document.exitFullscreen(); |
| 25 | } else if (document.webkitExitFullscreen) { /* Safari */ | 39 | } else if (document.webkitExitFullscreen) { /* Safari */ |
| @@ -27,4 +41,9 @@ function closeFullscreen() { | |||
| 27 | } else if (document.msExitFullscreen) { /* IE11 */ | 41 | } else if (document.msExitFullscreen) { /* IE11 */ |
| 28 | document.msExitFullscreen(); | 42 | document.msExitFullscreen(); |
| 29 | } | 43 | } |
| 30 | } \ No newline at end of file | 44 | } |
| 45 | |||
| 46 | // Listeners | ||
| 47 | |||
| 48 | fullscreen.addEventListener('click', toggleFullscreen); | ||
| 49 | document.addEventListener('keydown', toggleFullscreen); \ No newline at end of file | ||
