1
1
<script setup>
2
2
import AppLayout from " @/Layouts/AppLayout.vue" ;
3
- import NodeStatus from " @/Components/NodeStatus.vue" ;
4
3
import {router } from " @inertiajs/vue3" ;
5
4
import PrimaryButton from " @/Components/PrimaryButton.vue" ;
5
+ import TaskResult from " @/Components/NodeTasks/TaskResult.vue" ;
6
+ import { Link } from ' @inertiajs/vue3' ;
7
+
8
+
9
+ const props = defineProps ({
10
+ ' services' : Array
11
+ })
6
12
</script >
7
13
8
14
<template >
@@ -19,8 +25,45 @@ import PrimaryButton from "@/Components/PrimaryButton.vue";
19
25
20
26
<div class =" py-12" >
21
27
<div class =" max-w-7xl mx-auto sm:px-6 lg:px-8" >
22
- this is your "Services" page.
28
+ <div class =" grid grid-cols-3 gap-4" >
29
+ <div v-for =" service in props.services" :key =" service.id" >
30
+ <div
31
+ class =" bg-white dark:bg-gray-800 shadow sm:rounded-lg"
32
+ >
33
+ <Link :href =" route('services.show', {'service': service.id})" class =" p-4 flex justify-between" >
34
+ <div class =" flex flex-col" >
35
+ <span class =" font-semibold text-lg" >{{ service.name }}</span >
36
+ <span class =" text-sm text-gray-500" >{{ service.latest_deployment.data.dockerImage }}</span >
37
+ </div >
38
+
39
+ <div class =" flex flex-col w-44 overflow-hidden " >
40
+ <span class =" text-sm text-gray-500" >{{ service.latest_deployment.data.internalDomain }}</span >
41
+ <span v-if =" service.latest_deployment.data.caddy[0]"
42
+ class =" text-sm text-gray-400"
43
+ >
44
+ <span v-if =" service.latest_deployment.data.caddy[0].publishedPort === 80" >http://</span >
45
+ <span v-else-if =" service.latest_deployment.data.caddy[0].publishedPort === 443" >https://</span >
46
+ <span class =" text-black" >{{ service.latest_deployment.data.caddy[0].domain }}</span >
47
+ <span >{{ service.latest_deployment.data.caddy[0].path }}</span >
48
+ </span >
49
+ <span v-if =" service.latest_deployment.data.caddy.length > 1"
50
+ class =" text-xs text-gray-400"
51
+ >(+{{ service.latest_deployment.data.caddy.length - 1 }} more)</span >
52
+ </div >
53
+
54
+ <!-- <pre>{{service}}</pre>-->
55
+ </Link >
56
+ <ul v-if =" service.latest_deployment.task_group.latest_task.status !== 'completed'"
23
57
58
+ class =" border-t-2 relative" >
59
+ <TaskResult
60
+ :task =" service.latest_deployment.task_group.latest_task"
61
+ class =" " >
62
+ </TaskResult >
63
+ </ul >
64
+ </div >
65
+ </div >
66
+ </div >
24
67
</div >
25
68
</div >
26
69
</AppLayout >
0 commit comments