diff --git a/src/App.vue b/src/App.vue index 17edb9a..290adbe 100644 --- a/src/App.vue +++ b/src/App.vue @@ -10,7 +10,28 @@ import PiPCanvas from '@/components/PiPCanvas.vue' import StartScreen from '@/components/StartScreen.vue' import TowerPanel from '@/components/TowerPanel.vue' import TowerShop from '@/components/TowerShop.vue' +import { playerColor } from '@/game/config' import { store } from '@/game/store' +import { computed } from 'vue' + +/** duel: colored frame + label around the main canvas showing whose board it is */ +const frameStyle = computed(() => { + if (!store.mp.active || store.mp.mode !== 'duel') return undefined + const viewedOwner = store.mp.viewOpponent ? 1 - store.mp.myId : store.mp.myId + return { boxShadow: `0 0 0 4px ${playerColor(viewedOwner)}` } +}) + +const badgeText = computed(() => { + if (!store.mp.active || store.mp.mode !== 'duel') return '' + return store.mp.viewOpponent + ? `👁 ${store.mp.peerName} – Ansicht (zum Bauen zurückwechseln)` + : '🛡 Deine Basis' +}) + +const badgeColor = computed(() => { + const viewedOwner = store.mp.viewOpponent ? 1 - store.mp.myId : store.mp.myId + return playerColor(viewedOwner) +})