|
1 | 1 | <template> |
2 | 2 | <div> |
3 | 3 | <navigation></navigation> |
4 | | - <div class="m-6 flex flex-no-shrink rounded"> |
| 4 | + <div v-if="loadingServerData"> |
| 5 | + <div class="mt-6 h-16"> |
| 6 | + <div class="spinner spinner-xl spinner-thick blue"></div> |
| 7 | + </div> |
| 8 | + </div> |
| 9 | + <div class="m-6 flex flex-no-shrink rounded animate fadein" v-else> |
5 | 10 | <div class="sidebar border-grey-lighter flex-no-shrink w-1/3 max-w-xs"> |
6 | 11 | <div class="mr-6"> |
7 | 12 | <div class="p-6 text-center bg-white border rounded"> |
8 | | - <h3 class="mb-2 text-blue font-medium">Pterodactylcraft</h3> |
9 | | - <span class="text-grey-dark text-sm">Minecraft / Vanilla</span> |
| 13 | + <h3 class="mb-2 text-blue font-medium">{{server.name}}</h3> |
| 14 | + <span class="text-grey-dark text-sm">{{server.node}}</span> |
10 | 15 | </div> |
11 | 16 | <div class="mt-6 p-4 text-center bg-white border rounded"> |
12 | 17 | <button class="btn btn-red uppercase text-xs px-4 py-2">Stop</button> |
|
19 | 24 | <progress-bar title="Disk" percent="97" class="mt-4"></progress-bar> |
20 | 25 | </div> |
21 | 26 | </div> |
22 | | - <div class="pt-6 px-6 pb-4 text-center"> |
23 | | - <!--<div class="mt-8 mb-6 text-grey-dark border-t border-grey-light usage">--> |
24 | | - <!--<div class="mt-8 mb-6 text-grey-dark border-t border-grey-light usage">--> |
25 | | - <!--<span class="bg-grey-lighter">CPU - 2 Cores</span>--> |
26 | | - <!--<div class="rounded border-grey-light border mt-3 h-4">--> |
27 | | - <!--<div class="rounded bg-blue h-4 w-1/6"></div>--> |
28 | | - <!--</div>--> |
29 | | - <!--</div>--> |
30 | | - <!--<div class="my-6 text-grey-dark border-t border-grey-light usage">--> |
31 | | - <!--<span class="bg-grey-lighter">RAM - 4 GB</span>--> |
32 | | - <!--<div class="rounded border-grey-light border mt-3 h-4">--> |
33 | | - <!--<div class="rounded bg-blue h-4 w-2/3"></div>--> |
34 | | - <!--</div>--> |
35 | | - <!--</div>--> |
36 | | - <!--<div class="my-6 text-grey-dark border-t border-grey-light usage">--> |
37 | | - <!--<span class="bg-grey-lighter">Disk - 20 GB</span>--> |
38 | | - <!--<div class="rounded border-grey-light border mt-3 h-4">--> |
39 | | - <!--<div class="rounded bg-blue h-4 w-1/3"></div>--> |
40 | | - <!--</div>--> |
41 | | - <!--</div>--> |
42 | | - <!--</div>--> |
43 | | - </div> |
44 | 27 | <div class="sidenav"> |
45 | | - <router-link :to="{ name: 'server', params: { serverID: this.$route.params.serverID } }"> |
| 28 | + <router-link :to="{ name: 'server', params: { id: this.$route.params.id } }"> |
46 | 29 | <terminal-icon style="height: 1em;"></terminal-icon> |
47 | 30 | Console |
48 | 31 | </router-link> |
|
72 | 55 | </router-link> |
73 | 56 | </div> |
74 | 57 | </div> |
75 | | - <div class="main bg-white p-6 rounded border border-grey-lighter flex-grow"> |
76 | | - <!--h1.text-blue.mb-6 Server Console--> |
77 | | - <router-view></router-view> |
78 | | - </div> |
| 58 | + <div class="main bg-white p-6 rounded border border-grey-lighter flex-grow"> |
| 59 | + <router-view></router-view> |
79 | 60 | </div> |
| 61 | + </div> |
80 | 62 | </div> |
81 | 63 | </template> |
82 | 64 |
|
83 | 65 | <script> |
84 | | - import { TerminalIcon, OctagonIcon, FolderIcon, UsersIcon, CalendarIcon, DatabaseIcon, GlobeIcon, SettingsIcon } from 'vue-feather-icons' |
| 66 | + import { TerminalIcon, FolderIcon, UsersIcon, CalendarIcon, DatabaseIcon, GlobeIcon, SettingsIcon } from 'vue-feather-icons' |
85 | 67 | import ServerConsole from "./ServerConsole"; |
86 | 68 | import Navigation from '../core/Navigation'; |
87 | 69 | import ProgressBar from './components/ProgressBar'; |
| 70 | + import {mapState} from 'vuex'; |
88 | 71 |
|
89 | 72 | export default { |
90 | 73 | components: { |
91 | | - ProgressBar, |
92 | | - OctagonIcon, Navigation, ServerConsole, TerminalIcon, FolderIcon, UsersIcon, |
| 74 | + ProgressBar, Navigation, ServerConsole, TerminalIcon, FolderIcon, UsersIcon, |
93 | 75 | CalendarIcon, DatabaseIcon, GlobeIcon, SettingsIcon |
| 76 | + }, |
| 77 | +
|
| 78 | + computed: { |
| 79 | + ...mapState('server', ['server']), |
| 80 | + }, |
| 81 | +
|
| 82 | + mounted: function () { |
| 83 | + this.loadServer(); |
| 84 | + }, |
| 85 | +
|
| 86 | + data: function () { |
| 87 | + return { |
| 88 | + loadingServerData: true, |
| 89 | + }; |
| 90 | + }, |
| 91 | +
|
| 92 | + methods: { |
| 93 | + loadServer: function () { |
| 94 | + this.$store.dispatch('server/getServer', {server: this.$route.params.id}) |
| 95 | + .then(() => { |
| 96 | + this.loadingServerData = false; |
| 97 | + }) |
| 98 | + .catch(err => { |
| 99 | + console.error(err); |
| 100 | + }); |
| 101 | + }, |
94 | 102 | } |
95 | 103 | } |
96 | 104 | </script> |
0 commit comments