'use client'; import { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faListUl, faChevronRight, faChevronLeft } from '@fortawesome/free-solid-svg-icons'; import { PostToc } from './post-toc'; import { clsx, type ClassValue } from 'clsx'; import { twMerge } from 'tailwind-merge'; function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } export function PostLayout({ children, hasToc = true }: { children: React.ReactNode; hasToc?: boolean }) { const [isTocOpen, setIsTocOpen] = useState(hasToc); return (