mumuki-laboratory 8.1.1 → 8.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -8
  3. data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +2 -1
  4. data/app/assets/javascripts/mumuki_laboratory/application/button.js +4 -6
  5. data/app/assets/javascripts/mumuki_laboratory/application/codemirror-builder.js +3 -3
  6. data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +6 -6
  7. data/app/assets/javascripts/mumuki_laboratory/application/console.js +2 -2
  8. data/app/assets/javascripts/mumuki_laboratory/application/discussions.js +7 -7
  9. data/app/assets/javascripts/mumuki_laboratory/application/editors.js +1 -1
  10. data/app/assets/javascripts/mumuki_laboratory/application/elipsis.js +1 -1
  11. data/app/assets/javascripts/mumuki_laboratory/application/events.js +2 -2
  12. data/app/assets/javascripts/mumuki_laboratory/application/exercise.js +2 -2
  13. data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +13 -3
  14. data/app/assets/javascripts/mumuki_laboratory/application/i18n.js +73 -0
  15. data/app/assets/javascripts/mumuki_laboratory/application/inputs.js +1 -1
  16. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +26 -5
  17. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +13 -8
  18. data/app/assets/javascripts/mumuki_laboratory/application/messages.js +6 -6
  19. data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +1 -1
  20. data/app/assets/javascripts/mumuki_laboratory/application/multiple-choice.js +1 -1
  21. data/app/assets/javascripts/mumuki_laboratory/application/multiple-files.js +3 -3
  22. data/app/assets/javascripts/mumuki_laboratory/application/multiple-scenarios.js +1 -1
  23. data/app/assets/javascripts/mumuki_laboratory/application/pin.js +1 -1
  24. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +6 -4
  25. data/app/assets/javascripts/mumuki_laboratory/application/progress.js +1 -1
  26. data/app/assets/javascripts/mumuki_laboratory/application/results-renderer.js +29 -2
  27. data/app/assets/javascripts/mumuki_laboratory/application/speech-bubble-renderer.js +4 -4
  28. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +72 -48
  29. data/app/assets/javascripts/mumuki_laboratory/application/submissions-store.js +3 -3
  30. data/app/assets/javascripts/mumuki_laboratory/application/sync-mode.js +2 -2
  31. data/app/assets/javascripts/mumuki_laboratory/application/timer.js +1 -1
  32. data/app/assets/stylesheets/mumuki_laboratory/application/_layout.scss +7 -7
  33. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids.scss +4 -0
  34. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +1 -0
  35. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_overlap.scss +0 -4
  36. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +4 -0
  37. data/app/controllers/chapters_controller.rb +9 -5
  38. data/app/controllers/concerns/with_user_discussion_validation.rb +6 -0
  39. data/app/controllers/discussions_controller.rb +0 -6
  40. data/app/controllers/guide_container_controller.rb +2 -7
  41. data/app/helpers/assignment_result_helper.rb +1 -1
  42. data/app/helpers/contextualization_result_helper.rb +0 -8
  43. data/app/helpers/discussions_helper.rb +12 -4
  44. data/app/helpers/editor_tabs_helper.rb +1 -1
  45. data/app/helpers/icons_helper.rb +1 -1
  46. data/app/helpers/links_helper.rb +3 -3
  47. data/app/helpers/menu_bar_helper.rb +9 -1
  48. data/app/helpers/overlapped_buttons_helper.rb +6 -2
  49. data/app/views/book/show.html.erb +2 -2
  50. data/app/views/book_discussions/index.html.erb +3 -1
  51. data/app/views/chapters/show.html.erb +21 -9
  52. data/app/views/complements/show.html.erb +1 -1
  53. data/app/views/discussions/_message.html.erb +2 -2
  54. data/app/views/discussions/index.html.erb +11 -4
  55. data/app/views/exams/show.html.erb +1 -1
  56. data/app/views/exercise_solutions/_kids_level_up.html.erb +1 -1
  57. data/app/views/exercises/_exercise_assignment.html.erb +1 -1
  58. data/app/views/exercises/_read_only.html.erb +1 -1
  59. data/app/views/exercises/show.html.erb +2 -2
  60. data/app/views/layouts/_copyright.html.erb +1 -1
  61. data/app/views/layouts/_discussions.html.erb +0 -4
  62. data/app/views/layouts/_guide.html.erb +9 -36
  63. data/app/views/layouts/_guide_container.html.erb +28 -0
  64. data/app/views/layouts/_guide_title_icons.html.erb +9 -0
  65. data/app/views/layouts/_kids.html.erb +4 -4
  66. data/app/views/layouts/_kindergarten.html.erb +5 -5
  67. data/app/views/layouts/_social_media.html.erb +4 -4
  68. data/app/views/layouts/_timer.html.erb +1 -1
  69. data/app/views/layouts/application.html.erb +31 -27
  70. data/app/views/layouts/embedded.html.erb +14 -11
  71. data/app/views/layouts/exercise_inputs/editors/_code.html.erb +1 -6
  72. data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +4 -9
  73. data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +1 -1
  74. data/app/views/layouts/exercise_inputs/layouts/_input_kindergarten.html.erb +1 -1
  75. data/app/views/layouts/modals/_guide_corollary.html.erb +13 -3
  76. data/app/views/layouts/modals/_kids_results.html.erb +2 -2
  77. data/app/views/layouts/modals/_kindergarten_context.html.erb +3 -3
  78. data/app/views/layouts/modals/_kindergarten_results.html.erb +3 -3
  79. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +2 -2
  80. data/app/views/layouts/modals/_level_up.html.erb +1 -1
  81. data/app/views/lessons/show.html.erb +1 -1
  82. data/app/views/users/_edit_user_form.html.erb +1 -1
  83. data/app/views/users/_term.html.erb +1 -1
  84. data/app/views/users/_user_form.html.erb +1 -1
  85. data/lib/mumuki/laboratory/controllers/results_rendering.rb +2 -1
  86. data/lib/mumuki/laboratory/engine.rb +1 -1
  87. data/lib/mumuki/laboratory/locales/en.yml +5 -8
  88. data/lib/mumuki/laboratory/locales/es-CL.yml +5 -3
  89. data/lib/mumuki/laboratory/locales/es.yml +8 -10
  90. data/lib/mumuki/laboratory/locales/pt.yml +5 -8
  91. data/lib/mumuki/laboratory/version.rb +1 -1
  92. data/spec/controllers/discussions_controller_spec.rb +19 -0
  93. data/spec/controllers/exercise_solutions_controller_spec.rb +3 -2
  94. data/spec/dummy/db/schema.rb +50 -1
  95. data/spec/dummy/public/character/animations.json +1 -0
  96. data/{public → spec/dummy/public}/character/kibi/context.svg +0 -0
  97. data/{public → spec/dummy/public}/character/kibi/failure.svg +0 -0
  98. data/{public → spec/dummy/public}/character/kibi/jump.svg +0 -0
  99. data/spec/dummy/public/character/kibi/passed_with_warnings.svg +4 -0
  100. data/{public → spec/dummy/public}/character/kibi/success2_l.svg +0 -0
  101. data/{public → spec/dummy/public}/character/kibi/success_l.svg +0 -0
  102. data/{public → spec/dummy/public}/character/magnifying_glass/apparition.svg +0 -0
  103. data/{public → spec/dummy/public}/character/magnifying_glass/loop.svg +0 -0
  104. data/spec/features/chapters_flow_spec.rb +112 -0
  105. data/spec/features/login_flow_spec.rb +1 -1
  106. data/spec/features/terms_flow_spec.rb +2 -0
  107. data/spec/features/topic_flow_spec.rb +0 -1
  108. data/spec/helpers/icons_helper_spec.rb +3 -3
  109. data/spec/helpers/test_results_rendering_spec.rb +8 -8
  110. data/spec/helpers/with_navigation_spec.rb +14 -14
  111. data/spec/javascripts/gamification-spec.js +2 -2
  112. data/spec/javascripts/i18n-spec.js +79 -0
  113. data/spec/javascripts/kids-button-spec.js +36 -0
  114. metadata +136 -115
  115. data/spec/dummy/config/database.travis.yml +0 -4
  116. data/spec/features/chapter_spec.rb +0 -70
@@ -1 +1 @@
1
- <%= render partial: "layouts/guide", locals: { subject: @exam }%>
1
+ <%= render partial: "layouts/guide_container", locals: { subject: @exam }%>
@@ -3,7 +3,7 @@
3
3
  <%= t :level_up %>
4
4
  </h3>
5
5
  <div class="text-center mu-level">
6
- <i class="fa fa-star fa-fw fa-4x"></i>
6
+ <i class="fas fa-star fa-fw fa-4x"></i>
7
7
  <span class="mu-level-number"></span>
8
8
  <p></p>
9
9
  <p id="mu-solve-more-exercises"> <%= (t :solve_more_exercises_to_level_up).html_safe %></p>
@@ -6,7 +6,7 @@
6
6
  <div class="hint-box <%= 'hidden' if exercise.hint.blank? %>">
7
7
  <% if exercise.hint.present? %>
8
8
  <a data-toggle="collapse" href="#hint-section" class="text-info">
9
- <%= fa_icon 'lightbulb-o' %> <%= t :need_a_hint %>
9
+ <%= fa_icon 'lightbulb', type: :regular %> <%= t :need_a_hint %>
10
10
  </a>
11
11
 
12
12
  <div id="hint-section" class="collapse">
@@ -36,7 +36,7 @@
36
36
  <% end %>
37
37
  <% if @discussion.solved? %>
38
38
  <a class="discussion-upvote" onclick="mumuki.Forum.discussionUpvote('<%= upvote_discussion_url(@discussion) %>')">
39
- <%= fa_icon('thumbs-o-up', class: 'fa-xs') %>
39
+ <%= fa_icon('thumbs-up', type: :regular, class: 'fa-xs') %>
40
40
  <%= span_toggle t(:upvote), t(:undo_upvote), current_user.upvoted?(@discussion), class: 'hidden-sm hidden-xs' %>
41
41
  </a>
42
42
  <% end %>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <%= render partial: 'layouts/authoring', locals: {guide: @guide} %>
8
8
 
9
- <% @stats = @exercise.guide.stats_for(current_user) if current_user && @exercise.guide %>
9
+ <% @stats = @exercise.stats_for(current_user) %>
10
10
 
11
11
  <% if @exercise.navigable_parent.timed? && !current_user.teacher? %>
12
12
  <%= render partial: 'layouts/timer', locals: {end_time: @exercise.navigable_parent.real_end_time(current_user)} %>
@@ -51,7 +51,7 @@
51
51
 
52
52
  <div style="display: none" id="processing-template">
53
53
  <div class="bs-callout bs-callout-info">
54
- <h4><i class="fa fa-refresh fa-spin"></i> <strong><%= t :processing_your_solution %></strong></h4>
54
+ <h4><i class="fas fa-sync-alt fa-spin"></i> <strong><%= t :processing_your_solution %></strong></h4>
55
55
  <%= t :refresh_or_wait %>
56
56
  </div>
57
57
  </div>
@@ -1,2 +1,2 @@
1
- &copy; Copyright 2015-<%= DateTime.now.year %>
1
+ &copy; 2015-<%= DateTime.now.year %>
2
2
  <a href="http://mumuki.org/" class="mu-org-link"><span class="da da-mumuki-circle"></span> Mumuki</a>
@@ -84,7 +84,3 @@
84
84
 
85
85
  <% end %>
86
86
  </div>
87
-
88
- <span>
89
- <%= t(:forum_terms_link, terms_link: link_to_forum_terms).html_safe %>
90
- </span>
@@ -1,47 +1,12 @@
1
1
  <%= render_runner_assets @guide.language, :layout %>
2
2
 
3
- <%= content_for :breadcrumbs do %>
4
- <%= breadcrumbs subject %>
5
- <% end %>
6
-
7
3
  <%= render partial: 'layouts/authoring', locals: {guide: @guide} %>
8
4
 
9
5
  <% if subject.timed? && subject.started?(current_user) && !current_user.teacher? %>
10
6
  <%= render partial: 'layouts/timer', locals: {end_time: subject.real_end_time(current_user)} %>
11
7
  <% end %>
12
8
 
13
- <div class="row">
14
- <div class="mu-inline-block-right">
15
- <h1><%= language_icon @guide.language %></h1>
16
- </div>
17
- <div class="mu-inline-block-left guide-header">
18
- <h1 class="pull-left">
19
- <span class="pull-left">
20
- <%= subject.name %>
21
- </span>
22
- <% if current_user? && should_display_medal?(@guide, Organization.current) %>
23
- <div class="pull-left">
24
- <%= content_medal_for(@guide, current_user) %>
25
- </div>
26
- <% end %>
27
- <%= teacher_info_button @guide%>
28
- <%= link_to_bibliotheca_guide @guide %>
29
- </h1>
30
- </div>
31
- </div>
32
- <div class="row">
33
- <div class="col-md-12">
34
- <div class="text-box">
35
- <%= @guide.description_html %>
36
-
37
- <div class="actions">
38
- <% if !@stats.try(:done?) && @next_exercise %>
39
- <%= link_to t(lesson_practice_key_for(@stats)), exercise_path(@next_exercise), class: 'btn btn-success' %>
40
- <% end %>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
9
+ <%= yield if block_given? %>
45
10
 
46
11
  <h3>
47
12
  <%= t :exercises %>
@@ -63,6 +28,14 @@
63
28
  </div>
64
29
  <% end %>
65
30
 
31
+ <% if !@stats.try(:done?) && @next_exercise %>
32
+ <div class="text-box">
33
+ <div class="actions">
34
+ <%= link_to t(lesson_practice_key_for(@stats)), exercise_path(@next_exercise), class: 'btn btn-success' %>
35
+ </div>
36
+ </div>
37
+ <% end %>
38
+
66
39
  <% if @stats&.done? %>
67
40
  <div class="text-box">
68
41
  <div class="actions">
@@ -0,0 +1,28 @@
1
+ <%= content_for :breadcrumbs do %>
2
+ <%= breadcrumbs subject %>
3
+ <% end %>
4
+
5
+ <%= render layout: 'layouts/guide', locals: { subject: subject } do %>
6
+
7
+ <div class="row">
8
+ <div class="mu-inline-block-right">
9
+ <h1><%= language_icon @guide.language %></h1>
10
+ </div>
11
+ <div class="mu-inline-block-left guide-header">
12
+ <h1 class="pull-left">
13
+ <span class="pull-left">
14
+ <%= subject.name %>
15
+ </span>
16
+ <%= render partial: 'layouts/guide_title_icons' %>
17
+ </h1>
18
+ </div>
19
+ </div>
20
+ <div class="row">
21
+ <div class="col-md-12">
22
+ <div class="text-box">
23
+ <%= @guide.description_html %>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
28
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <div class="guide-title-icons pull-left">
2
+ <% if current_user? && should_display_medal?(@guide, Organization.current) %>
3
+ <div class="pull-left">
4
+ <%= content_medal_for(@guide, current_user) %>
5
+ </div>
6
+ <% end %>
7
+ <%= teacher_info_button @guide %>
8
+ <%= link_to_bibliotheca_guide @guide %>
9
+ </div>
@@ -3,17 +3,17 @@
3
3
  <% if exercise.hint? %>
4
4
  <ul class="mu-kids-character-speech-bubble-tabs">
5
5
  <li class="mu-kids-description active" data-target="description" title="<%= t :task %>">
6
- <i class="fa fa-fw fa-file-text-o"></i>
6
+ <i class="far fa-fw fa-file-alt"></i>
7
7
  </li>
8
8
  <li class="separator"></li>
9
9
  <li class="mu-kids-hint blink" data-target="hint" title="<%= t :need_a_hint %>">
10
- <i class="fa fa-fw fa-lightbulb-o"></i>
10
+ <i class="far fa-fw fa-lightbulb"></i>
11
11
  </li>
12
12
  </ul>
13
13
  <% end %>
14
14
  <div class="mu-kids-character-speech-bubble-normal">
15
- <i class="mu-kids-prev-speech fa fa-fw fa-caret-up"></i>
16
- <i class="mu-kids-next-speech fa fa-fw fa-caret-down"></i>
15
+ <i class="mu-kids-prev-speech fas fa-fw fa-caret-up"></i>
16
+ <i class="mu-kids-next-speech fas fa-fw fa-caret-down"></i>
17
17
  <div class="description"><%= exercise.description_task %></div>
18
18
  <div class="hint" style="display: none"><%= exercise.hint_html %></div>
19
19
  </div>
@@ -5,10 +5,10 @@
5
5
  <span class="mu-kindergarten-exercise-description"><%= exercise.description_task %></span>
6
6
  <div class="mu-kindergarten-buttons">
7
7
  <button class="mu-kindergarten-show-context" onclick="mumuki.kids.context.show()">
8
- <img class="mu-kindergarten-button-image" src="https://mumuki.io/static/show-context.svg" alt="">
8
+ <img class="mu-kindergarten-button-image" src="https://mumuki.io/static/show-context.svg" alt="" title="<%= t :see_context %>">
9
9
  </button>
10
10
  <button class="mu-kindergarten-play-description" onclick="mumuki.kids.speech.click('.mu-kindergarten-exercise-description', '<%= exercise.locale %>')">
11
- <img class="mu-kindergarten-button-image mu-kindergarten-play" src="https://mumuki.io/static/audio-play.svg" alt="">
11
+ <img class="mu-kindergarten-button-image mu-kindergarten-play" src="https://mumuki.io/static/audio-play.svg" alt="" title="<%= t :listen_statement %>">
12
12
  <img class="mu-kindergarten-button-image mu-kindergarten-stop hidden" src="https://mumuki.io/static/audio-stop.svg" alt="">
13
13
  </button>
14
14
  </div>
@@ -17,18 +17,18 @@
17
17
  <div class="mu-kindergarten-hint">
18
18
  <% if exercise.hint? %>
19
19
  <button class="mu-hint-light" onclick="mumuki.kids.hint.toggle()">
20
- <img class="mu-hint-light on" src="https://mumuki.io/static/lamparita_on.svg" alt="">
20
+ <img class="mu-hint-light on" src="https://mumuki.io/static/lamparita_on.svg" alt="" title="<%= t :need_a_hint %>">
21
21
  </button>
22
22
  <div class="mu-kindergarten-light-speech-bubble">
23
23
  <span class="mu-kindergarten-exercise-hint">
24
24
  <%= exercise.hint.markdownified %>
25
25
  </span>
26
26
  <button class="expand-or-collapse-hint-media" onclick="mumuki.kids.hint.toggleMedia()">
27
- <i class="fa fa-fw fa-2x fa-caret-up"></i>
27
+ <i class="fas fa-fw fa-2x fa-caret-up"></i>
28
28
  </button>
29
29
  </div>
30
30
  <% else %>
31
- <img class="mu-hint-light off" src="https://mumuki.io/static/lamparita_off.svg" alt="">
31
+ <img class="mu-hint-light off" src="https://mumuki.io/static/lamparita_off.svg" alt="" title="<%= t :no_need_hint %>">
32
32
  <% end %>
33
33
  </div>
34
34
  </div>
@@ -1,4 +1,4 @@
1
- <a class="fa fa-facebook social-icon" aria-label="Facebook" href="https://www.facebook.com/MumukiOrg" target="_blank"></a>
2
- <a class="fa fa-twitter social-icon" aria-label="Twitter" href="https://twitter.com/MumukiOrg" target="_blank"></a>
3
- <a class="fa fa-github social-icon" aria-label="Github" href="https://github.com/mumuki" target="_blank"></a>
4
- <a class="fa fa-linkedin social-icon" aria-label="LinkedIn" href="https://www.linkedin.com/company/mumukiorg" target="_blank"></a>
1
+ <a class="fab fa-instagram social-icon" aria-label="Instagram" href="https://www.instagram.com/mumukiorg" target="_blank"></a>
2
+ <a class="fab fa-twitter social-icon" aria-label="Twitter" href="https://twitter.com/MumukiOrg" target="_blank"></a>
3
+ <a class="fab fa-youtube social-icon" aria-label="Youtube" href="https://www.youtube.com/c/MumukiOrg" target="_blank"></a>
4
+ <a class="fab fa-github social-icon" aria-label="Github" href="https://github.com/mumuki" target="_blank"></a>
@@ -1,6 +1,6 @@
1
1
  <div class="row">
2
2
  <div class="col-md-3 col-md-offset-5">
3
- <i class="timer text-center fa fa-clock-o"></i>
3
+ <i class="timer text-center far fa-clock"></i>
4
4
  <i class="timer timer-text text-center"><%= t :time_left %></i>
5
5
  <i id="timer" class="timer timer-text text-center"></i>
6
6
  <script>
@@ -10,7 +10,7 @@
10
10
  <div class="dropdown hamburguer-breadcrumb hidden-sm hidden-md hidden-lg">
11
11
  <% if content_for? :breadcrumbs %>
12
12
  <span class="hamburguer" id="profileDropdown" data-toggle="dropdown">
13
- <i class="fa fa-bars"></i>
13
+ <i class="fas fa-bars"></i>
14
14
  </span>
15
15
  <ul class="dropdown-menu dropdown-menu-left" aria-labelledby="profileDropdown">
16
16
  <%= yield :breadcrumbs %>
@@ -20,26 +20,28 @@
20
20
  <div class="mu-navbar-avatar">
21
21
  <% if current_logged_user? %>
22
22
  <% if in_gamified_context? %>
23
- <i class="fa fa-star fa-fw fa-2x navbar-icon mu-level-tooltip" data-toggle="tooltip" data-placement="bottom" title="<%= t(:level) %>"></i>
24
- <span class="mu-level-number"></span>
23
+ <div class="mu-navbar-element">
24
+ <i class="fas fa-star fa-fw fa-2x mu-navbar-icon mu-level-tooltip" data-toggle="tooltip" data-placement="bottom" level="<%= t(:level) %>"></i>
25
+ <span class="mu-level-number"></span>
26
+ </div>
25
27
  <% end %>
26
- <div class="dropdown">
27
- <span>
28
- <a class="notifications-box <%= has_notifications? ? '' : 'notifications-box-empty' %>" href=<%= "#{user_notifications_path}" %>>
29
- <i class="fa fa-bell fa-fw fa-2x navbar-icon"></i>
30
- <span class="badge badge-notifications"><%= notifications_count %></span>
31
- </a>
32
- </span>
28
+ <div class="dropdown mu-navbar-element notifications-box <%= 'notifications-box-empty' unless has_notifications? %>">
29
+ <a href=<%= "#{user_notifications_path}" %>>
30
+ <i class="fas fa-bell fa-fw fa-2x mu-navbar-icon"></i>
31
+ <span class="badge badge-notifications"><%= notifications_count %></span>
32
+ </a>
33
33
  </div>
34
- <div class="dropdown">
35
- <div id="profileDropdown" class="profile-dropdown navbar-icon" data-toggle="dropdown" aria-label="<%= t(:user) %>" role="menu" tabindex="0">
34
+ <div class="dropdown mu-navbar-element">
35
+ <div id="profileDropdown" class="profile-dropdown" data-toggle="dropdown" aria-label="<%= t(:user) %>" role="menu" tabindex="0">
36
36
  <%= profile_picture_for current_user %>
37
37
  <span class="caret"></span>
38
38
  </div>
39
39
  <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="profileDropdown">
40
40
  <%= menu_bar_list_items %>
41
- <li class="divider"></li>
42
- <li><%= link_to(t(:sign_out), logout_path(origin: url_for), role: 'menuitem') %></li>
41
+ <% if any_menu_bar_links? %>
42
+ <li class="divider"></li>
43
+ <% end %>
44
+ <%= logout_link %>
43
45
  </ul>
44
46
  </div>
45
47
  <% else %>
@@ -52,30 +54,32 @@
52
54
 
53
55
  <% content_for :footer do %>
54
56
  <footer class="footer">
55
- <div class="<%= exercise_container_type %>">
56
- <hr>
57
-
58
- <div class="row">
59
- <div class="col-md-12">
57
+ <div class="mu-footer <%= exercise_container_type %>">
58
+ <div class="mu-footer-row">
59
+ <div class="mu-footer-authoring">
60
60
  <%= yield :authoring %>
61
61
  </div>
62
62
  </div>
63
63
 
64
- <div id="footer-copyright" class="row">
65
- <div class="col-md-4 text-left">
66
- <p>
67
- <%= render partial: 'layouts/copyright' %>
68
- </p>
64
+ <div class="mu-footer-row">
65
+ <div class="mu-footer-copyright">
66
+ <%= render partial: 'layouts/copyright' %>
69
67
  </div>
70
68
 
71
- <div class="col-md-4 text-center">
72
- <%= login_form.footer_html %>
69
+ <div class="mu-footer-terms">
70
+ <div><%= link_to_profile_terms %></div>
71
+ <% if current_user&.can_discuss_here? %>
72
+ <div><%= link_to_forum_terms %></div>
73
+ <% end %>
73
74
  </div>
74
75
 
75
- <div id="footer-social" class="col-md-4 text-right" lang="en">
76
+ <%= login_form.footer_html %>
77
+
78
+ <div id="footer-social" class="mu-footer-social" lang="en">
76
79
  <%= render partial: 'layouts/social_media' %>
77
80
  </div>
78
81
  </div>
82
+
79
83
  </div>
80
84
  </footer>
81
85
  <% end %>
@@ -1,22 +1,25 @@
1
1
  <% content_for :footer do %>
2
2
  <footer class="footer">
3
- <div class="<%= exercise_container_type %>">
4
- <hr>
5
-
6
- <div class="row">
7
- <div class="col-md-12">
3
+ <div class="mu-footer <%= exercise_container_type %>">
4
+ <div class="mu-footer-row">
5
+ <div class="mu-footer-authoring">
8
6
  <%= yield :authoring %>
9
7
  </div>
10
8
  </div>
11
9
 
12
- <div id="footer-copyright" class="row hidden-xs hidden-sm">
13
- <div class="col-sm-8 text-left">
14
- <p>
15
- <%= render partial: 'layouts/copyright' %>
16
- </p>
10
+ <div class="mu-footer-row">
11
+ <div class="mu-footer-copyright">
12
+ <%= render partial: 'layouts/copyright' %>
13
+ </div>
14
+
15
+ <div class="mu-footer-terms">
16
+ <div><%= link_to_profile_terms %></div>
17
+ <% if current_user&.can_discuss_here? %>
18
+ <div><%= link_to_forum_terms %></div>
19
+ <% end %>
17
20
  </div>
18
21
 
19
- <div id="footer-social" class="col-sm-4 text-right" lang="en">
22
+ <div id="footer-social" class="mu-footer-social" lang="en">
20
23
  <%= render partial: 'layouts/social_media' %>
21
24
  </div>
22
25
  </div>
@@ -5,12 +5,7 @@
5
5
  value: @current_content,
6
6
  data: {lines: 17} %>
7
7
  <div class="mu-overlapped">
8
- <a class="editor-resize" title="<%= t(:fullscreen) %> (F11)">
9
- <span class="fa-stack fa-lg">
10
- <i class="fa fa-square-o fa-stack-2x"></i>
11
- <i class="fa fa-expand fa-stack-1x"></i>
12
- </span>
13
- </a>
8
+ <a class="editor-resize"> <%= expand_icon %></a>
14
9
  <a class="editor-format"><%= format_icon %></a>
15
10
  <a class="editor-reset submission-reset" data-confirm="<%= t(:confirm_reset) %>"><%= restart_icon %></a>
16
11
  </div>
@@ -5,11 +5,11 @@
5
5
  <ul class="nav nav-tabs">
6
6
  <% @files.each_with_index do |file, index| %>
7
7
  <li role="presentation" class="file-tab <%= 'active' if index == 0 %>" data-target="#editor-file-<%= index %>" tabindex='0' data-toggle='tab'>
8
- <a class="file-name" href="#"><%= file.name %></a> <i class="delete-file-button fa fa-times"></i>
8
+ <a class="file-name" href="#"><%= file.name %></a> <i class="delete-file-button fas fa-times"></i>
9
9
  </li>
10
10
  <% end %>
11
11
  </ul>
12
- <i class="add-file-button fa fa-plus"></i>
12
+ <i class="add-file-button fas fa-plus"></i>
13
13
  </span>
14
14
 
15
15
  <%= multifile_hidden_inputs %>
@@ -27,14 +27,9 @@
27
27
  </div>
28
28
 
29
29
  <div class="mu-overlapped multiple-files">
30
- <a class="editor-resize" title="<%= t(:fullscreen) %> (F11)">
31
- <span class="fa-stack fa-lg">
32
- <i class="fa fa-square-o fa-stack-2x"></i>
33
- <i class="fa fa-expand fa-stack-1x"></i>
34
- </span>
35
- </a>
30
+ <a class="editor-resize"> <%= expand_icon %></a>
31
+ <a class="editor-format"><%= format_icon %></a>
36
32
  <!--<a class="editor-reset submission-reset" data-confirm="<%= t(:confirm_reset) %>"><%= restart_icon %></a> -->
37
33
  </div>
38
-
39
34
  </div>
40
35
  </div>
@@ -4,7 +4,7 @@
4
4
  <% if should_render_problem_tabs? exercise, current_user %>
5
5
  <ul class="nav nav-tabs" role="tablist">
6
6
  <li role="presentation" class="active">
7
- <a data-target="#editor" aria-controls="editor" tabindex="0" role="tab" data-toggle="tab" class="editor-tab"><%= fa_icon 'pencil-square' %> <%= t :solution %></a>
7
+ <a data-target="#editor" aria-controls="editor" tabindex="0" role="tab" data-toggle="tab" class="editor-tab"><%= fa_icon 'pen-square' %> <%= t :solution %></a>
8
8
  </li>
9
9
  <% if exercise.extra_visible? %>
10
10
  <%= extra_code_tab %>
@@ -1,6 +1,6 @@
1
1
  <% content_for :no_container do %>
2
2
 
3
- <div <%= turbolinks_enable_for exercise %>>
3
+ <div <%= turbolinks_enable_for exercise %> data-i18n-prefix="kindergarten">
4
4
 
5
5
  <div class="mu-kids-landscape-support container-fluid">
6
6
  <img class="mu-kids-character-animation"/>
@@ -1,9 +1,19 @@
1
- <div class="modal fade guide-corollary mu-kids-modal-border" id="guide-done" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade guide-corollary <%= 'mu-kids-modal-border' if Organization.current.kids? %>" id="guide-done" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
3
  <div class="modal-content">
4
+ <% if Organization.current.kids? %>
5
+ <button type="button" class="mu-kids-modal-button mu-close" data-dismiss="modal" aria-label="Close">
6
+ <span aria-hidden="true">
7
+ <i class="fas fa-fw fa-times fa-3x"></i>
8
+ </span>
9
+ </button>
10
+ <% end %>
4
11
  <div class="modal-header">
5
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
6
- <span aria-hidden="true">&times;</span></button>
12
+ <% if Organization.current.grown_ups? %>
13
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
14
+ <span aria-hidden="true">&times;</span>
15
+ </button>
16
+ <% end %>
7
17
  <div class="guide-corollary-title">
8
18
  <h3 class="text-left" id="gridSystemModalLabel"><%= t :guide_finished, guide: guide.name %> </h3>
9
19
  </div>