MCPcopy Create free account
hub / github.com/codecombat/codecombat / getPageBreadCrumbs

Function getPageBreadCrumbs

app/core/store/modules/schoolAdminDashboard.js:75–124  ·  view source on GitHub ↗
(state, getters)

Source from the content-addressed store, hash-verified

73 return state.pageTitle
74 },
75 getPageBreadCrumbs (state, getters) {
76 if (!Object.values(COMPONENT_NAMES.ADMINISTERED_TEACHERS).includes(state.componentName)) {
77 return []
78 }
79 const teacherName = getters.selectedAdministeredTeacherName
80 const teacherId = state.selectedAdministeredTeacherId
81 let classroomName = ''
82 let breadcrumbs = []
83 if (state.selectedAdministeredTeacherClassroomId) {
84 const classroomData = getters.getAdministratedTeacherClassroomData
85 classroomName = classroomData.name
86 }
87 if (state.componentName === COMPONENT_NAMES.ADMINISTERED_TEACHERS.ALL_CLASSES) {
88 breadcrumbs = [{
89 href: '/school-administrator',
90 text: PAGE_TITLES[COMPONENT_NAMES.MY_SCHOOLS]
91 }, {
92 text: `${teacherName}'s Classes`
93 }]
94 } else if (state.componentName === COMPONENT_NAMES.ADMINISTERED_TEACHERS.TEACHER_LICENSES) {
95 breadcrumbs = [{
96 href: '/school-administrator',
97 text: PAGE_TITLES[COMPONENT_NAMES.MY_SCHOOLS]
98 }, {
99 text: `${teacherName}'s Licenses`
100 }]
101 } else if (state.componentName === COMPONENT_NAMES.ADMINISTERED_TEACHERS.CLASS_PROGRESS) {
102 breadcrumbs = [{
103 href: '/school-administrator',
104 text: PAGE_TITLES[COMPONENT_NAMES.MY_SCHOOLS]
105 }, {
106 href: `/school-administrator/teacher/${teacherId}`,
107 text: `${teacherName}'s Classes`
108 }, {
109 text: `${classroomName} Progress`
110 }]
111 } else if (state.componentName === COMPONENT_NAMES.ADMINISTERED_TEACHERS.CLASS_PROJECTS) {
112 breadcrumbs = [{
113 href: '/school-administrator',
114 text: PAGE_TITLES[COMPONENT_NAMES.MY_SCHOOLS]
115 }, {
116 href: `/school-administrator/teacher/${teacherId}`,
117 text: `${teacherName}'s Classes`
118 }, {
119 text: `${classroomName} Projects`
120 }]
121 }
122 // TODO Use i18n
123 return breadcrumbs
124 },
125 getComponentName (state) {
126 return state.componentName
127 },

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected