@@ -36,47 +36,45 @@ import { computed } from 'vue';
3636import { useRouter } from ' vue-router' ;
3737
3838import { useSessionStore } from ' src/stores/session' ;
39+ import { logger } from ' src/boot/logger' ;
3940
40- const session = useSessionStore ();
41+ const session_store = useSessionStore ();
4142const router = useRouter ();
4243
44+ const user_courses = computed (() => session_store .user_courses );
45+
46+ const user = computed (() => session_store .user );
47+
4348// This is used to simplify the UI.
4449const course_types = computed (() => [
45- { name: ' Student' , courses: student_courses .value },
46- { name: ' Instrutor ' , courses: instructor_courses . value }
50+ { name: ' Student' , courses: user_courses .value . filter ( c => c . role == ' student ' ) },
51+ { name: ' Instructor ' , courses: session_store . instructor_user_courses }
4752]);
4853
49- const student_courses = computed (() =>
50- // for some reason on load the user_course.role is undefined.
51- session .user_courses .filter (user_course => user_course .role === ' student' ));
52-
53- const instructor_courses = computed (() =>
54- // For some reason on load the user_course.role is undefined.
55- session .user_courses .filter (user_course => user_course .role === ' instructor' )
56- );
57- const user = computed (() => session .user );
58-
59- const switchCourse = async (course_id : number ) => {
60- const student_course = student_courses .value .find (c => c .course_id === course_id );
61- const instructor_course = instructor_courses .value .find (c => c .course_id === course_id );
54+ const switchCourse = async (course_id ? : number ) => {
55+ if (course_id == undefined || course_id === 0 ) {
56+ logger .error (' [UserCourses/switchCourse]: the course_id is 0 or undefined.' );
57+ }
58+ const student_course = session_store .student_user_courses .find (c => c .course_id === course_id );
59+ const instructor_course = session_store .instructor_user_courses .find (c => c .course_id === course_id );
6260 if (student_course ) {
63- session .setCourse ({
64- course_name: student_course .course_name ,
65- course_id: student_course .course_id ,
61+ session_store .setCourse ({
62+ course_name: student_course .course_name ?? ' unknown ' ,
63+ course_id: student_course .course_id ?? 0 ,
6664 role: ' student'
6765 });
6866 await router .push ({
6967 name: ' StudentDashboard' ,
7068 params: { course_id: student_course .course_id }
7169 });
7270 } else if (instructor_course ) {
73- session .setCourse ({
74- course_name: instructor_course .course_name ,
75- course_id: instructor_course .course_id ,
71+ session_store .setCourse ({
72+ course_name: instructor_course .course_name ?? ' unknown ' ,
73+ course_id: instructor_course .course_id ?? 0 ,
7674 role: ' instructor'
7775 });
7876 await router .push ({
79- name: ' instructor ' ,
77+ name: ' InstructorDashboard ' ,
8078 params: { course_id: instructor_course .course_id }
8179 });
8280 }
0 commit comments