%
# optons: class = overide css class
# label = overide label
# icon_type = choose one of the given icons.
# icon_svg = costum svg icon
# 1. Standard-Design festlegen (Fallback)
css = local_assigns[:class] || ""
# 2. Icons als Strings definieren
icon_user = ''
icon_room = ''
icon_storage = ''
icon_in_use = ''
icon_new = ''
icon_as_new = ''
icon_used = ''
icon_heavy = ''
icon_defective = ''
icon_unknown = ''
# 3. Logik-Weiche für Farben, Standard-Icons und Standard-Labels
case type.to_s
when "storage"
css, computed_icon, computed_label = "bg-amber-50 text-amber-800 border-amber-200", icon_storage, "Hauptlager"
when "user"
css, computed_icon, computed_label = "bg-green-50 text-green-800 border-green-200", icon_user, ""
when "room"
css, computed_icon, computed_label = "bg-blue-50 text-blue-800 border-blue-200", icon_room, ""
when "in_use"
css, computed_icon, computed_label = "bg-gray-100 text-gray-600 border-gray-200", icon_in_use, "In Benutzung"
when "new_item"
css, computed_icon, computed_label = "bg-green-50 text-green-700 border-green-200", icon_new, Item.human_attribute_name("conditions.new_item")
when "as_new"
css, computed_icon, computed_label = "bg-emerald-50 text-emerald-700 border-emerald-200", icon_as_new, Item.human_attribute_name("conditions.as_new")
when "used"
css, computed_icon, computed_label = "bg-yellow-50 text-yellow-700 border-yellow-200", icon_used, Item.human_attribute_name("conditions.used")
when "heavily_used"
css, computed_icon, computed_label = "bg-orange-50 text-orange-700 border-orange-200", icon_heavy, Item.human_attribute_name("conditions.heavily_used")
when "defective"
css, computed_icon, computed_label = "bg-red-50 text-red-700 border-red-200", icon_defective, Item.human_attribute_name("conditions.defective")
css += " animate-pulse font-bold"
when "unknown"
css, computed_icon, computed_label = "bg-gray-50 text-gray-400 border-gray-100", icon_unknown, Item.human_attribute_name("conditions.unknown")
end
# 4. Optionale Variablen-Überlagerung von außen (Falls manuell übergeben)
final_label = local_assigns[:label].presence || computed_label
final_icon = local_assigns[:icon_type].present? ? local_assigns[:icon_type] : computed_icon.to_s.html_safe
final_icon = lcoal_assigns[:icon_svg].present? ? local_assigns[:icon_svg] : computed_icon.to_s.html_safe
%>
<%= final_icon if final_icon.present? %>
<%= final_label %>