aboutsummaryrefslogtreecommitdiff
path: root/src-vue
diff options
context:
space:
mode:
Diffstat (limited to 'src-vue')
-rw-r--r--src-vue/src/components/PlayButton.vue49
-rw-r--r--src-vue/src/views/PlayView.vue31
2 files changed, 54 insertions, 26 deletions
diff --git a/src-vue/src/components/PlayButton.vue b/src-vue/src/components/PlayButton.vue
new file mode 100644
index 00000000..0cb75c94
--- /dev/null
+++ b/src-vue/src/components/PlayButton.vue
@@ -0,0 +1,49 @@
+<script lang="ts">
+import { NorthstarState } from '../utils/NorthstarState';
+
+export default {
+ name: 'PlayButton',
+ data() {},
+ computed: {
+ playButtonLabel(): string {
+ if (this.$store.state.northstar_is_running) {
+ return "Game is running";
+ }
+
+ switch(this.$store.state.northstar_state) {
+ case NorthstarState.INSTALL:
+ return "Install";
+ case NorthstarState.INSTALLING:
+ return "Installing..."
+ case NorthstarState.MUST_UPDATE:
+ return "Update";
+ case NorthstarState.UPDATING:
+ return "Updating...";
+ case NorthstarState.READY_TO_PLAY:
+ return "Launch game";
+
+ default:
+ return "";
+ }
+ }
+ },
+ methods: {
+ launchGame() {
+ this.$store.commit('launchGame');
+ }
+ }
+};
+</script>
+
+<template>
+ <el-button :disabled="northstarIsRunning" type="primary" size="large" @click="launchGame" class="fc_launch__button">
+ {{ playButtonLabel }}
+ </el-button>
+</template>
+
+<style scoped>
+.fc_launch__button:focus {
+ background-color: var(--el-color-primary);
+ border-color: var(--el-color-primary);
+}
+</style>
diff --git a/src-vue/src/views/PlayView.vue b/src-vue/src/views/PlayView.vue
index 03f54936..5042a127 100644
--- a/src-vue/src/views/PlayView.vue
+++ b/src-vue/src/views/PlayView.vue
@@ -1,7 +1,7 @@
<script lang="ts">
import { ElNotification } from 'element-plus';
-import { NorthstarState } from '../utils/NorthstarState';
import {Tabs} from "../utils/Tabs";
+import PlayButton from '../components/PlayButton.vue';
export default {
data() {
@@ -9,6 +9,9 @@ export default {
developerModeClicks: 0
}
},
+ components: {
+ PlayButton
+ },
computed: {
northstarIsRunning(): boolean {
return this.$store.state.northstar_is_running;
@@ -16,24 +19,6 @@ export default {
northstarVersion(): string {
return this.$store.state.installed_northstar_version;
},
- playButtonLabel(): string {
- if (this.$store.state.northstar_is_running) {
- return "Game is running";
- }
-
- switch(this.$store.state.northstar_state) {
- case NorthstarState.INSTALL:
- return "Install";
- case NorthstarState.INSTALLING:
- return "Installing..."
- case NorthstarState.MUST_UPDATE:
- return "Update";
- case NorthstarState.UPDATING:
- return "Updating...";
- case NorthstarState.READY_TO_PLAY:
- return "Launch game";
- }
- }
},
methods: {
activateDeveloperMode() {
@@ -52,10 +37,6 @@ export default {
showChangelogPage() {
this.$store.commit('updateCurrentTab', Tabs.CHANGELOG);
- },
-
- launchGame() {
- this.$store.commit('launchGame');
}
}
};
@@ -73,9 +54,7 @@ export default {
</div>
</div>
<div>
- <el-button :disabled="northstarIsRunning" type="primary" size="large" @click="launchGame" class="fc_launch__button">
- {{ playButtonLabel }}
- </el-button>
+ <PlayButton/>
<div v-if="$store.state.developer_mode" id="fc_services__status">
<div>
<div class="fc_version__line">Northstar is running: </div>