webapp/src/context/mediaQuery.tsx
Ilya Y 11d3a6c274
Markup for mobile fix-pack (#349)
* mediaQuery context provider
* Fix header styles
* User list markup fix
2023-12-29 09:39:16 +03:00

32 lines
779 B
TypeScript

import type { JSX } from 'solid-js'
import { createBreakpoints } from '@solid-primitives/media'
import { createContext, useContext } from 'solid-js'
const breakpoints = {
xs: '0',
sm: '576px',
md: '768px',
lg: '992px',
xl: '1200px',
xxl: '1400px',
}
type MediaQueryContextType = {
mediaMatches: ReturnType<typeof createBreakpoints>
}
const MediaQueryContext = createContext<MediaQueryContextType>()
export function useMediaQuery() {
return useContext(MediaQueryContext)
}
export const MediaQueryProvider = (props: { children: JSX.Element }) => {
const mediaMatches = createBreakpoints(breakpoints)
const value: MediaQueryContextType = { mediaMatches }
return <MediaQueryContext.Provider value={value}>{props.children}</MediaQueryContext.Provider>
}