t2/views/capture/capture_card.templ

33 lines
1.3 KiB
Plaintext

package capture
import "gitea.henriburau.de/haw-lan/cod4watcher/models"
import "gitea.henriburau.de/haw-lan/cod4watcher/views"
import "gitea.henriburau.de/haw-lan/cod4watcher/views/components"
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">
@components.IconButtonRed("fa-solid fa-trash", fmt.Sprintf("/captures/%d", capture.ID))
if capture.Active {
@components.IconButton("fa-solid fa-stop", fmt.Sprintf("/captures/%d/stop", capture.ID))
} else {
@components.IconButton("fa-solid fa-play", fmt.Sprintf("/captures/%d/start", capture.ID))
}
</div>
}
</div>
}