From abbee61baad0a1547937a7574794acb29cb29ba6 Mon Sep 17 00:00:00 2001 From: nur-alam Date: Thu, 2 Apr 2026 17:43:23 +0600 Subject: [PATCH 1/5] feat(gradebook): add gradebook view to student learning area Add a new gradebook page template for students to view their course grades. Integrate with the learning area subpage navigation via the add_subpage_nav_item filter. The view displays overall performance, final grade, and a list of graded items (quizzes/assignments). --- assets/icons/gradebook.svg | 1 + assets/icons/kids/gradebook.svg | 1 + assets/src/js/v3/shared/icons/types.ts | 1 + classes/Icon.php | 1 + 4 files changed, 4 insertions(+) create mode 100644 assets/icons/gradebook.svg create mode 100644 assets/icons/kids/gradebook.svg diff --git a/assets/icons/gradebook.svg b/assets/icons/gradebook.svg new file mode 100644 index 0000000000..d1cf49f802 --- /dev/null +++ b/assets/icons/gradebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/gradebook.svg b/assets/icons/kids/gradebook.svg new file mode 100644 index 0000000000..6262eb750f --- /dev/null +++ b/assets/icons/kids/gradebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/src/js/v3/shared/icons/types.ts b/assets/src/js/v3/shared/icons/types.ts index 358e1e7a5b..5b5ab27e5e 100644 --- a/assets/src/js/v3/shared/icons/types.ts +++ b/assets/src/js/v3/shared/icons/types.ts @@ -180,6 +180,7 @@ export const icons = [ 'googleMeet', 'googleMeetColorize', 'grabHandle', + 'gradebook', 'gutenbergColorized', 'handCoin', 'happy', diff --git a/classes/Icon.php b/classes/Icon.php index 66c51a6077..728dfd6ac3 100644 --- a/classes/Icon.php +++ b/classes/Icon.php @@ -196,6 +196,7 @@ final class Icon { const GOOGLE_MEET = 'google-meet'; const GOOGLE_MEET_COLORIZE = 'google-meet-colorize'; const GRAB_HANDLE = 'grab-handle'; + const GRADEBOOK = 'gradebook'; const GUTENBERG_COLORIZED = 'gutenberg-colorized'; const HAND_COIN = 'hand-coin'; const HAPPY = 'happy'; From 15067d10377bde7e87a7b13c026d6bf767186095 Mon Sep 17 00:00:00 2001 From: nur-alam Date: Thu, 2 Apr 2026 17:43:23 +0600 Subject: [PATCH 2/5] feat(icons): add gradebook icon Add the gradebook icon to the icon system, including both standard and kids variants. --- assets/icons/gradebook.svg | 1 + assets/icons/kids/gradebook.svg | 1 + assets/src/js/v3/shared/icons/types.ts | 1 + classes/Icon.php | 1 + 4 files changed, 4 insertions(+) create mode 100644 assets/icons/gradebook.svg create mode 100644 assets/icons/kids/gradebook.svg diff --git a/assets/icons/gradebook.svg b/assets/icons/gradebook.svg new file mode 100644 index 0000000000..d1cf49f802 --- /dev/null +++ b/assets/icons/gradebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/gradebook.svg b/assets/icons/kids/gradebook.svg new file mode 100644 index 0000000000..6262eb750f --- /dev/null +++ b/assets/icons/kids/gradebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/src/js/v3/shared/icons/types.ts b/assets/src/js/v3/shared/icons/types.ts index 358e1e7a5b..5b5ab27e5e 100644 --- a/assets/src/js/v3/shared/icons/types.ts +++ b/assets/src/js/v3/shared/icons/types.ts @@ -180,6 +180,7 @@ export const icons = [ 'googleMeet', 'googleMeetColorize', 'grabHandle', + 'gradebook', 'gutenbergColorized', 'handCoin', 'happy', diff --git a/classes/Icon.php b/classes/Icon.php index 66c51a6077..728dfd6ac3 100644 --- a/classes/Icon.php +++ b/classes/Icon.php @@ -196,6 +196,7 @@ final class Icon { const GOOGLE_MEET = 'google-meet'; const GOOGLE_MEET_COLORIZE = 'google-meet-colorize'; const GRAB_HANDLE = 'grab-handle'; + const GRADEBOOK = 'gradebook'; const GUTENBERG_COLORIZED = 'gutenberg-colorized'; const HAND_COIN = 'hand-coin'; const HAPPY = 'happy'; From 907534035c1ec5e1ef40c0283adbbd79a0f03276 Mon Sep 17 00:00:00 2001 From: nur-alam Date: Fri, 3 Apr 2026 16:09:08 +0600 Subject: [PATCH 3/5] add gradebook scss --- .../frontend/learning-area/_gradebook.scss | 39 +++++++++++++++++++ .../scss/frontend/learning-area/_index.scss | 1 + 2 files changed, 40 insertions(+) create mode 100644 assets/src/scss/frontend/learning-area/_gradebook.scss diff --git a/assets/src/scss/frontend/learning-area/_gradebook.scss b/assets/src/scss/frontend/learning-area/_gradebook.scss new file mode 100644 index 0000000000..8671378b90 --- /dev/null +++ b/assets/src/scss/frontend/learning-area/_gradebook.scss @@ -0,0 +1,39 @@ +@use '@Core/scss/mixins' as *; +@use '@Core/scss/tokens' as *; +// Gradebook +.tutor-learning-area-gradebook { + .tutor-grade-badge-large { + @include tutor-flex(row, center, center); + width: 64px; + height: 64px; + } + + .tutor-grade-summary-dot { + display: inline-block; + width: 6px; + height: 6px; + border-radius: $tutor-radius-full; + } + + .tutor-grade-item { + @include tutor-flex(row, center, space-between); + } + + .tutor-grade-items-list { + padding: 0; + + .tutor-grade-item-icon { + @include tutor-flex(row, center, center); + padding: $tutor-spacing-5; + width: 48px; + height: 48px; + } + + .tutor-grade-badge-small { + @include tutor-flex(row, center, center); + width: 40px; + height: 40px; + font-weight: $tutor-font-weight-medium; + } + } +} \ No newline at end of file diff --git a/assets/src/scss/frontend/learning-area/_index.scss b/assets/src/scss/frontend/learning-area/_index.scss index 9944aed530..91b753b287 100644 --- a/assets/src/scss/frontend/learning-area/_index.scss +++ b/assets/src/scss/frontend/learning-area/_index.scss @@ -16,6 +16,7 @@ @forward 'progress-tracking'; @forward 'lesson-comments'; @forward 'announcements'; +@forward 'gradebook'; // Components @forward './components'; From 6a1b15972385e823d52ae486ee6aa6b2808f6b7e Mon Sep 17 00:00:00 2001 From: nur-alam Date: Fri, 3 Apr 2026 16:20:04 +0600 Subject: [PATCH 4/5] formate scss --- .../src/scss/frontend/learning-area/_gradebook.scss | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/assets/src/scss/frontend/learning-area/_gradebook.scss b/assets/src/scss/frontend/learning-area/_gradebook.scss index 8671378b90..6e7d1486d5 100644 --- a/assets/src/scss/frontend/learning-area/_gradebook.scss +++ b/assets/src/scss/frontend/learning-area/_gradebook.scss @@ -1,9 +1,10 @@ @use '@Core/scss/mixins' as *; @use '@Core/scss/tokens' as *; + // Gradebook .tutor-learning-area-gradebook { .tutor-grade-badge-large { - @include tutor-flex(row, center, center); + @include tutor-flex(row, center, center); width: 64px; height: 64px; } @@ -15,22 +16,22 @@ border-radius: $tutor-radius-full; } - .tutor-grade-item { - @include tutor-flex(row, center, space-between); - } + .tutor-grade-item { + @include tutor-flex(row, center, space-between); + } .tutor-grade-items-list { padding: 0; .tutor-grade-item-icon { - @include tutor-flex(row, center, center); + @include tutor-flex(row, center, center); padding: $tutor-spacing-5; width: 48px; height: 48px; } .tutor-grade-badge-small { - @include tutor-flex(row, center, center); + @include tutor-flex(row, center, center); width: 40px; height: 40px; font-weight: $tutor-font-weight-medium; From 61912c684c293039bba12c1c98af0f6e26d27384 Mon Sep 17 00:00:00 2001 From: nur-alam Date: Fri, 3 Apr 2026 17:35:22 +0600 Subject: [PATCH 5/5] remove gradebook css --- .../frontend/learning-area/_gradebook.scss | 40 ------------------- .../scss/frontend/learning-area/_index.scss | 1 - 2 files changed, 41 deletions(-) delete mode 100644 assets/src/scss/frontend/learning-area/_gradebook.scss diff --git a/assets/src/scss/frontend/learning-area/_gradebook.scss b/assets/src/scss/frontend/learning-area/_gradebook.scss deleted file mode 100644 index 6e7d1486d5..0000000000 --- a/assets/src/scss/frontend/learning-area/_gradebook.scss +++ /dev/null @@ -1,40 +0,0 @@ -@use '@Core/scss/mixins' as *; -@use '@Core/scss/tokens' as *; - -// Gradebook -.tutor-learning-area-gradebook { - .tutor-grade-badge-large { - @include tutor-flex(row, center, center); - width: 64px; - height: 64px; - } - - .tutor-grade-summary-dot { - display: inline-block; - width: 6px; - height: 6px; - border-radius: $tutor-radius-full; - } - - .tutor-grade-item { - @include tutor-flex(row, center, space-between); - } - - .tutor-grade-items-list { - padding: 0; - - .tutor-grade-item-icon { - @include tutor-flex(row, center, center); - padding: $tutor-spacing-5; - width: 48px; - height: 48px; - } - - .tutor-grade-badge-small { - @include tutor-flex(row, center, center); - width: 40px; - height: 40px; - font-weight: $tutor-font-weight-medium; - } - } -} \ No newline at end of file diff --git a/assets/src/scss/frontend/learning-area/_index.scss b/assets/src/scss/frontend/learning-area/_index.scss index 91b753b287..9944aed530 100644 --- a/assets/src/scss/frontend/learning-area/_index.scss +++ b/assets/src/scss/frontend/learning-area/_index.scss @@ -16,7 +16,6 @@ @forward 'progress-tracking'; @forward 'lesson-comments'; @forward 'announcements'; -@forward 'gradebook'; // Components @forward './components';