UNPKG

@defikitdotnet/education-module-ai

Version:
44 lines (43 loc) 1.64 kB
"use strict"; 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;