"use client"; import { uv } from "colorjs.io/fn"; import { Media } from "components/Media"; import { createContext, useState } from "react"; export const SidebarContext = createContext({ open: false, setChildForceOpen: (b: boolean) => {}, }); export function Sidebar(props: { children?: React.ReactNode; alwaysOpen?: boolean; className?: string; }) { let [sidebarExpanded, setSidebarExpanded] = useState(false); let [childForceOpen, setChildForceOpen] = useState(false); let open = sidebarExpanded || childForceOpen; return (
{ setSidebarExpanded(true); }} onMouseLeave={() => { !props.alwaysOpen && setSidebarExpanded(false); }} > {props.children}
); }