import type { Meta, StoryObj } from '@storybook/react'
import { Typography } from '../../components'
import { viewports } from '../../utils/viewports'
import { useIsMobile } from './useIsMobile'
import { useIsTablet } from './useIsTablet'
import { useViewport } from './useViewport'
const meta: Meta = {
title: 'Hooks/MediaQueries',
}
export default meta
const ViewportVisualTest = () => {
const viewport = useViewport()
return (
Current Viewport: {viewport}
Resize the window or use Storybook viewport toolbar to change.
)
}
const IsMobileVisualTest = () => {
const isMobile = useIsMobile()
return (
Is Mobile: {isMobile ? 'TRUE (Mobile)' : 'FALSE (Tablet and Desktop)'}
This should be TRUE only below 768px.
)
}
const IsTabletVisualTest = () => {
const isTablet = useIsTablet()
return (
Is Tablet: {isTablet ? 'TRUE (Tablet/Mobile)' : 'FALSE (Desktop)'}
This should be TRUE below 996px (includes tablets and mobile).
)
}
export const UseViewport: StoryObj = {
render: () => ,
parameters: {
chromatic: { ...viewports.all },
},
}
export const UseIsMobile: StoryObj = {
render: () => ,
parameters: {
chromatic: { viewports: [viewports.XS, viewports.M] },
},
}
export const UseIsTablet: StoryObj = {
render: () => ,
parameters: {
chromatic: { viewports: [viewports.XS, viewports.M, viewports.XL] },
},
}