import { createMemo, For, Show, type Accessor, type JSX } from "solid-js" import { DragDropProvider, DragDropSensors, DragOverlay, SortableProvider, closestCenter, type DragEvent, } from "@thisbeyond/solid-dnd" import { ConstrainDragXAxis } from "@/utils/solid-dnd" import { IconButton } from "@opencode-ai/ui/icon-button" import { Tooltip, TooltipKeybind } from "@opencode-ai/ui/tooltip" import { type LocalProject } from "@/context/layout" import { sidebarExpanded } from "./sidebar-shell-helpers" export const SidebarContent = (props: { mobile?: boolean opened: Accessor aimMove: (event: MouseEvent) => void projects: Accessor renderProject: (project: LocalProject) => JSX.Element handleDragStart: (event: unknown) => void handleDragEnd: () => void handleDragOver: (event: DragEvent) => void openProjectLabel: JSX.Element openProjectKeybind: Accessor onOpenProject: () => void renderProjectOverlay: () => JSX.Element settingsLabel: Accessor settingsKeybind: Accessor onOpenSettings: () => void helpLabel: Accessor onOpenHelp: () => void renderPanel: () => JSX.Element }): JSX.Element => { const expanded = createMemo(() => sidebarExpanded(props.mobile, props.opened())) const placement = () => (props.mobile ? "bottom" : "right") return (
p.worktree)}> {(project) => props.renderProject(project)} {props.openProjectLabel} {props.openProjectKeybind()}
} >
{props.renderProjectOverlay()}
{props.renderPanel()} ) }