Pages

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%= tag.div class: "flex items-center gap", data: { controller: "upload-preview", upload_preview_default_image_value: asset_url("default-avatar.svg") } do %>
<label class="flex items-center gap">
<div class="btn btn--icon">
<%= file_field_tag :avatar, class: "sr-only", accept: "image/*", data: { upload_preview_target: "input", action: "upload-preview#previewImage" } %>
<%= image_tag "camera.svg", size: 20, aria: { hidden: true } %>
<span class="sr-only">Upload avatar</span>
</div>
<div class="btn avatar" style="--avatar-size: 100px;">
<%= image_tag "cartoon.jpg", size: 48, alt: "Avatar", data: { upload_preview_target: "image" } %>
</div>
</label>
<label class="btn btn--icon btn--negative" data-action="click->upload-preview#clear">
<%= hidden_field_tag "remove_avatar", false, data: { upload_preview_target: "removeInput" } %>
<%= image_tag "minus.svg", size: 20, aria: { hidden: true } %>
<span class="sr-only">Remove avatar</span>
</label>
<% end %>