diff --git a/composer.json b/composer.json index 1d6daaf..5445825 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "nhsla/moodle-nhse", "type": "moodle-theme", - "version": "2023072001", + "version": "2023073103", "require": { "composer/installers": "~1.0" }, diff --git a/config.php b/config.php index 6206f75..5aeb620 100755 --- a/config.php +++ b/config.php @@ -43,7 +43,7 @@ $THEME->doctype = 'html5'; $THEME->name = 'nhse'; -$THEME->version = '2023072001'; +$THEME->version = '2023073103'; $THEME->parents = ['boost']; $THEME->regions = []; $THEME->sheets = []; @@ -201,7 +201,7 @@ $THEME->haseditswitch = true; $THEME->usescourseindex = true; -// Control displaying nhse titles. +// Control displaying nhse titles (Boost is set to true). $THEME->activityheaderconfig = [ 'notitle' => false ]; diff --git a/scss/components/button/_button.scss b/scss/components/button/_button.scss new file mode 100644 index 0000000..e8289a0 --- /dev/null +++ b/scss/components/button/_button.scss @@ -0,0 +1,11 @@ +/* + Half size button with half size margin + */ +.nhsuk-button--small { + @extend .nhsuk-button; + box-shadow: 0 2px 0 $nhsuk-box-shadow-color; + font-size: 0.95rem; + margin-bottom: 18px; + padding: 4px 6px; + transition: none; +} diff --git a/scss/nhse.scss b/scss/nhse.scss index 667b728..f39441d 100644 --- a/scss/nhse.scss +++ b/scss/nhse.scss @@ -19,15 +19,12 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 600; } -.coursebox { - - ul, - ol, - p { - font-size: initial; - line-height: initial; - } -} +ul, +ol, +p { + font-size: initial; + line-height: initial; +} .course_category_tree { .category { @@ -39,6 +36,26 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { } } +/** + * Button styles + */ +.btn { + &:not(.btn-link):not(.btn-icon):not(.search-icon):not(.dropdown-toggle):not(.icon-no-margin) { + @extend .nhsuk-button--small; + } +} + +/** + * Cards and drawers + */ +.card { + border: none; + border-radius: 0; + -moz-border-radius: 0; + background-color: $color_nhsuk-grey-5; + margin: 0; +} + /** * Page and headings */ @@ -49,7 +66,8 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { flex-direction: column; #page { - padding-top: 3rem; + padding-top: 0; + margin-top: 0; } svg { @@ -110,7 +128,7 @@ body.limitedwidth { .bg-light { color: $color_nhsuk-grey-1; background-color: $btn-default-background !important; - * { + > * { color: $color_nhsuk-grey-1 !important; } } @@ -208,8 +226,12 @@ body.limitedwidth { height: 2.0em; } -.navbar-expand .navbar-nav .nav-link { - padding-top: 15px; +.navbar-expand { + .navbar-nav { + .nav-link { + padding-top: 15px; + } + } } .icon { @@ -241,6 +263,12 @@ body.limitedwidth { margin-left: 0; } +.nav-link { + padding: 0.6rem 1rem; + font-size: 1rem; + line-height: 1.5; +} + .navbar { color: $btn-primary-text; background-color: $btn-primary-background; @@ -414,30 +442,6 @@ body.limitedwidth { } } -/** - * Button styles - */ - -.btn-primary:not(.search-icon), -.btn-secondary:not(.search-icon) { - @extend .nhsuk-button; -} - -.btn-secondary:not(.search-icon) { - @extend .nhsuk-button--secondary; -} - -/** - * Cards and drawers - */ -.card { - border: none; - border-radius: 0; - -moz-border-radius: 0; - background-color: $color_nhsuk-grey-5; - margin: 0; -} - .drawers .block_myoverview>.card-body { padding: 1.25rem!important; } @@ -485,6 +489,10 @@ body.limitedwidth { display: none; } +.nhsuk-header__navigation-item { + border-top: none; +} + .popover-region-toggle::before, .popover-region-toggle::after { display: none; } diff --git a/scss/nhsuk.scss b/scss/nhsuk.scss index 707c2ab..8629d21 100755 --- a/scss/nhsuk.scss +++ b/scss/nhsuk.scss @@ -75,3 +75,6 @@ @import "../node_modules/nhsuk-frontend/packages/components/warning-callout/warning-callout"; //@import "../node_modules/nhsuk-frontend/packages/components/character-count/character-count"; //@import "../node_modules/nhsuk-frontend/packages/components/tabs/tabs"; + +// Custom extras (for Moodle) +@import "components/button/button"; diff --git a/templates/core/activity_header.mustache b/templates/core/activity_header.mustache new file mode 100644 index 0000000..0111ed5 --- /dev/null +++ b/templates/core/activity_header.mustache @@ -0,0 +1,85 @@ +{{! + This file is part of Moodle - http://moodle.org/ + + Moodle is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Moodle is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Moodle. If not, see . +}} +{{! + @template core/activity_header + + Activity header template. + + Context variables required for this template: + * title - The title of the activity module + * description - The intro for the module + * completion - The completion info if available for the the module as acquired via the activity_information method + * additional_items - Any additional URL select navigation that needs to show up in the header + + Example context (json): + { + "title": "Assignment 1", + "description": "The assignment does something", + "completion": "
Some activity completion criteria
", + "additional_items": { + "id": "url_select_test", + "action": "https://example.com/post", + "formid": "url_select_form", + "sesskey": "sesskey", + "label": "core/url_select", + "helpicon": { + "title": "Help with something", + "text": "Help with something", + "url": "http://example.org/help", + "linktext": "", + "icon":{ + "extraclasses": "iconhelp", + "attributes": [ + {"name": "src", "value": "../../../pix/help.svg"}, + {"name": "alt", "value": "Help icon"} + ] + } + }, + "showbutton": "Go", + "options": [{ + "name": "Group 1", "isgroup": true, "options": + [ + {"name": "Item 1", "isgroup": false, "value": "1"}, + {"name": "Item 2", "isgroup": false, "value": "2"} + ]}, + {"name": "Group 2", "isgroup": true, "options": + [ + {"name": "Item 3", "isgroup": false, "value": "3"}, + {"name": "Item 4", "isgroup": false, "value": "4"} + ]}], + "disabled": false, + "title": "Some cool title" + } + } +}} + +
+ {{#completion}} + {{#str}} overallaggregation, completion {{/str}} + {{{completion}}} + {{/completion}} + {{#description}} +
+ {{{description}}} +
+ {{/description}} +
+{{#additional_items}} + +{{/additional_items}} diff --git a/templates/core/loginform.mustache b/templates/core/loginform.mustache index da495d5..ee45160 100644 --- a/templates/core/loginform.mustache +++ b/templates/core/loginform.mustache @@ -97,24 +97,8 @@ {{#hasinstructions}} {{{instructions}}} {{/hasinstructions}} -

Welcome to the Leadership Academy Virtual Campus

-

Illustration of two people carrying a giant key

Information: -

If you are using a 10-digit Academy ID, please use - {{#login_header_text}} - '{{ login_header_text }}' - {{/login_header_text}} - {{^login_header_text}} - '{{#str}} login_header_text_default, theme_nhse {{/str}}' - {{/login_header_text}}' section. -

- {{#login_expand_text}} -

If you have a different username, please use the '{{ login_expand_text }}' section.

- {{/login_expand_text}} - {{^login_expand_text}} -

If you have a different username, please use the '{{#str}} login_expand_text_default, theme_nhse {{/str}}' section.

- {{/login_expand_text}}

{{#str}} cookiesenabled, theme_nhse {{/str}}. . +}} +{{! + @template core_course/activity_info + + Container to display activity information such as: + - Activity dates + - Activity completion requirements (automatic completion) + - Manual completion button + + Example context (json): + { + "activityname": "Course announcements", + "hascompletion": true, + "uservisible": true, + "hasdates": true, + "isautomatic": true, + "istrackeduser": true, + "showmanualcompletion": true, + "activitydates": [ + { + "label": "Opens:", + "timestamp": 1293876000 + } + ], + "completiondetails": [ + { + "statuscomplete": 1, + "description": "Viewed" + }, + { + "statusincomplete": 1, + "description": "Receive a grade" + } + ] + } +}} +

diff --git a/templates/core_course/completion_automatic.mustache b/templates/core_course/completion_automatic.mustache new file mode 100644 index 0000000..3c977d2 --- /dev/null +++ b/templates/core_course/completion_automatic.mustache @@ -0,0 +1,65 @@ +{{! + This file is part of Moodle - http://moodle.org/ + + Moodle is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Moodle is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Moodle. If not, see . +}} +{{! + @template core_course/completion_automatic + + Template for displaying an automatic completion rule and its status. + + Example context (json): + { + "statuscomplete": 1, + "description": "View", + "istrackeduser": true, + "accessibledescription": "Done: View (Set by Admin User)" + } +}} +{{#istrackeduser}} + {{#statuscomplete}} + + {{#pix}}i/checked{{/pix}} + {{#str}}completion_automatic:done, core_course{{/str}} {{description}} + + {{/statuscomplete}} + {{#statuscompletefail}} + + {{#pix}}e/cancel{{/pix}} + {{#str}}completion_automatic:failed, core_course{{/str}} {{description}} + + {{/statuscompletefail}} + {{#statusincomplete}} + + {{#str}}completion_automatic:todo, core_course{{/str}} {{description}} + + {{/statusincomplete}} +{{/istrackeduser}} +{{^istrackeduser}} + + {{description}} + +{{/istrackeduser}} diff --git a/templates/core_course/completion_manual.mustache b/templates/core_course/completion_manual.mustache new file mode 100644 index 0000000..18d6fe0 --- /dev/null +++ b/templates/core_course/completion_manual.mustache @@ -0,0 +1,67 @@ +{{! + This file is part of Moodle - http://moodle.org/ + + Moodle is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Moodle is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Moodle. If not, see . +}} +{{! + @template core_course/completion_manual + + Template for displaying the manual completion button. + + Example context (json): + { + "cmid": 0, + "overallcomplete": true, + "overallincomplete": false + } +}} +{{#istrackeduser}} + {{#overallcomplete}} + + {{/overallcomplete}} + {{#overallincomplete}} + + {{/overallincomplete}} +{{/istrackeduser}} +{{^istrackeduser}} + +{{/istrackeduser}} + +{{#js}} + require(['core_course/manual_completion_toggle'], toggle => { + toggle.init() + }); +{{/js}} diff --git a/templates/drawers.mustache b/templates/drawers.mustache index 4f3f11d..12d947b 100644 --- a/templates/drawers.mustache +++ b/templates/drawers.mustache @@ -148,12 +148,11 @@
{{/hasregionmainsettingsmenu}} {{{ output.course_content_header }}} + {{#headercontent}} + {{> core/activity_header }} + {{/headercontent}} {{#overflow}} -
- -
+ {{> core/url_select}} {{/overflow}} {{{ output.main_content }}} {{{ output.activity_navigation }}} @@ -171,10 +170,10 @@ {{#js}} - M.util.js_pending('theme_boost/loader'); - require(['theme_boost/loader', 'theme_boost/drawer'], function(Loader, Drawer) { +M.util.js_pending('theme_boost/loader'); +require(['theme_boost/loader', 'theme_boost/drawer'], function(Loader, Drawer) { Drawer.init(); - M.util.js_complete('theme_boost/loader'); - }); +M.util.js_complete('theme_boost/loader'); +}); {{/js}} diff --git a/templates/footer.mustache b/templates/footer.mustache index d9d7e0e..9b07161 100644 --- a/templates/footer.mustache +++ b/templates/footer.mustache @@ -56,31 +56,29 @@ {{{ output.login_info }}} {{{ output.debug_footer_html }}}
-
-
- +
{{{ output.standard_footer_html }}} {{{ output.standard_end_of_body_html }}}
-
{{#str}}poweredbymoodle, core{{/str}}
+ {{#str}}poweredbymoodle, core{{/str}} {{#output.moodle_release}} -
- {{#str}}version, core{{/str}} {{{ output.moodle_release }}} -
+ {{#str}}version, core{{/str}} {{{ output.moodle_release }}} {{/output.moodle_release}}
- + {{#js}} - require(['theme_boost/footer-popover'], function(FooterPopover) { +require(['theme_boost/footer-popover'], function(FooterPopover) { FooterPopover.init(); - }); +}); {{/js}} diff --git a/version.php b/version.php index 0ed5762..28f3054 100755 --- a/version.php +++ b/version.php @@ -26,7 +26,7 @@ defined('MOODLE_INTERNAL') || die(); // This is the version of the plugin. -$plugin->version = 2023072001; +$plugin->version = 2023073103; $plugin->release = '401.0.1'; $plugin->maturity = MATURITY_BETA;