aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/GetStarted.vue35
-rw-r--r--src/components/services/Portainer.vue25
2 files changed, 52 insertions, 8 deletions
diff --git a/src/components/GetStarted.vue b/src/components/GetStarted.vue
new file mode 100644
index 0000000..dcabc02
--- /dev/null
+++ b/src/components/GetStarted.vue
@@ -0,0 +1,35 @@
1<template>
2 <article>
3 <div class="m-6 has-text-centered py-6">
4 <p class="is-size-5 mb-0">No configured service found!</p>
5 <p>Check out the documentation to start building your Homer dashboard.</p>
6 <p>
7 <a
8 class="button is-primary mt-5 has-text-weight-bold"
9 href="https://github.com/bastienwirtz/homer/blob/main/README.md#getting-started"
10 target="_blank"
11 >
12 Get started
13 </a>
14 </p>
15 </div>
16 </article>
17</template>
18
19<script>
20export default {
21 name: "GetStarted",
22};
23</script>
24
25<style lang="scss" scoped>
26p {
27 color: #4a4a4a;
28}
29
30body #app a {
31 font-weight: 900;
32 color: #ffffff;
33 font-family: "Lato", sans-serif;
34}
35</style>
diff --git a/src/components/services/Portainer.vue b/src/components/services/Portainer.vue
index 176d92e..c7e9962 100644
--- a/src/components/services/Portainer.vue
+++ b/src/components/services/Portainer.vue
@@ -8,7 +8,11 @@
8 <strong v-if="dead > 0" class="notif dead" title="Dead"> 8 <strong v-if="dead > 0" class="notif dead" title="Dead">
9 {{ dead }} 9 {{ dead }}
10 </strong> 10 </strong>
11 <strong v-if="misc > 0" class="notif misc" title="Other (creating, paused, exited, etc.)"> 11 <strong
12 v-if="misc > 0"
13 class="notif misc"
14 title="Other (creating, paused, exited, etc.)"
15 >
12 {{ misc }} 16 {{ misc }}
13 </strong> 17 </strong>
14 </div> 18 </div>
@@ -55,7 +59,10 @@ export default {
55 return ""; 59 return "";
56 } 60 }
57 return this.containers.filter((container) => { 61 return this.containers.filter((container) => {
58 return container.State.toLowerCase() !== "running" && container.State.toLowerCase() !== "dead"; 62 return (
63 container.State.toLowerCase() !== "running" &&
64 container.State.toLowerCase() !== "dead"
65 );
59 }).length; 66 }).length;
60 }, 67 },
61 }, 68 },
@@ -68,18 +75,20 @@ export default {
68 "X-Api-Key": this.item.apikey, 75 "X-Api-Key": this.item.apikey,
69 }; 76 };
70 77
71 this.endpoints = await this.fetch("/api/endpoints", { headers }) 78 this.endpoints = await this.fetch("/api/endpoints", { headers }).catch(
72 .catch((e) => { 79 (e) => {
73 console.error(e); 80 console.error(e);
74 }); 81 }
82 );
75 83
76 let containers = []; 84 let containers = [];
77 for (let endpoint of this.endpoints) { 85 for (let endpoint of this.endpoints) {
78 const uri = `/api/endpoints/${endpoint.Id}/docker/containers/json?all=1`; 86 const uri = `/api/endpoints/${endpoint.Id}/docker/containers/json?all=1`;
79 const endpointContainers = await this.fetch(uri, { headers }) 87 const endpointContainers = await this.fetch(uri, { headers }).catch(
80 .catch((e) => { 88 (e) => {
81 console.error(e); 89 console.error(e);
82 }); 90 }
91 );
83 92
84 containers = containers.concat(endpointContainers); 93 containers = containers.concat(endpointContainers);
85 } 94 }