1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-25 08:09:38 +02:00

Add more descriptive labels to rule rows

This commit is contained in:
Zach Gollwitzer 2025-04-18 16:37:10 -04:00
parent 04ee1e73be
commit bcfbc4b324
3 changed files with 41 additions and 1 deletions

View file

@ -11,6 +11,18 @@ class Rule::Action < ApplicationRecord
executor.options
end
def value_display
if value.present?
if options
options.find { |option| option.last == value }&.first
else
""
end
else
""
end
end
def executor
rule.registry.get_executor!(action_type)
end

View file

@ -35,6 +35,18 @@ class Rule::Condition < ApplicationRecord
end
end
def value_display
if value.present?
if options
options.find { |option| option.last == value }&.first
else
value
end
else
""
end
end
def options
filter.options
end

View file

@ -2,9 +2,25 @@
<div class="flex justify-between items-center gap-4 bg-white shadow-border-xs rounded-md p-4">
<div class="text-sm space-y-1.5">
<% if rule.conditions.any? %>
<p class="flex items-center flex-wrap gap-1.5">
<span class="px-2 py-1 border border-alpha-black-200 rounded-full">
If <%= rule.conditions.first.filter.label %> <%= rule.conditions.first.operator %> <%= rule.conditions.first.value_display %>
</span>
<% if rule.conditions.count > 1 %>
and <%= rule.conditions.count - 1 %> more <%= rule.conditions.count - 1 == 1 ? "condition" : "conditions" %>
<% end %>
</p>
<% end %>
<p class="flex items-center flex-wrap gap-1.5">
<span class="px-2 py-1 border border-alpha-black-200 rounded-full">
<%= rule.actions.first.executor.label %>
<% if rule.actions.first.value && rule.actions.first.options %>
<%= rule.actions.first.executor.label %> to <%= rule.actions.first.value_display %>
<% else%>
<%= rule.actions.first.executor.label %>
<% end %>
</span>
<% if rule.actions.count > 1 %>