mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-24 16:26:21 +00:00
43 lines
2.1 KiB
Text
43 lines
2.1 KiB
Text
.form-group{ data: { controller: 'file-preview' } }
|
|
- if metadata.static_file
|
|
- case metadata.static_file.blob.content_type
|
|
- when %r{\Avideo/}
|
|
= video_tag url_for(metadata.static_file),
|
|
controls: true, class: 'img-fluid',
|
|
data: { target: 'file-preview.preview' }
|
|
- when %r{\Aaudio/}
|
|
= audio_tag url_for(metadata.static_file),
|
|
controls: true, class: 'img-fluid',
|
|
data: { target: 'file-preview.preview' }
|
|
- when 'application/pdf'
|
|
%iframe{ src: url_for(metadata.static_file) }
|
|
- else
|
|
= link_to t('posts.attribute_ro.file.download'),
|
|
url_for(metadata.static_file)
|
|
-# Mantener el valor si no enviamos ninguna imagen
|
|
= hidden_field_tag "#{base}[#{attribute}][path]", metadata.value['path']
|
|
-# Los archivos requeridos solo se pueden reemplazar
|
|
- unless metadata.required
|
|
.custom-control.custom-switch
|
|
= check_box_tag "#{base}[#{attribute}][path]", '', false, id: "#{base}_#{attribute}_destroy", class: 'custom-control-input'
|
|
= label_tag "#{base}_#{attribute}_destroy", t('posts.attributes.file.destroy'), class: 'custom-control-label'
|
|
|
|
.custom-file
|
|
= file_field(*field_name_for(base, attribute, :path),
|
|
**field_options(attribute, metadata, required: (metadata.required && !metadata.path?)),
|
|
class: "custom-file-input #{invalid(post, attribute)}",
|
|
data: { target: 'file-preview.input', action: 'file-preview#update' })
|
|
= label_tag "#{base}_#{attribute}_path",
|
|
post_label_t(attribute, :path, post: post), class: 'custom-file-label'
|
|
= render 'posts/attribute_feedback',
|
|
post: post, attribute: [attribute, :path], metadata: metadata
|
|
|
|
.form-group
|
|
= label_tag "#{base}_#{attribute}_description",
|
|
post_label_t(attribute, :description, post: post, required: false)
|
|
= text_field(*field_name_for(base, attribute, :description),
|
|
value: metadata.value['description'],
|
|
dir: dir, lang: locale,
|
|
**field_options(attribute, metadata, required: false))
|
|
= render 'posts/attribute_feedback',
|
|
post: post, attribute: [attribute, :description], metadata: metadata
|