From 22cbd8aa0f9217061892b815964ecc4f8025f888 Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Fri, 3 Apr 2026 18:45:43 +0600 Subject: [PATCH 1/7] feat: Add Kids mode styles --- assets/icons/kids/call-end.svg | 1 + assets/icons/kids/clock-2.svg | 1 + assets/icons/kids/instructor.svg | 1 + assets/icons/kids/key.svg | 1 + assets/icons/kids/level.svg | 1 + assets/icons/kids/material.svg | 1 + assets/icons/kids/ratings.svg | 9 ++++ assets/icons/kids/star-line.svg | 10 +++- .../src/scss/frontend/dashboard/_reviews.scss | 6 +++ .../scss/frontend/kids/_learning-area.scss | 51 +++++++++++++++++-- .../learning-area/layout/_sidebar.scss | 2 +- .../learning-area/pages/_course-info.scss | 2 +- templates/learning-area/subpages/reviews.php | 3 +- 13 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 assets/icons/kids/call-end.svg create mode 100644 assets/icons/kids/clock-2.svg create mode 100644 assets/icons/kids/instructor.svg create mode 100644 assets/icons/kids/key.svg create mode 100644 assets/icons/kids/level.svg create mode 100644 assets/icons/kids/material.svg create mode 100644 assets/icons/kids/ratings.svg diff --git a/assets/icons/kids/call-end.svg b/assets/icons/kids/call-end.svg new file mode 100644 index 0000000000..3d4a57c719 --- /dev/null +++ b/assets/icons/kids/call-end.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/clock-2.svg b/assets/icons/kids/clock-2.svg new file mode 100644 index 0000000000..5fb88685fb --- /dev/null +++ b/assets/icons/kids/clock-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/instructor.svg b/assets/icons/kids/instructor.svg new file mode 100644 index 0000000000..369a547ff6 --- /dev/null +++ b/assets/icons/kids/instructor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/key.svg b/assets/icons/kids/key.svg new file mode 100644 index 0000000000..b6e723f474 --- /dev/null +++ b/assets/icons/kids/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/level.svg b/assets/icons/kids/level.svg new file mode 100644 index 0000000000..5cd7618196 --- /dev/null +++ b/assets/icons/kids/level.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/material.svg b/assets/icons/kids/material.svg new file mode 100644 index 0000000000..356e346bcb --- /dev/null +++ b/assets/icons/kids/material.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/ratings.svg b/assets/icons/kids/ratings.svg new file mode 100644 index 0000000000..71fe0f3cdc --- /dev/null +++ b/assets/icons/kids/ratings.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/icons/kids/star-line.svg b/assets/icons/kids/star-line.svg index a1c97d3fe1..71fe0f3cdc 100644 --- a/assets/icons/kids/star-line.svg +++ b/assets/icons/kids/star-line.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + + + + diff --git a/assets/src/scss/frontend/dashboard/_reviews.scss b/assets/src/scss/frontend/dashboard/_reviews.scss index 69ae32b6c5..866cbc50e2 100644 --- a/assets/src/scss/frontend/dashboard/_reviews.scss +++ b/assets/src/scss/frontend/dashboard/_reviews.scss @@ -21,6 +21,12 @@ opacity: 1; } } + + @include tutor-breakpoint-down(sm) { + .tutor-review-actions { + opacity: 1; + } + } } &-header { diff --git a/assets/src/scss/frontend/kids/_learning-area.scss b/assets/src/scss/frontend/kids/_learning-area.scss index 50f3a9f6f1..453c9417bd 100644 --- a/assets/src/scss/frontend/kids/_learning-area.scss +++ b/assets/src/scss/frontend/kids/_learning-area.scss @@ -10,20 +10,60 @@ .tutor-assignment-info, .tutor-assignment-description, .tutor-assignment-attachments, - .tutor-assignment-form { + .tutor-assignment-form, + .tutor-meeting, + .tutor-certificate-wrapper .tutor-certificate-header, + .tutor-pro-certificate-preview-container, + .tutor-certificate-wrapper .tutor-certificate-info, + .tutor-course-info-table, + .tutor-webinar-card, + .tutor-course-announcements, + .tutor-learning-area-resources .tutor-resources-wrapper { @include tutor-kids-shadow(false, $tutor-border-idle, $tutor-radius-6xl, sm); } - .tutor-assignment-feedback { + .tutor-course-info .tutor-course-thumb { + border-radius: $tutor-radius-6xl; + } + + .tutor-assignment-feedback, + .tutor-pro-certificate-preview-wrapper, + .tutor-learning-sidebar .tutor-learning-sidebar-pages, + .tutor-learning-sidebar .tutor-learning-sidebar-curriculum { border-radius: $tutor-radius-5xl; } .tutor-quiz-summary .tutor-quiz-result, .tutor-quiz-question, - .tutor-quiz-summary-page .tutor-quiz-review-dnd { + .tutor-quiz-summary-page .tutor-quiz-review-dnd, + .tutor-course-info .tutor-course-info-certificate { @include tutor-kids-shadow(false, $tutor-border-idle, $tutor-radius-4xl, sm); } + .tutor-learning-sidebar .tutor-learning-sidebar-curriculum .tutor-learning-nav .tutor-learning-nav-item { + &:hover, + &.active { + @include tutor-kids-shadow(false, $tutor-border-idle, $tutor-radius-2xl, sm); + } + } + + .tutor-course-info .tutor-course-description-item { + border-radius: $tutor-radius-4xl; + + &:has([style*='height: auto']) { + @include tutor-kids-shadow(false, $tutor-border-idle, $tutor-radius-4xl, sm); + } + + &:not(:first-of-type) { + margin-top: $tutor-spacing-2; + } + } + + .tutor-learning-sidebar .tutor-learning-sidebar-pages .tutor-sidebar-restore-dropdown button { + border-top-left-radius: $tutor-radius-md; + border-bottom-right-radius: $tutor-radius-md; + } + .tutor-quiz-submission[data-question-layout-view='single_question'], .tutor-quiz-submission[data-question-layout-view='question_pagination'] { .tutor-quiz-question { @@ -115,11 +155,14 @@ } } + .tutor-meeting-hero, + .tutor-meeting-countdown, .tutor-quiz-intro-icon, .tutor-table-wrapper, .tutor-quiz-attempts, .tutor-quiz-summary-feedback, - .tutor-quiz-summary-page .tutor-quiz-summary-sidebar .tutor-quiz-sidebar-questions .tutor-quiz-sidebar-question-item { + .tutor-quiz-summary-page .tutor-quiz-summary-sidebar .tutor-quiz-sidebar-questions .tutor-quiz-sidebar-question-item, + .tutor-learning-header-inner { border-radius: $tutor-radius-4xl; } diff --git a/assets/src/scss/frontend/learning-area/layout/_sidebar.scss b/assets/src/scss/frontend/learning-area/layout/_sidebar.scss index a4ebba6b8f..1ae37e67a1 100644 --- a/assets/src/scss/frontend/learning-area/layout/_sidebar.scss +++ b/assets/src/scss/frontend/learning-area/layout/_sidebar.scss @@ -165,7 +165,7 @@ gap: $tutor-spacing-4; padding: $tutor-spacing-4 $tutor-spacing-5; border-radius: $tutor-radius-md; - @include tutor-transition((color, background-color)); + @include tutor-transition((color, background-color, box-shadow)); position: relative; min-height: 40px; opacity: 1; diff --git a/assets/src/scss/frontend/learning-area/pages/_course-info.scss b/assets/src/scss/frontend/learning-area/pages/_course-info.scss index ef1aaee255..34c55c2116 100644 --- a/assets/src/scss/frontend/learning-area/pages/_course-info.scss +++ b/assets/src/scss/frontend/learning-area/pages/_course-info.scss @@ -41,7 +41,7 @@ &-item { background-color: $tutor-surface-l1; - border: 1px solid $tutor-border-idle; + outline: 1px solid $tutor-border-idle; border-radius: $tutor-radius-lg; padding: $tutor-spacing-5 $tutor-spacing-6; diff --git a/templates/learning-area/subpages/reviews.php b/templates/learning-area/subpages/reviews.php index de93dc9c2e..26dabc35ae 100644 --- a/templates/learning-area/subpages/reviews.php +++ b/templates/learning-area/subpages/reviews.php @@ -21,6 +21,7 @@ use Tutor\Components\Pagination; use Tutor\Components\Progress; use Tutor\Components\StarRating; +use Tutor\Components\SvgIcon; use Tutor\Helpers\UrlHelper; // Get course ID from global variable set in learning-area/index.php . @@ -43,7 +44,7 @@

- render_svg_icon( Icon::RATINGS, 24, 24 ); ?> + name( Icon::RATINGS )->size( 24 )->render(); ?>

Date: Fri, 3 Apr 2026 19:17:15 +0600 Subject: [PATCH 2/7] feat(progress): add kids progress theme tokens --- assets/core/scss/components/_progress.scss | 28 +++++++++++++++++--- assets/core/scss/tokens/_index.scss | 1 + assets/core/scss/tokens/_progress.scss | 9 +++++++ assets/src/scss/frontend/kids/_progress.scss | 15 +++++++++++ assets/src/scss/frontend/kids/index.scss | 1 + 5 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 assets/core/scss/tokens/_progress.scss create mode 100644 assets/src/scss/frontend/kids/_progress.scss diff --git a/assets/core/scss/components/_progress.scss b/assets/core/scss/components/_progress.scss index 1c6f48c330..62818055e4 100644 --- a/assets/core/scss/components/_progress.scss +++ b/assets/core/scss/components/_progress.scss @@ -3,7 +3,7 @@ .tutor-progress-bar { width: 100%; - height: $tutor-spacing-4; + height: $tutor-progress-height; background-color: $tutor-actions-gray-secondary; box-shadow: inset 0 0 1.75px rgba(0, 0, 0, 0.16); border-radius: $tutor-radius-full; @@ -22,12 +22,26 @@ &::before { content: ''; position: absolute; - top: $tutor-spacing-1; + top: $tutor-progress-indicator-top; right: $tutor-spacing-2; - height: 1.5px; + height: $tutor-progress-indicator-height; width: 8.16px; background-color: $tutor-actions-success-secondary; border-radius: inherit; + opacity: 0.7; + } + + &::after { + content: ''; + display: $tutor-progress-indicator-secondary-display; + position: absolute; + top: $tutor-progress-indicator-top; + left: $tutor-spacing-2; + right: calc(#{$tutor-spacing-2} + 8.16px + 1px); + height: $tutor-progress-indicator-height; + background-color: $tutor-actions-success-secondary; + border-radius: inherit; + opacity: 0.7; } } @@ -40,6 +54,10 @@ &::before { background-color: $tutor-surface-brand-secondary; } + + &::after { + background-color: $tutor-surface-brand-secondary; + } } } @@ -52,6 +70,10 @@ &::before { background-color: $tutor-actions-warning-tertiary; } + + &::after { + background-color: $tutor-actions-warning-tertiary; + } } } diff --git a/assets/core/scss/tokens/_index.scss b/assets/core/scss/tokens/_index.scss index 8c810e2a93..3445e6a7ed 100644 --- a/assets/core/scss/tokens/_index.scss +++ b/assets/core/scss/tokens/_index.scss @@ -15,3 +15,4 @@ @forward "zIndex"; @forward "popover"; @forward "modal"; +@forward "progress"; diff --git a/assets/core/scss/tokens/_progress.scss b/assets/core/scss/tokens/_progress.scss new file mode 100644 index 0000000000..f443bd11af --- /dev/null +++ b/assets/core/scss/tokens/_progress.scss @@ -0,0 +1,9 @@ +@use './spacing'; + +// Design Tokens - Progress +// CSS variables for theme-aware progress geometry + +$tutor-progress-height: var(--tutor-progress-height, 8px); +$tutor-progress-indicator-top: var(--tutor-progress-indicator-top, 2px); +$tutor-progress-indicator-height: var(--tutor-progress-indicator-height, 1.5px); +$tutor-progress-indicator-secondary-display: var(--tutor-progress-indicator-secondary-display, none); diff --git a/assets/src/scss/frontend/kids/_progress.scss b/assets/src/scss/frontend/kids/_progress.scss new file mode 100644 index 0000000000..05a7bcfd6e --- /dev/null +++ b/assets/src/scss/frontend/kids/_progress.scss @@ -0,0 +1,15 @@ +@use '@Core/scss/tokens' as *; + +:root { + --tutor-progress-height: #{$tutor-spacing-4}; + --tutor-progress-indicator-top: 2px; + --tutor-progress-indicator-height: 1.5px; + --tutor-progress-indicator-secondary-display: none; +} + +[data-tutor-ui='kids'] { + --tutor-progress-height: 12px; + --tutor-progress-indicator-top: 3px; + --tutor-progress-indicator-height: 2px; + --tutor-progress-indicator-secondary-display: block; +} diff --git a/assets/src/scss/frontend/kids/index.scss b/assets/src/scss/frontend/kids/index.scss index 6374380438..e263dcdfa1 100644 --- a/assets/src/scss/frontend/kids/index.scss +++ b/assets/src/scss/frontend/kids/index.scss @@ -3,6 +3,7 @@ @forward './input'; @forward './nav'; @forward './tabs'; +@forward './progress'; @forward './sidebar'; @forward './popover'; @forward './modal'; From e38504ace1276c9b37c38b843cae2a534e5ff8bf Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Fri, 3 Apr 2026 19:17:53 +0600 Subject: [PATCH 3/7] fix(reviews): refine kids average rating card --- assets/src/scss/frontend/kids/_learning-area.scss | 4 ++++ templates/learning-area/subpages/reviews.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/src/scss/frontend/kids/_learning-area.scss b/assets/src/scss/frontend/kids/_learning-area.scss index 453c9417bd..cd0ba19d9a 100644 --- a/assets/src/scss/frontend/kids/_learning-area.scss +++ b/assets/src/scss/frontend/kids/_learning-area.scss @@ -166,6 +166,10 @@ border-radius: $tutor-radius-4xl; } + .tutor-average-rating { + border-radius: $tutor-radius-2xl; + } + .tutor-quiz-intro .tutor-card, .tutor-assignment-info, .tutor-assignment-description, diff --git a/templates/learning-area/subpages/reviews.php b/templates/learning-area/subpages/reviews.php index 26dabc35ae..b95dfc8a29 100644 --- a/templates/learning-area/subpages/reviews.php +++ b/templates/learning-area/subpages/reviews.php @@ -82,7 +82,7 @@
-
+
rating_avg, 1 ) ); ?> From de4daddca06fa7b4d4b073e71e014c0a5481427a Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Sun, 5 Apr 2026 10:09:07 +0600 Subject: [PATCH 4/7] fix(quiz): rename submitted illustration asset --- assets/images/{quiz-sibmitted.svg => quiz-submitted.svg} | 0 templates/learning-area/quiz/attempt.php | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename assets/images/{quiz-sibmitted.svg => quiz-submitted.svg} (100%) diff --git a/assets/images/quiz-sibmitted.svg b/assets/images/quiz-submitted.svg similarity index 100% rename from assets/images/quiz-sibmitted.svg rename to assets/images/quiz-submitted.svg diff --git a/templates/learning-area/quiz/attempt.php b/templates/learning-area/quiz/attempt.php index 14dd48bc29..53cb48ce90 100644 --- a/templates/learning-area/quiz/attempt.php +++ b/templates/learning-area/quiz/attempt.php @@ -372,7 +372,7 @@ class="tutor-quiz-footer-feedback-text" 'modal_id' => $submitted_modal_id, 'title' => __( 'Quiz Submitted', 'tutor' ), 'message' => __( 'Your responses have been successfully recorded.', 'tutor' ), - 'icon_url' => tutor()->url . 'assets/images/quiz-sibmitted.svg', + 'icon_url' => tutor()->url . 'assets/images/quiz-submitted.svg', 'show_attempts' => false, 'action_url' => $attempt_details_url, 'action_label' => __( 'View Results', 'tutor' ), From 969235f7454328643743035506e84de6c537affa Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Sun, 5 Apr 2026 10:15:05 +0600 Subject: [PATCH 5/7] style(url): normalize return type spacing in UrlHelper --- helpers/UrlHelper.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/helpers/UrlHelper.php b/helpers/UrlHelper.php index 23d66ac8e3..ebf362cd9f 100644 --- a/helpers/UrlHelper.php +++ b/helpers/UrlHelper.php @@ -24,7 +24,7 @@ class UrlHelper { * * @return string */ - public static function ajax() : string { + public static function ajax(): string { return admin_url( 'admin-ajax.php' ); } @@ -36,7 +36,7 @@ public static function ajax() : string { * @param string $path Relative asset path. * @return string */ - public static function asset( $path = '' ) : string { + public static function asset( $path = '' ): string { return tutor()->assets_url . $path; } @@ -47,7 +47,7 @@ public static function asset( $path = '' ) : string { * * @return string */ - public static function current() : string { + public static function current(): string { global $wp; return home_url( @@ -65,7 +65,7 @@ public static function current() : string { * * @return string */ - public static function add_query_params( $url, array $query_params = array() ) : string { + public static function add_query_params( $url, array $query_params = array() ): string { $url = ltrim( $url, '/' ); if ( ! empty( $query_params ) ) { @@ -85,7 +85,7 @@ public static function add_query_params( $url, array $query_params = array() ) : * * @return string */ - public static function remove_query_params( $url, array $query_params = array() ) : string { + public static function remove_query_params( $url, array $query_params = array() ): string { return remove_query_arg( $query_params, $url ); } @@ -98,7 +98,7 @@ public static function remove_query_params( $url, array $query_params = array() * * @return string */ - public static function back( $fallback = '' ) : string { + public static function back( $fallback = '' ): string { $back_url = wp_get_referer(); if ( empty( $back_url ) ) { $back_url = empty( $fallback ) ? self::current() : $fallback; @@ -106,4 +106,3 @@ public static function back( $fallback = '' ) : string { return $back_url; } } - From adacf38948c638c0c609b3519aa466f86ecf8328 Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Sun, 5 Apr 2026 10:49:00 +0600 Subject: [PATCH 6/7] feat(url): add kids-aware asset resolver --- helpers/UrlHelper.php | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/helpers/UrlHelper.php b/helpers/UrlHelper.php index ebf362cd9f..c189e2c0de 100644 --- a/helpers/UrlHelper.php +++ b/helpers/UrlHelper.php @@ -40,6 +40,59 @@ public static function asset( $path = '' ): string { return tutor()->assets_url . $path; } + /** + * Get a theme-aware plugin asset URL. + * + * In kids mode, this looks for a matching kids variant before falling back + * to the default asset path. + * + * @since 4.0.0 + * + * @param string $path Relative asset path. + * + * @return string + */ + public static function themed_asset( $path = '' ): string { + static $resolved_paths = array(); + + $path = ltrim( (string) $path, '/' ); + $is_themed_asset_path = false !== strpos( $path, '/kids/' ) || 0 === strpos( pathinfo( $path, PATHINFO_BASENAME ), 'kids-' ); + + if ( '' === $path || ! tutor_utils()->is_kids_mode() || $is_themed_asset_path ) { + return self::asset( $path ); + } + + if ( isset( $resolved_paths[ $path ] ) ) { + return $resolved_paths[ $path ]; + } + + $directory = pathinfo( $path, PATHINFO_DIRNAME ); + $basename = pathinfo( $path, PATHINFO_BASENAME ); + $candidate_path = ''; + + if ( '' !== $basename ) { + $candidate_path = ( '.' === $directory || '' === $directory ) + ? 'kids/' . $basename + : trailingslashit( $directory ) . 'kids/' . $basename; + } + + $candidate_paths = array_filter( + array( + $candidate_path, + ) + ); + + foreach ( $candidate_paths as $candidate_path ) { + if ( file_exists( tutor()->path . 'assets/' . ltrim( $candidate_path, '/' ) ) ) { + $resolved_paths[ $path ] = self::asset( $candidate_path ); + return $resolved_paths[ $path ]; + } + } + + $resolved_paths[ $path ] = self::asset( $path ); + return $resolved_paths[ $path ]; + } + /** * Get current URL. * From 25216fa7f680dccb2b5f6bbb347048333a7f1e1f Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Sun, 5 Apr 2026 11:32:52 +0600 Subject: [PATCH 7/7] feat(settings): add kids mode preference icons --- assets/icons/{learning-mood.svg => interface.svg} | 0 assets/icons/kids/billing.svg | 1 + assets/icons/kids/devices.svg | 1 + assets/icons/kids/filter-2.svg | 1 + assets/icons/kids/font.svg | 1 + assets/icons/kids/globe.svg | 1 + assets/icons/kids/interface.svg | 1 + assets/icons/kids/light.svg | 1 + assets/icons/kids/member.svg | 1 + assets/icons/kids/notification-2.svg | 1 + assets/icons/kids/security.svg | 1 + assets/icons/kids/user-circle.svg | 1 + assets/icons/preference.svg | 6 ------ assets/icons/profile-circle.svg | 5 ----- .../icons/{profile-circle-fill.svg => user-circle-fill.svg} | 0 assets/src/js/v3/shared/icons/types.ts | 6 ++---- assets/src/scss/frontend/kids/_learning-area.scss | 3 ++- classes/Dashboard.php | 4 ++-- classes/Icon.php | 6 ++---- templates/dashboard/account/settings.php | 4 ++-- templates/dashboard/account/settings/preferences.php | 2 +- 21 files changed, 22 insertions(+), 25 deletions(-) rename assets/icons/{learning-mood.svg => interface.svg} (100%) create mode 100644 assets/icons/kids/billing.svg create mode 100644 assets/icons/kids/devices.svg create mode 100644 assets/icons/kids/filter-2.svg create mode 100644 assets/icons/kids/font.svg create mode 100644 assets/icons/kids/globe.svg create mode 100644 assets/icons/kids/interface.svg create mode 100644 assets/icons/kids/light.svg create mode 100644 assets/icons/kids/member.svg create mode 100644 assets/icons/kids/notification-2.svg create mode 100644 assets/icons/kids/security.svg create mode 100644 assets/icons/kids/user-circle.svg delete mode 100644 assets/icons/preference.svg delete mode 100644 assets/icons/profile-circle.svg rename assets/icons/{profile-circle-fill.svg => user-circle-fill.svg} (100%) diff --git a/assets/icons/learning-mood.svg b/assets/icons/interface.svg similarity index 100% rename from assets/icons/learning-mood.svg rename to assets/icons/interface.svg diff --git a/assets/icons/kids/billing.svg b/assets/icons/kids/billing.svg new file mode 100644 index 0000000000..39ab7c76be --- /dev/null +++ b/assets/icons/kids/billing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/devices.svg b/assets/icons/kids/devices.svg new file mode 100644 index 0000000000..046ee103d6 --- /dev/null +++ b/assets/icons/kids/devices.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/filter-2.svg b/assets/icons/kids/filter-2.svg new file mode 100644 index 0000000000..e3fd938844 --- /dev/null +++ b/assets/icons/kids/filter-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/font.svg b/assets/icons/kids/font.svg new file mode 100644 index 0000000000..65eea092a1 --- /dev/null +++ b/assets/icons/kids/font.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/globe.svg b/assets/icons/kids/globe.svg new file mode 100644 index 0000000000..f6ab48289b --- /dev/null +++ b/assets/icons/kids/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/interface.svg b/assets/icons/kids/interface.svg new file mode 100644 index 0000000000..1aa3dbff8b --- /dev/null +++ b/assets/icons/kids/interface.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/light.svg b/assets/icons/kids/light.svg new file mode 100644 index 0000000000..d7e7b46c7b --- /dev/null +++ b/assets/icons/kids/light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/member.svg b/assets/icons/kids/member.svg new file mode 100644 index 0000000000..fd700c4232 --- /dev/null +++ b/assets/icons/kids/member.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/notification-2.svg b/assets/icons/kids/notification-2.svg new file mode 100644 index 0000000000..c4fbaccf14 --- /dev/null +++ b/assets/icons/kids/notification-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/security.svg b/assets/icons/kids/security.svg new file mode 100644 index 0000000000..9a6acee3d9 --- /dev/null +++ b/assets/icons/kids/security.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/kids/user-circle.svg b/assets/icons/kids/user-circle.svg new file mode 100644 index 0000000000..75a1ab92aa --- /dev/null +++ b/assets/icons/kids/user-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/preference.svg b/assets/icons/preference.svg deleted file mode 100644 index 431818ef18..0000000000 --- a/assets/icons/preference.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/icons/profile-circle.svg b/assets/icons/profile-circle.svg deleted file mode 100644 index 1d411db096..0000000000 --- a/assets/icons/profile-circle.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/icons/profile-circle-fill.svg b/assets/icons/user-circle-fill.svg similarity index 100% rename from assets/icons/profile-circle-fill.svg rename to assets/icons/user-circle-fill.svg diff --git a/assets/src/js/v3/shared/icons/types.ts b/assets/src/js/v3/shared/icons/types.ts index 0c64d8f048..cc45498f89 100644 --- a/assets/src/js/v3/shared/icons/types.ts +++ b/assets/src/js/v3/shared/icons/types.ts @@ -201,6 +201,7 @@ export const icons = [ 'infoOctagon', 'instructor', 'interactiveQuiz', + 'interface', 'iosPhone', 'ipadTablet', 'iso', @@ -212,7 +213,6 @@ export const icons = [ 'landscape', 'landscapeFilled', 'league', - 'learningMood', 'left', 'lesson', 'lessonCompleted', @@ -280,14 +280,11 @@ export const icons = [ 'portrait', 'portraitFilled', 'ppt', - 'preference', 'preview', 'priceTag', 'primeCheckCircle', 'printer', 'profile', - 'profileCircle', - 'profileCircleFill', 'progress', 'psd', 'publish', @@ -391,6 +388,7 @@ export const icons = [ 'uploadFile', 'user', 'userCircle', + 'userCircleFill', 'video', 'videoCamera', 'videoCamera2', diff --git a/assets/src/scss/frontend/kids/_learning-area.scss b/assets/src/scss/frontend/kids/_learning-area.scss index cd0ba19d9a..311fe85fa8 100644 --- a/assets/src/scss/frontend/kids/_learning-area.scss +++ b/assets/src/scss/frontend/kids/_learning-area.scss @@ -162,7 +162,8 @@ .tutor-quiz-attempts, .tutor-quiz-summary-feedback, .tutor-quiz-summary-page .tutor-quiz-summary-sidebar .tutor-quiz-sidebar-questions .tutor-quiz-sidebar-question-item, - .tutor-learning-header-inner { + .tutor-learning-header-inner, + .tutor-notification-tabs-wrapper { border-radius: $tutor-radius-4xl; } diff --git a/classes/Dashboard.php b/classes/Dashboard.php index 57621140d4..634d015289 100644 --- a/classes/Dashboard.php +++ b/classes/Dashboard.php @@ -71,8 +71,8 @@ public static function get_account_pages() { $pages = array( 'profile' => array( 'title' => esc_html__( 'Profile', 'tutor' ), - 'icon' => Icon::PROFILE_CIRCLE, - 'icon_active' => Icon::PROFILE_CIRCLE_FILL, + 'icon' => Icon::USER_CIRCLE, + 'icon_active' => Icon::USER_CIRCLE_FILL, 'url' => self::get_account_page_url( 'profile' ), 'template' => tutor_get_template( 'dashboard.account.profile' ), ), diff --git a/classes/Icon.php b/classes/Icon.php index f7564a33ef..8ac21eebd8 100644 --- a/classes/Icon.php +++ b/classes/Icon.php @@ -217,6 +217,7 @@ final class Icon { const INFO_OCTAGON = 'info-octagon'; const INSTRUCTOR = 'instructor'; const INTERACTIVE_QUIZ = 'interactive-quiz'; + const INTERFACE = 'interface'; const IOS_PHONE = 'ios-phone'; const IPAD_TABLET = 'ipad-tablet'; const ISO = 'iso'; @@ -228,7 +229,6 @@ final class Icon { const LANDSCAPE = 'landscape'; const LANDSCAPE_FILLED = 'landscape-filled'; const LEAGUE = 'league'; - const LEARNING_MOOD = 'learning-mood'; const LEFT = 'left'; const LESSON = 'lesson'; const LESSON_COMPLETED = 'lesson-completed'; @@ -296,14 +296,11 @@ final class Icon { const PORTRAIT = 'portrait'; const PORTRAIT_FILLED = 'portrait-filled'; const PPT = 'ppt'; - const PREFERENCE = 'preference'; const PREVIEW = 'preview'; const PRICE_TAG = 'price-tag'; const PRIME_CHECK_CIRCLE = 'prime-check-circle'; const PRINTER = 'printer'; const PROFILE = 'profile'; - const PROFILE_CIRCLE = 'profile-circle'; - const PROFILE_CIRCLE_FILL = 'profile-circle-fill'; const PROGRESS = 'progress'; const PSD = 'psd'; const PUBLISH = 'publish'; @@ -407,6 +404,7 @@ final class Icon { const UPLOAD_FILE = 'upload-file'; const USER = 'user'; const USER_CIRCLE = 'user-circle'; + const USER_CIRCLE_FILL = 'user-circle-fill'; const VIDEO = 'video'; const VIDEO_CAMERA = 'video-camera'; const VIDEO_CAMERA_2 = 'video-camera-2'; diff --git a/templates/dashboard/account/settings.php b/templates/dashboard/account/settings.php index b279a9c138..4c2c7c2b37 100644 --- a/templates/dashboard/account/settings.php +++ b/templates/dashboard/account/settings.php @@ -50,7 +50,7 @@ 'preferences' => array( 'id' => 'preferences', 'label' => __( 'Preferences', 'tutor' ), - 'icon' => Icon::PREFERENCE, + 'icon' => Icon::FILTER_2, 'text' => __( 'Sound effects, animations, theme', 'tutor' ), 'template' => 'dashboard.account.settings.preferences', 'role' => false, @@ -64,7 +64,7 @@ array_filter( $settings_tab_data, function ( $tab ) { - return 'account' === $tab['id'] || ! $tab['role'] || ( User::INSTRUCTOR === $tab['role'] && current_user_can( tutor()->instructor_role ) ); + return 'account' === $tab['id'] || ! $tab['role'] || ( User::INSTRUCTOR === $tab['role'] && current_user_can( tutor()->instructor_role ) && User::is_instructor_view() ); } ) ); diff --git a/templates/dashboard/account/settings/preferences.php b/templates/dashboard/account/settings/preferences.php index a62acbe758..cc49464a39 100644 --- a/templates/dashboard/account/settings/preferences.php +++ b/templates/dashboard/account/settings/preferences.php @@ -139,7 +139,7 @@ class="tutor-flex tutor-flex-column tutor-gap-5"
- name( Icon::LEARNING_MOOD )->size( 20 )->render(); ?> + name( Icon::INTERFACE )->size( 20 )->render(); ?>