Skip to content

Commit fed9aac

Browse files
committed
Fix FOUC
1 parent 830d9fe commit fed9aac

File tree

8 files changed

+36
-24
lines changed

8 files changed

+36
-24
lines changed

index.html

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
<!DOCTYPE html>
22
<html>
3+
<title>Alfred Roberts</title>
34
<head>
45
<link rel="preconnect" href="https://fonts.googleapis.com">
56
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
67
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500&display=swap" rel="stylesheet">
78
<link href="styles.css" rel="stylesheet">
89
<link href="styles/media.css" rel="stylesheet">
9-
<script type="module" src="script.js"></script>
1010
<meta name="viewport" content="width=device-width, initial-scale=1">
11+
<script type="text/javascript" src="javascript/night_mode.js"></script>
12+
<script type="module" src="script.js"></script>
1113
</head>
1214
<body>
13-
<div class="site-wrapper">
15+
<script>
16+
update_nightmode(() => {}, () => {}, null, true);
17+
</script>
18+
<div id="site-wrapper" class="site-wrapper">
1419
<div class="content">
1520
<div class="tabs">
1621
<a href="">> About</a>

javascript/night_mode.js

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11

22
// sessionStorage.setItem("nightmode","1")
33

4-
function update_nightmode(onNightToggled, onDayToggled, manual_override = false) {
5-
if (!manual_override) {
6-
document.getElementById("nightmode").checked = Boolean(Number(sessionStorage.getItem("nightmode")));
4+
function update_nightmode(onNightToggled, onDayToggled, manual_override = null, early = false) {
5+
let checked = Boolean(Number(localStorage.getItem("nightmode")));
6+
if (manual_override != null && !early) {
7+
console.log("override", manual_override, early)
8+
checked = manual_override;
9+
document.getElementById("nightmode").checked = checked;
710
}
8-
if (document.getElementById("nightmode").checked == true) {
11+
if (checked) {
912
document.getElementsByTagName("body")[0].style.backgroundColor = "#111";
1013
document.getElementsByTagName("body")[0].style.color = "white";
1114
onNightToggled();
12-
sessionStorage.setItem("nightmode","1");
15+
localStorage.setItem("nightmode","1");
1316
} else {
1417
document.getElementsByTagName("body")[0].style.backgroundColor = "white";
1518
document.getElementsByTagName("body")[0].style.color = "black";
1619
onDayToggled();
17-
sessionStorage.setItem("nightmode","0");
20+
localStorage.setItem("nightmode","0");
1821
}
1922
}
2023

21-
22-
export {update_nightmode}

projects/index.html

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
<!DOCTYPE html>
22
<html>
3+
<title>Projects</title>
34
<head>
45
<link rel="preconnect" href="https://fonts.googleapis.com">
56
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
67
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500&display=swap" rel="stylesheet">
78
<link href="../styles.css" rel="stylesheet">
89
<link href="../styles/media.css" rel="stylesheet">
910
<link href="styles.css" rel="stylesheet">
10-
<script type="module" src="script.js"></script>
1111
<meta name="viewport" content="width=device-width, initial-scale=1">
12+
<script type="text/javascript" src="../javascript/night_mode.js"></script>
13+
<script type="module" src="script.js"></script>
1214
</head>
1315
<body>
14-
<div class="site-wrapper">
16+
<script>
17+
update_nightmode(() => {}, () => {}, null, true);
18+
</script>
19+
<div id="site-wrapper" class="site-wrapper">
1520
<div class="content">
1621
<div class="tabs">
1722
<a href="../">> About</a>

projects/script.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { update_nightmode } from "../javascript/night_mode.js"
21
import { animate_card } from "../javascript/card.js";
32
import { animate_blob } from "../javascript/blob.js";
43

@@ -16,9 +15,8 @@ function is_mobile() {
1615

1716
let night_toggle = function(manual = false){ update_nightmode(() => {}, () => {}, manual)};
1817

19-
night_toggle();
20-
document.getElementById("nightmode").addEventListener("change", function () {
21-
night_toggle(true);
18+
document.getElementById("nightmode").addEventListener("change", function (event) {
19+
night_toggle(event.target.checked);
2220
});
2321

2422
cards = document.getElementsByClassName("card-wrap");
@@ -41,8 +39,8 @@ if (is_mobile()) {
4139
}
4240

4341
window.onload = function () {
44-
4542
window.onpointermove({clientX: window.innerWidth / 2, clientY: window.innerHeight / 2});
43+
night_toggle(Boolean(Number(localStorage.getItem("nightmode"))));
4644
}
4745

4846

resume/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width, initial-scale=1">
1111
</head>
1212
<body>
13-
<div class="site-wrapper">
13+
<div id="site-wrapper" class="site-wrapper">
1414
<div class="content">
1515
<div class="tabs">
1616
<a href="../">> About</a>

script.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { update_nightmode } from "./javascript/night_mode.js"
21
import { animate_blob } from "./javascript/blob.js"
32

43

@@ -23,11 +22,14 @@ let night_toggle = function(manual = false){
2322
);
2423
};
2524

26-
night_toggle();
27-
document.getElementById("nightmode").addEventListener("change", function () {
28-
night_toggle(true);
25+
document.getElementById("nightmode").addEventListener("change", function (event) {
26+
night_toggle(event.target.checked);
2927
});
3028

3129
window.onpointermove = event => {
3230
animate_blob(event);
31+
}
32+
33+
window.onload = function () {
34+
night_toggle(Boolean(Number(localStorage.getItem("nightmode"))));
3335
}

styles.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ a {
4242
border-radius: 50%;
4343
opacity: 0.2;
4444
}
45-
45+
4646
#blur {
4747
height: 100%;
4848
width: 100%;
4949
position: absolute;
5050
z-index: 2;
51-
backdrop-filter: blur(30vmax);
51+
backdrop-filter: blur(100px);
5252
}
5353

5454
.content {

styles/media.css

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
flex-direction: column;
2323
justify-content: space-between;
2424
margin-bottom: 50px;
25+
width: fit-content;
2526
}
2627

2728
.tabs a {

0 commit comments

Comments
 (0)