"use client"; import React, { useState, useMemo } from 'react'; import { Search, Plus, Upload, Download, Trash2, Share, Star, Grid, List, MoreVertical, Home, ChevronRight, Folder, File, Image, Video, Music, FileText, Code, Database, Package, Archive, Clock, Users, Eye, Edit3, Copy, Scissors, FolderPlus, FilePlus, RefreshCw, Info, Lock, Unlock, ArrowRight, ExternalLink, History, Settings, MessageCircle, Send, X, Minimize2, Maximize2, Sparkles } from 'lucide-react'; import { cn } from "@/lib/utils"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Separator } from "@/components/ui/separator"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "@/components/ui/resizable"; import { Tooltip, TooltipContent, TooltipTrigger, TooltipProvider } from "@/components/ui/tooltip";// General Bots-style Footer Component const Footer = ({ className, shortcuts }) => { const [isChatOpen, setIsChatOpen] = useState(false); const [isChatMinimized, setIsChatMinimized] = useState(false); // Expecting shortcuts as an array of two arrays: [ [row1], [row2] ] const shortcutGroups = shortcuts || [[], []]; return (
{/* XTreeGold-style two-row footer */}
{/* First row - F1-F10 keys */}
{shortcutGroups[0].map((shortcut, index) => (
{shortcut.key} {shortcut.label}
))}
{/* Second row - Other keys */}
{shortcutGroups[1].map((shortcut, index) => (
{shortcut.key} {shortcut.label}
))}
{/* Right side - Status/AI Assistant */}
Ready
{/* Chat Window (optional) */} {isChatOpen && !isChatMinimized && (
General Bots Assistant
General Bots Assistant is ready to help with file operations.
)}
); }; export default Footer;