Extract component to render a switch

We're going to use it in other places.
This commit is contained in:
Javi Martín
2022-12-16 15:35:08 +01:00
parent 72704d7761
commit 0d18e25e99
6 changed files with 40 additions and 22 deletions

View File

@@ -0,0 +1,31 @@
class Admin::ToggleSwitchComponent < ApplicationComponent
attr_reader :action, :record, :pressed, :options
alias_method :pressed?, :pressed
def initialize(action, record, pressed:, **options)
@action = action
@record = record
@pressed = pressed
@options = options
end
private
def text
if pressed?
t("shared.yes")
else
t("shared.no")
end
end
def default_options
{
text: text,
method: :patch,
remote: true,
"aria-pressed": pressed?,
form_class: "toggle-switch"
}
end
end