Sharkey/src/client/app/desktop/views/pages/reversi.vue

51 lines
844 B
Vue
Raw Normal View History

2018-03-09 17:48:16 +01:00
<template>
<component :is="ui ? 'mk-ui' : 'div'">
2018-06-17 01:10:54 +02:00
<mk-reversi v-if="!fetching" :init-game="game" @gamed="onGamed"/>
2018-03-09 17:48:16 +01:00
</component>
</template>
<script lang="ts">
import Vue from 'vue';
import Progress from '../../../common/scripts/loading';
export default Vue.extend({
props: {
ui: {
default: false
}
},
data() {
return {
fetching: false,
game: null
};
},
watch: {
$route: 'fetch'
},
created() {
this.fetch();
},
methods: {
fetch() {
if (this.$route.params.game == null) return;
Progress.start();
this.fetching = true;
2018-06-17 01:10:54 +02:00
(this as any).api('reversi/games/show', {
2018-03-29 07:48:47 +02:00
gameId: this.$route.params.game
2018-03-09 17:48:16 +01:00
}).then(game => {
this.game = game;
this.fetching = false;
Progress.done();
});
},
onGamed(game) {
2018-06-17 01:10:54 +02:00
history.pushState(null, null, '/reversi/' + game.id);
2018-03-09 17:48:16 +01:00
}
}
});
</script>