summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/components/terminal/view.vue
blob: db97e95eed995b002edb2a7dea7d877283fd7b8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<script>
import { mapActions, mapGetters, mapState } from 'vuex';
import EmptyState from './empty_state.vue';
import TerminalSession from './session.vue';

export default {
  components: {
    EmptyState,
    TerminalSession,
  },
  computed: {
    ...mapState('terminal', ['isShowSplash', 'paths']),
    ...mapGetters('terminal', ['allCheck']),
  },
  methods: {
    ...mapActions('terminal', ['startSession', 'hideSplash']),
    start() {
      this.startSession();
      this.hideSplash();
    },
  },
};
</script>

<template>
  <div class="h-100">
    <div v-if="isShowSplash" class="h-100 d-flex flex-column justify-content-center">
      <empty-state
        :is-loading="allCheck.isLoading"
        :is-valid="allCheck.isValid"
        :message="allCheck.message"
        :help-path="paths.webTerminalHelpPath"
        :illustration-path="paths.webTerminalSvgPath"
        @start="start()"
      />
    </div>
    <template v-else>
      <terminal-session />
    </template>
  </div>
</template>