Files
cunkebao_v3/Cunkebao/app/components/LayoutWrapper.tsx
笔记本里的永平 5ff15472f5 feat: 本次提交更新内容如下
场景获客列表搞定
2025-07-07 17:08:27 +08:00

41 lines
999 B
TypeScript

"use client"
import type React from "react"
import { createContext, useContext, useState } from "react"
import AdaptiveLayout from "./AdaptiveLayout"
// 创建视图模式上下文
const ViewModeContext = createContext<{
viewMode: "mobile" | "desktop"
setViewMode: (mode: "mobile" | "desktop") => void
}>({
viewMode: "mobile",
setViewMode: () => {},
})
// 导出 useViewMode hook
export function useViewMode() {
const context = useContext(ViewModeContext)
if (!context) {
throw new Error("useViewMode must be used within ViewModeProvider")
}
return context
}
interface LayoutWrapperProps {
children: React.ReactNode
}
function LayoutWrapper({ children }: LayoutWrapperProps) {
const [viewMode, setViewMode] = useState<"mobile" | "desktop">("mobile")
return (
<ViewModeContext.Provider value={{ viewMode, setViewMode }}>
<AdaptiveLayout>{children}</AdaptiveLayout>
</ViewModeContext.Provider>
)
}
export default LayoutWrapper
export { LayoutWrapper }