INNER CODE UNIT · TypeScript

getBreakpointQueries

libnyanpasu/clash-nyanpasu · frontend/hooks/src/index.ts:18

const getBreakpointQueries = (): [Breakpoint, MediaQueryList][] =>
  (breakpointQueries ??= BREAKPOINT_ORDER.slice(1).map(
    (breakpoint) =>
      [
        breakpoint,
        window.matchMedia(`(min-width: ${BREAKPOINT_VALUES[breakpoint]}px)`),
      ] as [Breakpoint, MediaQueryList],
  ))

const subscribeBreakpoint = (onChange: () => void) => {
  const queries = getBreakpointQueries()

  queries.forEach(([, query]) => query.addEventListener('change', onChange))

  return () => {
    queries.forEach(([, query]) =>
      query.removeEventListener('change', onChange),
    )

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…