{{ pendingWinners[tableIndex] ? `${playerName(pendingWinners[tableIndex])} gewinnt â zum Ăndern anderen Spieler antippen` : 'Sieger fĂŒr diese Runde antippen' }}
+Platz wÀhlen, dann Teilnehmer antippen
+diff --git a/frontend/src/config/products.js b/frontend/src/config/products.js index 0cf2a817..5afa2738 100755 --- a/frontend/src/config/products.js +++ b/frontend/src/config/products.js @@ -65,6 +65,7 @@ export const SIDEBAR_NAVIGATION = { items: [ { to: '/members', icon: 'đ„', labelKey: 'navigation.members', permission: ['members', 'read'] }, { to: '/diary', icon: 'đ', labelKey: 'navigation.diary', permission: ['diary', 'read'] }, + { to: '/kaisertisch', icon: 'đ', label: 'Kaisertisch' }, { to: '/calendar', icon: 'đ', diff --git a/frontend/src/router.js b/frontend/src/router.js index 74aa8555..d1fbe05d 100755 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -18,6 +18,7 @@ const CreateClub = () => import('./views/CreateClub.vue'); const ClubView = () => import('./views/ClubView.vue'); const MembersView = () => import('./views/MembersView.vue'); const DiaryView = () => import('./views/DiaryView.vue'); +const KaisertischView = () => import('./views/KaisertischView.vue'); const CalendarView = () => import('./views/CalendarView.vue'); const PendingApprovalsView = () => import('./views/PendingApprovalsView.vue'); const ScheduleView = () => import('./views/ScheduleView.vue'); @@ -175,6 +176,7 @@ const routes = [ { path: '/showclub/:clubId', name: 'show-club', component: ClubView, meta: withMeta({ products: fullAppProducts }) }, { path: '/members', name: 'members', component: MembersView, meta: withMeta({ products: fullAppProducts, permission: ['members', 'read'] }) }, { path: '/diary', name: 'diary', component: DiaryView, meta: withMeta({ products: trainerOnly }) }, + { path: '/kaisertisch', name: 'kaisertisch', component: KaisertischView, meta: withMeta({ products: trainerOnly }) }, { path: '/calendar', name: 'calendar', component: CalendarView, meta: withMeta({ products: allProducts, anyPermission: [['diary', 'read'], ['schedule', 'read'], ['tournaments', 'read']] }) }, { path: '/pending-approvals', name: 'pending-approvals', component: PendingApprovalsView, meta: withMeta({ products: fullAppProducts, capability: 'approvals' }) }, { path: '/schedule', name: 'schedule', component: ScheduleView, meta: withMeta({ products: fullAppProducts, permission: ['schedule', 'read'] }) }, diff --git a/frontend/src/views/DiaryView.vue b/frontend/src/views/DiaryView.vue index 5f808a87..d253eadc 100755 --- a/frontend/src/views/DiaryView.vue +++ b/frontend/src/views/DiaryView.vue @@ -179,6 +179,14 @@ > {{ $t('diary.trainingDaySummaryPdfShort') }} +
TRAININGSMODUS
+Ein Sieg, ein Klick â und der nĂ€chste Durchgang ist klar.
+LIVE-BOARD
{{ pendingWinners[tableIndex] ? `${playerName(pendingWinners[tableIndex])} gewinnt â zum Ăndern anderen Spieler antippen` : 'Sieger fĂŒr diese Runde antippen' }}
+Platz wÀhlen, dann Teilnehmer antippen
+RUNDE BESTĂTIGEN
Die markierten Sieger und Verlierer werden als eine Runde ĂŒbernommen.
+