generated from VLADIMIR/template_frontend
add
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user