diff --git a/app/assets/stylesheets/components/btn.css.scss b/app/assets/stylesheets/components/btn.css.scss index 03d843b89b..23fd329d05 100644 --- a/app/assets/stylesheets/components/btn.css.scss +++ b/app/assets/stylesheets/components/btn.css.scss @@ -384,6 +384,12 @@ --d-on-btn-color: var(--d-on-success); } +.btn.d-btn-secondary { + --d-btn-color: var(--d-secondary); + --d-btn-color-rgb: var(--d-secondary-rgb); + --d-on-btn-color: var(--d-on-secondary); +} + .btn-toggle { min-width: fit-content; } diff --git a/app/assets/stylesheets/components/evaluations.css.scss b/app/assets/stylesheets/components/evaluations.css.scss index df91e015a5..a6a260e077 100644 --- a/app/assets/stylesheets/components/evaluations.css.scss +++ b/app/assets/stylesheets/components/evaluations.css.scss @@ -33,7 +33,6 @@ display: flex; align-items: center; white-space: nowrap; - padding-bottom: 5px; .name { flex-shrink: 0; @@ -154,49 +153,76 @@ } } -.feedback { - padding-bottom: 6px; - - &.correct { - border-bottom: 3px solid var(--d-success); - } - - &.wrong { - border-bottom: 3px solid var(--d-danger); - } - - &.not-started { - border-bottom: 3px solid var(--d-divider); - } +ul.feedback-list { + width: 100%; + letter-spacing: 0.04em; + text-decoration: inherit; + text-transform: inherit; + margin: 0; + padding: 0; + list-style-type: none; + color: var(--d-on-surface-variant); + + li a { + display: flex; + align-items: center; + justify-content: flex-start; + text-transform: inherit; + position: relative; + padding-left: 16px; + padding-right: 24px; + margin-bottom: 4px; + outline: none; + color: var(--d-on-surface); + text-decoration: none; + height: 56px; + border-radius: 28px; + + &.active, + &:hover, + &:focus { + font-weight: 400; + background: var(--d-primary-container); + color: var(--d-on-primary-container); + opacity: 0.75; + + .feedback-icon .circle { + fill: var(--d-primary-container); + opacity: 0.75; + } + } - .done, - .provisional { - color: var(--d-on-surface-muted); + .feedback-icon { + margin-right: 12px; + } } +} - a:hover .done, - a:hover .provisional, - .done:hover, - .provisional:hover { - color: var(--d-on-surface); +.btn-icon { + &:hover, + &:focus { + .feedback-icon .circle { + opacity: 0; + } } } -.user-feedback-row { - display: flex; - justify-content: space-around; +.feedback-icon { + color: var(--d-on-surface-muted) !important; - a .done { - color: var(--d-on-surface-muted); + i { + color: inherit; } - .active a { - background-color: var(--d-info-container); - + &.completed { i { - color: var(--d-info); + color: var(--d-primary) !important; } } + + .circle { + fill: var(--d-surface); + } } .evaluation-form-title { diff --git a/app/assets/stylesheets/components/table.css.scss b/app/assets/stylesheets/components/table.css.scss index fe2d33e40f..ee70427890 100644 --- a/app/assets/stylesheets/components/table.css.scss +++ b/app/assets/stylesheets/components/table.css.scss @@ -160,3 +160,10 @@ tr.gu-mirror { margin-top: -6px; margin-bottom: -6px; } + +#evaluation-table-wrapper { + .table-resource .btn { + margin-top: -6px; + margin-bottom: -6px; + } +} diff --git a/app/assets/stylesheets/models/activities.css.scss b/app/assets/stylesheets/models/activities.css.scss index 08a4de8bb4..b1967e47a0 100644 --- a/app/assets/stylesheets/models/activities.css.scss +++ b/app/assets/stylesheets/models/activities.css.scss @@ -37,6 +37,24 @@ .count { width: 130px; } + + td.name { + vertical-align: middle; + max-width: 95px; + } + + td.buttons{ + vertical-align: middle; + text-align: right; + width: fit-content; + max-width: fit-content; + + .btn { + margin-top: -6px; + margin-bottom: -6px; + margin-right: -12px; + } + } } /* stylelint-disable-next-line selector-class-pattern */ diff --git a/app/helpers/evaluation_helper.rb b/app/helpers/evaluation_helper.rb index 9d09a62923..9f6ed1a62d 100644 --- a/app/helpers/evaluation_helper.rb +++ b/app/helpers/evaluation_helper.rb @@ -12,4 +12,18 @@ def format_score(score, lang = nil, numeric_only = false) number_with_precision(score, precision: 2, strip_insignificant_zeros: true, locale: lang) end end + + def feedback_title(feedback) + submission_status_text = if feedback.submission.blank? + t 'evaluations.feedback_status.no_submission' + else + Submission.human_enum_name(:status, feedback.submission.status) + end + + if feedback.completed? + t 'evaluations.feedback_status.feedback_finished', status: submission_status_text + else + t 'evaluations.feedback_status.feedback_unstarted', status: submission_status_text + end + end end diff --git a/app/views/evaluations/_evaluation_table.html.erb b/app/views/evaluations/_evaluation_table.html.erb index c92f8ef543..3d4cb649bc 100644 --- a/app/views/evaluations/_evaluation_table.html.erb +++ b/app/views/evaluations/_evaluation_table.html.erb @@ -15,7 +15,12 @@
<%= t ".evaluation_details_info_html" %>
The deadline is used to select the default submission you give feedback on. The last submission before this deadline is used.
Warning: You can't change the deadline later, but you can select a different solution for individual students.
" evaluation_table: user: User + evaluate_user: "Evaluate %{user}" evaluation_grade_table: total: Total average: Average feedback_status: - feedback_finished: evaluation completed - feedback_unstarted: evaluation not yet completed - submission_not-started: "No submission, " - submission_correct: "Correct submission, " - submission_wrong: "Wrong submission, " + no_submission: No submissions + feedback_finished: "%{status}, feedback given, look at the feedback" + feedback_unstarted: "%{status}, no feedback given, evaluate this submission" overview: title: Evaluation explanation: A teacher reviewed your work for the "%{series}" series. They automatically picked your last submission before %{deadline}, but they might have chosen a different one manually. Keep in mind, this evaluation doesn't always include feedback on all your submissions. @@ -99,3 +97,4 @@ en: exercises_progress_table: evaluate: Evaluate evaluated: Evaluated + evaluating: Evaluating diff --git a/config/locales/views/evaluations/nl.yml b/config/locales/views/evaluations/nl.yml index fd5108e350..18ee616466 100644 --- a/config/locales/views/evaluations/nl.yml +++ b/config/locales/views/evaluations/nl.yml @@ -15,7 +15,6 @@ nl: evaluation_progress: Evaluatie voortgang progress_html: "%{feedback_count} van de %{feedback_total} oplossingen hebben afgewerkte feedback." evaluation_details: Detailoverzicht - evaluation_details_info_html: Deze tabel geeft een detailoverzicht van alle oplossingen in de evaluatie.Voor elke student zal de laatst ingediende oplossing voor deze deadline opgenomen worden in de evaluatie.
Let op: je kan deze deadline achteraf niet meer aanpassen, maar kan voor individuele studenten steeds een andere oplossing selecteren.
" evaluation_table: user: Gebruiker + evaluate_user: "%{user} evalueren" evaluation_grade_table: total: Totaal average: Gemiddelde feedback_status: - feedback_finished: evaluatie afgewerkt - feedback_unstarted: evaluatie nog niet afgewerkt - submission_not-started: "Geen oplossing, " - submission_correct: "Juiste oplossing, " - submission_wrong: "Foute oplossing, " + no_submission: Geen oplossingen + feedback_finished: "%{status}, feedback gegeven, bekijk de feedback" + feedback_unstarted: "%{status}, geen feedback gegeven, deze oplossing evalueren" overview: title: Evaluatie explanation: Een lesgever heeft je werk voor de reeks "%{series}" bekeken. Dodona heeft automatisch je laatste inzending voor %{deadline} geselecteerd, maar mogelijk heeft de lesgever handmatig een andere gekozen. Houd er rekening mee dat deze evaluatie niet altijd feedback op al je oplossingen omvat. @@ -99,3 +97,4 @@ nl: exercises_progress_table: evaluate: Evalueren evaluated: Geƫvalueerd + evaluating: Aan het evalueren