This commit is contained in:
2026-09-16 03:48:11 +07:00
parent 4dc736866d
commit bd25c448c0
42 changed files with 66 additions and 47 deletions
+20 -1
View File
@@ -97,6 +97,12 @@ const visibleTeams = computed(() =>
participationFilter.value === 'all' || team.participationStatus === participationFilter.value,
),
)
const teamsNeedingApplications = computed(
() =>
new Set(
(game.value.teams || []).filter((team) => team.applications?.length).map((team) => team.id),
),
)
const screens = ref<ScreenState[]>([])
const mapItems = ref<MapItem[]>([])
const mapSaving = ref(false)
@@ -806,11 +812,20 @@ useSimplePolling(() => {
v-show="!item.hidden"
:key="`${item.kind}-${item.itemId}`"
class="map-item"
:class="item.kind === 'screen' ? 'map-screen' : 'map-team'"
:class="[
item.kind === 'screen' ? 'map-screen' : 'map-team',
{
'map-team-needs-applications':
item.kind === 'team' && teamsNeedingApplications.has(item.itemId),
},
]"
:style="{ left: `${item.x || 0}px`, top: `${item.y || 0}px` }"
@pointerdown.stop="startMapDrag(item, $event)"
>
<span>{{ item.label }}</span>
<small v-if="item.kind === 'team' && teamsNeedingApplications.has(item.itemId)">
Выдать улики
</small>
<small v-if="item.kind === 'screen'"
>{{ item.status }}{{ item.soundEnabled ? ' · звук' : '' }}</small
>
@@ -1397,6 +1412,10 @@ useSimplePolling(() => {
background-color: #48633a;
}
.map-team-needs-applications {
outline: 2px solid gold;
}
.map-item small {
display: block;
opacity: 0.75;