forked from phoenix-oss/llama-stack-mirror
# What does this PR do? Introduces scaffolding for Llama Stack's UI. Created with next.js and https://ui.shadcn.com/. 1. Initialized directory with `npx shadcn@latest init` 2. Added sidebar component `npx shadcn@latest add sidebar` and added menu items for chat completions and responses. 3. Placeholder pages for each. ## Test Plan `npm run dev` <img width="1058" alt="image" src="https://github.com/user-attachments/assets/5695a53f-e22e-418e-80d1-5bf0ae9b6fe8" />
19 lines
565 B
TypeScript
19 lines
565 B
TypeScript
import * as React from "react"
|
|
|
|
const MOBILE_BREAKPOINT = 768
|
|
|
|
export function useIsMobile() {
|
|
const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)
|
|
|
|
React.useEffect(() => {
|
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)
|
|
const onChange = () => {
|
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)
|
|
}
|
|
mql.addEventListener("change", onChange)
|
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)
|
|
return () => mql.removeEventListener("change", onChange)
|
|
}, [])
|
|
|
|
return !!isMobile
|
|
}
|