@defikitdotnet/education-module-ai
Version:
AI Education Module using Agent Framework
44 lines (43 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TeacherProvider = exports.useTeacher = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
// Default context values
var defaultTeacherContext = {
teacher: null,
isTeacherAuthenticated: false,
setCurrentTeacher: function () { },
clearCurrentTeacher: function () { },
};
// Create context
var TeacherContext = (0, react_1.createContext)(defaultTeacherContext);
// Hook for using the teacher context
var useTeacher = function () { return (0, react_1.useContext)(TeacherContext); };
exports.useTeacher = useTeacher;
// Provider component with ref forwarding for dev mode
exports.TeacherProvider = (0, react_1.forwardRef)(function (_a, ref) {
var children = _a.children;
var _b = (0, react_1.useState)(null), teacher = _b[0], setTeacher = _b[1];
// Set current teacher from parent system
var setCurrentTeacher = function (teacherInfo) {
setTeacher(teacherInfo);
};
// Clear teacher data
var clearCurrentTeacher = function () {
setTeacher(null);
};
// Expose methods via ref
(0, react_1.useImperativeHandle)(ref, function () { return ({
setCurrentTeacher: setCurrentTeacher,
}); });
// Context value
var value = {
teacher: teacher,
isTeacherAuthenticated: teacher !== null,
setCurrentTeacher: setCurrentTeacher,
clearCurrentTeacher: clearCurrentTeacher,
};
return ((0, jsx_runtime_1.jsx)(TeacherContext.Provider, { value: value, children: children }));
});
exports.default = TeacherContext;