lms/bootstrap/ssr/assets/resources-BWJqIQtq.js
2025-12-15 12:26:23 +01:00

67 lines
4.2 KiB
JavaScript

import { jsx, jsxs } from "react/jsx-runtime";
import { B as Button } from "./button-CdJZJLGw.js";
import { C as Card } from "./card-B-gBwpxd.js";
import { T as Table, d as TableHeader, b as TableRow, e as TableHead, a as TableBody, c as TableCell } from "./table-BMWNGY4o.js";
import { usePage } from "@inertiajs/react";
import { format } from "date-fns";
import { ExternalLink, Download } from "lucide-react";
import "react";
import "@radix-ui/react-slot";
import "class-variance-authority";
import "./utils-DLCPGU0v.js";
import "clsx";
import "tailwind-merge";
const Resources = () => {
const { props } = usePage();
const { resources } = props;
const formatDate = (dateString) => {
const date = new Date(dateString);
return format(date, "MMMM dd, yyyy, hh:mm a");
};
const handleDownload = async (resource, e) => {
e.preventDefault();
try {
const url = route("resources.download", resource.id);
window.open(url, "_blank");
} catch (error) {
window.open(resource.resource, "_blank");
}
};
return /* @__PURE__ */ jsx("div", { className: "space-y-8", children: resources && resources.length > 0 ? resources.map((section, sectionIndex) => /* @__PURE__ */ jsxs(Card, { children: [
/* @__PURE__ */ jsx("div", { className: "bg-muted rounded-t-lg px-4 py-3", children: /* @__PURE__ */ jsxs("h3", { className: "text-lg font-semibold", children: [
"Module: ",
section.title
] }) }),
/* @__PURE__ */ jsx("div", { className: "space-y-4 p-4", children: section.section_lessons && section.section_lessons.length > 0 ? section.section_lessons.map(
(lesson) => lesson.resources && lesson.resources.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "rounded-md border", children: [
/* @__PURE__ */ jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-base font-medium", children: [
/* @__PURE__ */ jsx("span", { className: "font-semibold", children: "Lesson:" }),
" ",
lesson.title
] }) }),
/* @__PURE__ */ jsx("div", { className: "overflow-hidden border-t", children: /* @__PURE__ */ jsxs(Table, { children: [
/* @__PURE__ */ jsx(TableHeader, { className: "bg-muted/50", children: /* @__PURE__ */ jsxs(TableRow, { children: [
/* @__PURE__ */ jsx(TableHead, { className: "px-4 font-semibold", children: "Title" }),
/* @__PURE__ */ jsx(TableHead, { className: "px-4 font-semibold", children: "Date & Time" }),
/* @__PURE__ */ jsx(TableHead, { className: "px-4 text-right font-semibold", children: "Action" })
] }) }),
/* @__PURE__ */ jsx(TableBody, { children: lesson.resources.map((resource) => /* @__PURE__ */ jsxs(TableRow, { className: "hover:bg-muted/30", children: [
/* @__PURE__ */ jsx(TableCell, { className: "px-4 py-3 font-medium", children: resource.title }),
/* @__PURE__ */ jsx(TableCell, { className: "text-muted-foreground px-4 py-3", children: formatDate(resource.created_at) }),
/* @__PURE__ */ jsx(TableCell, { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-end gap-2", children: resource.type === "link" ? /* @__PURE__ */ jsx(Button, { asChild: true, size: "sm", variant: "secondary", children: /* @__PURE__ */ jsxs("a", { target: "_blank", href: resource.resource, children: [
/* @__PURE__ */ jsx(ExternalLink, { className: "h-3 w-3" }),
"Check"
] }) }) : /* @__PURE__ */ jsxs(Button, { size: "sm", variant: "secondary", onClick: (e) => handleDownload(resource, e), children: [
/* @__PURE__ */ jsx(Download, { className: "h-3 w-3" }),
"Download"
] }) }) })
] }, resource.id)) })
] }) })
] }, lesson.id) : null
) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground py-8 text-center", children: "No lessons found in this module." }) })
] }, section.id)) : /* @__PURE__ */ jsx("div", { className: "py-12 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-lg", children: "No resources available for this course yet." }) }) });
};
export {
Resources as default
};