generated from VLADIMIR/template_frontend
up
This commit is contained in:
@@ -2,12 +2,13 @@
|
||||
import { NButton, NFlex, NQrCode } from 'naive-ui'
|
||||
import { useMessage } from 'naive-ui';
|
||||
import { nextTick, ref } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useRoute } from 'vue-router';
|
||||
|
||||
import { getAuthClient } from '@/api/auth_client';
|
||||
import type { Game, Place } from '@/api/generated/crabs/evening_detective_server';
|
||||
import type { Game, Introduction, Place } from '@/api/generated/crabs/evening_detective_server';
|
||||
import GameInputForm from '@/components/GameInputForm.vue'
|
||||
import HeaderMenu from '@/components/HeaderMenu.vue'
|
||||
import IntroBlock from '@/components/IntroBlock.vue'
|
||||
import PlaceBlock from '@/components/PlaceBlock.vue'
|
||||
import { useSimplePolling } from '@/composables/useSimplePolling';
|
||||
import { useAuthStore } from '@/stores/auth';
|
||||
@@ -17,7 +18,6 @@ import MessagePaper from './MessagePaper.vue';
|
||||
const authStore = useAuthStore()
|
||||
const client = getAuthClient()
|
||||
const message = useMessage()
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const teamId = route.params.id
|
||||
const password = route.query.password
|
||||
@@ -27,6 +27,7 @@ const newPlacesCount = ref(0)
|
||||
const scrollContainer = ref<HTMLDivElement | null>();
|
||||
|
||||
const story = ref<AdvancedStory>({
|
||||
introduction: undefined,
|
||||
places: []
|
||||
})
|
||||
|
||||
@@ -74,6 +75,7 @@ async function getStory() {
|
||||
const oldCount = story.value.places.length
|
||||
|
||||
story.value = {
|
||||
introduction: res.story!.introduction,
|
||||
places: res.story!.places?.map((item, i) => {
|
||||
console.log(oldStory?.places[i]?.mode)
|
||||
return {
|
||||
@@ -116,6 +118,7 @@ async function addAction(newCode: string) {
|
||||
}
|
||||
|
||||
type AdvancedStory = {
|
||||
introduction?: Introduction;
|
||||
places: AdvancedPlace[];
|
||||
}
|
||||
|
||||
@@ -148,19 +151,23 @@ useSimplePolling(() => {
|
||||
<GameInputForm :addAction="addAction" :allPlacesCount="story.places.length" :newPlacesCount="newPlacesCount"
|
||||
:gameStatus="game?.status || ''"></GameInputForm>
|
||||
|
||||
<IntroBlock
|
||||
v-if="game?.status && game.status != 'draft' && story.introduction && (story.introduction.text || story.introduction.audio)"
|
||||
:introduction="story.introduction" mode="show">
|
||||
</IntroBlock>
|
||||
|
||||
<PlaceBlock :place="advancedPlace.place" v-model:mode="advancedPlace.mode"
|
||||
v-for="advancedPlace in story.places" v-bind:key="advancedPlace.place.code" :addAction="addAction">
|
||||
</PlaceBlock>
|
||||
|
||||
<MessagePaper class="qr-main-block" v-if="story.places.length == 0">
|
||||
<MessagePaper class="qr-main-block" v-if="story.places.length == 0 && game?.status == 'draft'">
|
||||
<n-space vertical>
|
||||
<h2 class="qr-main-block-text">Это код этого дела</h2>
|
||||
<p class="qr-main-block-text">Поделись с командой</p>
|
||||
<div class="qr-block">
|
||||
<n-qr-code :value="url" :size="300" :padding="0" />
|
||||
</div>
|
||||
<p v-if="game?.status == 'draft'" class="qr-main-block-text">Игра скоро начнется</p>
|
||||
<p v-if="game?.status == 'run'" class="qr-main-block-text">Игра началась!!!</p>
|
||||
<p class="qr-main-block-text">Игра скоро начнется</p>
|
||||
</n-space>
|
||||
</MessagePaper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user