Skip to content

Commit f2ebae9

Browse files
chore: wip
1 parent 1d03c0f commit f2ebae9

File tree

7 files changed

+329
-0
lines changed

7 files changed

+329
-0
lines changed

.stacks/stacks/dashboard/src/components/Sidebar.vue

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,117 @@
6666
Deployments
6767
</router-link>
6868
</li>
69+
<li>
70+
<router-link
71+
to="/commands"
72+
class="sidebar-links group"
73+
>
74+
<svg
75+
class="h-6 w-6 shrink-0 group-hover:text-indigo-600"
76+
fill="none"
77+
viewBox="0 0 24 24"
78+
stroke-width="1.5"
79+
stroke="currentColor"
80+
aria-hidden="true"
81+
>
82+
<path
83+
stroke-linecap="round"
84+
stroke-linejoin="round"
85+
d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"
86+
/>
87+
</svg>
88+
Commands
89+
</router-link>
90+
</li>
91+
<li>
92+
<router-link
93+
to="/dns"
94+
class="sidebar-links group"
95+
>
96+
<svg
97+
class="h-6 w-6 shrink-0 group-hover:text-indigo-600"
98+
fill="none"
99+
viewBox="0 0 24 24"
100+
stroke-width="1.5"
101+
stroke="currentColor"
102+
aria-hidden="true"
103+
>
104+
<path
105+
stroke-linecap="round"
106+
stroke-linejoin="round"
107+
d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"
108+
/>
109+
</svg>
110+
DNS
111+
</router-link>
112+
</li>
113+
<li>
114+
<router-link
115+
to="/environment"
116+
class="sidebar-links group"
117+
>
118+
<svg
119+
class="h-6 w-6 shrink-0 group-hover:text-indigo-600"
120+
fill="none"
121+
viewBox="0 0 24 24"
122+
stroke-width="1.5"
123+
stroke="currentColor"
124+
aria-hidden="true"
125+
>
126+
<path
127+
stroke-linecap="round"
128+
stroke-linejoin="round"
129+
d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"
130+
/>
131+
</svg>
132+
Environment
133+
</router-link>
134+
</li>
135+
<li>
136+
<router-link
137+
to="/queue"
138+
class="sidebar-links group"
139+
>
140+
<svg
141+
class="h-6 w-6 shrink-0 group-hover:text-indigo-600"
142+
fill="none"
143+
viewBox="0 0 24 24"
144+
stroke-width="1.5"
145+
stroke="currentColor"
146+
aria-hidden="true"
147+
>
148+
<path
149+
stroke-linecap="round"
150+
stroke-linejoin="round"
151+
d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"
152+
/>
153+
</svg>
154+
Queue
155+
</router-link>
156+
</li>
157+
158+
<li>
159+
<router-link
160+
to="/library"
161+
class="sidebar-links group"
162+
>
163+
<svg
164+
class="h-6 w-6 shrink-0 group-hover:text-indigo-600"
165+
fill="none"
166+
viewBox="0 0 24 24"
167+
stroke-width="1.5"
168+
stroke="currentColor"
169+
aria-hidden="true"
170+
>
171+
<path
172+
stroke-linecap="round"
173+
stroke-linejoin="round"
174+
d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"
175+
/>
176+
</svg>
177+
Library
178+
</router-link>
179+
</li>
69180
<li>
70181
<router-link
71182
to="/health"
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
<template>
2+
<div class="px-4 sm:px-6 lg:px-8 py-8">
3+
<form class="rounded-lg bg-white px-6 py-4 text-sm dark:bg-gray-800">
4+
<div class="flex items-center justify-between">
5+
<h5 class="forge-h5">
6+
Commands
7+
</h5>
8+
</div>
9+
<div class="py-2">
10+
<div class="bg-gray-50 text-gray-600 dark:bg-gray-700 dark:text-gray-400 flex flex-row rounded-lg p-4 text-sm">
11+
<svg
12+
xmlns="http://www.w3.org/2000/svg"
13+
fill="none"
14+
viewBox="0 0 24 24"
15+
stroke-width="1.5"
16+
stroke="currentColor"
17+
class="text-gray-400 h-6 flex-shrink-0"
18+
><path
19+
stroke-linecap="round"
20+
stroke-linejoin="round"
21+
d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
22+
/></svg><div class="ml-4 mt-0.5 flex flex-grow">
23+
<p class="">
24+
Stacks allows you to easily execute arbitrary commands on your server. All commands are executed from within the site's root directory <br> Commands will be executed as the <code class="text-red-400">stacks</code> user and may run for two minutes before timing out.
25+
</p>
26+
</div>
27+
</div>
28+
<div class="mt-4 flex flex-col">
29+
<label>Command</label><div class="mt-1 flex flex-col">
30+
<input
31+
type="text"
32+
class="block w-full px-4 py-2 text-gray-900 border border-gray-300 rounded-md shadow-sm required:border-red-500 dark:bg-gray-700 dark:text-gray-200 dark:text-gray-100 focus:border-teal-500 dark:border-gray-600 focus:outline-none focus:ring-2"
33+
list="artisanCommands"
34+
placeholder="ls -la"
35+
autocorrect="off"
36+
><datalist id="artisanCommands">
37+
<option value="php artisan cache:clear" /><option value="php artisan config:clear" /><option value="php artisan route:clear" /><option value="php artisan view:clear" /><option value="php artisan migrate --force" /><option value="php artisan migrate:fresh" /><option value="php artisan storage:link" /><option value="cd /home/forge/carefreeagency.com/current &amp;&amp; php artisan scout:import &quot;App\User&quot;" /><option value="cd /home/forge/carefreeagency.com/current &amp;&amp; php artisan scout:flush &quot;App\User&quot;" /><option value="cd /home/forge/carefreeagency.com/current &amp;&amp; php artisan scout:import &quot;App\Event&quot;" /><option value="cd /home/forge/carefreeagency.com/current &amp;&amp; php artisan scout:flush &quot;App\Event&quot;" /><option value="cd /home/forge/carefreeagency.com/current &amp;&amp; php artisan sync:sf-users" />
38+
</datalist>
39+
</div>
40+
</div>
41+
</div>
42+
<div>
43+
<div class="mt-4 flex justify-end">
44+
<button
45+
type="button"
46+
class="rounded bg-indigo-600 px-2 py-1 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
47+
>
48+
Submit
49+
</button>
50+
</div>
51+
</div>
52+
</form>
53+
54+
<div class="rounded-lg bg-white px-6 py-4 text-sm dark:bg-gray-800 mt-16">
55+
<div class="sm:flex sm:items-center">
56+
<div class="sm:flex-auto">
57+
<h1 class="text-base font-semibold leading-6 text-gray-900">
58+
History
59+
</h1>
60+
</div>
61+
</div>
62+
<div class="mt-8 flow-root">
63+
<div class="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
64+
<div class="inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8">
65+
<table class="min-w-full divide-y divide-gray-300">
66+
<thead>
67+
<tr>
68+
<th
69+
scope="col"
70+
class="py-3 pl-4 pr-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 sm:pl-0"
71+
>
72+
User
73+
</th>
74+
<th
75+
scope="col"
76+
class="px-3 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500"
77+
>
78+
Command
79+
</th>
80+
<th
81+
scope="col"
82+
class="px-3 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500"
83+
>
84+
Time
85+
</th>
86+
<th
87+
scope="col"
88+
class="px-3 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500"
89+
>
90+
Duration
91+
</th>
92+
<th
93+
scope="col"
94+
class="px-3 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500"
95+
>
96+
Status
97+
</th>
98+
<th
99+
scope="col"
100+
class="relative py-3 pl-3 pr-4 sm:pr-0"
101+
>
102+
<span class="sr-only">Edit</span>
103+
</th>
104+
</tr>
105+
</thead>
106+
<tbody class="divide-y divide-gray-200 bg-white">
107+
<tr>
108+
<td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-0">
109+
Chris Breuer
110+
</td>
111+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
112+
cd /home/forge/carefreeagency.com/current && php artisan scout:import "App\User"
113+
</td>
114+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
115+
3 hours ago
116+
</td>
117+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
118+
30s
119+
</td>
120+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
121+
Finished
122+
</td>
123+
<td class="relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-0">
124+
<a
125+
href="#"
126+
class="text-indigo-600 hover:text-indigo-900"
127+
>Edit<span class="sr-only">, Lindsay Walton</span></a>
128+
</td>
129+
</tr>
130+
<tr>
131+
<td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-0">
132+
Chris Breuer
133+
</td>
134+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
135+
cd /home/forge/carefreeagency.com/current && php artisan scout:import "App\User"
136+
</td>
137+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
138+
3 hours ago
139+
</td>
140+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
141+
30s
142+
</td>
143+
<td class="whitespace-nowrap px-3 py-4 text-sm text-gray-500">
144+
Finished
145+
</td>
146+
<td class="relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-0">
147+
<a
148+
href="#"
149+
class="text-indigo-600 hover:text-indigo-900"
150+
>Edit<span class="sr-only">, Lindsay Walton</span></a>
151+
</td>
152+
</tr>
153+
</tbody>
154+
</table>
155+
</div>
156+
</div>
157+
</div>
158+
</div>
159+
</div>
160+
</template>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<div>DNS</div>
3+
</template>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<template>
2+
<div class="px-4 sm:px-6 lg:px-8 py-8">
3+
<form class="rounded-lg bg-white px-6 py-4 text-sm dark:bg-gray-800">
4+
<div class="flex items-center justify-between">
5+
<h5 class="forge-h5">
6+
Commands
7+
</h5>
8+
</div>
9+
<div class="py-2">
10+
<div class="bg-gray-50 text-gray-600 dark:bg-gray-700 dark:text-gray-400 flex flex-row rounded-lg p-4 text-sm">
11+
<svg
12+
xmlns="http://www.w3.org/2000/svg"
13+
fill="none"
14+
viewBox="0 0 24 24"
15+
stroke-width="1.5"
16+
stroke="currentColor"
17+
class="text-gray-400 h-6 flex-shrink-0"
18+
><path
19+
stroke-linecap="round"
20+
stroke-linejoin="round"
21+
d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
22+
/></svg><div class="ml-4 mt-0.5 flex flex-grow">
23+
<p class="">
24+
Below you may edit the <code class="text-red-400">.env</code> file for your application, which is the default environment file that is loaded by Laravel applications. If the application is uninstalled, the environment file will also be removed.
25+
</p>
26+
</div>
27+
</div>
28+
</div>
29+
<div>
30+
Env section here
31+
</div>
32+
<div>
33+
<div class="mt-4 flex justify-end">
34+
<button
35+
type="button"
36+
class="rounded bg-indigo-600 px-2 py-1 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
37+
>
38+
Save
39+
</button>
40+
</div>
41+
</div>
42+
</form>
43+
</div>
44+
</template>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<div>Library</div>
3+
</template>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<div>Queue</div>
3+
</template>

.stacks/stacks/dashboard/typed-router.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,13 @@ import type {
4040
declare module 'vue-router/auto/routes' {
4141
export interface RouteNamedMap {
4242
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
43+
'/commands/': RouteRecordInfo<'/commands/', '/commands', Record<never, never>, Record<never, never>>,
4344
'/deployments/': RouteRecordInfo<'/deployments/', '/deployments', Record<never, never>, Record<never, never>>,
45+
'/dns/': RouteRecordInfo<'/dns/', '/dns', Record<never, never>, Record<never, never>>,
46+
'/environment/': RouteRecordInfo<'/environment/', '/environment', Record<never, never>, Record<never, never>>,
4447
'/health/': RouteRecordInfo<'/health/', '/health', Record<never, never>, Record<never, never>>,
48+
'/library/': RouteRecordInfo<'/library/', '/library', Record<never, never>, Record<never, never>>,
49+
'/queue/': RouteRecordInfo<'/queue/', '/queue', Record<never, never>, Record<never, never>>,
4550
}
4651
}
4752

0 commit comments

Comments
 (0)