// 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"),
},
];
}