| | export const applyFontSize = (val: string) => { |
| | const root = document.documentElement; |
| | const size = val.split('-')[1]; |
| |
|
| | switch (size) { |
| | case 'xs': |
| | root.style.setProperty('--markdown-font-size', '0.75rem'); |
| | break; |
| | case 'sm': |
| | root.style.setProperty('--markdown-font-size', '0.875rem'); |
| | break; |
| | case 'base': |
| | root.style.setProperty('--markdown-font-size', '1rem'); |
| | break; |
| | case 'lg': |
| | root.style.setProperty('--markdown-font-size', '1.125rem'); |
| | break; |
| | case 'xl': |
| | root.style.setProperty('--markdown-font-size', '1.25rem'); |
| | break; |
| | } |
| | }; |
| |
|
| | export const getInitialTheme = () => { |
| | if (typeof window !== 'undefined' && window.localStorage) { |
| | const storedPrefs = window.localStorage.getItem('color-theme'); |
| | if (typeof storedPrefs === 'string') { |
| | return storedPrefs; |
| | } |
| |
|
| | const userMedia = window.matchMedia('(prefers-color-scheme: dark)'); |
| | if (userMedia.matches) { |
| | return 'dark'; |
| | } |
| | } |
| |
|
| | return 'light'; |
| | }; |
| |
|