@defikitdotnet/education-module-ai
Version:
AI Education Module using Agent Framework
52 lines (51 loc) • 3.2 kB
JavaScript
;
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;