mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-18 20:59:39 +02:00
* WIP * WIP * WIP * WIP * WIP * WIP * WIP * format * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * WIP * fix conflict * fix conflict * chore: run rubocop * fix test * update PWA logo * fix tests * chore: lint * fix test * Refactor: Remove duplicate data attribute in activity partial and add chat form rendering in chats index --------- Co-authored-by: Josh Pigford <josh@joshpigford.com>
42 lines
2.1 KiB
Text
42 lines
2.1 KiB
Text
<%# locals: (message:, type: "notice", **_opts) %>
|
|
|
|
<% type = type.to_sym %>
|
|
<% action = "animationend->element-removal#remove" if type == :notice %>
|
|
|
|
<%= tag.div class: "flex gap-3 rounded-lg border bg-container p-4 group max-w-80 shadow-xs border-alpha-black-25 mx-auto md:mx-0",
|
|
data: {
|
|
controller: "element-removal",
|
|
action: action
|
|
} do %>
|
|
|
|
<div class="h-5 w-5 shrink-0 p-px text-white">
|
|
<% case type %>
|
|
<% when :notice %>
|
|
<div class="flex h-full items-center justify-center rounded-full bg-success">
|
|
<%= lucide_icon "check", class: "w-3 h-3" %>
|
|
</div>
|
|
<% when :alert %>
|
|
<div class="flex h-full items-center justify-center rounded-full bg-destructive">
|
|
<%= lucide_icon "x", class: "w-3 h-3" %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<%= tag.p message, class: "text-primary text-sm font-medium" %>
|
|
|
|
<div class="ml-auto">
|
|
<% if type.to_sym == :notice %>
|
|
<div class="h-5 shrink-0">
|
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0">
|
|
<path d="M18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM3.6 10C3.6 13.5346 6.46538 16.4 10 16.4C13.5346 16.4 16.4 13.5346 16.4 10C16.4 6.46538 13.5346 3.6 10 3.6C6.46538 3.6 3.6 6.46538 3.6 10Z" fill="#E5E5E5" />
|
|
<circle class="origin-center -rotate-90 animate-[stroke-fill_2.2s_300ms_forwards]" stroke="#141414" stroke-opacity="0.4" r="7.2" cx="10" cy="10" stroke-dasharray="43.9822971503" stroke-dashoffset="43.9822971503" />
|
|
</svg>
|
|
<div class="absolute -top-2 -right-2">
|
|
<%= lucide_icon "x", class: "w-5 h-5 p-0.5 hidden group-hover:inline-block border border-alpha-black-50 border-solid rounded-lg bg-container text-subdued cursor-pointer", data: { action: "click->element-removal#remove" } %>
|
|
</div>
|
|
</div>
|
|
<% elsif type.to_sym == :alert %>
|
|
<%= lucide_icon "x", data: { action: "click->element-removal#remove" }, class: "w-5 h-5 text-secondary hover:text-gray-600 cursor-pointer" %>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|