// config/courses/lessons/toolbar.config.jsx import { Plus, RefreshCw, Download, Archive } from "lucide-react"; import { exportTableToExcel } from "@/utils/excel.util"; export function buildToolbarActions({ fetchLessons, pagination, exportConfig, navigate, courseId, unitId, getFilters, getSort, getTableInstance, }) { return [ { key: "refresh", type: "button", label: "Refresh", icon: , variant: "outline", onClick: () => fetchLessons({ page: 1, limit: pagination?.limit ?? 10, filters: getFilters(), sort: getSort(), }), }, { key: "export", type: "button", label: "Export", icon: , variant: "outline", onClick: () => exportTableToExcel({ ...exportConfig, tableInstance: getTableInstance(), }), }, { key: "create", type: "button", label: "New Lesson", icon: , variant: "default", onClick: () => navigate( `/admin/courses/${courseId}/units/${unitId}/lessons/add` ), }, { key: "archived-lessons", type: "button", icon: , label: "Archived Lessons", variant: "secondary", className: "border border-border", onClick: () => navigate("/admin/lessons/archived"), }, ]; }