initial commit
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// React Imports
|
||||
import { useContext } from 'react'
|
||||
|
||||
// Type Imports
|
||||
import type { HorizontalMenuContextProps } from '../components/horizontal-menu/Menu'
|
||||
|
||||
// Context Imports
|
||||
import { HorizontalMenuContext } from '../components/horizontal-menu/Menu'
|
||||
|
||||
const useHorizontalMenu = (): HorizontalMenuContextProps => {
|
||||
// Hooks
|
||||
const context = useContext(HorizontalMenuContext)
|
||||
|
||||
if (context === undefined) {
|
||||
//TODO: set better error message
|
||||
throw new Error('Menu Component is required!')
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
export default useHorizontalMenu
|
||||
@@ -0,0 +1,19 @@
|
||||
// React Imports
|
||||
import { useContext } from 'react'
|
||||
|
||||
// Context Imports
|
||||
import HorizontalNavContext from '../contexts/horizontalNavContext'
|
||||
|
||||
const useHorizontalNav = () => {
|
||||
// Hooks
|
||||
const context = useContext(HorizontalNavContext)
|
||||
|
||||
if (context === undefined) {
|
||||
//TODO: set better error message
|
||||
throw new Error('HorizontalNav Component is required!')
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
export default useHorizontalNav
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client'
|
||||
|
||||
// React Imports
|
||||
import { useEffect, useState } from 'react'
|
||||
|
||||
const useMediaQuery = (breakpoint?: string): boolean => {
|
||||
// States
|
||||
const [matches, setMatches] = useState(breakpoint === 'always')
|
||||
|
||||
useEffect(() => {
|
||||
if (breakpoint && breakpoint !== 'always') {
|
||||
const media = window.matchMedia(`(max-width: ${breakpoint})`)
|
||||
|
||||
if (media.matches !== matches) {
|
||||
setMatches(media.matches)
|
||||
}
|
||||
|
||||
const listener = () => setMatches(media.matches)
|
||||
|
||||
window.addEventListener('resize', listener)
|
||||
|
||||
return () => window.removeEventListener('resize', listener)
|
||||
}
|
||||
}, [matches, breakpoint])
|
||||
|
||||
return matches
|
||||
}
|
||||
|
||||
export default useMediaQuery
|
||||
@@ -0,0 +1,22 @@
|
||||
// React Imports
|
||||
import { useContext } from 'react'
|
||||
|
||||
// Type Imports
|
||||
import type { VerticalMenuContextProps } from '../components/vertical-menu/Menu'
|
||||
|
||||
// Context Imports
|
||||
import { VerticalMenuContext } from '../components/vertical-menu/Menu'
|
||||
|
||||
const useVerticalMenu = (): VerticalMenuContextProps => {
|
||||
// Hooks
|
||||
const context = useContext(VerticalMenuContext)
|
||||
|
||||
if (context === undefined) {
|
||||
//TODO: set better error message
|
||||
throw new Error('Menu Component is required!')
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
export default useVerticalMenu
|
||||
@@ -0,0 +1,19 @@
|
||||
// React Imports
|
||||
import { useContext } from 'react'
|
||||
|
||||
// Context Imports
|
||||
import VerticalNavContext from '../contexts/verticalNavContext'
|
||||
|
||||
const useVerticalNav = () => {
|
||||
// Hooks
|
||||
const context = useContext(VerticalNavContext)
|
||||
|
||||
if (context === undefined) {
|
||||
//TODO: set better error message
|
||||
throw new Error('VerticalNav Component is required!')
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
export default useVerticalNav
|
||||
Reference in New Issue
Block a user