Skip to content

Commit 07dc9b3

Browse files
authored
Merge pull request #4 from semanticdata/feat/font-family-setting
2 parents dfdcc06 + 859c345 commit 07dc9b3

4 files changed

Lines changed: 50 additions & 0 deletions

File tree

packages/newtab/newtab.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@
6161
<span id="font-display">18px</span>
6262
</div>
6363
<input type="range" id="font-slider" min="12" max="32" value="18" step="1">
64+
65+
<div class="setting-row">
66+
<label for="font-family">Font Family</label>
67+
</div>
68+
<select id="font-family">
69+
<option value="serif">Serif</option>
70+
<option value="sans-serif">Sans-serif</option>
71+
</select>
6472
</div>
6573

6674
<!-- Settings Trigger -->

packages/sidebar/panel.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@
6161
<span id="font-display">18px</span>
6262
</div>
6363
<input type="range" id="font-slider" min="12" max="32" value="18" step="1">
64+
65+
<div class="setting-row">
66+
<label for="font-family">Font Family</label>
67+
</div>
68+
<select id="font-family">
69+
<option value="serif">Serif</option>
70+
<option value="sans-serif">Sans-serif</option>
71+
</select>
6472
</div>
6573

6674
<!-- Settings Trigger -->

shared/script.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const els = {
66
menu: document.getElementById("settings-menu"),
77
slider: document.getElementById("font-slider"),
88
fontDisplay: document.getElementById("font-display"),
9+
fontFamily: document.getElementById("font-family"),
910
words: document.getElementById("word-count"),
1011
status: document.getElementById("save-status"),
1112
};
@@ -110,13 +111,22 @@ const updateFontSize = (val) => {
110111
localStore.set("fontsize", size);
111112
};
112113

114+
const updateFontFamily = (val) => {
115+
els.html.style.setProperty("--font-body", val);
116+
localStore.set("fontfamily", val);
117+
};
118+
113119
// Menu Listeners
114120
els.toggleSettings.addEventListener("click", toggleMenu);
115121

116122
els.slider.addEventListener("input", (e) => {
117123
updateFontSize(e.target.value);
118124
});
119125

126+
els.fontFamily.addEventListener("change", (e) => {
127+
updateFontFamily(e.target.value);
128+
});
129+
120130
// Close menu when clicking outside
121131
document.addEventListener("click", (e) => {
122132
if (
@@ -235,6 +245,13 @@ if (storedFontSize) {
235245
updateFontSize(val);
236246
}
237247

248+
// Init Font Family
249+
const storedFontFamily = localStore.get("fontfamily");
250+
if (storedFontFamily) {
251+
els.fontFamily.value = storedFontFamily;
252+
updateFontFamily(storedFontFamily);
253+
}
254+
238255
els.note.addEventListener("input", (e) => {
239256
updateStats(e.target.value);
240257
save(e.target.value);

shared/styles.css

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,20 @@ textarea:focus {
190190
cursor: pointer;
191191
accent-color: var(--fg);
192192
}
193+
194+
#font-family {
195+
width: 100%;
196+
padding: 0.25rem 0.5rem;
197+
background: var(--bg);
198+
color: var(--fg);
199+
border: 1px solid var(--border);
200+
border-radius: 4px;
201+
cursor: pointer;
202+
font-family: var(--font-ui);
203+
font-size: 0.85rem;
204+
}
205+
206+
#font-family:focus {
207+
outline: none;
208+
border-color: var(--subtle);
209+
}

0 commit comments

Comments
 (0)