"use client"; import * as React from "react"; import { motion, AnimatePresence } from "framer-motion"; import { cn } from "../../utils/cn"; import { Search } from "lucide-react"; interface BlogCommandBarProps { searchQuery: string; onSearchChange: (value: string) => void; tags: string[]; activeTags: string[]; onTagToggle: (tag: string) => void; className?: string; } export const BlogCommandBar: React.FC = ({ searchQuery, onSearchChange, tags, activeTags, onTagToggle, className = "", }) => { return (
{/* Command Input Area */}
{/* Glow Effect */}
onSearchChange(e.target.value)} placeholder="Beiträge suchen..." className="w-full bg-transparent px-3 md:px-4 py-2 md:py-3 text-base md:text-lg text-slate-900 placeholder:text-slate-300 outline-none font-bold" /> {searchQuery && ( onSearchChange("")} className="mr-2 px-2.5 py-1 md:px-3 md:py-1.5 bg-slate-100 hover:bg-slate-200 rounded-lg text-[9px] md:text-[10px] font-bold uppercase tracking-wider text-slate-500 hover:text-slate-900 transition-colors" > Leeren )}
{/* Tag Command Row */} {tags.map((tag) => { const isActive = activeTags.includes(tag); return ( onTagToggle(tag)} className={cn( "relative px-2.5 py-1 md:px-3 md:py-1.5 rounded-lg text-[9px] md:text-[10px] font-mono uppercase tracking-wider border transition-all duration-200 select-none overflow-hidden", isActive ? "text-white border-slate-900 shadow-md" : "bg-white text-slate-500 border-slate-200 hover:border-slate-400 hover:text-slate-900 hover:bg-slate-50", )} whileHover={{ scale: 1.02 }} whileTap={{ scale: 0.98 }} > #{tag} {isActive && ( )} ); })}
); };