29 lines
1.2 KiB
Text
29 lines
1.2 KiB
Text
- html_options = {} unless defined? html_options
|
|
= content_tag "outfit-viewer", **html_options do
|
|
.loading-indicator= render partial: "hanger_spinner"
|
|
|
|
%label.play-pause-button{title: "Pause/play animations"}
|
|
%input.play-pause-toggle{
|
|
type: "checkbox",
|
|
checked: outfit_viewer_is_playing,
|
|
}
|
|
%svg.playing-label{viewBox: "0 0 24 24", "aria-hidden": "true", "aria-label": "Pause"}
|
|
%path{fill: "currentColor", d: "M6 19h4V5H6v14zm8-14v14h4V5h-4z"}
|
|
%svg.paused-label{viewBox: "0 0 24 24", "aria-hidden": "true", "aria-label": "Play"}
|
|
%path{fill: "currentColor", d: "M8 5v14l11-7z"}
|
|
|
|
- outfit.visible_layers.each do |swf_asset|
|
|
%outfit-layer{
|
|
data: {
|
|
"asset-id": swf_asset.id,
|
|
"zone": swf_asset.zone.label,
|
|
},
|
|
}
|
|
- if swf_asset.canvas_movie?
|
|
%iframe{src: swf_asset_path(swf_asset, playing: outfit_viewer_is_playing ? true : nil)}
|
|
- elsif preferred_image_format == :svg && swf_asset.svg_url?
|
|
= image_tag swf_asset.svg_url, alt: "", loading: "lazy"
|
|
- elsif swf_asset.image_url?
|
|
= image_tag swf_asset.image_url, alt: "", loading: "lazy"
|
|
- else
|
|
/ No movie or image available for SWF asset: #{swf_asset.url}
|