Skip to content

Commit eb8e533

Browse files
committed
feat: font support
1 parent f15345c commit eb8e533

6 files changed

Lines changed: 41 additions & 11 deletions

File tree

src/config.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<title>Starpage Config</title>
88
<link rel="stylesheet" href="" id="theme" />
9-
<script src="js/config.js"></script>
9+
<script src="js/config.js" defer></script>
1010
<script src="js/theme.js"></script>
11+
<script src="js/font.js" defer></script>
1112
<link rel="stylesheet" href="css/config.css">
13+
<link href="" rel="stylesheet" id="font">
14+
<style id="font-set">
15+
</style>
1216
</head>
1317

1418
<body>
@@ -23,6 +27,8 @@ <h3>Theme</h3>
2327
<option value="6">Nord Light</option>
2428
<option value="5">Nord Dark</option>
2529
</select><br>
30+
<h3>Font</h3>
31+
<input type="text" placeholder="Type font name..." id="font-picker">
2632
<h2>Search Engine</h2>
2733
<select name="search-engine-picker" id="search-engine-picker" oninput="changeSearchEngine()">
2834
<option value="1">DuckDuckGo</option>

src/css/config.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ body {
55
padding-left: 10px;
66
}
77

8-
select {
8+
select,
9+
input {
910
background-color: var(--bg-2);
1011
color: var(--fg);
1112
outline: none;
1213
border: none;
1314
padding: 9px;
1415
border-radius: 5px;
16+
}
17+
18+
input::placeholder {
19+
color: var(--fg-1);
1520
}

src/css/main.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ body {
3030

3131
#search-box::placeholder {
3232
color: var(--fg-1);
33-
font-size: 13pt;
33+
font-size: 12pt;
3434
}
3535

3636
h1#time {
@@ -114,7 +114,7 @@ body {
114114
overflow: hidden;
115115
font-size: 12pt;
116116
opacity: 0;
117-
transition: opacity 1.5s;
117+
transition: opacity 1s;
118118
}
119119

120120
h1 {

src/index.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,20 @@
99
<link rel="stylesheet" href="" id="theme" />
1010
<script src="js/index.js"></script>
1111
<script src="js/theme.js"></script>
12+
<script src="js/font.js" defer></script>
13+
<link rel="preconnect" href="https://fonts.googleapis.com">
14+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
15+
<link href="" rel="stylesheet" id="font">
16+
<script src="js/font.js" defer></script>
17+
<style id="font-set">
18+
</style>
1219
</head>
1320

1421
<body onload="document.body.style.opacity='1'">
1522
<div class="container">
1623
<h1 id="time">00:00</h1>
1724
<form method="get" id="search">
18-
<input name="q" type="search" id="search-box" autofocus/>
25+
<input name="q" type="search" id="search-box" autofocus />
1926
</form>
2027
<br />
2128
<div id="widgets">

src/js/config.js

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
function changeTheme() {
2-
localStorage.setItem("theme", document.getElementById("theme-picker").value)
3-
location.reload()
2+
localStorage.setItem("theme", document.getElementById("theme-picker").value);
3+
location.reload();
44
}
55
function changeSearchEngine() {
6-
localStorage.setItem("se", document.getElementById("search-engine-picker").value)
6+
localStorage.setItem("se", document.getElementById("search-engine-picker").value);
7+
}
8+
function changeFont() {
9+
localStorage.setItem("font", document.getElementById("font-picker").value);
10+
location.reload();
711
}
812

9-
document.addEventListener("DOMContentLoaded", function () {
10-
document.getElementById("theme-picker").value = localStorage.getItem("theme");
11-
document.getElementById("search-engine-picker").value = localStorage.getItem("se");
13+
document.getElementById("theme-picker").value = localStorage.getItem("theme");
14+
document.getElementById("search-engine-picker").value = localStorage.getItem("se");
15+
document.getElementById("font-picker").value = localStorage.getItem("font")
16+
document.getElementById("font-picker").addEventListener("keyup", function (event) {
17+
event.preventDefault();
18+
if (event.key === "Enter") {
19+
changeFont();
20+
}
1221
});

src/js/font.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
var font = localStorage.getItem("font");
2+
document.getElementById("font").href = `https://fonts.googleapis.com/css2?family=${font.replaceAll(" ", "+")}&display=swap`
3+
document.getElementById("font-set").innerText = `body, input::placeholder, input,select,option{font-family: "${font}", sans-serif;}`

0 commit comments

Comments
 (0)