diff --git a/scripts/langindex.json b/scripts/langindex.json index 081689da2..56faabdba 100644 --- a/scripts/langindex.json +++ b/scripts/langindex.json @@ -1106,6 +1106,7 @@ "addon.storagemanager.confirmdeletedatafrom": "local_moodlemobileapp", "addon.storagemanager.coursedownloads": "local_moodlemobileapp", "addon.storagemanager.courseinfo": "local_moodlemobileapp", + "addon.storagemanager.deleteall": "moodle", "addon.storagemanager.deleteallsitedata": "local_moodlemobileapp", "addon.storagemanager.deleteallsitedatainfo": "local_moodlemobileapp", "addon.storagemanager.deletecourses": "local_moodlemobileapp", diff --git a/src/addons/block/myoverview/components/myoverview/addon-block-myoverview.html b/src/addons/block/myoverview/components/myoverview/addon-block-myoverview.html index a567deefd..07b679473 100644 --- a/src/addons/block/myoverview/components/myoverview/addon-block-myoverview.html +++ b/src/addons/block/myoverview/components/myoverview/addon-block-myoverview.html @@ -4,7 +4,7 @@
-
+
- -
- - - - - - - - - - +
+
+ + + + + + + + + + +
diff --git a/src/core/features/course/components/course-index/course-index.html b/src/core/features/course/components/course-index/course-index.html index e70f1b6fb..5e07e3ae6 100644 --- a/src/core/features/course/components/course-index/course-index.html +++ b/src/core/features/course/components/course-index/course-index.html @@ -24,8 +24,8 @@ + [class.item-current]="selectedId === section.id" [class.item-dimmed]="section.visible === 0" + [class.item-hightlighted]="section.highlighted" detail="false" sticky="true"> - diff --git a/src/core/features/course/components/course-index/course-index.scss b/src/core/features/course/components/course-index/course-index.scss index 130cdf756..db08d3ad2 100644 --- a/src/core/features/course/components/course-index/course-index.scss +++ b/src/core/features/course/components/course-index/course-index.scss @@ -11,56 +11,68 @@ core-progress-bar { } } -ion-icon.completioninfo { - font-size: 10px; - width: 18px; -} - -ion-item.module::part(native) { - --padding-start: 0; -} - -ion-item.module ion-icon { - margin: 0; - @include padding(12px, 16px, 12px, 16px); -} - -ion-item.core-course-index-all::part(native) { - --padding-start: 16px; -} - -ion-item.item.item-current { - --background: var(--primary-tint); - border: 0; -} - -ion-icon.restricted { - font-size: 14px; -} - -ion-item.item.divider.section { - --padding-start: 0px; +ion-item.item { + &.core-course-index-all::part(native) { + --padding-start: 16px; + } &.item-current { - ion-badge { - border: 1px solid var(--primary-contrast); + --background: var(--primary-tint); + border: 0; + } + + &.item-hightlighted { + @include safe-area-border-start(var(--selected-item-border-width), solid, var(--selected-item-color)); + } + + &.divider.section { + --padding-start: 0px; + + &.item-current { + ion-icon.expandable-status-icon { + color: var(--primary-contrast); + + &:hover { + background: var(--primary-shade); + } + } } ion-icon.expandable-status-icon { - color: var(--primary-contrast); - + padding: 13px; + margin: 3px; + border-radius: 50%; &:hover { - background: var(--primary-shade); + background: var(--gray-300); } } + + &.item-hightlighted ion-icon.expandable-status-icon { + @include margin-horizontal(-2px, null); + } } - ion-icon.expandable-status-icon { - padding: 13px; - margin: 3px; - border-radius: 50%; - &:hover { - background: var(--gray-300); + &.module { + &::part(native) { + --padding-start: 0; + } + + &.item-hightlighted ion-icon.completioninfo { + @include padding-horizontal(11px, null); + } + } + + ion-icon { + margin: 0; + padding: 12px 16px; + + &.completioninfo { + font-size: 10px; + width: 18px; + } + + &.restricted { + font-size: 14px; } } } diff --git a/src/core/features/course/pages/index/index.html b/src/core/features/course/pages/index/index.html index c1d586d11..b864139cd 100644 --- a/src/core/features/course/pages/index/index.html +++ b/src/core/features/course/pages/index/index.html @@ -1,4 +1,4 @@ - + diff --git a/src/core/features/course/pages/index/index.ts b/src/core/features/course/pages/index/index.ts index 82ddef122..bb2537e83 100644 --- a/src/core/features/course/pages/index/index.ts +++ b/src/core/features/course/pages/index/index.ts @@ -27,7 +27,6 @@ import { CoreTextUtils } from '@services/utils/text'; import { CoreNavigationOptions, CoreNavigator } from '@services/navigator'; import { CONTENTS_PAGE_NAME } from '@features/course/course.module'; import { CoreDomUtils } from '@services/utils/dom'; -import { CoreCollapsibleHeaderDirective } from '@directives/collapsible-header'; import { CoreCourseSummaryPage } from '../course-summary/course-summary'; /** @@ -41,7 +40,6 @@ import { CoreCourseSummaryPage } from '../course-summary/course-summary'; export class CoreCourseIndexPage implements OnInit, OnDestroy { @ViewChild(CoreTabsOutletComponent) tabsComponent?: CoreTabsOutletComponent; - @ViewChild(CoreCollapsibleHeaderDirective) ionCollapsibleHeader?: CoreCollapsibleHeaderDirective; title = ''; category = ''; diff --git a/src/core/features/courses/lang.json b/src/core/features/courses/lang.json index 933eb9aff..85ecd6681 100644 --- a/src/core/features/courses/lang.json +++ b/src/core/features/courses/lang.json @@ -12,7 +12,7 @@ "completeenrolmentbrowser": "Complete enrolment in browser", "confirmselfenrol": "Are you sure you want to enrol yourself in this course?", "courses": "Courses", - "downloadcourses": "Download courses", + "downloadcourses": "Download all courses", "enrolme": "Enrol me", "errorloadcategories": "An error occurred while loading categories.", "errorloadcourses": "An error occurred while loading courses.", diff --git a/src/core/features/courses/pages/my/my.html b/src/core/features/courses/pages/my/my.html index c01f49f85..bf26674dc 100644 --- a/src/core/features/courses/pages/my/my.html +++ b/src/core/features/courses/pages/my/my.html @@ -29,7 +29,7 @@
-
ion-icon[slot] { + color: var(--core-more-icon) !important; } } diff --git a/src/core/features/settings/lang.json b/src/core/features/settings/lang.json index 92dd83bda..76aa58bc0 100644 --- a/src/core/features/settings/lang.json +++ b/src/core/features/settings/lang.json @@ -7,10 +7,10 @@ "cannotsyncoffline": "Cannot synchronise offline.", "cannotsyncwithoutwifi": "Cannot synchronise because the current settings only allow to synchronise when connected to Wi-Fi. Please connect to a Wi-Fi network.", "colorscheme": "Color Scheme", - "colorscheme-system": "System default", - "colorscheme-system-notice": "System default mode will depend on your device support.", "colorscheme-dark": "Dark", "colorscheme-light": "Light", + "colorscheme-system": "System default", + "colorscheme-system-notice": "System default mode will depend on your device support.", "compilationinfo": "Compilation info", "copyinfo": "Copy device info on the clipboard", "cordovadevicemodel": "Cordova device model", @@ -27,7 +27,7 @@ "disableall": "Disable notifications", "disabled": "Disabled", "disabledfeatures": "Disabled features", - "disallowed": "Disallowed", + "disallowed": "Locked off", "displayformat": "Display format", "enabledownloadsection": "Enable download sections", "enablefirebaseanalytics": "Enable Firebase analytics", diff --git a/src/theme/globals.variables.scss b/src/theme/globals.variables.scss index 5f8d3a5fe..696d70a77 100644 --- a/src/theme/globals.variables.scss +++ b/src/theme/globals.variables.scss @@ -9,7 +9,7 @@ $gray-100: #f8f9fa !default; $gray-200: #e9ecef !default; $gray-300: #dee2e6 !default; // Stroke $gray-400: #ced4da !default; -$gray-500: #8f959e !default; +$gray-500: #8f959e !default; // Stroke on inputs $gray-600: #6a737b !default; $gray-700: #495057 !default; $gray-800: #343a40 !default; @@ -46,8 +46,8 @@ $warning: $yellow !default; $success: $green !default; $info: $blue !default; $light: $gray-100 !default; -$medium: $gray-600 !default; -$dark: $gray-800 !default; +$medium: $gray-700 !default; +$dark: $gray-900 !default; $colors: ( primary: (light: $primary, dark: $primary), diff --git a/src/theme/theme.base.scss b/src/theme/theme.base.scss index 647a1d7f3..e39774de1 100644 --- a/src/theme/theme.base.scss +++ b/src/theme/theme.base.scss @@ -298,6 +298,10 @@ button, min-width: var(--a11y-min-target-size); } +ion-fab-button { + --box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); +} + ion-button { margin: 4px 8px; @@ -321,7 +325,8 @@ ion-button.button-outline { --border-width: var(--core-input-border-width); --border-color: var(--core-input-stroke); --background: var(--core-input-background); - --color: var(--text-color); + --color: var(--core-input-text); + --ion-color-primary: var(--core-input-text); } ion-button.button-solid { @@ -371,7 +376,8 @@ ion-button.button.button-clear.button-has-icon-only { } ion-button.button.button-clear { - --color: var(--dark); + --color: var(--core-input-text); + --ion-color-primary: var(--core-input-text); } ion-button.button.button-solid, @@ -936,7 +942,7 @@ ion-select-popover ion-item.core-select-option-title { ion-badge { line-height: 1.1; - padding: 4px 8px; + padding: 2px 8px; border-radius: var(--big-radius); } @@ -1105,7 +1111,7 @@ ion-fab[core-fab] { } ion-content.has-collapsible-footer ion-fab { - bottom: calc(var(--core-navigation-height, 0px) + 10px); + bottom: calc(var(--core-collapsible-footer-height, 0px) + 10px); @include core-transition(all, 200ms); } diff --git a/src/theme/theme.dark.scss b/src/theme/theme.dark.scss index 57ddeeb61..ab278951a 100644 --- a/src/theme/theme.dark.scss +++ b/src/theme/theme.dark.scss @@ -36,18 +36,20 @@ --text-color: #{$text-color-dark}; --ion-text-color: var(--text-color); --ion-text-color-rgb: #{$text-color-dark-rgb}; - --subdued-text-color: var(--gray-400); + --subdued-text-color: var(--medium); --stroke: var(--gray-700); --contrast-background: black; --ion-card-color: var(--text-color); --ion-card-background: var(--ion-item-background); + --ion-card-border-color: var(--stroke); --ion-border-color: var(--stroke); --ion-item-border-color: var(--stroke); - --core-input-stroke: var(--gray-700); + --core-input-stroke: var(--gray-600); + --core-input-text: var(--dark); --core-input-background: var(--gray-900); ion-content { @@ -68,7 +70,7 @@ --core-link-color: var(--info-tint); --core-header-toolbar-background: var(--gray-900); - --core-header-toolbar-color: var(--white); + --core-header-toolbar-color: var(--text-color); --core-header-toolbar-border-color: var(--stroke); --core-tabs-background: var(--gray-800); @@ -80,10 +82,15 @@ --core-progressbar-text-color: var(--gray-100); --ion-item-background: #{$ion-item-background-dark}; + --ion-item-icon-color: var(--medium); + --ion-item-detail-icon-color: var(--dark); + --core-more-icon: var(--ion-item-icon-color); + --item-divider-background: var(--ion-item-background); --item-divider-color: var(--text-color); --spacer-background: var(--gray-700); + --ion-searchbar-background: var(--ion-background-color); --ion-searchbar-border-color: var(--core-input-stroke); --ion-searchbar-color: var(--text-color); @@ -91,7 +98,7 @@ --core-search-box-background: var(--ion-background-color); --core-search-box-border-color: var(--core-input-stroke); - --core-search-box-color: var(--text-color); + --core-search-box-color: var(--core-input-text); --core-combobox-background: var(--core-input-background); --core-combobox-color: var(--text-color); diff --git a/src/theme/theme.light.scss b/src/theme/theme.light.scss index f55a0c282..2d0a532aa 100644 --- a/src/theme/theme.light.scss +++ b/src/theme/theme.light.scss @@ -69,7 +69,8 @@ --ion-background-color-rgb: #{$background-color-rgb}; --ion-border-color: var(--stroke); - --core-input-stroke: var(--gray-400); + --core-input-stroke: var(--gray-500); + --core-input-text: var(--dark); --core-input-background: var(--ion-background-color); --core-input-radius: var(--small-radius); --core-input-border-width: 1px; @@ -86,7 +87,7 @@ --ion-text-color: var(--text-color); --ion-text-color-rgb: #{$text-color-rgb}; - --subdued-text-color: var(--gray-700); + --subdued-text-color: var(--medium); --ion-card-color: var(--text-color); --ion-card-vertical-margin: 10px; @@ -112,7 +113,7 @@ } --core-bottom-tabs-background: var(--white); - --core-bottom-tabs-color: var(--gray-700); + --core-bottom-tabs-color: var(--dark); --core-bottom-tabs-color-selected: var(--primary); --core-bottom-tabs-background-selected: transparent; --core-bottom-tabs-badge-color: var(--primary); @@ -135,7 +136,7 @@ --core-header-toolbar-background: var(--white); --core-header-toolbar-border-width: 0px; --core-header-toolbar-border-color: var(--stroke); - --core-header-toolbar-color: var(--gray-900); + --core-header-toolbar-color: var(--text-color); --core-header-toolbar-height: 48px; html.ios { --core-header-toolbar-height: 48px; @@ -191,10 +192,10 @@ --core-search-box-background: var(--ion-background-color); --core-search-box-border-color: var(--core-input-stroke); --core-search-box-border-radius: var(--core-input-radius); - --core-search-box-color: var(--text-color); + --core-search-box-color: var(--core-input-text); --core-combobox-background: var(--core-input-background); - --core-combobox-color: var(--text-color); + --core-combobox-color: var(--core-input-text); --core-combobox-border-color: var(--core-input-stroke); --core-combobox-border-width: var(--core-input-border-width); --core-combobox-radius: var(--core-input-radius); @@ -255,13 +256,19 @@ --core-progressbar-background: var(--primary-tint); --ion-item-background: #{$ion-item-background}; - --ion-item-detail-icon-color: var(--medium); + --ion-item-icon-color: var(--medium); + --ion-item-detail-icon-color: var(--dark); --ion-item-detail-icon-font-size: 20px; --ion-item-detail-icon-opacity: 1; + --core-more-icon: var(--ion-item-icon-color); ion-item { --detail-icon-color: var(--ion-item-detail-icon-color); --detail-icon-font-size: var(--ion-item-detail-icon-font-size); --detail-icon-opacity: var(--ion-item-detail-icon-opacity); + + > ion-icon[slot] { + color: var(--ion-item-icon-color); + } } --item-divider-min-height: calc(var(--a11y-min-target-size) + 8px); @@ -309,13 +316,10 @@ --core-large-avatar-size: 90px; --core-avatar-size: var(--a11y-min-target-size); - --core-send-message-input-background: var(--gray-200); - --core-send-message-input-color: var(--gray-900); - --core-courseimage-on-course-size: 72px; --core-courseimage-radius: var(--medium-radius); - --core-navigation-height: 48px; + --core-collapsible-footer-height: 48px; --core-navigation-background: var(--contrast-background); --core-collapsible-footer-background: var(--contrast-background);