1import {
2 BASE_FONT_SIZE_STEP,
3 MAX_BASE_FONT_SIZE,
4 MIN_BASE_FONT_SIZE,
5} from "../../../../lib/appearancePreferences";
6import { SettingsSection } from "../../components/SettingsSection";
7import { useAppearancePreferences } from "../AppearancePreferencesProvider";
8import {
9 AppearancePreviewSeparator,
10 TextAppearancePreview,
11} from "../components/AppearancePreviews";
12import { FontSizeSliderRow } from "../components/FontSizeSliderRow";
13
14export function TextAppearanceSection() {
15 const { isReady, appearance, setBaseFontSize } = useAppearancePreferences();
16
17 return (
18 <SettingsSection title="Text">
19 <TextAppearancePreview fontSize={appearance.baseFontSize} />
20 <AppearancePreviewSeparator />
21 <FontSizeSliderRow
22 disabled={!isReady}
23 icon="textformat.size"
24 label="Text size"
25 max={MAX_BASE_FONT_SIZE}
26 min={MIN_BASE_FONT_SIZE}
27 onChange={setBaseFontSize}
28 step={BASE_FONT_SIZE_STEP}
29 value={appearance.baseFontSize}
30 valueLabel={`${appearance.baseFontSize} pt`}
31 />
32 </SettingsSection>
33 );
34}