UNPKG

@defikitdotnet/education-module-ai

Version:
52 lines (51 loc) 3.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var jsx_runtime_1 = require("react/jsx-runtime"); var react_1 = require("react"); var router_1 = require("next/router"); var card_1 = require("../../../components/ui/card"); var AICourseGenerator_1 = __importDefault(require("../../../components/AICourseGenerator")); var link_1 = __importDefault(require("next/link")); var button_1 = require("../../../components/ui/button"); var CreateCourseWithAI = function () { var router = (0, router_1.useRouter)(); var _a = (0, react_1.useState)(null), teacher = _a[0], setTeacher = _a[1]; var _b = (0, react_1.useState)(false), isAuthenticated = _b[0], setIsAuthenticated = _b[1]; (0, react_1.useEffect)(function () { // Check for teacher info in localStorage var storedTeacher = localStorage.getItem('currentTeacher'); if (storedTeacher) { try { var teacherData = JSON.parse(storedTeacher); setTeacher(teacherData); setIsAuthenticated(true); } catch (e) { console.error("Failed to parse teacher data:", e); router.push('/teacher/login'); } } else { // Redirect to login if no teacher data found router.push('/teacher/login'); } }, [router]); // Handle completion of AI course creation var handleComplete = function (course) { // Redirect to the course detail page router.push("/teacher/course/".concat(course.id)); }; // Handle cancel var handleCancel = function () { router.push("/teacher"); }; // Show error if not authenticated if (!isAuthenticated || !teacher) { return ((0, jsx_runtime_1.jsx)("div", { className: "container mx-auto py-8", children: (0, jsx_runtime_1.jsxs)(card_1.Card, { className: "max-w-2xl mx-auto", children: [(0, jsx_runtime_1.jsx)(card_1.CardHeader, { children: (0, jsx_runtime_1.jsx)(card_1.CardTitle, { className: "text-red-600", children: "Authentication Required" }) }), (0, jsx_runtime_1.jsxs)(card_1.CardContent, { children: [(0, jsx_runtime_1.jsx)("p", { children: "You need to log in to create a course. Please log in to continue." }), (0, jsx_runtime_1.jsx)(link_1.default, { href: "/teacher/login", children: (0, jsx_runtime_1.jsx)(button_1.Button, { className: "mt-4", children: "Go to Login" }) })] })] }) })); } return ((0, jsx_runtime_1.jsx)("div", { className: "container mx-auto py-8", children: (0, jsx_runtime_1.jsxs)(card_1.Card, { className: "max-w-3xl mx-auto", children: [(0, jsx_runtime_1.jsx)(card_1.CardHeader, { children: (0, jsx_runtime_1.jsx)(card_1.CardTitle, { children: "Create Course with AI" }) }), (0, jsx_runtime_1.jsx)(card_1.CardContent, { children: (0, jsx_runtime_1.jsx)(AICourseGenerator_1.default, { apiBaseUrl: process.env.NEXT_PUBLIC_BACKEND_URL || "", teacherId: teacher.id, onComplete: handleComplete, onCancel: handleCancel }) })] }) })); }; exports.default = CreateCourseWithAI;