From d209b3295a03df2feb478956ee6910a3a4b50791 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sun, 4 Jan 2026 13:34:02 -0600 Subject: [PATCH] Add danger variant for delete buttons Added a new 'danger' button variant to the button component for destructive actions like deleting equipment or sites. Changes: - Added 'danger' variant to button component (red background/hover) - Updated equipment delete button to use variant="danger" - Updated site delete button to use variant="danger" - Removed custom red color classes in favor of standardized variant This provides consistent styling for all delete/destructive actions across the application while maintaining proper button base styles (padding, rounded corners, shadow, focus ring, etc). --- lib/towerops_web/components/core_components.ex | 3 ++- lib/towerops_web/live/equipment_live/form.html.heex | 2 +- lib/towerops_web/live/site_live/form.html.heex | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/towerops_web/components/core_components.ex b/lib/towerops_web/components/core_components.ex index 2bbf9c90..d8dd3d53 100644 --- a/lib/towerops_web/components/core_components.ex +++ b/lib/towerops_web/components/core_components.ex @@ -130,12 +130,13 @@ defmodule ToweropsWeb.CoreComponents do """ attr :rest, :global, include: ~w(href navigate patch method download name value disabled) attr :class, :any - attr :variant, :string, values: ~w(primary) + attr :variant, :string, values: ~w(primary danger) slot :inner_block, required: true def button(%{rest: rest} = assigns) do variants = %{ "primary" => "bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500 dark:bg-blue-500 dark:hover:bg-blue-600", + "danger" => "bg-red-600 text-white hover:bg-red-700 focus:ring-red-500 dark:bg-red-500 dark:hover:bg-red-600", nil => "bg-white text-zinc-900 ring-1 ring-inset ring-zinc-300 hover:bg-zinc-50 focus:ring-blue-500 dark:bg-zinc-800 dark:text-zinc-100 dark:ring-zinc-700 dark:hover:bg-zinc-700" } diff --git a/lib/towerops_web/live/equipment_live/form.html.heex b/lib/towerops_web/live/equipment_live/form.html.heex index 777b2657..718fb6d4 100644 --- a/lib/towerops_web/live/equipment_live/form.html.heex +++ b/lib/towerops_web/live/equipment_live/form.html.heex @@ -109,7 +109,7 @@ <.button phx-click="delete" data-confirm="Are you sure you want to delete this equipment? All monitoring history and alerts will be permanently deleted." - class="bg-red-600 text-white hover:bg-red-700 focus:ring-red-500 dark:bg-red-500 dark:hover:bg-red-600" + variant="danger" > <.icon name="hero-trash" class="h-4 w-4" /> Delete Equipment diff --git a/lib/towerops_web/live/site_live/form.html.heex b/lib/towerops_web/live/site_live/form.html.heex index 71ac4e5a..ce3fa3c6 100644 --- a/lib/towerops_web/live/site_live/form.html.heex +++ b/lib/towerops_web/live/site_live/form.html.heex @@ -39,7 +39,7 @@ <.button phx-click="delete" data-confirm="Are you sure you want to delete this site? This will also delete all equipment at this site." - class="bg-red-600 text-white hover:bg-red-700 focus:ring-red-500 dark:bg-red-500 dark:hover:bg-red-600" + variant="danger" > <.icon name="hero-trash" class="h-4 w-4" /> Delete Site