Skip to content

Commit 99cb1da

Browse files
committed
feat: text and word styles added
1 parent 530adad commit 99cb1da

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

assets/css/udoit4-theme.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,12 @@
187187
border: 1px solid var(--gray-lighter);
188188
box-shadow: 2px 2px 2px var(--gray-lighter);
189189
}
190+
191+
--text-spacing-percent: 0;
192+
--app-letter-spacing: calc(var(--text-spacing-percent) * 0.0006em);
193+
--app-word-spacing: calc(var(--text-spacing-percent) * 0.0014em);
194+
letter-spacing: var(--app-letter-spacing);
195+
word-spacing: var(--app-word-spacing);
190196
}
191197

192198
h1, h2, h3, h4, h5, h6 {

assets/js/Components/App.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export default function App(initialData) {
3030
{ DEFAULT_USER_SETTINGS },
3131
{ UFIXIT_OPTIONS },
3232
))
33+
const [textSpacing, setTextSpacing] = useState(settings?.user?.roles && ('text_spacing' in settings.user.roles) ? settings.user.roles.text_spacing: settings.DEFAULT_USER_SETTINGS.TEXT_SPACING)
3334
const [sections, setSections] = useState([])
3435

3536
const [navigation, setNavigation] = useState('summary')
@@ -366,6 +367,7 @@ export default function App(initialData) {
366367

367368
return (
368369
<div id="app-container"
370+
style={{ '--text-spacing-percent': Number(textSpacing) }}
369371
className={`flex-column flex-grow-1 `
370372
+ `${settings?.user?.roles?.font_size || settings.DEFAULT_USER_SETTINGS.FONT_SIZE} `
371373
+ `${settings?.user?.roles?.font_family || settings.DEFAULT_USER_SETTINGS.FONT_FAMILY} `
@@ -448,7 +450,9 @@ export default function App(initialData) {
448450
settings={settings}
449451
updateUserSettings={updateUserSettings}
450452
syncComplete={syncComplete}
451-
handleFullCourseRescan={handleFullCourseRescan} />
453+
handleFullCourseRescan={handleFullCourseRescan}
454+
textSpacing={textSpacing}
455+
setTextSpacing={setTextSpacing} />
452456
}
453457
{('modal' === navigation) &&
454458
<div className="modal">

assets/js/Components/SettingsPage.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import './SettingsPage.css'
88
export default function SettingsPage({
99
t,
1010
settings,
11-
updateUserSettings
11+
updateUserSettings,
12+
textSpacing,
13+
setTextSpacing
1214
}) {
1315

1416
const [alertOptions, setAlertOptions] = useState([])
@@ -55,7 +57,6 @@ export default function SettingsPage({
5557
// For new users, the 'dark_mode' attribute may not be set, so we need to check if it exists before using it
5658
// Because the values might be false, we need to differentiate between undefined and false
5759
const [darkMode, setDarkMode] = useState(settings?.user?.roles && ('dark_mode' in settings.user.roles) ? settings.user.roles.dark_mode : settings.DEFAULT_USER_SETTINGS.DARK_MODE)
58-
const [textSpacing, setTextSpacing] = useState(settings?.user?.roles && ('text_spacing' in settings.user.roles) ? settings.user.roles.text_spacing: settings.DEFAULT_USER_SETTINGS.TEXT_SPACING)
5960

6061
const handleDarkModeChange = (newValue) => {
6162
setDarkMode(newValue)

0 commit comments

Comments
 (0)