diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44aeb35604..37c5369574 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,8 @@ and this project adheres to
### Fixed
+- Fix toggle button not visually disabled
+ [#2976](https://github.com/OpenFn/lightning/issues/2976)
- Dont clear dataclip input when user saves workflow
[#2944](https://github.com/OpenFn/lightning/issues/2944)
diff --git a/lib/lightning_web/components/new_inputs.ex b/lib/lightning_web/components/new_inputs.ex
index 0d18ea83fc..2d67f6c160 100644
--- a/lib/lightning_web/components/new_inputs.ex
+++ b/lib/lightning_web/components/new_inputs.ex
@@ -441,8 +441,6 @@ defmodule LightningWeb.Components.NewInputs do
|> assign_new(:checked, fn ->
Form.normalize_value("checkbox", assigns[:value]) == true
end)
- |> assign_new(:disabled, fn -> false end)
- |> assign_new(:required, fn -> false end)
|> assign_new(:tooltip, fn -> nil end)
~H"""
@@ -471,13 +469,11 @@ defmodule LightningWeb.Components.NewInputs do
value="true"
class="sr-only peer"
checked={@checked}
- disabled={@disabled}
- required={@required}
{@rest}
/>
push_modal_closed(@id, @target)
}
phx-key="escape"
phx-click-away={
@close_on_click_away &&
hide_modal(@on_close, @id)
- |> push_modal_closed(@id, @target)
}
class={[
"hidden relative rounded-xl transition",
@@ -164,14 +160,4 @@ defmodule LightningWeb.Components.Modal do
|> JS.hide(to: "##{id}", transition: {"block", "block", "hidden"})
|> JS.pop_focus()
end
-
- defp push_modal_closed(js, modal_id, nil) do
- js
- |> JS.push("modal_closed", value: %{id: modal_id})
- end
-
- defp push_modal_closed(js, modal_id, target) do
- js
- |> JS.push("modal_closed", value: %{id: modal_id}, target: target)
- end
end
diff --git a/lib/lightning_web/live/dashboard_live/components.ex b/lib/lightning_web/live/dashboard_live/components.ex
index e1c28337a5..2c02158df3 100644
--- a/lib/lightning_web/live/dashboard_live/components.ex
+++ b/lib/lightning_web/live/dashboard_live/components.ex
@@ -72,7 +72,12 @@ defmodule LightningWeb.DashboardLive.Components do
<.modal
id={"arcade-modal-#{@resource.id}"}
- target={"##{@target}"}
+ on_close={
+ JS.push("modal_closed",
+ value: %{id: "arcade-modal-#{@resource.id}"},
+ target: "##{@target}"
+ )
+ }
with_frame={false}
show={true}
width="w-5/6"
diff --git a/test/lightning_web/live/workflow_live/edit_test.exs b/test/lightning_web/live/workflow_live/edit_test.exs
index 26cedd3460..50c0b09d60 100644
--- a/test/lightning_web/live/workflow_live/edit_test.exs
+++ b/test/lightning_web/live/workflow_live/edit_test.exs
@@ -1027,6 +1027,10 @@ defmodule LightningWeb.WorkflowLive.EditTest do
|> element("#toggle-settings")
|> render_click()
+ assert view
+ |> element("#toggle-control-toggle-workflow-logs-btn")
+ |> render() =~ "opacity-50 cursor-not-allowed"
+
assert has_element?(
view,
"#toggle-workflow-logs-btn"
@@ -1060,6 +1064,10 @@ defmodule LightningWeb.WorkflowLive.EditTest do
|> element("#toggle-settings")
|> render_click()
+ refute view
+ |> element("#toggle-control-toggle-workflow-logs-btn")
+ |> render() =~ "opacity-50 cursor-not-allowed"
+
assert has_element?(
view,
"#toggle-workflow-logs-btn"