From 2043942e0222854e6872b9363a4bb543f86a8297 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Sat, 28 Mar 2026 12:05:04 +0100 Subject: [PATCH] feat(TournamentWorkspaceHeader): enhance UI layout and tab functionality - Updated the TournamentWorkspaceHeader component to improve the layout with a new class for the workspace header. - Introduced a tournament tabs panel with buttons for navigating between configuration, participants, groups, and results, enhancing user interaction. - Added computed properties and methods for managing tab states and results sub-tabs, streamlining tournament management. - Improved styling for better visual hierarchy and user experience. --- .../tournament/TournamentWorkspaceHeader.vue | 311 ++++++++++++++++-- 1 file changed, 287 insertions(+), 24 deletions(-) diff --git a/frontend/src/components/tournament/TournamentWorkspaceHeader.vue b/frontend/src/components/tournament/TournamentWorkspaceHeader.vue index 9154f0c2..c932f16f 100644 --- a/frontend/src/components/tournament/TournamentWorkspaceHeader.vue +++ b/frontend/src/components/tournament/TournamentWorkspaceHeader.vue @@ -1,5 +1,5 @@ @@ -75,6 +85,259 @@ export default { resultsSubTab: { type: String, required: true }, isGroupTournament: { type: Boolean, default: false } }, - emits: ['navigate-status', 'quick-action', 'set-active-tab', 'set-results-sub-tab'] + emits: ['navigate-status', 'quick-action', 'set-active-tab', 'set-results-sub-tab'], + computed: { + highlightStatusChips() { + return (this.workspaceStatusChips || []).filter(status => status.tone === 'warning' || status.quickAction); + } + }, + methods: { + openResultsMatches() { + this.$emit('set-active-tab', 'results'); + this.$emit('set-results-sub-tab', 'matches'); + }, + openResultsPlacements() { + this.$emit('set-active-tab', 'results'); + this.$emit('set-results-sub-tab', 'placements'); + } + } }; + +