mumuki-laboratory 9.0.6 → 9.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/mumuki_laboratory/application/discussions.js +10 -10
- data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +3 -3
- data/app/assets/javascripts/mumuki_laboratory/application/kids.js +11 -7
- data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +3 -3
- data/app/assets/javascripts/mumuki_laboratory/application/messages.js +3 -3
- data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +4 -4
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-files.js +12 -6
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-scenarios.js +1 -1
- data/app/assets/javascripts/mumuki_laboratory/application/primary.js +4 -4
- data/app/assets/javascripts/mumuki_laboratory/application/profile.js +0 -6
- data/app/assets/javascripts/mumuki_laboratory/application/progress.js +1 -1
- data/app/assets/javascripts/mumuki_laboratory/application/speech-bubble-renderer.js +1 -1
- data/app/assets/javascripts/mumuki_laboratory/application/submission.js +4 -3
- data/app/assets/javascripts/mumuki_laboratory/application/toast.js +3 -0
- data/app/assets/javascripts/mumuki_laboratory/application/tooltip.js +1 -1
- data/app/assets/javascripts/mumuki_laboratory/application/upload.js +2 -2
- data/app/assets/stylesheets/mumuki_laboratory/application.scss +0 -1
- data/app/assets/stylesheets/mumuki_laboratory/application/_errors.scss +1 -1
- data/app/assets/stylesheets/mumuki_laboratory/application/_layout.scss +1 -27
- data/app/assets/stylesheets/mumuki_laboratory/application/_modules.scss +0 -2
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_activity.scss +7 -5
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_avatar.scss +5 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_breadcrumb.scss +6 -30
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_datepicker.scss +0 -4
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +38 -60
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_editor.scss +16 -18
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_exercise_assignment.scss +2 -11
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_exercise_results.scss +1 -7
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_faqs.scss +3 -3
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_flash.scss +7 -46
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids.scss +19 -5
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +18 -23
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kindergarten.scss +1 -9
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_overlap.scss +1 -1
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_progress_bar.scss +5 -5
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_timer.scss +1 -3
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_menu.scss +13 -6
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +0 -2
- data/app/controllers/application_controller.rb +4 -2
- data/app/controllers/discussions_messages_controller.rb +3 -1
- data/app/controllers/exam_authorization_requests_controller.rb +1 -5
- data/app/controllers/users_controller.rb +4 -0
- data/app/helpers/application_helper.rb +5 -5
- data/app/helpers/assignment_result_helper.rb +3 -2
- data/app/helpers/assistance_box_helper.rb +1 -1
- data/app/helpers/concerns/with_student_path_navigation.rb +8 -3
- data/app/helpers/concerns/with_student_path_navigation/continue_navigation.rb +1 -1
- data/app/helpers/concerns/with_student_path_navigation/finish_navigation.rb +1 -1
- data/app/helpers/concerns/with_student_path_navigation/next_parent_navigation.rb +7 -0
- data/app/helpers/concerns/with_student_path_navigation/revisit_navigation.rb +1 -1
- data/app/helpers/discussions_helper.rb +61 -24
- data/app/helpers/editor_tabs_helper.rb +10 -6
- data/app/helpers/email_helper.rb +2 -2
- data/app/helpers/exercise_input_helper.rb +2 -3
- data/app/helpers/links_helper.rb +12 -9
- data/app/helpers/menu_bar_helper.rb +1 -1
- data/app/helpers/messages_helper.rb +1 -1
- data/app/helpers/overlapped_buttons_helper.rb +22 -12
- data/app/helpers/profile_helper.rb +3 -3
- data/app/helpers/toast_helper.rb +27 -0
- data/app/helpers/user_activity_helper.rb +1 -1
- data/app/helpers/user_menu_helper.rb +4 -0
- data/app/views/book/show.html.erb +2 -2
- data/app/views/certificates/verify.html.erb +1 -1
- data/app/views/chapters/show.html.erb +2 -2
- data/app/views/discussions/_message.html.erb +31 -6
- data/app/views/discussions/_new_message.html.erb +4 -4
- data/app/views/discussions/index.html.erb +8 -10
- data/app/views/discussions/new.html.erb +1 -1
- data/app/views/discussions/show.html.erb +20 -12
- data/app/views/exam_authorization_requests/_approved.html.erb +1 -0
- data/app/views/exam_authorization_requests/_pending.html.erb +4 -0
- data/app/views/exam_authorization_requests/_rejected.html.erb +1 -0
- data/app/views/exam_registrations/show.html.erb +11 -12
- data/app/views/exercise_solutions/_assistant_rules_box.html.erb +1 -1
- data/app/views/exercise_solutions/_contextualization_results_body.html.erb +1 -1
- data/app/views/exercise_solutions/_contextualization_results_container.html.erb +1 -1
- data/app/views/exercise_solutions/_kids_results_button.html.erb +2 -2
- data/app/views/exercise_solutions/_results.html.erb +1 -1
- data/app/views/exercises/_exercise_assignment.html.erb +2 -2
- data/app/views/exercises/_exercise_skipped.html.erb +1 -1
- data/app/views/exercises/_read_only.html.erb +108 -105
- data/app/views/exercises/show.html.erb +7 -7
- data/app/views/guides/_guide.html.erb +1 -1
- data/app/views/guides/_guide_container.html.erb +4 -4
- data/app/views/invitations/_invitation_form.html.erb +5 -4
- data/app/views/layouts/_authoring.html.erb +1 -1
- data/app/views/layouts/_discussions.html.erb +7 -7
- data/app/views/layouts/_kids.html.erb +7 -7
- data/app/views/layouts/_kindergarten.html.erb +10 -6
- data/app/views/layouts/_main.html.erb +6 -10
- data/app/views/layouts/_organizations_listing.html.erb +2 -2
- data/app/views/layouts/_progress_bar.html.erb +2 -0
- data/app/views/layouts/_submission_result_error.html.erb +1 -1
- data/app/views/layouts/_test_results.html.erb +2 -2
- data/app/views/layouts/_timer.html.erb +1 -1
- data/app/views/layouts/_user_menu.html.erb +4 -3
- data/app/views/layouts/application.html.erb +39 -42
- data/app/views/layouts/exercise_inputs/editors/_code.html.erb +4 -4
- data/app/views/layouts/exercise_inputs/editors/_free_form.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/editors/_multiple_choice.html.erb +7 -9
- data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +10 -10
- data/app/views/layouts/exercise_inputs/editors/_single_choice.html.erb +6 -8
- data/app/views/layouts/exercise_inputs/editors/_text.html.erb +2 -3
- data/app/views/layouts/exercise_inputs/editors/_upload.html.erb +5 -5
- data/app/views/layouts/exercise_inputs/forms/_form.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/forms/_interactive_form.html.erb +2 -2
- data/app/views/layouts/exercise_inputs/forms/_kids_form.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/forms/_playground_form.html.erb +2 -2
- data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +13 -9
- data/app/views/layouts/exercise_inputs/layouts/_input_primary.html.erb +2 -2
- data/app/views/layouts/exercise_inputs/layouts/_input_right.html.erb +2 -2
- data/app/views/layouts/exercise_inputs/read_only_editors/_code.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/read_only_editors/_free_form.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_choice.html.erb +4 -4
- data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_files.html.erb +2 -2
- data/app/views/layouts/exercise_inputs/read_only_editors/_single_choice.html.erb +4 -4
- data/app/views/layouts/exercise_inputs/read_only_editors/_text.erb +1 -1
- data/app/views/layouts/modals/_avatar_picker.html.erb +2 -5
- data/app/views/layouts/modals/_guide_corollary.html.erb +4 -8
- data/app/views/layouts/modals/_kids_context.html.erb +7 -5
- data/app/views/layouts/modals/_kids_results.html.erb +2 -2
- data/app/views/layouts/modals/_kids_results_aborted.html.erb +2 -2
- data/app/views/layouts/modals/_kindergarten_context.html.erb +3 -3
- data/app/views/layouts/modals/_kindergarten_results.html.erb +3 -3
- data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +2 -2
- data/app/views/layouts/modals/_level_up.html.erb +2 -5
- data/app/views/layouts/modals/_new_message.html.erb +5 -5
- data/app/views/notifications/_dropdown.html.erb +3 -3
- data/app/views/notifications/_exam_authorization_request.html.erb +1 -1
- data/app/views/users/_activity_indicator.html.erb +14 -14
- data/app/views/users/_edit_user_form.html.erb +6 -6
- data/app/views/users/_profile_fields.html.erb +6 -6
- data/app/views/users/_user_form.html.erb +2 -2
- data/app/views/users/activity.html.erb +29 -29
- data/app/views/users/certificates.html.erb +26 -24
- data/app/views/users/discussions.html.erb +23 -21
- data/app/views/users/exam_authorizations.html.erb +42 -0
- data/app/views/users/messages.html.erb +22 -20
- data/app/views/users/show.html.erb +5 -3
- data/app/views/users/terms.html.erb +4 -2
- data/config/routes.rb +2 -1
- data/lib/mumuki/laboratory.rb +1 -1
- data/lib/mumuki/laboratory/locales/en.yml +17 -2
- data/lib/mumuki/laboratory/locales/es-CL.yml +17 -2
- data/lib/mumuki/laboratory/locales/es.yml +17 -2
- data/lib/mumuki/laboratory/locales/pt.yml +17 -3
- data/lib/mumuki/laboratory/version.rb +1 -1
- data/spec/capybara_helper.rb +1 -0
- data/spec/controllers/discussions_messages_controller_spec.rb +64 -2
- data/spec/controllers/exam_authorization_requests_controller_spec.rb +1 -18
- data/spec/controllers/users_controller_spec.rb +1 -0
- data/spec/dummy/db/schema.rb +4 -0
- data/spec/features/discussion_flow_spec.rb +20 -2
- data/spec/features/exercise_flow_spec.rb +1 -1
- data/spec/features/guide_reset_spec.rb +1 -1
- data/spec/features/notifications_flow_spec.rb +2 -3
- data/spec/features/terms_flow_spec.rb +1 -2
- data/spec/helpers/breadcrumbs_helper_spec.rb +2 -2
- data/spec/helpers/with_navigation_spec.rb +51 -13
- data/spec/javascripts/editors-spec.js +3 -3
- data/spec/javascripts/kids-button-spec.js +2 -2
- data/spec/javascripts/upload-spec.js +8 -8
- metadata +125 -122
- data/app/assets/stylesheets/mumuki_laboratory/application/hovers.scss +0 -12
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_checkboxes.scss +0 -34
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_guide_corollary.scss +0 -9
- data/app/views/exam_authorization_requests/show.html.erb +0 -17
@@ -1,57 +1,18 @@
|
|
1
|
-
|
1
|
+
.toast-container {
|
2
2
|
position: fixed;
|
3
|
-
|
4
|
-
left: 15px;
|
3
|
+
color: white;
|
5
4
|
z-index: 9999;
|
6
|
-
|
7
|
-
|
8
|
-
-webkit-box-sizing: border-box;
|
9
|
-
box-sizing: border-box;
|
10
|
-
}
|
11
|
-
.toast {
|
12
|
-
position: relative;
|
13
|
-
overflow: hidden;
|
14
|
-
margin: 0 0 6px;
|
15
|
-
padding: 15px 15px 15px 50px;
|
16
|
-
width: 300px;
|
17
|
-
-moz-border-radius: 3px 3px 3px 3px;
|
18
|
-
-webkit-border-radius: 3px 3px 3px 3px;
|
19
|
-
border-radius: 3px 3px 3px 3px;
|
20
|
-
background-color: $mu-color-info;
|
21
|
-
background-position: 15px center;
|
22
|
-
background-repeat: no-repeat;
|
23
|
-
-moz-box-shadow: 0 0 12px #999999;
|
24
|
-
-webkit-box-shadow: 0 0 12px #999999;
|
25
|
-
box-shadow: 0 0 12px #999999;
|
26
|
-
color: #FFFFFF;
|
27
|
-
opacity: 0.8;
|
28
|
-
&:hover {
|
29
|
-
-moz-box-shadow: 0 0 12px #000000;
|
30
|
-
-webkit-box-shadow: 0 0 12px #000000;
|
31
|
-
box-shadow: 0 0 12px #000000;
|
32
|
-
opacity: 1;
|
33
|
-
cursor: pointer;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
.toast-info {
|
37
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
5
|
+
|
6
|
+
.mu-toast-info {
|
38
7
|
background-color: $mu-color-info;
|
39
8
|
}
|
40
|
-
.toast-error {
|
41
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
9
|
+
.mu-toast-error {
|
42
10
|
background-color: $mu-color-danger;
|
43
11
|
}
|
44
|
-
.toast-success {
|
45
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
12
|
+
.mu-toast-success {
|
46
13
|
background-color: $mu-color-success;
|
47
14
|
}
|
48
|
-
.toast-warning {
|
49
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
15
|
+
.mu-toast-warning {
|
50
16
|
background-color: $mu-color-warning;
|
51
17
|
}
|
52
|
-
.toast-bottom-left {
|
53
|
-
bottom: 15px;
|
54
|
-
left: 15px;
|
55
|
-
z-index: 999999;
|
56
|
-
}
|
57
18
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
$kids-height: calc(100vh -
|
1
|
+
$kids-height: calc(100vh - 100px - 30px) !default;
|
2
2
|
|
3
3
|
$kids-characters-height: 120px;
|
4
4
|
$kids-speech-arrow-size: 10px;
|
@@ -18,6 +18,12 @@ $kids-speech-tabs-width: 40px;
|
|
18
18
|
height: $kids-height;
|
19
19
|
min-height: $kids-height;
|
20
20
|
max-height: $kids-height;
|
21
|
+
@include media-breakpoint-down(lg) {
|
22
|
+
//slightly larger navbar on lg, xl, xxl
|
23
|
+
height: calc(#{$kids-height} + 30px);
|
24
|
+
min-height: calc(#{$kids-height} + 30px);
|
25
|
+
max-height: calc(#{$kids-height} + 30px);
|
26
|
+
}
|
21
27
|
|
22
28
|
display: flex;
|
23
29
|
flex-direction: row;
|
@@ -34,6 +40,10 @@ $kids-speech-tabs-width: 40px;
|
|
34
40
|
.mu-kids-states {
|
35
41
|
padding-bottom: 15px;
|
36
42
|
height: $kids-height;
|
43
|
+
@include media-breakpoint-down(lg) {
|
44
|
+
//slightly larger navbar on lg, xl, xxl
|
45
|
+
height: calc(#{$kids-height} + 30px);
|
46
|
+
}
|
37
47
|
}
|
38
48
|
.mu-kids-character {
|
39
49
|
padding: 15px;
|
@@ -52,6 +62,11 @@ $kids-speech-tabs-width: 40px;
|
|
52
62
|
}
|
53
63
|
.mu-kids-blocks {
|
54
64
|
height: calc(#{$kids-height} - #{$kids-characters-height} - 30px);
|
65
|
+
@include media-breakpoint-down(lg) {
|
66
|
+
//slightly larger navbar on lg, xl, xxl
|
67
|
+
height: calc(#{$kids-height} - #{$kids-characters-height});
|
68
|
+
}
|
69
|
+
|
55
70
|
margin-left: 0;
|
56
71
|
margin-right: 0;
|
57
72
|
position: relative;
|
@@ -127,7 +142,7 @@ $kids-speech-tabs-width: 40px;
|
|
127
142
|
|
128
143
|
}
|
129
144
|
|
130
|
-
@media
|
145
|
+
@include media-breakpoint-only(md) {
|
131
146
|
h4 {
|
132
147
|
&.text-warning {
|
133
148
|
font-size: 18px;
|
@@ -142,7 +157,7 @@ $kids-speech-tabs-width: 40px;
|
|
142
157
|
}
|
143
158
|
}
|
144
159
|
|
145
|
-
@media
|
160
|
+
@include media-breakpoint-down(sm) {
|
146
161
|
h4 {
|
147
162
|
font-size: 20px;
|
148
163
|
&.text-warning {
|
@@ -180,7 +195,6 @@ $kids-speech-tabs-width: 40px;
|
|
180
195
|
.mu-kids-next-speech {
|
181
196
|
position: absolute;
|
182
197
|
right: $kids-speech-tabs-width;
|
183
|
-
font-size: 90%;
|
184
198
|
color: darken($mu-color-disabled, 25%);
|
185
199
|
&:hover {
|
186
200
|
cursor: pointer;
|
@@ -500,7 +514,7 @@ $statuses-glow-animation: (
|
|
500
514
|
}
|
501
515
|
}
|
502
516
|
|
503
|
-
@media screen and (max-height: $
|
517
|
+
@media screen and (max-height: map_get($grid-breakpoints, sm)) {
|
504
518
|
.mu-kids-exercise {
|
505
519
|
height: 100vh;
|
506
520
|
min-height: 100vh;
|
@@ -58,29 +58,16 @@ $capital-animation-width: 135px;
|
|
58
58
|
}
|
59
59
|
}
|
60
60
|
|
61
|
-
.mu-kids-modal
|
62
|
-
|
61
|
+
.mu-kids-modal {
|
63
62
|
.modal-dialog {
|
63
|
+
@extend .modal-lg;
|
64
|
+
@extend .modal-dialog-centered;
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
.modal-header {
|
67
|
+
@extend .justify-content-center;
|
68
|
+
}
|
68
69
|
|
69
70
|
.modal-content {
|
70
|
-
|
71
|
-
position: absolute;
|
72
|
-
|
73
|
-
$width-lg: 800px;
|
74
|
-
|
75
|
-
width: $width-lg;
|
76
|
-
|
77
|
-
top: 60px;
|
78
|
-
left: calc(50% - #{$width-lg} / 2);
|
79
|
-
|
80
|
-
@media (max-width: $width-lg + 30px) {
|
81
|
-
width: calc(100vw - 30px);
|
82
|
-
}
|
83
|
-
|
84
71
|
$border-width: 16px;
|
85
72
|
border-width: $border-width;
|
86
73
|
border-style: solid;
|
@@ -132,7 +119,6 @@ $capital-animation-width: 135px;
|
|
132
119
|
'warning': $mu-color-warning,
|
133
120
|
'passed': $mu-color-success,
|
134
121
|
'passed_with_warnings': $mu-color-warning,
|
135
|
-
'passed-with-warnings': $mu-color-warning,
|
136
122
|
'failed': $mu-color-danger,
|
137
123
|
'errored': $mu-color-broken,
|
138
124
|
'aborted': $mu-color-broken,
|
@@ -147,18 +133,27 @@ $capital-animation-width: 135px;
|
|
147
133
|
}
|
148
134
|
}
|
149
135
|
.mu-kids-character.kindergarten {
|
150
|
-
|
136
|
+
img {
|
137
|
+
width: 100%;
|
138
|
+
height: 100%;
|
139
|
+
object-position: center;
|
140
|
+
object-fit: contain;
|
141
|
+
}
|
151
142
|
}
|
152
143
|
|
153
144
|
.submission-results.kindergarten {
|
154
145
|
width: 100%;
|
155
|
-
height: 100%;
|
156
146
|
.mu-kids-callout-#{$class},
|
157
147
|
p {
|
158
148
|
display: none;
|
159
149
|
}
|
160
150
|
.mu-kids-default-#{$class} {
|
161
|
-
|
151
|
+
img {
|
152
|
+
flex-grow: 1;
|
153
|
+
margin: 0;
|
154
|
+
width: 100%;
|
155
|
+
object-fit: contain;
|
156
|
+
}
|
162
157
|
}
|
163
158
|
}
|
164
159
|
}
|
@@ -94,28 +94,20 @@ $modal-footer-height: 95px;
|
|
94
94
|
width: $width-lg;
|
95
95
|
height: $height-lg;
|
96
96
|
|
97
|
-
top: calc(50vh - #{$height-lg} / 2);
|
98
|
-
|
99
97
|
@media (orientation: landscape) and (max-height: $height-lg + 50px) {
|
100
98
|
$height-sm: 85vh;
|
101
99
|
$width-sm: $height-sm / 0.625;
|
102
100
|
|
103
101
|
width: $width-sm;
|
104
102
|
height: $height-sm;
|
105
|
-
|
106
|
-
top: calc(50vh - #{$height-sm} / 2);
|
107
|
-
left: calc(50vw - #{$width-sm} / 2);
|
108
103
|
}
|
109
104
|
|
110
105
|
@media (orientation: portrait) {
|
111
|
-
$height-sm:
|
106
|
+
$height-sm: 75vh;
|
112
107
|
$width-sm: 85vw;
|
113
108
|
|
114
109
|
width: $width-sm;
|
115
110
|
height: $height-sm;
|
116
|
-
|
117
|
-
top: calc(50vh - #{$height-sm} / 2);
|
118
|
-
left: calc(50vw - #{$width-sm} / 2);
|
119
111
|
}
|
120
112
|
|
121
113
|
.modal-header,
|
@@ -8,7 +8,7 @@
|
|
8
8
|
border-style: solid;
|
9
9
|
width: 100%;
|
10
10
|
height: 10px;
|
11
|
-
background-color: $gray-
|
11
|
+
background-color: $gray-200;
|
12
12
|
&:hover {
|
13
13
|
text-decoration: none;
|
14
14
|
}
|
@@ -17,15 +17,15 @@
|
|
17
17
|
}
|
18
18
|
}
|
19
19
|
.success {
|
20
|
-
background-color: $
|
20
|
+
background-color: $success;
|
21
21
|
}
|
22
22
|
.warning {
|
23
|
-
background-color: $
|
23
|
+
background-color: $warning;
|
24
24
|
}
|
25
25
|
.danger {
|
26
|
-
background-color: $
|
26
|
+
background-color: $danger;
|
27
27
|
}
|
28
28
|
.info {
|
29
|
-
background-color: $
|
29
|
+
background-color: $info;
|
30
30
|
}
|
31
31
|
}
|
@@ -11,11 +11,9 @@
|
|
11
11
|
font-size: 15px;
|
12
12
|
color: $mu-color-disabled;
|
13
13
|
text-transform: uppercase;
|
14
|
-
padding-left: 2px;
|
15
14
|
cursor: pointer;
|
16
15
|
|
17
|
-
@media
|
18
|
-
padding-left: 15px;
|
16
|
+
@include media-breakpoint-up(md) {
|
19
17
|
cursor: auto;
|
20
18
|
|
21
19
|
i {
|
@@ -23,7 +21,7 @@
|
|
23
21
|
}
|
24
22
|
|
25
23
|
span {
|
26
|
-
padding-left:
|
24
|
+
padding-left: 0;
|
27
25
|
}
|
28
26
|
}
|
29
27
|
}
|
@@ -31,8 +29,13 @@
|
|
31
29
|
.mu-user-menu-items {
|
32
30
|
margin-top: 30px;
|
33
31
|
|
32
|
+
@include media-breakpoint-down(md) {
|
33
|
+
margin-left: 15px;
|
34
|
+
margin-right: 15px;
|
35
|
+
}
|
36
|
+
|
34
37
|
&.mu-hidden-sm-screen {
|
35
|
-
@media
|
38
|
+
@include media-breakpoint-down(md) {
|
36
39
|
display: none;
|
37
40
|
}
|
38
41
|
}
|
@@ -43,7 +46,7 @@
|
|
43
46
|
margin-bottom: 5px;
|
44
47
|
|
45
48
|
a {
|
46
|
-
color: $
|
49
|
+
color: $primary;
|
47
50
|
&.active {
|
48
51
|
font-weight: bold;
|
49
52
|
}
|
@@ -59,5 +62,9 @@
|
|
59
62
|
border-top: 2px solid $mu-color-separator;
|
60
63
|
|
61
64
|
margin: 25px 0;
|
65
|
+
|
66
|
+
@include media-breakpoint-up(md) {
|
67
|
+
margin-right: 15px;
|
68
|
+
}
|
62
69
|
}
|
63
70
|
}
|
@@ -43,6 +43,8 @@ class ApplicationController < ActionController::Base
|
|
43
43
|
:extension_javascript_url,
|
44
44
|
:current_immersive_path
|
45
45
|
|
46
|
+
add_flash_types :info
|
47
|
+
|
46
48
|
def immersive_context_wrong?
|
47
49
|
current_immersive_context != Organization.current
|
48
50
|
end
|
@@ -124,7 +126,7 @@ class ApplicationController < ActionController::Base
|
|
124
126
|
def validate_user_profile!
|
125
127
|
unless current_user.profile_completed?
|
126
128
|
save_location_before! :profile_completion
|
127
|
-
flash
|
129
|
+
flash[:info] = I18n.t :please_fill_profile_data
|
128
130
|
redirect_to edit_user_path
|
129
131
|
end
|
130
132
|
end
|
@@ -132,7 +134,7 @@ class ApplicationController < ActionController::Base
|
|
132
134
|
def validate_accepted_role_terms!
|
133
135
|
if current_user&.has_role_terms_to_accept?
|
134
136
|
save_location_before! :terms_acceptance
|
135
|
-
flash
|
137
|
+
flash[:info] = I18n.t :accept_terms_to_continue
|
136
138
|
redirect_to terms_user_path
|
137
139
|
end
|
138
140
|
end
|
@@ -11,7 +11,9 @@ class DiscussionsMessagesController < AjaxController
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def destroy
|
14
|
-
|
14
|
+
authorize_moderator! unless params[:motive] == :self_deleted.to_s
|
15
|
+
|
16
|
+
current_message.soft_delete! params[:motive], current_user
|
15
17
|
redirect_back(fallback_location: root_path)
|
16
18
|
end
|
17
19
|
|
@@ -1,13 +1,9 @@
|
|
1
1
|
class ExamAuthorizationRequestsController < ApplicationController
|
2
|
-
def show
|
3
|
-
@authorization_request = ExamAuthorizationRequest.find(params[:id])
|
4
|
-
current_user.read_notification! @authorization_request
|
5
|
-
end
|
6
|
-
|
7
2
|
def create
|
8
3
|
authorization_request = ExamAuthorizationRequest.create! authorization_request_params
|
9
4
|
current_user.read_notification! authorization_request.exam_registration
|
10
5
|
flash.notice = I18n.t :exam_authorization_request_created
|
6
|
+
redirect_to root_path
|
11
7
|
end
|
12
8
|
|
13
9
|
def update
|
@@ -38,6 +38,10 @@ class UsersController < ApplicationController
|
|
38
38
|
@certificates ||= current_user.certificates_in_organization
|
39
39
|
end
|
40
40
|
|
41
|
+
def exam_authorizations
|
42
|
+
@exam_authorization_requests ||= ExamAuthorizationRequest.where(user: current_user, organization: Organization.current)
|
43
|
+
end
|
44
|
+
|
41
45
|
def unsubscribe
|
42
46
|
user_id = User.unsubscription_verifier.verify(params[:id])
|
43
47
|
User.find(user_id).unsubscribe_from_reminders!
|
@@ -12,12 +12,12 @@ module ApplicationHelper
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def avatar_image(avatar_url, **options)
|
15
|
-
options.merge!(class: "
|
15
|
+
options.merge!(class: "rounded-circle #{options[:class]}")
|
16
16
|
image_tag(image_url(avatar_url), options)
|
17
17
|
end
|
18
18
|
|
19
19
|
def paginate(object, options = {})
|
20
|
-
|
20
|
+
super(object, {theme: 'bootstrap-5', pagination_class: 'flex-wrap justify-content-center'}.merge(options))
|
21
21
|
end
|
22
22
|
|
23
23
|
def last_box_class(trailing_boxes)
|
@@ -38,10 +38,10 @@ module ApplicationHelper
|
|
38
38
|
t :chapter_finished_html, chapter: link_to_path_element(chapter) if chapter
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
41
|
+
def btn_toggle(hidden_text, active_text, active, **options)
|
42
42
|
%Q{
|
43
|
-
<
|
44
|
-
<
|
43
|
+
<button class="btn btn-complementary #{'d-none' if active} #{options[:class]}" onclick="#{options[:onclick]}">#{hidden_text}</button>
|
44
|
+
<button class="btn btn-secondary #{'d-none' unless active} #{options[:class]}" onclick="#{options[:onclick]}">#{active_text}</button>
|
45
45
|
}.html_safe
|
46
46
|
end
|
47
47
|
|