mumuki-laboratory 8.1.0 → 8.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +1 -1
  3. data/app/assets/javascripts/mumuki_laboratory/application/button.js +4 -4
  4. data/app/assets/javascripts/mumuki_laboratory/application/codemirror-builder.js +3 -3
  5. data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +6 -6
  6. data/app/assets/javascripts/mumuki_laboratory/application/console.js +2 -2
  7. data/app/assets/javascripts/mumuki_laboratory/application/discussions.js +7 -7
  8. data/app/assets/javascripts/mumuki_laboratory/application/editors.js +1 -1
  9. data/app/assets/javascripts/mumuki_laboratory/application/elipsis.js +1 -1
  10. data/app/assets/javascripts/mumuki_laboratory/application/events.js +2 -2
  11. data/app/assets/javascripts/mumuki_laboratory/application/exercise.js +2 -2
  12. data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +13 -3
  13. data/app/assets/javascripts/mumuki_laboratory/application/inputs.js +1 -1
  14. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +4 -4
  15. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +7 -7
  16. data/app/assets/javascripts/mumuki_laboratory/application/messages.js +6 -6
  17. data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +1 -1
  18. data/app/assets/javascripts/mumuki_laboratory/application/multiple-choice.js +1 -1
  19. data/app/assets/javascripts/mumuki_laboratory/application/multiple-files.js +3 -3
  20. data/app/assets/javascripts/mumuki_laboratory/application/multiple-scenarios.js +1 -1
  21. data/app/assets/javascripts/mumuki_laboratory/application/pin.js +1 -1
  22. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +1 -1
  23. data/app/assets/javascripts/mumuki_laboratory/application/progress.js +1 -1
  24. data/app/assets/javascripts/mumuki_laboratory/application/results-renderer.js +1 -1
  25. data/app/assets/javascripts/mumuki_laboratory/application/speech-bubble-renderer.js +4 -4
  26. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +2 -2
  27. data/app/assets/javascripts/mumuki_laboratory/application/submissions-store.js +3 -3
  28. data/app/assets/javascripts/mumuki_laboratory/application/sync-mode.js +2 -2
  29. data/app/assets/javascripts/mumuki_laboratory/application/timer.js +1 -1
  30. data/app/assets/stylesheets/mumuki_laboratory/application/_layout.scss +7 -7
  31. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_overlap.scss +0 -4
  32. data/app/controllers/application_controller.rb +1 -0
  33. data/app/controllers/concerns/with_user_discussion_validation.rb +6 -0
  34. data/app/controllers/discussions_controller.rb +0 -6
  35. data/app/controllers/users_controller.rb +2 -1
  36. data/app/helpers/assignment_result_helper.rb +1 -1
  37. data/app/helpers/discussions_helper.rb +4 -4
  38. data/app/helpers/editor_tabs_helper.rb +1 -1
  39. data/app/helpers/icons_helper.rb +1 -1
  40. data/app/helpers/links_helper.rb +3 -3
  41. data/app/helpers/menu_bar_helper.rb +5 -1
  42. data/app/helpers/overlapped_buttons_helper.rb +6 -2
  43. data/app/views/book/show.html.erb +2 -2
  44. data/app/views/discussions/_message.html.erb +2 -2
  45. data/app/views/exercise_solutions/_kids_level_up.html.erb +1 -1
  46. data/app/views/exercises/_exercise_assignment.html.erb +1 -1
  47. data/app/views/exercises/_read_only.html.erb +1 -1
  48. data/app/views/exercises/show.html.erb +1 -1
  49. data/app/views/layouts/_copyright.html.erb +1 -1
  50. data/app/views/layouts/_guide.html.erb +8 -6
  51. data/app/views/layouts/_kids.html.erb +4 -4
  52. data/app/views/layouts/_kindergarten.html.erb +5 -5
  53. data/app/views/layouts/_social_media.html.erb +4 -4
  54. data/app/views/layouts/_timer.html.erb +1 -1
  55. data/app/views/layouts/application.html.erb +28 -26
  56. data/app/views/layouts/embedded.html.erb +14 -11
  57. data/app/views/layouts/exercise_inputs/editors/_code.html.erb +1 -6
  58. data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +4 -9
  59. data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +1 -1
  60. data/app/views/layouts/modals/_guide_corollary.html.erb +13 -3
  61. data/app/views/layouts/modals/_kids_results.html.erb +2 -2
  62. data/app/views/layouts/modals/_kindergarten_context.html.erb +3 -3
  63. data/app/views/layouts/modals/_kindergarten_results.html.erb +3 -3
  64. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +1 -1
  65. data/app/views/layouts/modals/_level_up.html.erb +1 -1
  66. data/app/views/users/_edit_user_form.html.erb +1 -1
  67. data/app/views/users/_user_form.html.erb +1 -1
  68. data/lib/mumuki/laboratory.rb +1 -1
  69. data/lib/mumuki/laboratory/engine.rb +1 -1
  70. data/lib/mumuki/laboratory/locales/en.yml +3 -1
  71. data/lib/mumuki/laboratory/locales/es-CL.yml +4 -2
  72. data/lib/mumuki/laboratory/locales/es.yml +6 -3
  73. data/lib/mumuki/laboratory/locales/pt.yml +4 -2
  74. data/lib/mumuki/laboratory/version.rb +1 -1
  75. data/spec/controllers/discussions_controller_spec.rb +19 -0
  76. data/spec/dummy/db/schema.rb +2 -1
  77. data/spec/features/terms_flow_spec.rb +14 -8
  78. data/spec/helpers/icons_helper_spec.rb +3 -3
  79. data/spec/helpers/test_results_rendering_spec.rb +8 -8
  80. data/spec/helpers/with_navigation_spec.rb +14 -14
  81. data/spec/javascripts/gamification-spec.js +2 -2
  82. metadata +109 -104
  83. data/spec/dummy/config/database.travis.yml +0 -4
@@ -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-facebook-f social-icon" aria-label="Facebook" href="https://www.facebook.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-github social-icon" aria-label="Github" href="https://github.com/mumuki" target="_blank"></a>
4
+ <a class="fab fa-linkedin-in social-icon" aria-label="LinkedIn" href="https://www.linkedin.com/company/mumukiorg" 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,26 @@
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
41
  <li class="divider"></li>
42
- <li><%= link_to(t(:sign_out), logout_path(origin: url_for), role: 'menuitem') %></li>
42
+ <%= logout_link %>
43
43
  </ul>
44
44
  </div>
45
45
  <% else %>
@@ -52,30 +52,32 @@
52
52
 
53
53
  <% content_for :footer do %>
54
54
  <footer class="footer">
55
- <div class="<%= exercise_container_type %>">
56
- <hr>
57
-
58
- <div class="row">
59
- <div class="col-md-12">
55
+ <div class="mu-footer <%= exercise_container_type %>">
56
+ <div class="mu-footer-row">
57
+ <div class="mu-footer-authoring">
60
58
  <%= yield :authoring %>
61
59
  </div>
62
60
  </div>
63
61
 
64
- <div id="footer-copyright" class="row">
65
- <div class="col-md-4 text-left">
66
- <p>
67
- <%= render partial: 'layouts/copyright' %>
68
- </p>
62
+ <div class="mu-footer-row">
63
+ <div class="mu-footer-copyright">
64
+ <%= render partial: 'layouts/copyright' %>
69
65
  </div>
70
66
 
71
- <div class="col-md-4 text-center">
72
- <%= login_form.footer_html %>
67
+ <div class="mu-footer-terms">
68
+ <div><%= link_to_profile_terms %></div>
69
+ <% if current_user&.can_discuss_here? %>
70
+ <div><%= link_to_forum_terms %></div>
71
+ <% end %>
73
72
  </div>
74
73
 
75
- <div id="footer-social" class="col-md-4 text-right" lang="en">
74
+ <%= login_form.footer_html %>
75
+
76
+ <div id="footer-social" class="mu-footer-social" lang="en">
76
77
  <%= render partial: 'layouts/social_media' %>
77
78
  </div>
78
79
  </div>
80
+
79
81
  </div>
80
82
  </footer>
81
83
  <% 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,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>
@@ -3,12 +3,12 @@
3
3
  <div class="modal-content success">
4
4
  <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.resultsCarrousel.prevSlide()" aria-label="Previous">
5
5
  <span aria-hidden="true">
6
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
6
+ <i class="fas fa-fw fa-arrow-left fa-3x"></i>
7
7
  </span>
8
8
  </button>
9
9
  <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.resultsCarrousel.nextSlide()" aria-label="Next">
10
10
  <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
11
+ <i class="fas fa-fw fa-arrow-right fa-3x"></i>
12
12
  </span>
13
13
  </button>
14
14
  <div class="modal-header text-center">
@@ -3,17 +3,17 @@
3
3
  <div class="modal-content kindergarten">
4
4
  <button type="button" class="mu-kids-modal-button mu-close" data-waiting="" data-dismiss="modal" aria-label="Close">
5
5
  <span aria-hidden="true">
6
- <i class="fa fa-fw fa-times fa-3x"></i>
6
+ <i class="fas fa-fw fa-times fa-3x"></i>
7
7
  </span>
8
8
  </button>
9
9
  <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.context.prevSlide()" aria-label="Previous">
10
10
  <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
11
+ <i class="fas fa-fw fa-arrow-left fa-3x"></i>
12
12
  </span>
13
13
  </button>
14
14
  <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.context.nextSlide()" aria-label="Next">
15
15
  <span aria-hidden="true">
16
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
16
+ <i class="fas fa-fw fa-arrow-right fa-3x"></i>
17
17
  </span>
18
18
  </button>
19
19
  <div class="modal-body mu-kids-context-body">
@@ -3,17 +3,17 @@
3
3
  <div class="modal-content kindergarten">
4
4
  <button type="button" class="mu-kids-modal-button mu-close" data-waiting="" data-dismiss="modal" aria-label="Close">
5
5
  <span aria-hidden="true">
6
- <i class="fa fa-fw fa-times fa-3x"></i>
6
+ <i class="fas fa-fw fa-times fa-3x"></i>
7
7
  </span>
8
8
  </button>
9
9
  <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.resultsCarrousel.prevSlide()" aria-label="Previous">
10
10
  <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
11
+ <i class="fas fa-fw fa-arrow-left fa-3x"></i>
12
12
  </span>
13
13
  </button>
14
14
  <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.resultsCarrousel.nextSlide()" aria-label="Next">
15
15
  <span aria-hidden="true">
16
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
16
+ <i class="fas fa-fw fa-arrow-right fa-3x"></i>
17
17
  </span>
18
18
  </button>
19
19
  <div class="modal-header">
@@ -3,7 +3,7 @@
3
3
  <div class="modal-content broken kindergarten">
4
4
  <button type="button" class="mu-kids-modal-button mu-close" data-dismiss="modal" aria-label="Close" data-waiting="">
5
5
  <span aria-hidden="true">
6
- <i class="fa fa-fw fa-times fa-3x"></i>
6
+ <i class="fas fa-fw fa-times fa-3x"></i>
7
7
  </span>
8
8
  </button>
9
9
  <div class="modal-header">
@@ -13,7 +13,7 @@
13
13
  <div class="row">
14
14
  <div class="col-md-12">
15
15
  <div class="text-center mu-level">
16
- <i class="fa fa-star fa-fw fa-4x"></i>
16
+ <i class="fas fa-star fa-fw fa-4x"></i>
17
17
  <span class="mu-level-number"></span>
18
18
  <p></p>
19
19
  <p id="mu-solve-more-exercises"> <%= (t :solve_more_exercises_to_level_up).html_safe %></p>
@@ -9,7 +9,7 @@
9
9
  <div class="row mu-tab-body">
10
10
  <div class="col-md-4 text-center">
11
11
  <%= profile_picture_for(@user, id: 'mu-user-avatar', class: 'mu-user-avatar') %>
12
- <i class="fa fa-pencil fa-2x pointer mu-edit-avatar" id="mu-edit-avatar-icon" tabindex="0"></i>
12
+ <i class="fas fa-pencil-alt fa-2x pointer mu-edit-avatar" id="mu-edit-avatar-icon" tabindex="0"></i>
13
13
  </div>
14
14
  <div class="col-md-8">
15
15
  <%= render partial: 'profile_fields', locals: {form: f} %>
@@ -12,7 +12,7 @@
12
12
  <path id="mu-level-progress" stroke-linecap="round" stroke="#24b8aa" stroke-width="4" stroke-dasharray="0, 999" fill="none" d="M50 10 a 40 40 0 0 1 0 80 a 40 40 0 0 1 0 -80"></path>
13
13
  </svg>
14
14
  <div class="mu-level">
15
- <i class="fa fa-star fa-fw fa-4x"></i>
15
+ <i class="fas fa-star fa-fw fa-4x"></i>
16
16
  <span class="mu-level-number"></span>
17
17
  <p><%= t :level %></p>
18
18
  </div>
@@ -47,7 +47,7 @@ module Mumukit::Platform::OrganizationMapping::Path
47
47
 
48
48
  patch :inorganic_path_for do |request, hyper|
49
49
  if in_actual_organization?(request)
50
- hyper.call
50
+ hyper.call(request)
51
51
  else
52
52
  path_for(request)
53
53
  end
@@ -1,5 +1,5 @@
1
1
  require 'turbolinks'
2
- require 'font-awesome-rails'
2
+ require 'font_awesome5_rails'
3
3
  require 'momentjs-rails'
4
4
  require 'nprogress-rails'
5
5
  require 'rails-i18n'
@@ -86,7 +86,6 @@ en:
86
86
  gone: Oops! Content has expired
87
87
  internal_server_error: Oops! Something went wrong
88
88
  not_found: Oops! Page was not found
89
- exam_number: 'Exam %{number}:'
90
89
  exams: Exams
91
90
  exercise: Exercise
92
91
  exercises: Exercises
@@ -148,6 +147,7 @@ en:
148
147
  let_us_know: please let us know!
149
148
  level: Level
150
149
  level_up: Level up!
150
+ listen_statement: Listen to the statement
151
151
  loading: Loading
152
152
  load_solution_into_console: Load your solution into the console
153
153
  locked_content: 'This content will be unlocked when you finish previous chapters'
@@ -179,6 +179,7 @@ en:
179
179
  no_exercises: Nobody created an exercise for this search yet
180
180
  no_guides: Nobody created a guide for this search yet
181
181
  no_messages: It seems you don't have any messages yet!
182
+ no_need_hint: This exercise has no hint
182
183
  no_questions: It seems there isn't any question yet.
183
184
  no_submissions: It seems like you haven't tried to solve this exercise
184
185
  no_useful_result: Didn't find what you were looking for?
@@ -222,6 +223,7 @@ en:
222
223
  retry_exercise: Retry
223
224
  running: running
224
225
  save: Save
226
+ see_context: Watch exercise introduction animation
225
227
  sending_solution: Sending solution
226
228
  show: Show
227
229
  sign_in: Sign in
@@ -85,7 +85,6 @@ es-CL:
85
85
  gone: ¡Ups! El contenido expiró
86
86
  internal_server_error: ¡Ups! Algo no anduvo bien
87
87
  not_found: ¡Ups! La página no existe
88
- exam_number: 'Examen %{number}:'
89
88
  exams: Exámenes
90
89
  exercise: Ejercicio
91
90
  exercise_count: ejercicios
@@ -104,7 +103,7 @@ es-CL:
104
103
  first_name: Nombre
105
104
  forbidden_explanation: ¿Puede que hayas ingresado con una cuenta incorrecta?
106
105
  format: Dar formato
107
- forum_terms_link: Si tienes alguna duda, consulta las %{terms_link}
106
+ forum_terms_link: Si tienes alguna duda, accede a las %{terms_link}
108
107
  fullscreen: "Pantalla completa"
109
108
  gender: Género
110
109
  get_messages: "Ver mensajes"
@@ -142,6 +141,7 @@ es-CL:
142
141
  let_us_know: ¡Por favor avísanos!
143
142
  level: Nivel
144
143
  level_up: ¡Subiste de nivel!
144
+ listen_statement: Escucha la consigna
145
145
  loading: Cargando
146
146
  load_solution_into_console: Cargar la solución en la consola
147
147
  locked_content: 'Éste contenido se desbloqueará cuando termines los capítulos anteriores'
@@ -176,6 +176,7 @@ es-CL:
176
176
  no_exercises: No encontramos ejercicios que coincidan con tu búsqueda.
177
177
  no_guides: No encontramos lecciones que coincidan con tu búsqueda.
178
178
  no_messages: ¡Parece que no tienes ningún mensaje todavía!
179
+ no_need_hint: 'Este ejercicio no tiene pista'
179
180
  no_questions: Parece que aún no hay ninguna consulta.
180
181
  no_submissions: ¡Parece que aún no intentaste resolver este ejercicio!
181
182
  no_useful_result: ¿No encontraste lo que estabas buscando?
@@ -220,6 +221,7 @@ es-CL:
220
221
  retry_exercise: Reintentar
221
222
  running: procesando
222
223
  save: Guardar
224
+ see_context: Mira la animación del principio
223
225
  send: Enviar
224
226
  sending_solution: Enviando solución
225
227
  show: Mostrar
@@ -93,7 +93,6 @@ es:
93
93
  gone: ¡Ups! El contenido expiró
94
94
  internal_server_error: ¡Ups! Algo no anduvo bien
95
95
  not_found: ¡Ups! La página no existe
96
- exam_number: 'Examen %{number}:'
97
96
  exams: Exámenes
98
97
  exercise: Ejercicio
99
98
  exercise_count: ejercicios
@@ -112,8 +111,8 @@ es:
112
111
  first_name: Nombre
113
112
  forbidden_explanation: ¿Puede que hayas ingresado con una cuenta incorrecta?
114
113
  format: Dar formato
115
- forum_terms: Reglas del foro
116
- forum_terms_link: Si tenés alguna duda, consultá las %{terms_link}
114
+ forum_terms: Reglas del espacio de consultas
115
+ forum_terms_link: Si tenés alguna duda, accedé a las %{terms_link}
117
116
  fullscreen: "Pantalla completa"
118
117
  gender: Género
119
118
  get_messages: "Ver mensajes"
@@ -158,6 +157,7 @@ es:
158
157
  let_us_know: ¡Por favor avisanos!
159
158
  level: Nivel
160
159
  level_up: ¡Subiste de nivel!
160
+ listen_statement: Escuchá la consigna
161
161
  loading: Cargando
162
162
  load_solution_into_console: Cargar la solución en la consola
163
163
  locked_content: 'Este contenido se desbloqueará cuando termines los capítulos anteriores'
@@ -192,6 +192,7 @@ es:
192
192
  no_exercises: No encontramos ejercicios que coincidan con tu búsqueda.
193
193
  no_guides: No encontramos lecciones que coincidan con tu búsqueda.
194
194
  no_messages: ¡Parece que no tenés ningun mensaje todavía!
195
+ no_need_hint: Este ejercicio no tiene pista
195
196
  no_questions: Parece que aún no hay ninguna consulta.
196
197
  no_submissions: ¡Parece que aún no intentaste resolver este ejercicio aún!
197
198
  no_useful_result: ¿No encontraste lo que estabas buscando?
@@ -240,6 +241,7 @@ es:
240
241
  retry_exercise: Reintentar
241
242
  running: procesando
242
243
  save: Guardar
244
+ see_context: Mirá la animación del principio
243
245
  send: Enviar
244
246
  sending_solution: Enviando solución
245
247
  show: Mostrar
@@ -325,3 +327,4 @@ es:
325
327
  you_must_sign_in_before_submitting: Tenés que iniciar sesión antes de empezar a enviar tus soluciones
326
328
  you_never_submitted_solutions: Parece que nunca enviaste soluciones desde que creaste tu cuenta.
327
329
  your_new_organization: tu nueva organización
330
+