<.form
for={@form}
id="check-form"
phx-target={@myself}
phx-change="validate"
phx-submit="save"
>
Add Service Check
<.icon name="hero-x-mark" class="h-6 w-6" />
Check Type
<.input
field={@form[:check_type]}
type="select"
options={[
{"HTTP/HTTPS Check", "http"},
{"TCP Port Check", "tcp"},
{"DNS Check", "dns"}
]}
phx-change="change_type"
phx-target={@myself}
/>
<.input
field={@form[:name]}
type="text"
label="Check Name"
placeholder="e.g., Web Server Check"
/>
<%= case @selected_type do %>
<% "http" -> %>
{render_http_fields(assigns)}
<% "tcp" -> %>
{render_tcp_fields(assigns)}
<% "dns" -> %>
{render_dns_fields(assigns)}
<% _ -> %>
Select a check type to configure
<% end %>
<.input
field={@form[:interval_seconds]}
type="number"
label="Interval (seconds)"
/>
<.input field={@form[:timeout_ms]} type="number" label="Timeout (ms)" />
<.button type="submit" phx-disable-with="Creating...">
Create Check
<.button
type="button"
phx-click="close"
phx-target={@myself}
class="bg-white dark:bg-gray-700"
>
Cancel