10
10
</div >
11
11
</div >
12
12
<div class =" pb-4" >Deploy resources, like Applications, Databases, Services...</div >
13
- <div class = " flex flex-col gap-4 py-4 " x-data =" searchResources()" >
13
+ <div x-data =" searchResources()" >
14
14
@if ($current_step === ' type' )
15
15
<div class =" sticky top-0 z-50 py-2" >
16
16
<input autocomplete =" off" x-ref =" searchInput" class =" input w-full" x-model =" search"
17
17
placeholder =" Type / to search..." @keydown .window.slash.prevent =" $refs.searchInput.focus()" >
18
18
</div >
19
19
<div x-show =" loading" >Loading...</div >
20
- <h2 x-show =" filteredGitBasedApplications.length > 0" >Applications</h2 >
21
- <h4 x-show =" filteredGitBasedApplications.length > 0" >Git Based</h4 >
22
- <div x-show =" filteredGitBasedApplications.length > 0"
23
- class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-1" >
24
- <template x-for =" application in filteredGitBasedApplications" :key =" application.name" >
25
- <div x-on:click =' setType(application.id)' >
26
- <x-resource-view >
27
- <x-slot:title ><span x-text =" application.name" ></span ></x-slot >
28
- <x-slot:description >
29
- <span x-html =" application.description" ></span >
30
- </x-slot >
31
- <x-slot:logo >
32
- <img class =" w-[4.5rem]
33
- aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100 "
34
- :src =" application.logo" >
35
- </x-slot:logo >
36
- </x-resource-view >
37
- </div >
38
- </template >
39
- </div >
40
- <h4 x-show =" filteredDockerBasedApplications.length > 0" >Docker Based</h4 >
41
- <div x-show =" filteredDockerBasedApplications.length > 0"
42
- class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-3" >
43
- <template x-for =" application in filteredDockerBasedApplications" :key =" application.name" >
44
- <div x-on:click =" setType(application.id)" >
45
- <x-resource-view >
46
- <x-slot:title ><span x-text =" application.name" ></span ></x-slot >
47
- <x-slot:description ><span x-text =" application.description" ></span ></x-slot >
48
- <x-slot:logo > <img
49
- class =" w-[4.5rem]
50
- aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100 "
51
- :src =" application.logo" ></x-slot >
52
- </x-resource-view >
53
- </div >
54
- </template >
55
- </div >
56
- <h2 x-show =" filteredDatabases.length > 0" >Databases</h2 >
57
- <div x-show =" filteredDatabases.length > 0"
58
- class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-2" >
59
- <template x-for =" database in filteredDatabases" :key =" database.id" >
60
- <div x-on:click =" setType(database.id)" >
61
- <x-resource-view >
62
- <x-slot:title ><span x-text =" database.name" ></span ></x-slot >
63
- <x-slot:description ><span x-text =" database.description" ></span ></x-slot >
64
- <x-slot:logo >
65
- <span x-show =" database.logo" >
66
- <span x-html =" database.logo" ></span >
67
- </span >
68
- </x-slot >
69
- </x-resource-view >
70
- </div >
71
- </template >
72
- </div >
73
- <div x-show =" filteredServices.length > 0" >
74
- <div class =" flex items-center gap-4" x-init =" loadResources" >
75
- <h2 >Services</h2 >
76
- <x-forms .button x-on:click =" loadResources" >Reload List</x-forms .button >
77
- </div >
78
- <div class =" pb-4 text-xs" >Trademarks Policy: The respective trademarks mentioned here are owned by the
79
- respective
80
- companies, and use of them does not imply any affiliation or endorsement.<br >Find more services <a
81
- class =" dark:text-white underline" target =" _blank"
82
- href =" https://coolify.io/docs/services" >here</a >.</div >
83
-
84
- <div class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-2" >
85
- <template x-for =" service in filteredServices" :key =" service.name" >
86
- <div x-on:click =" setType('one-click-service-' + service.name)" >
20
+ <div x-show =" !loading" class =" flex flex-col gap-4 py-4" >
21
+ <h2 x-show =" filteredGitBasedApplications.length > 0" >Applications</h2 >
22
+ <h4 x-show =" filteredGitBasedApplications.length > 0" >Git Based</h4 >
23
+ <div x-show =" filteredGitBasedApplications.length > 0"
24
+ class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-1" >
25
+ <template x-for =" application in filteredGitBasedApplications" :key =" application.name" >
26
+ <div x-on:click =' setType(application.id)' >
87
27
<x-resource-view >
88
- <x-slot:title >
89
- <template x-if =" service.name" >
90
- <span x-text =" service.name" ></span >
91
- </template >
92
- </x-slot >
28
+ <x-slot:title ><span x-text =" application.name" ></span ></x-slot >
93
29
<x-slot:description >
94
- <template x-if =" service.slogan" >
95
- <span x-text =" service.slogan" ></span >
96
- </template >
30
+ <span x-html =" application.description" ></span >
97
31
</x-slot >
98
32
<x-slot:logo >
99
- <template x-if =" service.logo" >
100
- <img class =" w-[4.5rem] aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100"
101
- :src =' service.logo' >
102
- </template >
33
+ <img class =" w-[4.5rem]
34
+ aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100 "
35
+ :src =" application.logo" >
103
36
</x-slot:logo >
104
- <x-slot:documentation >
105
- <template x-if =" service.documentation" >
106
- <div class =" flex items-center px-2" title =" Read the documentation." >
107
- <a class =" p-2 rounded hover:bg-coolgray-200 hover:no-underline group-hover:dark:text-white text-neutral-600"
108
- onclick =" event.stopPropagation()" :href =" service.documentation"
109
- target =" _blank" >
110
- Docs
111
- </a >
112
- </div >
113
- </template >
114
- </x-slot:documentation >
115
37
</x-resource-view >
116
38
</div >
117
39
</template >
118
40
</div >
119
- </div >
120
- <div
121
- x-show =" filteredGitBasedApplications.length === 0 && filteredDockerBasedApplications.length === 0 && filteredDatabases.length === 0 && filteredServices.length === 0 && loading === false" >
122
- <div >No resources found.</div >
41
+ <h4 x-show =" filteredDockerBasedApplications.length > 0" >Docker Based</h4 >
42
+ <div x-show =" filteredDockerBasedApplications.length > 0"
43
+ class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-3" >
44
+ <template x-for =" application in filteredDockerBasedApplications" :key =" application.name" >
45
+ <div x-on:click =" setType(application.id)" >
46
+ <x-resource-view >
47
+ <x-slot:title ><span x-text =" application.name" ></span ></x-slot >
48
+ <x-slot:description ><span x-text =" application.description" ></span ></x-slot >
49
+ <x-slot:logo > <img
50
+ class =" w-[4.5rem]
51
+ aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100 "
52
+ :src =" application.logo" ></x-slot >
53
+ </x-resource-view >
54
+ </div >
55
+ </template >
56
+ </div >
57
+ <h2 x-show =" filteredDatabases.length > 0" >Databases</h2 >
58
+ <div x-show =" filteredDatabases.length > 0"
59
+ class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-2" >
60
+ <template x-for =" database in filteredDatabases" :key =" database.id" >
61
+ <div x-on:click =" setType(database.id)" >
62
+ <x-resource-view >
63
+ <x-slot:title ><span x-text =" database.name" ></span ></x-slot >
64
+ <x-slot:description ><span x-text =" database.description" ></span ></x-slot >
65
+ <x-slot:logo >
66
+ <span x-show =" database.logo" >
67
+ <span x-html =" database.logo" ></span >
68
+ </span >
69
+ </x-slot >
70
+ </x-resource-view >
71
+ </div >
72
+ </template >
73
+ </div >
74
+ <div x-show =" filteredServices.length > 0" >
75
+ <div class =" flex items-center gap-4" x-init =" loadResources" >
76
+ <h2 >Services</h2 >
77
+ <x-forms .button x-on:click =" loadResources" >Reload List</x-forms .button >
78
+ </div >
79
+ <div class =" pb-4 text-xs" >Trademarks Policy: The respective trademarks mentioned here are owned by
80
+ the
81
+ respective
82
+ companies, and use of them does not imply any affiliation or endorsement.<br >Find more services
83
+ <a class =" dark:text-white underline" target =" _blank"
84
+ href =" https://coolify.io/docs/services" >here</a >.
85
+ </div >
86
+
87
+ <div class =" grid justify-start grid-cols-1 gap-4 text-left xl:grid-cols-2" >
88
+ <template x-for =" service in filteredServices" :key =" service.name" >
89
+ <div x-on:click =" setType('one-click-service-' + service.name)" >
90
+ <x-resource-view >
91
+ <x-slot:title >
92
+ <template x-if =" service.name" >
93
+ <span x-text =" service.name" ></span >
94
+ </template >
95
+ </x-slot >
96
+ <x-slot:description >
97
+ <template x-if =" service.slogan" >
98
+ <span x-text =" service.slogan" ></span >
99
+ </template >
100
+ </x-slot >
101
+ <x-slot:logo >
102
+ <template x-if =" service.logo" >
103
+ <img class =" w-[4.5rem] aspect-square h-[4.5rem] p-2 transition-all duration-200 opacity-30 grayscale group-hover:grayscale-0 group-hover:opacity-100"
104
+ :src =' service.logo' >
105
+ </template >
106
+ </x-slot:logo >
107
+ <x-slot:documentation >
108
+ <template x-if =" service.documentation" >
109
+ <div class =" flex items-center px-2" title =" Read the documentation." >
110
+ <a class =" p-2 rounded hover:bg-coolgray-200 hover:no-underline group-hover:dark:text-white text-neutral-600"
111
+ onclick =" event.stopPropagation()" :href =" service.documentation"
112
+ target =" _blank" >
113
+ Docs
114
+ </a >
115
+ </div >
116
+ </template >
117
+ </x-slot:documentation >
118
+ </x-resource-view >
119
+ </div >
120
+ </template >
121
+ </div >
122
+ </div >
123
+ <div
124
+ x-show =" filteredGitBasedApplications.length === 0 && filteredDockerBasedApplications.length === 0 && filteredDatabases.length === 0 && filteredServices.length === 0 && loading === false" >
125
+ <div >No resources found.</div >
126
+ </div >
123
127
</div >
124
128
<script >
125
129
function sortFn (a , b ) {
@@ -144,7 +148,7 @@ function searchResources() {
144
148
gitBasedApplications ,
145
149
dockerBasedApplications ,
146
150
databases
147
- } = await this .$wire .loadServices2 ();
151
+ } = await this .$wire .loadServices ();
148
152
this .services = services;
149
153
this .gitBasedApplications = gitBasedApplications;
150
154
this .dockerBasedApplications = dockerBasedApplications;
0 commit comments