From 5463bfd8e9a1d4a5b12d7218521f26a0a07d4d6c Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Sat, 29 Nov 2025 12:31:43 +0100 Subject: [PATCH] display changes in result table --- resources/js/components/common/Icon.jsx | 1 + resources/js/components/results/DetailDialog.jsx | 3 +++ resources/js/components/results/Table.jsx | 5 +++-- resources/js/components/results/TableRow.jsx | 12 ++++++++++-- resources/js/i18n/de.js | 4 +++- resources/js/i18n/en.js | 3 +++ resources/sass/results.scss | 1 + 7 files changed, 24 insertions(+), 5 deletions(-) diff --git a/resources/js/components/common/Icon.jsx b/resources/js/components/common/Icon.jsx index 143f0b1..2aebeb5 100644 --- a/resources/js/components/common/Icon.jsx +++ b/resources/js/components/common/Icon.jsx @@ -56,6 +56,7 @@ Icon.ALLOWED = makePreset('AllowedIcon', 'square-check'); Icon.APPLY = makePreset('ApplyIcon', 'right-to-bracket'); Icon.APPLICATIONS = makePreset('ApplicationsIcon', 'person-running'); Icon.BROWSER_SOURCE = makePreset('BrowserSourceIcon', 'tv'); +Icon.CHANGED = makePreset('ChangedIcon', 'pen-to-square'); Icon.CHART = makePreset('ChartIcon', 'chart-line'); Icon.CROSSHAIRS = makePreset('CrosshairsIcon', 'crosshairs'); Icon.DELETE = makePreset('DeleteIcon', 'user-xmark'); diff --git a/resources/js/components/results/DetailDialog.jsx b/resources/js/components/results/DetailDialog.jsx index 5031cae..91f74ea 100644 --- a/resources/js/components/results/DetailDialog.jsx +++ b/resources/js/components/results/DetailDialog.jsx @@ -70,6 +70,9 @@ const DetailDialog = ({ {(maySee || mayVerify) && result && result.has_finished ? getTime(result, true) : t('results.pending')} + {mayVerify && result?.changed > 0 ? + ({t('results.changeCounter', { count: result.changed })}) + : null} diff --git a/resources/js/components/results/Table.jsx b/resources/js/components/results/Table.jsx index af3417c..a8d55d2 100644 --- a/resources/js/components/results/Table.jsx +++ b/resources/js/components/results/Table.jsx @@ -29,9 +29,10 @@ const ResultTable = ({ actions, round, tournament }) => { return - {mayProtocol ? + {mayProtocol ? <> + - : null} + : null} {maySee ? diff --git a/resources/js/components/results/TableRow.jsx b/resources/js/components/results/TableRow.jsx index feefb54..cead0b5 100644 --- a/resources/js/components/results/TableRow.jsx +++ b/resources/js/components/results/TableRow.jsx @@ -35,7 +35,15 @@ const TableRow = ({ ); return - {showProtocol ? + {showProtocol ? <> + - : null} + : null} diff --git a/resources/js/i18n/de.js b/resources/js/i18n/de.js index b1fedd9..0e4a175 100644 --- a/resources/js/i18n/de.js +++ b/resources/js/i18n/de.js @@ -405,6 +405,7 @@ export default { AllowedIcon: 'Erlaubt', ApplicationsIcon: 'Anträge', ApplyIcon: 'Beantragen', + ChangedIcon: 'Geändert', ChartIcon: 'Diagramm', DiscordIcon: 'Discord', EditIcon: 'Bearbeiten', @@ -622,9 +623,10 @@ export default { }, results: { addComment: 'Kommentieren', + changeCounter: '{{ count }}x geändert', + comment: 'Kommentar', createdAt: 'Eingetragen am', createdAtFormat: '{{ date, L LT }}', - comment: 'Kommentar', details: 'Details', disqualified: 'Disqualifiziert', disqualifiedShort: 'DQ', diff --git a/resources/js/i18n/en.js b/resources/js/i18n/en.js index 4e3b211..b967ce8 100644 --- a/resources/js/i18n/en.js +++ b/resources/js/i18n/en.js @@ -405,6 +405,7 @@ export default { AllowedIcon: 'Allowed', ApplicationsIcon: 'Applications', ApplyIcon: 'Apply', + ChangedIcon: 'Changed', ChartIcon: 'Chart', DiscordIcon: 'Discord', EditIcon: 'Edit', @@ -622,6 +623,8 @@ export default { }, results: { addComment: 'Comment', + changeCounter: 'Changed {{ count }} times', + changeCounter_one: 'Changed once', comment: 'Comment', createdAt: 'Entry from', createdAtFormat: '{{ date, L LT }}', diff --git a/resources/sass/results.scss b/resources/sass/results.scss index 69a232a..0b628d0 100644 --- a/resources/sass/results.scss +++ b/resources/sass/results.scss @@ -48,6 +48,7 @@ vertical-align: middle; } + .result-changes, .result-protocol { text-align: center; width: 5ex; -- 2.47.3
{t('results.runner')}{t('results.placement')}
+ {result?.changed === 1 ? + `${result.changed}x` + : null} + {result?.changed > 1 ? + {`${result.changed}x`} + : null} + {result ? : null}