"use client"; import * as React from "react"; import { motion } from "framer-motion"; import { Music2 } from "lucide-react"; import { cn } from "@/lib/utils"; import { href, type Nav, type Tab } from "@/lib/nav"; import { useMotionOK, spring } from "@/lib/motion"; import { NAV } from "./nav-items"; /** * Sidebar navigation, the pattern Apple uses in Music, Mail, Finder and * Settings. It replaces a horizontally scrolling row of pills, which is a * mobile-web affordance that had been left on the desktop layout too. * * Collapses to a 68px icon rail between 768 and 1024, where a 240px sidebar * would eat a third of the window. */ export function Sidebar({ nav, go, badges, rail, visible, }: { nav: Nav; go: (n: Nav) => void; badges: Partial>; rail: boolean; visible: (t: Tab) => boolean; }) { const ok = useMotionOK(); const groups = ["Library", "Activity", "Manage"] as const; return ( ); }