@cuemath/leap 3.5.35-link.1 → 3.5.36-as1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/milestone/constants.js +15 -28
- package/dist/features/milestone/constants.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +42 -43
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js +15 -15
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals.js +80 -85
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/worksheet/worksheet.js +33 -42
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/helper.js +66 -69
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-slide-config-update.js +39 -53
- package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +129 -141
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/left-panel/index.js.map +1 -1
- package/dist/features/trial-session/trial-session-constants.js +9 -16
- package/dist/features/trial-session/trial-session-constants.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +16 -17
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/trial-session/trial-session.js +66 -68
- package/dist/features/trial-session/trial-session.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +333 -331
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
const
|
|
1
|
+
var n = /* @__PURE__ */ ((E) => (E.WELCOME_CUEMATH = "welcome-cuemath", E.CIRCLE_GAME = "circle-game", E.TEACHER_INTRO = "teacher-intro", E.SESSION_OVERVIEW = "session-overview", E.STUDENT_LEVEL = "student-level", E.STUDENT_INFORMATION = "student-information", E.SCHOOL_GOALS = "school-goals", E.TEST_PREP = "test-prep", E.STUDENT_ENRICHMENT = "student-enrichment", E.STUDENT_PERSONALIZATION = "student-personalization", E.ADDITIONAL_INFO = "additional-info", E.STUDENT_PROFILE = "student-profile", E.STUDENT_INTRO = "student-intro", E.LEARNING_LEVEL = "learning-level", E.LEARNING_WORKSHEET = "learning-worksheet", E.COMPLETED_WORKSHEET = "completed-worksheet", E.WELCOME_BACK = "welcome-back", E.SESSION_INSIGHTS = "session-insights", E.SESSION_REPORT = "session-report", E.LEARNING_PLAN = "learning-plan", E.SESSION_SUMMARY = "session-summary", E.GOAL_DETAILS = "goal-details", E.PARENT_APP = "parent-app", E.CIRCLE_INFORMATION = "circle-information", E.PRICING = "pricing", E.CLASS_PREFERENCE = "class-preference", E.THANK_YOU = "thank-you", E.CIRCLE_PUZZLE = "circle-puzzle", E.CIRCLE_SKILL = "circle-skill", E))(n || {});
|
|
2
|
+
const s = [
|
|
3
3
|
"learning-worksheet",
|
|
4
4
|
"learning-plan",
|
|
5
5
|
"circle-game",
|
|
6
6
|
"circle-puzzle",
|
|
7
7
|
"circle-skill"
|
|
8
8
|
/* CIRCLE_SKILL */
|
|
9
|
-
],
|
|
9
|
+
], e = [
|
|
10
10
|
"learning-worksheet",
|
|
11
11
|
"circle-game",
|
|
12
12
|
"learning-plan",
|
|
@@ -23,25 +23,18 @@ const n = [
|
|
|
23
23
|
], _ = {
|
|
24
24
|
left: { isDisabled: !1, isLoading: !1 },
|
|
25
25
|
right: { isDisabled: !1, isLoading: !1 }
|
|
26
|
-
}, N = 928,
|
|
27
|
-
"USCC.ALGBRA1": "algebra_i",
|
|
28
|
-
"USCC.ALGBRA2": "algebra_ii",
|
|
29
|
-
"USCC.GEOMRY": "geometry",
|
|
30
|
-
"USCC.PRECAL": "precalculus",
|
|
31
|
-
"USCC.CLCULS": "calculus"
|
|
32
|
-
};
|
|
26
|
+
}, N = 928, o = 480, c = 360, A = 64, L = 540, S = "Asia/Calcutta";
|
|
33
27
|
export {
|
|
34
|
-
|
|
28
|
+
e as ACTIONABLE_COMPONENT_IDS,
|
|
35
29
|
_ as DEFAULT_BUTTON_STATE,
|
|
36
|
-
C as HIGH_ENROLLMENT_PROGRAMS_MAP,
|
|
37
30
|
L as MINIMUM_SCREEN_HEIGHT,
|
|
38
31
|
A as NAVIGATION_BAR_HEIGHT,
|
|
39
|
-
|
|
32
|
+
s as PAGES_WITHOUT_GRID,
|
|
40
33
|
N as RIGHT_PANEL_WIDTH,
|
|
41
34
|
t as SCROLLABLE_COMPONENT_IDS,
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
c as STUDENT_LEFT_PANEL_MAX_WIDTH,
|
|
36
|
+
o as TEACHER_LEFT_PANEL_MAX_WIDTH,
|
|
44
37
|
S as TEACHER_TIMEZONE,
|
|
45
|
-
|
|
38
|
+
n as TrialPageId
|
|
46
39
|
};
|
|
47
40
|
//# sourceMappingURL=trial-session-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights',\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n}\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n];\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 928;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\n
|
|
1
|
+
{"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights',\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n}\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n];\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 928;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\n"],"names":["TrialPageId","PAGES_WITHOUT_GRID","ACTIONABLE_COMPONENT_IDS","SCROLLABLE_COMPONENT_IDS","DEFAULT_BUTTON_STATE","RIGHT_PANEL_WIDTH","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","NAVIGATION_BAR_HEIGHT","MINIMUM_SCREEN_HEIGHT","TEACHER_TIMEZONE"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,gBAAgB,iBAChBA,EAAA,mBAAmB,oBACnBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,YAAY,aACZA,EAAA,qBAAqB,sBACrBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,mBAAmB,oBACnBA,EAAA,iBAAiB,kBACjBA,EAAA,gBAAgB,iBAChBA,EAAA,kBAAkB,mBAClBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,qBAAqB,sBACrBA,EAAA,UAAU,WACVA,EAAA,mBAAmB,oBACnBA,EAAA,YAAY,aACZA,EAAA,gBAAgB,iBAChBA,EAAA,eAAe,gBA7BLA,IAAAA,KAAA,CAAA,CAAA;AAgCL,MAAMC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAuB;AAAA,EAClC,MAAM,EAAE,YAAY,IAAO,WAAW,GAAM;AAAA,EAC5C,OAAO,EAAE,YAAY,IAAO,WAAW,GAAM;AAC/C,GAEaC,IAAoB,KACpBC,IAA+B,KAC/BC,IAA+B,KAC/BC,IAAwB,IACxBC,IAAwB,KACxBC,IAAmB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n
|
|
1
|
+
{"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n confirmationModalActive?: boolean;\n resetAttempt: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AAiCY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -14,7 +14,7 @@ const de = z(function(B) {
|
|
|
14
14
|
trialGameUrl: I,
|
|
15
15
|
formData: i,
|
|
16
16
|
height: G = "100vh",
|
|
17
|
-
trialHomeData:
|
|
17
|
+
trialHomeData: e,
|
|
18
18
|
milestoneConfig: m,
|
|
19
19
|
onFormDataChange: f,
|
|
20
20
|
worksheet: v,
|
|
@@ -34,36 +34,35 @@ const de = z(function(B) {
|
|
|
34
34
|
studentTimezone: c,
|
|
35
35
|
classTimeAlertConfig: M,
|
|
36
36
|
changeDemoLevel: V
|
|
37
|
-
} = B,
|
|
37
|
+
} = B, t = o === "TEACHER", { pages: g = [] } = e, [n, N] = J(i), p = t ? n : i, h = p == null ? void 0 : p.id, $ = S(
|
|
38
38
|
() => g.find((a) => a.id === h) ?? g[0],
|
|
39
39
|
[h, g]
|
|
40
40
|
), b = S(() => {
|
|
41
41
|
const a = {
|
|
42
|
-
circleConfig:
|
|
42
|
+
circleConfig: e.circle_trial_game_config,
|
|
43
43
|
playerDetails: {
|
|
44
|
-
userId:
|
|
45
|
-
circle_username: t
|
|
46
|
-
user_avatar: t
|
|
44
|
+
userId: t ? l : s,
|
|
45
|
+
circle_username: e[t ? "teacher" : "student"].circle_username,
|
|
46
|
+
user_avatar: e[t ? "teacher" : "student"].user_avatar,
|
|
47
47
|
playerType: o
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
-
return o === "STUDENT" && (a.playerDetails.grade =
|
|
51
|
-
}, [
|
|
50
|
+
return o === "STUDENT" && (a.playerDetails.grade = e.student.grade), a;
|
|
51
|
+
}, [t, s, l, e, o]), r = K((a) => {
|
|
52
52
|
N((U) => U ? { ...U, ...a } : a);
|
|
53
53
|
}, []), { buttonState: j, updateButtonState: k } = X(), { onRenderUpdateSlideConfig: L } = Y({
|
|
54
|
-
|
|
54
|
+
teacherClassroomId: H,
|
|
55
55
|
milestoneConfig: m,
|
|
56
56
|
studentTimezone: c,
|
|
57
|
-
teacherClassroomId: H,
|
|
58
57
|
updateSlideConfig: r
|
|
59
58
|
}), O = S(
|
|
60
59
|
() => ({
|
|
61
60
|
teacherPanel: D,
|
|
62
61
|
studentPanel: T,
|
|
63
|
-
isTeacher:
|
|
62
|
+
isTeacher: t,
|
|
64
63
|
slideConfig: $,
|
|
65
64
|
milestoneConfig: m,
|
|
66
|
-
formData:
|
|
65
|
+
formData: t ? n : i,
|
|
67
66
|
updateSlideConfig: r,
|
|
68
67
|
worksheet: v,
|
|
69
68
|
buttonState: j,
|
|
@@ -71,7 +70,7 @@ const de = z(function(B) {
|
|
|
71
70
|
studentId: s,
|
|
72
71
|
teacherId: l,
|
|
73
72
|
classStartedOn: P,
|
|
74
|
-
trialHomeData:
|
|
73
|
+
trialHomeData: e,
|
|
75
74
|
worksheetNavigationPanel: x,
|
|
76
75
|
questionsRatingPanel: _,
|
|
77
76
|
onTrialInformationUpdate: E,
|
|
@@ -87,7 +86,7 @@ const de = z(function(B) {
|
|
|
87
86
|
[
|
|
88
87
|
D,
|
|
89
88
|
T,
|
|
90
|
-
|
|
89
|
+
t,
|
|
91
90
|
$,
|
|
92
91
|
m,
|
|
93
92
|
n,
|
|
@@ -99,7 +98,7 @@ const de = z(function(B) {
|
|
|
99
98
|
s,
|
|
100
99
|
l,
|
|
101
100
|
P,
|
|
102
|
-
|
|
101
|
+
e,
|
|
103
102
|
x,
|
|
104
103
|
_,
|
|
105
104
|
E,
|
|
@@ -118,8 +117,8 @@ const de = z(function(B) {
|
|
|
118
117
|
}, [f, n]), d(() => {
|
|
119
118
|
c || u == null || u();
|
|
120
119
|
}, [h]), d(() => {
|
|
121
|
-
e && c && L();
|
|
122
|
-
}, [
|
|
120
|
+
t && e && c && L(e);
|
|
121
|
+
}, [t, L, c, e]), d(() => {
|
|
123
122
|
V && r({ confirmationModalActive: !0 });
|
|
124
123
|
}, [V, r]), /* @__PURE__ */ C(W.Provider, { value: O, children: /* @__PURE__ */ q(Q, { $height: G, $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
|
|
125
124
|
/* @__PURE__ */ C(Z, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport { useSlideConfigUpdate } from './hooks/use-slide-config-update';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(function TrialSessionView(props) {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n teacherClassroomId,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n changeDemoLevel,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [] } = trialHomeData;\n\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const { onRenderUpdateSlideConfig } = useSlideConfigUpdate({\n
|
|
1
|
+
{"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport { useSlideConfigUpdate } from './hooks/use-slide-config-update';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(function TrialSessionView(props) {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n teacherClassroomId,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n changeDemoLevel,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [] } = trialHomeData;\n\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const { onRenderUpdateSlideConfig } = useSlideConfigUpdate({\n teacherClassroomId,\n milestoneConfig,\n studentTimezone,\n updateSlideConfig,\n });\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n useEffect(() => {\n if (isTeacher && trialHomeData && studentTimezone) {\n onRenderUpdateSlideConfig(trialHomeData);\n }\n }, [isTeacher, onRenderUpdateSlideConfig, studentTimezone, trialHomeData]);\n\n useEffect(() => {\n if (changeDemoLevel) updateSlideConfig({ confirmationModalActive: true });\n }, [changeDemoLevel, updateSlideConfig]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","teacherClassroomId","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","changeDemoLevel","isTeacher","slides","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","onRenderUpdateSlideConfig","useSlideConfigUpdate","contextValue","useEffect","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":"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"}
|
|
@@ -1,95 +1,93 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { getTimezone as
|
|
4
|
-
import
|
|
5
|
-
import { useGetMileStoneConfig as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { useGetTrialHome as
|
|
9
|
-
import { filterAndUpdateSlideNavigation as
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { memo as h, useState as I, useCallback as n, useEffect as p } from "react";
|
|
3
|
+
import { getTimezone as L } from "../../helpers/date-time.js";
|
|
4
|
+
import z from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
|
|
5
|
+
import { useGetMileStoneConfig as F } from "../milestone/create/api/milestone-config.js";
|
|
6
|
+
import y from "../ui/error/error.js";
|
|
7
|
+
import w from "../ui/loader/app-loader/app-loader.js";
|
|
8
|
+
import { useGetTrialHome as k } from "./api/trial-home.js";
|
|
9
|
+
import { filterAndUpdateSlideNavigation as x } from "./helper.js";
|
|
10
|
+
import G from "./trial-session-view.js";
|
|
11
|
+
const V = h(function(f) {
|
|
12
|
+
const { userType: e, teacherId: d, studentId: g, teacherClassroomId: N, height: S = "100vh" } = f, [m, A] = I(null), [D, _] = I(), {
|
|
13
|
+
data: T,
|
|
14
|
+
get: E,
|
|
15
|
+
isProcessing: v,
|
|
16
|
+
isProcessingFailed: H
|
|
17
|
+
} = k(), {
|
|
18
|
+
get: u,
|
|
19
|
+
data: a,
|
|
16
20
|
isProcessing: P,
|
|
17
|
-
isProcessingFailed:
|
|
18
|
-
} =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
isProcessingFailed: U
|
|
23
|
-
} = y(), t = n(() => {
|
|
24
|
-
p("trial-v3", {
|
|
25
|
-
student_id: S,
|
|
26
|
-
teacher_id: g,
|
|
21
|
+
isProcessingFailed: R
|
|
22
|
+
} = F(), t = n(() => {
|
|
23
|
+
E("trial-v3", {
|
|
24
|
+
student_id: g,
|
|
25
|
+
teacher_id: d,
|
|
27
26
|
viewer: e.toLocaleLowerCase()
|
|
28
27
|
});
|
|
29
|
-
}, [
|
|
30
|
-
t(),
|
|
28
|
+
}, [E, g, d, e]), l = n(() => {
|
|
29
|
+
t(), u("", {
|
|
31
30
|
demo_type: "TRIAL_V3"
|
|
32
31
|
});
|
|
33
|
-
}, [t,
|
|
34
|
-
(
|
|
35
|
-
e ===
|
|
32
|
+
}, [t, u]), C = n(
|
|
33
|
+
(s) => {
|
|
34
|
+
e === "STUDENT" && s.forEach((i) => {
|
|
36
35
|
i.eventName === "TRIAL_INFORMATION_UPDATED" && t();
|
|
37
|
-
}), e ===
|
|
36
|
+
}), e === "TEACHER" && s.forEach((i) => {
|
|
38
37
|
if (i.eventName === "TRIAL_SESSION_STUDENT_TIMEZONE") {
|
|
39
38
|
const {
|
|
40
|
-
eventPayload: { timezone:
|
|
39
|
+
eventPayload: { timezone: O }
|
|
41
40
|
} = i;
|
|
42
|
-
|
|
41
|
+
_(O);
|
|
43
42
|
}
|
|
44
43
|
});
|
|
45
44
|
},
|
|
46
45
|
[t, e]
|
|
47
|
-
), { publish: o } =
|
|
48
|
-
teacherClassroomId:
|
|
49
|
-
onMessageReceive:
|
|
50
|
-
}),
|
|
51
|
-
t(), e ===
|
|
46
|
+
), { publish: o } = z({
|
|
47
|
+
teacherClassroomId: N,
|
|
48
|
+
onMessageReceive: C
|
|
49
|
+
}), M = n(() => {
|
|
50
|
+
t(), e === "TEACHER" && (o == null || o({
|
|
52
51
|
eventName: "TRIAL_INFORMATION_UPDATED"
|
|
53
52
|
}));
|
|
54
|
-
}, [t, o, e]),
|
|
55
|
-
e ===
|
|
53
|
+
}, [t, o, e]), U = n(() => {
|
|
54
|
+
e === "STUDENT" && (o == null || o({
|
|
56
55
|
eventName: "TRIAL_SESSION_STUDENT_TIMEZONE",
|
|
57
|
-
eventPayload: { timezone:
|
|
56
|
+
eventPayload: { timezone: L() }
|
|
58
57
|
}));
|
|
59
58
|
}, [o, e]);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}, [
|
|
63
|
-
const
|
|
64
|
-
(
|
|
65
|
-
if (
|
|
66
|
-
const
|
|
67
|
-
milestoneConfigData:
|
|
68
|
-
trialHomeData:
|
|
69
|
-
grade:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
D(c);
|
|
59
|
+
p(() => {
|
|
60
|
+
l();
|
|
61
|
+
}, [l]);
|
|
62
|
+
const r = n(
|
|
63
|
+
(s) => {
|
|
64
|
+
if (T && a) {
|
|
65
|
+
const i = x({
|
|
66
|
+
milestoneConfigData: a,
|
|
67
|
+
trialHomeData: T,
|
|
68
|
+
grade: s
|
|
69
|
+
});
|
|
70
|
+
A(i);
|
|
73
71
|
}
|
|
74
72
|
},
|
|
75
|
-
[
|
|
73
|
+
[a, T]
|
|
76
74
|
);
|
|
77
|
-
return
|
|
78
|
-
|
|
79
|
-
}, [
|
|
80
|
-
|
|
75
|
+
return p(() => {
|
|
76
|
+
r == null || r();
|
|
77
|
+
}, [r]), v && !m || P ? /* @__PURE__ */ c(w, { height: S }) : H || R ? /* @__PURE__ */ c(y, { height: S, onTryAgain: l }) : m && a ? /* @__PURE__ */ c(
|
|
78
|
+
G,
|
|
81
79
|
{
|
|
82
|
-
...
|
|
83
|
-
onTrialInformationUpdate:
|
|
84
|
-
onStudentTimezoneUpdate:
|
|
85
|
-
trialHomeData:
|
|
86
|
-
milestoneConfig:
|
|
87
|
-
onRemoveOptionalSlides:
|
|
88
|
-
studentTimezone:
|
|
80
|
+
...f,
|
|
81
|
+
onTrialInformationUpdate: M,
|
|
82
|
+
onStudentTimezoneUpdate: U,
|
|
83
|
+
trialHomeData: m,
|
|
84
|
+
milestoneConfig: a,
|
|
85
|
+
onRemoveOptionalSlides: r,
|
|
86
|
+
studentTimezone: D
|
|
89
87
|
}
|
|
90
88
|
) : null;
|
|
91
|
-
}),
|
|
89
|
+
}), b = V;
|
|
92
90
|
export {
|
|
93
|
-
|
|
91
|
+
b as default
|
|
94
92
|
};
|
|
95
93
|
//# sourceMappingURL=trial-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\
|
|
1
|
+
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: 'TRIAL_V3',\n });\n }, [fetchTrialHome, getMilestoneConfig]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === 'STUDENT') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === 'TEACHER') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === 'TEACHER') {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === 'STUDENT') {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData = filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n });\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAuCC,EAAK,SAAsBC,GAAO;AAC7E,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,oBAAAC,GAAoB,QAAAC,IAAS,QAAY,IAAAL,GAC3E,CAACM,GAAeC,CAAgB,IAAIC,EAAgC,IAAI,GACxE,CAACC,GAAiBC,CAAkB,IAAIF,EAAiB,GAEzD;AAAA,IACJ,MAAMG;AAAA,IACN,KAAKC;AAAA,IACL,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAgB,GACd;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAsB,GAEpBC,IAAiBC,EAAY,MAAM;AACvC,IAAAV,EAAa,YAAY;AAAA,MACvB,YAAYT;AAAA,MACZ,YAAYD;AAAA,MACZ,QAAQD,EAAS,kBAAkB;AAAA,IAAA,CACpC;AAAA,KACA,CAACW,GAAcT,GAAWD,GAAWD,CAAQ,CAAC,GAE3CsB,IAAYD,EAAY,MAAM;AACnB,IAAAD,KACfL,EAAmB,IAAI;AAAA,MACrB,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA,GACA,CAACK,GAAgBL,CAAkB,CAAC,GAEjCQ,IAAuBF;AAAA,IAC3B,CAACG,MAAqC;AACpC,MAAIxB,MAAa,aACfwB,EAAS,QAAQ,CAAWC,MAAA;AACtB,QAAAA,EAAQ,cAAc,+BACTL;MACjB,CACD,GAGCpB,MAAa,aACfwB,EAAS,QAAQ,CAAWC,MAAA;AACtB,YAAAA,EAAQ,cAAc,kCAAkC;AACpD,gBAAA;AAAA,YACJ,cAAc,EAAE,UAAAC,EAAS;AAAA,UACvB,IAAAD;AAEJ,UAAAhB,EAAmBiB,CAAQ;AAAA,QAC7B;AAAA,MAAA,CACD;AAAA,IAEL;AAAA,IACA,CAACN,GAAgBpB,CAAQ;AAAA,EAAA,GAGrB,EAAE,SAAA2B,EAAQ,IAAIC,EAA6B;AAAA,IAC/C,oBAAAzB;AAAA,IACA,kBAAkBoB;AAAA,EAAA,CACnB,GAEKM,IAAiCR,EAAY,MAAM;AACxC,IAAAD,KAEXpB,MAAa,cACL2B,KAAA,QAAAA,EAAA;AAAA,MACR,WAAW;AAAA,IAAA;AAAA,EAGd,GAAA,CAACP,GAAgBO,GAAS3B,CAAQ,CAAC,GAEhC8B,IAAqCT,EAAY,MAAM;AAC3D,IAAIrB,MAAa,cACL2B,KAAA,QAAAA,EAAA;AAAA,MACR,WAAW;AAAA,MACX,cAAc,EAAE,UAAUI,IAAc;AAAA,IAAA;AAAA,EAE5C,GACC,CAACJ,GAAS3B,CAAQ,CAAC;AAEtB,EAAAgC,EAAU,MAAM;AACJ,IAAAV;EAAA,GACT,CAACA,CAAS,CAAC;AAEd,QAAMW,IAA6BZ;AAAA,IACjC,CAACa,MAAmB;AAClB,UAAIxB,KAAqBM,GAAqB;AAC5C,cAAMmB,IAAuBC,EAA+B;AAAA,UAC1D,qBAAApB;AAAA,UACA,eAAeN;AAAA,UACf,OAAAwB;AAAA,QAAA,CACD;AAED,QAAA5B,EAAiB6B,CAAoB;AAAA,MACvC;AAAA,IACF;AAAA,IACA,CAACnB,GAAqBN,CAAiB;AAAA,EAAA;AAOpC,SAJLsB,EAAU,MAAM;AACe,IAAAC,KAAA,QAAAA;AAAA,EAAA,GAC5B,CAACA,CAA0B,CAAC,GAE1BrB,KAAyB,CAACP,KAAkBY,IACxC,gBAAAoB,EAACC,KAAU,QAAAlC,EAAgB,CAAA,IAGhCS,KAA+BK,IACzB,gBAAAmB,EAAAE,GAAA,EAAM,QAAAnC,GAAgB,YAAYkB,EAAW,CAAA,IAGnDjB,KAAiBW,IAEjB,gBAAAqB;AAAA,IAACG;AAAA,IAAA;AAAA,MACE,GAAGzC;AAAA,MACJ,0BAA0B8B;AAAA,MAC1B,yBAAyBC;AAAA,MACzB,eAAAzB;AAAA,MACA,iBAAiBW;AAAA,MACjB,wBAAwBiB;AAAA,MACxB,iBAAAzB;AAAA,IAAA;AAAA,EAAA,IAKC;AACT,CAAC,GAEDiC,IAAe5C;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4428,7 +4428,6 @@ export declare interface ITrialSessionFormFields {
|
|
|
4428
4428
|
summaryFetched?: boolean;
|
|
4429
4429
|
summaryFetchFailed?: boolean;
|
|
4430
4430
|
};
|
|
4431
|
-
enrollmentType?: TEnrollmentTypes;
|
|
4432
4431
|
userNodeId?: string;
|
|
4433
4432
|
nodeId?: string;
|
|
4434
4433
|
nodeType?: TNodeTypes;
|
|
@@ -6278,7 +6277,6 @@ declare interface TGoals {
|
|
|
6278
6277
|
goal_category?: string;
|
|
6279
6278
|
milestone_name?: string;
|
|
6280
6279
|
publish?: boolean;
|
|
6281
|
-
program_code?: string;
|
|
6282
6280
|
}
|
|
6283
6281
|
|
|
6284
6282
|
declare type TGoalShareMessage = Record<'default', {
|
|
@@ -6833,7 +6831,6 @@ export declare type TMilestoneConfigOption = {
|
|
|
6833
6831
|
lottie?: keyof typeof LOTTIE;
|
|
6834
6832
|
extendedDescription?: string;
|
|
6835
6833
|
category?: TPreferenceCategory;
|
|
6836
|
-
programCode?: string;
|
|
6837
6834
|
};
|
|
6838
6835
|
|
|
6839
6836
|
declare type TMilestoneDeleteProps = {
|