From e15823b3410a7c01c1c331ff9c23cbac533bf70a Mon Sep 17 00:00:00 2001 From: Adrian Marin Date: Sun, 29 Sep 2024 12:03:23 +0100 Subject: [PATCH] refactor: boolean group and checkbox improvements --- .../fields/common/boolean_check_component.html.erb | 2 +- .../avo/fields/common/boolean_check_component.rb | 12 ++++++++++-- .../fields/common/boolean_group_component.html.erb | 8 ++++---- .../avo/fields/common/boolean_group_component.rb | 4 ++++ 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/components/avo/fields/common/boolean_check_component.html.erb b/app/components/avo/fields/common/boolean_check_component.html.erb index 3bef51608b..6db564030f 100644 --- a/app/components/avo/fields/common/boolean_check_component.html.erb +++ b/app/components/avo/fields/common/boolean_check_component.html.erb @@ -1 +1 @@ -<%= helpers.svg "#{@icon}.svg", class: @classes %> +<%= helpers.svg "#{@icon}.svg", class: classes %> diff --git a/app/components/avo/fields/common/boolean_check_component.rb b/app/components/avo/fields/common/boolean_check_component.rb index 6bc34bd599..deda7e3290 100644 --- a/app/components/avo/fields/common/boolean_check_component.rb +++ b/app/components/avo/fields/common/boolean_check_component.rb @@ -2,10 +2,18 @@ class Avo::Fields::Common::BooleanCheckComponent < Avo::BaseComponent prop :checked, _Boolean, default: false + prop :size, Symbol, default: :md prop :icon, _Nilable(String) do |value| @checked ? "heroicons/outline/check-circle" : "heroicons/outline/x-circle" end - prop :classes, _Nilable(String) do |value| - "h-6 #{@checked ? "text-green-600" : "text-red-500"}" + prop :classes, _Nilable(String) + + def classes + helpers.class_names({ + "h-5": @size == :sm, + "h-6": @size == :md, + "text-green-600": @checked, + "text-red-600": !@checked, + }) end end diff --git a/app/components/avo/fields/common/boolean_group_component.html.erb b/app/components/avo/fields/common/boolean_group_component.html.erb index 79e2d1302a..5bbb3e968c 100644 --- a/app/components/avo/fields/common/boolean_group_component.html.erb +++ b/app/components/avo/fields/common/boolean_group_component.html.erb @@ -1,11 +1,11 @@
<%= link_to t("avo.view").humanize, "javascript:void(0);", data: {"tippy-target": :source} %>