| 1 | import { |
| 2 | BASE_FONT_SIZE_STEP, |
| 3 | MAX_BASE_FONT_SIZE, |
| 4 | MIN_BASE_FONT_SIZE, |
| 5 | } from "../../../../lib/appearancePreferences"; |
| 6 | import { SettingsSection } from "../../components/SettingsSection"; |
| 7 | import { useAppearancePreferences } from "../AppearancePreferencesProvider"; |
| 8 | import { |
| 9 | AppearancePreviewSeparator, |
| 10 | TextAppearancePreview, |
| 11 | } from "../components/AppearancePreviews"; |
| 12 | import { FontSizeSliderRow } from "../components/FontSizeSliderRow"; |
| 13 | |
| 14 | export 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 | } |