mumuki-laboratory 5.5.0 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/application/discussions.js +43 -0
  3. data/app/assets/stylesheets/application/_modules.scss +2 -0
  4. data/app/assets/stylesheets/application/modules/_checkboxes.scss +21 -8
  5. data/app/assets/stylesheets/application/modules/_discussion.scss +339 -0
  6. data/app/assets/stylesheets/application/modules/_pagination.scss +10 -0
  7. data/app/controllers/application_controller.rb +4 -9
  8. data/app/controllers/book_discussions_controller.rb +7 -0
  9. data/app/controllers/chapters_controller.rb +2 -0
  10. data/app/controllers/discussions_controller.rb +65 -0
  11. data/app/controllers/discussions_messages_controller.rb +25 -0
  12. data/app/controllers/exercises_controller.rb +1 -0
  13. data/app/controllers/guide_container_controller.rb +1 -0
  14. data/app/controllers/messages_controller.rb +1 -1
  15. data/app/controllers/users_controller.rb +1 -0
  16. data/app/helpers/application_helper.rb +7 -0
  17. data/app/helpers/assignment_result_helper.rb +10 -30
  18. data/app/helpers/breadcrumbs_helper.rb +7 -3
  19. data/app/helpers/contextualization_result_helper.rb +31 -0
  20. data/app/helpers/discussions_helper.rb +163 -0
  21. data/app/helpers/exercise_input_helper.rb +33 -5
  22. data/app/helpers/icons_helper.rb +20 -3
  23. data/app/helpers/messages_helper.rb +4 -0
  24. data/app/helpers/status_helper.rb +2 -2
  25. data/app/models/assignment.rb +31 -47
  26. data/app/models/book.rb +3 -0
  27. data/app/models/chapter.rb +2 -0
  28. data/app/models/concerns/contextualization.rb +85 -0
  29. data/app/models/concerns/submittable/solvable.rb +1 -0
  30. data/app/models/concerns/with_assignments.rb +1 -1
  31. data/app/models/concerns/with_discussion_creation.rb +9 -0
  32. data/app/models/concerns/with_discussion_creation/subscription.rb +33 -0
  33. data/app/models/concerns/with_discussion_creation/upvote.rb +28 -0
  34. data/app/models/concerns/with_discussion_status.rb +11 -0
  35. data/app/models/concerns/with_discussions.rb +23 -0
  36. data/app/models/concerns/with_randomizations.rb +34 -0
  37. data/app/models/concerns/with_scoped_queries.rb +47 -0
  38. data/app/models/concerns/with_scoped_queries/filter.rb +15 -0
  39. data/app/models/concerns/with_scoped_queries/page.rb +10 -0
  40. data/app/models/concerns/with_scoped_queries/sort.rb +47 -0
  41. data/app/models/discussion.rb +128 -0
  42. data/app/models/exercise.rb +10 -1
  43. data/app/models/guide.rb +1 -1
  44. data/app/models/message.rb +24 -3
  45. data/app/models/organization.rb +4 -0
  46. data/app/models/submission/confirmation.rb +1 -1
  47. data/app/models/submission/console_submission.rb +1 -1
  48. data/app/models/submission/submission.rb +13 -0
  49. data/app/models/subscription.rb +12 -0
  50. data/app/models/topic.rb +1 -1
  51. data/app/models/upvote.rb +4 -0
  52. data/app/models/user.rb +3 -2
  53. data/app/views/book_discussions/index.html.erb +23 -0
  54. data/app/views/chapters/show.html.erb +0 -1
  55. data/app/views/discussions/_message.html.erb +22 -0
  56. data/app/views/discussions/_message_container.html.erb +8 -0
  57. data/app/views/discussions/_new_message.html.erb +19 -0
  58. data/app/views/discussions/index.html.erb +30 -0
  59. data/app/views/discussions/show.html.erb +76 -0
  60. data/app/views/exercise_solutions/_contextualization_results.html.erb +21 -0
  61. data/app/views/exercise_solutions/_contextualization_results_container.html.erb +4 -0
  62. data/app/views/exercise_solutions/_expectations.html.erb +9 -3
  63. data/app/views/exercise_solutions/_kids_results.html.erb +1 -1
  64. data/app/views/exercise_solutions/_results.html.erb +21 -55
  65. data/app/views/exercise_solutions/_results_title.html.erb +2 -2
  66. data/app/views/exercises/_exercise_assignment.html.erb +20 -0
  67. data/app/views/exercises/_read_only.html.erb +104 -0
  68. data/app/views/exercises/show.html.erb +4 -20
  69. data/app/views/layouts/_discussions.html.erb +68 -0
  70. data/app/views/layouts/_kids.html.erb +9 -6
  71. data/app/views/layouts/_messages.html.erb +1 -1
  72. data/app/views/layouts/_result.html.erb +2 -2
  73. data/app/views/layouts/_test_results.html.erb +6 -6
  74. data/app/views/layouts/application.html.erb +10 -9
  75. data/app/views/layouts/exercise_inputs/forms/_form.html.erb +5 -6
  76. data/app/views/layouts/exercise_inputs/forms/_interactive_form.html.erb +5 -5
  77. data/app/views/layouts/exercise_inputs/forms/_kids_form.html.erb +9 -17
  78. data/app/views/layouts/exercise_inputs/forms/_playground_form.html.erb +5 -5
  79. data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +11 -11
  80. data/app/views/layouts/exercise_inputs/forms/_reading_form.html.erb +1 -1
  81. data/app/views/layouts/exercise_inputs/layouts/_input_bottom.html.erb +1 -1
  82. data/app/views/layouts/exercise_inputs/layouts/_input_kids.html.erb +7 -7
  83. data/app/views/layouts/exercise_inputs/layouts/_input_right.html.erb +1 -1
  84. data/app/views/layouts/exercise_inputs/read_only_editors/_code.html.erb +3 -0
  85. data/app/views/layouts/exercise_inputs/read_only_editors/_custom.html.erb +6 -0
  86. data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_choice.html.erb +8 -0
  87. data/app/views/layouts/exercise_inputs/read_only_editors/_single_choice.html.erb +8 -0
  88. data/app/views/layouts/modals/_kids_context.html.erb +2 -2
  89. data/app/views/layouts/modals/_new_discussion.html.erb +27 -0
  90. data/app/views/users/show.html.erb +23 -3
  91. data/config/routes.rb +21 -1
  92. data/db/migrate/20180504173548_create_discussions.rb +12 -0
  93. data/db/migrate/20180504185845_add_discussion_id_to_message.rb +5 -0
  94. data/db/migrate/20180605143727_add_submission_to_discussion.rb +16 -0
  95. data/db/migrate/20180619182555_create_subscriptions.rb +9 -0
  96. data/db/migrate/20180702153442_create_upvotes.rb +8 -0
  97. data/db/migrate/20180702175220_add_upvotes_count_to_discussions.rb +5 -0
  98. data/db/migrate/20180704150839_rename_assignment_status_to_submission_status.rb +5 -0
  99. data/lib/mumuki/laboratory.rb +2 -0
  100. data/lib/mumuki/laboratory/controllers.rb +2 -1
  101. data/lib/mumuki/laboratory/controllers/content.rb +12 -0
  102. data/lib/mumuki/laboratory/controllers/notifications.rb +31 -0
  103. data/lib/mumuki/laboratory/controllers/results_rendering.rb +1 -1
  104. data/lib/mumuki/laboratory/engine.rb +0 -2
  105. data/lib/mumuki/laboratory/evaluation/manual.rb +1 -1
  106. data/lib/mumuki/laboratory/locales/en.yml +37 -1
  107. data/lib/mumuki/laboratory/locales/es.yml +42 -1
  108. data/lib/mumuki/laboratory/locales/pt.yml +33 -1
  109. data/lib/mumuki/laboratory/status.rb +51 -44
  110. data/lib/mumuki/laboratory/status/discussion/closed.rb +15 -0
  111. data/lib/mumuki/laboratory/status/discussion/discussion.rb +56 -0
  112. data/lib/mumuki/laboratory/status/discussion/opened.rb +27 -0
  113. data/lib/mumuki/laboratory/status/discussion/pending_review.rb +15 -0
  114. data/lib/mumuki/laboratory/status/discussion/solved.rb +19 -0
  115. data/lib/mumuki/laboratory/status/submission/aborted.rb +11 -0
  116. data/lib/mumuki/laboratory/status/submission/errored.rb +15 -0
  117. data/lib/mumuki/laboratory/status/{failed.rb → submission/failed.rb} +2 -2
  118. data/lib/mumuki/laboratory/status/submission/manual_evaluation_pending.rb +15 -0
  119. data/lib/mumuki/laboratory/status/{passed.rb → submission/passed.rb} +2 -2
  120. data/lib/mumuki/laboratory/status/{passed_with_warnings.rb → submission/passed_with_warnings.rb} +2 -2
  121. data/lib/mumuki/laboratory/status/submission/pending.rb +11 -0
  122. data/lib/mumuki/laboratory/status/submission/running.rb +11 -0
  123. data/lib/mumuki/laboratory/status/submission/submission.rb +49 -0
  124. data/lib/mumuki/laboratory/status/{unknown.rb → submission/unknown.rb} +2 -2
  125. data/lib/mumuki/laboratory/version.rb +1 -1
  126. data/spec/controllers/chapters_controller_spec.rb +17 -0
  127. data/spec/controllers/discussions_controller_spec.rb +19 -0
  128. data/spec/dummy/config/environments/development.rb +0 -2
  129. data/spec/dummy/config/environments/test.rb +0 -2
  130. data/spec/dummy/db/schema.rb +42 -2
  131. data/spec/evaluation_helper.rb +1 -1
  132. data/spec/factories/discussion_factory.rb +8 -0
  133. data/spec/features/dynamic_exam_spec.rb +1 -1
  134. data/spec/helpers/exercise_input_helper_spec.rb +25 -0
  135. data/spec/helpers/test_results_rendering_spec.rb +7 -7
  136. data/spec/models/assignment_spec.rb +17 -2
  137. data/spec/models/discussion_spec.rb +153 -0
  138. metadata +108 -27
  139. data/app/models/concerns/with_status.rb +0 -43
  140. data/app/models/status_rendering_verbosity.rb +0 -40
  141. data/lib/mumuki/laboratory/controllers/messages.rb +0 -9
  142. data/lib/mumuki/laboratory/status/aborted.rb +0 -7
  143. data/lib/mumuki/laboratory/status/base.rb +0 -47
  144. data/lib/mumuki/laboratory/status/errored.rb +0 -15
  145. data/lib/mumuki/laboratory/status/manual_evaluation_pending.rb +0 -15
  146. data/lib/mumuki/laboratory/status/pending.rb +0 -11
  147. data/lib/mumuki/laboratory/status/running.rb +0 -11
  148. data/spec/models/randomizer_spec.rb +0 -18
  149. data/spec/models/verbosity_spec.rb +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a40f596693f402240e506ca625b2562809f3d77ccd5422ec322b1b8dd3a0f48c
4
- data.tar.gz: 40b3b07e73b77804a1884d8ee6d6ad4d9ca80c636bdabe379411f73d159eb00f
3
+ metadata.gz: 725657dbab5f674de31aa11fb8636bd7f4077b015d0029ee36c264f302592eb8
4
+ data.tar.gz: 28e5841b4a4d81abc05a288061a18969f53c544f91c771a30d6464d598869d6d
5
5
  SHA512:
6
- metadata.gz: e20ea051587798caeecbb8e774adece970c19d714b39c102505ce52847a2dcd0e5afa5081aebb9c28ad64c4686786ac4e548b4cf3c048af9d2f4e08221cee7f0
7
- data.tar.gz: 38f858df0af512db29f1febad4f7fa007395cbf328a7272904585985dbf8ce2e0bde0fe674eb7335b7e983862fda7e160f1a5c5588910805385c138d4d8eaf17
6
+ metadata.gz: 8e55a4187adfb14ab2dd6ca45cfc9d564d8b94766af2e5dd502101f48e13073fca72afe65108536fb4f5fb879c864cdd445593fbbefe48be99f8831d5b33a75f
7
+ data.tar.gz: a91cdd87b7c2d852ee3d7aa54d7195b2541fca34526339e1eedf17f742246fedf15bf5500e51511415c669aa657e7029cdba360fc55bf138d687aacf4f324779
@@ -0,0 +1,43 @@
1
+ var mumuki = mumuki || {};
2
+
3
+ mumuki.load(function () {
4
+ var $newDiscussionModal = $('.new-discussion-modal');
5
+ var $newDiscussion = $('.discussion-create');
6
+
7
+ $newDiscussion.click(function () {
8
+ $newDiscussionModal.modal({
9
+ backdrop: 'static',
10
+ keyboard: false
11
+ });
12
+ });
13
+
14
+ var $subscriptionSpans = $('.discussion-subscription > span');
15
+ var $upvoteSpans = $('.discussion-upvote > span');
16
+
17
+ var Forum = {
18
+ toggleButton: function (spans) {
19
+ spans.toggleClass('hidden');
20
+ },
21
+ token: new mumuki.CsrfToken(),
22
+ discussionSubscription: function (url) {
23
+ Forum.discussionPostAndToggle(url, $subscriptionSpans)
24
+ },
25
+ discussionUpvote: function (url) {
26
+ Forum.discussionPostAndToggle(url, $upvoteSpans)
27
+ },
28
+ discussionPostAndToggle: function (url, elem) {
29
+ Forum.tokenRequest({
30
+ url: url,
31
+ method: 'POST',
32
+ success: Forum.toggleButton(elem),
33
+ xhrFields: {withCredentials: true}
34
+ })
35
+ },
36
+ tokenRequest: function (data) {
37
+ $.ajax(Forum.token.newRequest(data))
38
+ }
39
+ };
40
+
41
+ mumuki.Forum = Forum;
42
+
43
+ });
@@ -19,3 +19,5 @@
19
19
  @import "modules/gs-board";
20
20
  @import "modules/kids";
21
21
  @import "modules/kids_results";
22
+ @import "modules/discussion";
23
+ @import "modules/pagination";
@@ -8,14 +8,27 @@
8
8
  top: 6px;
9
9
  }
10
10
 
11
- .complementary-checkbox label::after {
12
- width: 17px;
13
- height: 17px;
14
- line-height: 14px;
15
- border-radius: 3px;
16
- border: 1px solid $brand-complementary;
11
+ .complementary-checkbox {
12
+ label::after {
13
+ width: 17px;
14
+ height: 17px;
15
+ line-height: 14px;
16
+ border-radius: 3px;
17
+ border: 1px solid $brand-complementary;
18
+ }
19
+ input[type="checkbox"]:disabled.mu-read-only + label {
20
+ opacity: 1;
21
+ cursor: unset;
22
+ }
17
23
  }
18
- .complementary-radio label::after {
19
- top: 9px;
24
+
25
+ .complementary-radio{
26
+ label::after {
27
+ top: 9px;
28
+ }
29
+ input[type="radio"]:disabled.mu-read-only + label {
30
+ opacity: 1;
31
+ cursor: unset;
32
+ }
20
33
  }
21
34
 
@@ -0,0 +1,339 @@
1
+ $discussion-message-arrow-size: 10px;
2
+ $discussion-message-border-color: #cccccc;
3
+ $discussion-toolbar-border-color: #e1e4e8;
4
+ $discussion-toolbar-color: #f6f6fa;
5
+ $message-divider-color: #ecf0f1;
6
+ $discussion-button-color: #fafafa;
7
+ $toolbar-filter-color: #808080;
8
+
9
+ .discussions-list {
10
+ margin: 30px 0;
11
+ .discussion {
12
+ padding: 10px 15px;
13
+ display: table;
14
+ table-layout: fixed;
15
+ width: 100%;
16
+ &:hover {
17
+ background-color: darken(white, 2%);
18
+ }
19
+ border: 1px solid $discussion-message-border-color;
20
+ }
21
+ a {
22
+ color: unset;
23
+ text-decoration: unset;
24
+ &:not(:last-child) > .discussion {
25
+ border-bottom: 0;
26
+ }
27
+ }
28
+
29
+ .discussions-reset-query {
30
+ color: #6a737d;
31
+ font-weight: 600;
32
+ &:hover {
33
+ color: inherit;
34
+ }
35
+ }
36
+
37
+ .discussion-pagination {
38
+ display: flex;
39
+ flex-direction: row;
40
+ align-items: center;
41
+ justify-content: center;
42
+ }
43
+
44
+ .discussion-language-icon {
45
+ float: right;
46
+ margin-right: 10px;
47
+ margin-top: 6px;
48
+ -ms-transform: scale(1.4, 1.4);
49
+ -webkit-transform: scale(1.4, 1.4);
50
+ transform: scale(1.4, 1.4);
51
+ }
52
+
53
+ .discussion-icon {
54
+ -ms-transform: scale(0.8, 0.8);
55
+ -webkit-transform: scale(0.8, 0.8);
56
+ transform: scale(0.8, 0.8);
57
+ margin-left: 5px;
58
+ float: right;
59
+ .fa-stack-1x {
60
+ -ms-transform: scale(0.9, 0.9);
61
+ -webkit-transform: scale(0.9, 0.9);
62
+ transform: scale(0.9, 0.9);
63
+ }
64
+ }
65
+ }
66
+
67
+ .discussions-no-filtered-results {
68
+ padding: 20px;
69
+ border: 1px solid $discussion-toolbar-border-color;
70
+ text-align: center;
71
+ div {
72
+ margin-bottom: 20px;
73
+ i {
74
+ font-size: 28px;
75
+ }
76
+ }
77
+ span {
78
+ font-size: 24px;
79
+ }
80
+ }
81
+
82
+ .discussion-status-icon {
83
+ padding-right: 10px;
84
+ }
85
+
86
+ .discussion-row {
87
+ display: table-cell;
88
+ vertical-align: middle;
89
+ .discussion-title {
90
+ font-size: 18px;
91
+ font-weight: bold;
92
+ }
93
+ .discussion-description {
94
+ overflow: hidden;
95
+ display: block;
96
+ text-overflow: ellipsis;
97
+ white-space: nowrap;
98
+ }
99
+ }
100
+
101
+ .discussion-body {
102
+ display: none;
103
+ }
104
+
105
+ .discussion-display-more {
106
+ display: table-cell;
107
+ width: 30px;
108
+ margin-right: 0;
109
+ a {
110
+ cursor: pointer;
111
+ }
112
+ }
113
+
114
+ .discussion-messages-icon {
115
+ margin-left: 30px;
116
+ margin-bottom: 5px;
117
+ }
118
+
119
+ .discussions-toolbar {
120
+ width: 100%;
121
+ padding: 10px 20px;
122
+ display: table;
123
+ margin-top: 20px;
124
+ background-color: $discussion-toolbar-color;
125
+ border: 1px solid $discussion-toolbar-border-color;
126
+ border-radius: 3px 3px 0 0;
127
+ border-bottom: none;
128
+ .discussions-toolbar-status {
129
+ float: left;
130
+ li {
131
+ text-decoration: none;
132
+ display: inline;
133
+ margin-right: 15px;
134
+ &:not(.selected) .status-icon, span {
135
+ color: $toolbar-filter-color;
136
+ }
137
+ &:hover span {
138
+ color: darken($toolbar-filter-color, 20%);
139
+ }
140
+ &.selected span {
141
+ color: darken($toolbar-filter-color, 40%);
142
+ font-weight: bold;
143
+ }
144
+ }
145
+ }
146
+ .discussions-toolbar-filter {
147
+ float: right;
148
+ margin-right: 20px;
149
+ cursor: pointer;
150
+ li.selected {
151
+ a {
152
+ font-weight: bold;
153
+ padding-left: 2px;
154
+ &::before {
155
+ content: '✓';
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ .message-divider {
163
+ border-top: 1px solid $message-divider-color;
164
+ margin-top: 20px;
165
+ width: 100%;
166
+ }
167
+
168
+ .discussion-user-menu {
169
+ a {
170
+ padding: 5px 10px;
171
+ font-size: 15px;
172
+ line-height: 20px;
173
+ border: 1px solid rgba(27, 31, 35, 0.2);
174
+ border-radius: 0.25em;
175
+ background-color: $discussion-button-color;
176
+ font-weight: bold;
177
+ color: black;
178
+ cursor: pointer;
179
+ margin-left: 10px;
180
+ &:hover {
181
+ text-decoration: none;
182
+ background-color: darken($discussion-button-color, 5%);
183
+ color: black;
184
+ }
185
+ }
186
+ }
187
+
188
+ .discussion-create {
189
+ cursor: pointer;
190
+ }
191
+
192
+ .discussion-context {
193
+ margin-top: 40px;
194
+ }
195
+
196
+ .discussion-header {
197
+ position: relative;
198
+ display: flex;
199
+ justify-content: flex-start;
200
+ align-items: center;
201
+ padding: 0;
202
+ .discussion-title {
203
+ font-weight: bold;
204
+ }
205
+ }
206
+
207
+ .discussion-description {
208
+ margin-top: 0;
209
+ .status-label {
210
+ margin-right: 2px;
211
+ font-size: 18px;
212
+ }
213
+ }
214
+
215
+ .discussion-tabs {
216
+ margin-top: 20px;
217
+ }
218
+
219
+ .discussion-info {
220
+ font-size: 18px;
221
+ }
222
+
223
+ .discussion-initiator-name {
224
+ font-weight: bold;
225
+ }
226
+
227
+ .discussion-message-content {
228
+ padding: 15px;
229
+ }
230
+
231
+ .discussion-new-message-content {
232
+ resize: none;
233
+ border-radius: 0;
234
+ border-color: transparent;
235
+ &:focus {
236
+ border-color: white;
237
+ }
238
+ }
239
+
240
+ summary.discussion-summary {
241
+ display: list-item;
242
+ font-size: 29px;
243
+ outline: 0;
244
+ cursor: pointer;
245
+ .discussion-exercise-title {
246
+ display: inline;
247
+ }
248
+ }
249
+
250
+ .discussion-new-message-button {
251
+ border-radius: 0;
252
+ margin-top: 15px;
253
+ }
254
+
255
+ .discussion-message {
256
+ position: relative;
257
+ display: flex;
258
+ justify-content: center;
259
+ align-items: start;
260
+ padding: 0;
261
+ border: none;
262
+ margin-top: 30px;
263
+ .discussion-message-user-avatar {
264
+ margin-right: 20px;
265
+ }
266
+ }
267
+
268
+ .discussion-message-bubble-container {
269
+ width: 100%;
270
+ }
271
+
272
+ .discussion-message-bubble {
273
+ background-color: white;
274
+ border: 1px solid $discussion-message-border-color;
275
+ border-radius: 3px;
276
+ position: relative;
277
+ .discussion-message-bubble-header {
278
+ background-color: $mu-color-highlight-background;
279
+ height: 40px;
280
+ &:before {
281
+ position: absolute;
282
+ top: calc(20px - #{$discussion-message-arrow-size + 2px} / 2);
283
+ left: -$discussion-message-arrow-size - 2px;
284
+ border-width: (1px + $discussion-message-arrow-size / 2) (2px + $discussion-message-arrow-size) (1px + $discussion-message-arrow-size / 2) 0;
285
+ content: '';
286
+ border-style: solid;
287
+ border-color: transparent $discussion-message-border-color;
288
+ }
289
+ .discussion-message-bubble-title {
290
+ padding: 5px 15px;
291
+ display: block;
292
+ .message-date {
293
+ font-size: 15px;
294
+ }
295
+ .actions {
296
+ float: right;
297
+ i {
298
+ color: #aaaaaa
299
+ }
300
+ }
301
+ }
302
+ }
303
+ }
304
+
305
+ .discussion-actions {
306
+ display: inline-block;
307
+ float: right;
308
+ margin-top: 35px;
309
+ > form {
310
+ display: inline;
311
+ }
312
+ }
313
+
314
+ $statuses: (
315
+ closed: ($brand-danger white $brand-danger),
316
+ opened: (white #333333 #eaeaea),
317
+ solved: ($brand-success white $brand-success),
318
+ pending_review: ($brand-success white $brand-success)
319
+ );
320
+
321
+ @each $status, $style in $statuses {
322
+ $background-color: nth($style, 1);
323
+ $font-color: nth($style, 2);
324
+ $border-color: nth($style, 3);
325
+
326
+ .btn-discussion-#{$status} {
327
+ background-color: $background-color;
328
+ color: $font-color;
329
+ border-color: $border-color;
330
+ margin-left: 5px;
331
+ &:hover {
332
+ color: $font-color;
333
+ border-color: darken($border-color, 3%);
334
+ background-color: darken($background-color, 3%);
335
+ }
336
+ }
337
+ }
338
+
339
+
@@ -0,0 +1,10 @@
1
+ .pagination li {
2
+ a, span {
3
+ background-color: lighten($brand-primary, 10%);
4
+ }
5
+ &:hover, &.active, &.active:hover {
6
+ a, span {
7
+ background-color: $brand-primary;
8
+ }
9
+ }
10
+ }