32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
package components
|
|
|
|
import "gitea.henriburau.de/haw-lan/cod4watcher/models"
|
|
import "gitea.henriburau.de/haw-lan/cod4watcher/views"
|
|
import "fmt"
|
|
import "net/url"
|
|
|
|
templ CaptureCard(capture models.Capture) {
|
|
<div class="block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700">
|
|
<a href={ templ.URL(fmt.Sprintf("/captures/%d", capture.ID)) }>
|
|
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">{ capture.Name }</h5>
|
|
</a>
|
|
<p class="font-normal text-gray-700 dark:text-gray-400">{ capture.Host }:{ capture.Port }</p>
|
|
<div
|
|
hx-get={ fmt.Sprintf("/server/status?host=%s&port=%s", url.QueryEscape(capture.Host), url.QueryEscape(capture.Port)) }
|
|
hx-trigger="load, every 20s"
|
|
>
|
|
Loading Server status...
|
|
</div>
|
|
if views.Username(ctx) != "" {
|
|
<div class="mt-4">
|
|
@IconButtonRed("fa-solid fa-trash", fmt.Sprintf("/captures/%d", capture.ID))
|
|
if capture.Active {
|
|
@IconButton("fa-solid fa-stop", fmt.Sprintf("/captures/%d/stop", capture.ID))
|
|
} else {
|
|
@IconButton("fa-solid fa-play", fmt.Sprintf("/captures/%d/start", capture.ID))
|
|
}
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|