impress/app/views/outfits/edit.html.haml
Matchu 81b2a2b4a2 Bundle wardrobe-2020 into the app
We add jsbuilding-rails to get esbuild running in the app, and then we copy-paste the files we need from impress-2020 into here!

I stopped at the point where it was building successfully, but it's not running correctly: it's not sure about `process.env` in `next`, and I think the right next step is to delete the NextJS deps altogether and use React Router instead.
2023-10-23 19:05:08 -07:00

269 lines
12 KiB
Text

- add_body_class 'fullscreen'
- localized_cache do
#pet-type-not-found.possible-error
= t '.pet_type.not_found'
#preview-toolbar
%form#pet-type-form
%select{:name => "color"}
%select{:name => "species"}
%input{:type => "submit", :value => t('.pet_type.form.submit')}
%form#pet-state-form
= t '.pet_state_form.header'
%select
#save-outfit-wrapper
%a#current-outfit-permalink{:target => '_blank'}
= image_tag 'link_go.png', :alt => t('.outfit.permalink.name'),
:title => t('.outfit.permalink.description')
%button#save-outfit= t '.outfit.save'
%button#save-outfit-not-signed-in= t '.outfit.sign_in_to_save'
%button#save-outfit-copy= t '.outfit.save_copy'
%button#save-current-outfit
= t '.outfit.save_current_outfit.main_html',
:outfit_name => content_tag(:span, t('.outfit.save_current_outfit.default_outfit_name'))
%form#save-outfit-form
.outfit-star
%input#save-outfit-name{:type => 'text', :placeholder => t('.outfit.form.name_placeholder')}
%button#save-outfit-finish{:type => 'submit'}= t '.outfit.form.submit'
%button#save-outfit-cancel{:type => 'button'}= t '.outfit.form.cancel'
#preview
#preview-swf
#preview-swf-container
%p= t '.preview.requirements'
#preview-image-container
#preview-mode
%ul#preview-mode-toggle
%li#preview-mode-flash.active= t '.preview.mode.flash.name'
%li#preview-mode-image= t '.preview.mode.image.name'
= link_to t('.preview.big_picture'), 'javascript:void(0)',
id: 'toggle-big-picture'
= link_to t('.preview.download'), 'javascript:void(0)', id: 'preview-mode-download'
= link_to t('.preview.swf_links'), 'javascript:void(0)', id: 'swf-links',
target: '_blank', 'data-base-url' => links_swf_assets_path
#preview-sidebar
%nav#preview-sidebar-navbar
#preview-sidebar-navbar-closet= t '.sidebar.nav.closet'
#preview-sidebar-navbar-sharing= t '.sidebar.nav.sharing'
#preview-sidebar-navbar-outfits= t '.sidebar.nav.outfits'
#preview-sidebar-content
#outfit-not-found= t '.sidebar.notifications.outfits.not_found'
#save-success= t '.sidebar.notifications.outfits.save.success'
#save-error
#preview-closet.sidebar-view
= prank_color_message('<span class="prank-color-message-name"></span>'.html_safe, '$artist-name', '$artist-url')
%ul
#preview-outfits.sidebar-view
%ul#preview-outfits-list
#preview-outfits-not-logged-in
%figure
= image_tag 'outfits_welcome.png'
%figcaption= t '.sidebar.outfits.not_signed_in.header'
= tmd '.sidebar.outfits.not_signed_in.pitch'
= link_to t('.sidebar.outfits.not_signed_in.sign_in'),
auth_user_sign_in_path_with_return_to, :id => 'preview-outfits-log-in'
#preview-sharing.sidebar-view
#preview-sharing-thumbnail-wrapper
#preview-sharing-thumbnail-loading
= image_tag 'outfits/small_loading.gif'
%span#preview-sharing-thumbnail-saving
= t '.sidebar.sharing.thumbnail.saving'
%span#preview-sharing-thumbnail-generating
= t '.sidebar.sharing.thumbnail.generating'
%img#preview-sharing-thumbnail
%ul#preview-sharing-urls
%li
%label{:for => 'preview-sharing-permalink-url'}
= t '.sidebar.sharing.links.permalink'
%input#preview-sharing-permalink-url.outfit-url{:type => 'text'}
%li
%label{:for => 'preview-sharing-large-image-url'}
= t '.sidebar.sharing.links.images.large'
%a#preview-sharing-download-large-image{download: true}= t '.sidebar.sharing.download'
%a#preview-sharing-copy-large-image-url.preview-sharing-copy-url{href: 'javascript:void(0)'}= t '.sidebar.sharing.copy_url'
%input#preview-sharing-large-image-url.outfit-url{:type => 'text'}
%li
%label{:for => 'preview-sharing-medium-image-url'}
= t '.sidebar.sharing.links.images.medium'
%a#preview-sharing-download-medium-image{download: true}= t '.sidebar.sharing.download'
%a#preview-sharing-copy-medium-image-url.preview-sharing-copy-url{href: 'javascript:void(0)'}= t '.sidebar.sharing.copy_url'
%input#preview-sharing-medium-image-url.outfit-url{:type => 'text'}
%li
%label{:for => 'preview-sharing-small-image-url'}
= t '.sidebar.sharing.links.images.small'
%a#preview-sharing-download-small-image{download: true}= t '.sidebar.sharing.download'
%a#preview-sharing-copy-small-image-url.preview-sharing-copy-url{href: 'javascript:void(0)'}= t '.sidebar.sharing.copy_url'
%input#preview-sharing-small-image-url.outfit-url{:type => 'text'}
%ul#preview-sharing-url-formats
%li.active{'data-format' => 'plain'}
= t '.sidebar.sharing.formats.plain'
%li{'data-format' => 'html'}
= t '.sidebar.sharing.formats.html'
%li{'data-format' => 'bbcode'}
=t '.sidebar.sharing.formats.bbcode'
#preview-search
%form#preview-search-basic.item-search
%header
%h2= t '.search.header'
%input{:name => "query", :type => "search", autofocus: true}/
%input{:type => "submit", :value => t('.search.form.submit')}/
%a#preview-search-advanced-link{href: 'javascript:void(0)'}= t '.search.advanced.header'
%label{for: 'preview-search-autofilter'}
%input#preview-search-autofilter{type: 'checkbox', checked: true}
= t('.search.autofilter_html',
color: content_tag('span', '', :class => 'color'),
species: content_tag('span', '', :class => 'species'))
#preview-search-form-pagination
#preview-search-basic-main
#preview-search-form-loading= t '.search.loading'
#preview-search-form-error.possible-error
#preview-search-form-no-results
= t '.search.no_results_html', :query => content_tag(:span)
%ul#preview-search-results
%form#preview-search-advanced
%header
%h2= t '.search.advanced.header'
%button{type: 'submit'}= t '.search.advanced.submit'
%a#preview-search-basic-link{href: 'javascript:void(0)'}= t '.search.advanced.back'
%div#preview-search-advanced-main
%div
%ul
%li.text
%label{for: 'advanced-search-name-require'}= t '.search.advanced.name.require'
%input{type: 'text', id: 'advanced-search-name-require'}
%li.text
%label{for: 'advanced-search-name-exclude'}= t '.search.advanced.name.exclude'
%input{type: 'text', id: 'advanced-search-name-exclude'}
%div
%ul
%li.select
%label{for: 'advanced-search-nc'}= t '.search.advanced.nc.label'
%select{id: 'advanced-search-nc'}
%option{value: ''}= t '.search.advanced.nc.any'
%option{value: 'nc'}= t '.search.advanced.nc.nc'
%option{value: 'np'}= t '.search.advanced.nc.np'
%li.select
%label{for: 'advanced-search-occupies'}= t '.search.advanced.occupies.label'
%select{id: 'advanced-search-occupies'}
%option{value: ''}= t '.search.advanced.occupies.any'
%li.select
%label{for: 'advanced-search-restricts'}= t '.search.advanced.restricts.label'
%select{id: 'advanced-search-restricts'}
%option{value: ''}= t '.search.advanced.restricts.any'
%div
%ul
%li.checkbox
%input{type: 'checkbox', id: 'advanced-search-autofilter',
checked: true}
%label{for: 'advanced-search-autofilter'}
= t '.search.autofilter_html',
species: content_tag('span', '', {:class => 'species'}),
color: content_tag('span', '', {:class => 'color'})
%li.checkbox.must-log-in
%input{type: 'checkbox', id: 'advanced-search-owns', disabled: true}
%label{for: 'advanced-search-owns'}= t '.search.advanced.owns'
%li.checkbox.must-log-in
%input{type: 'checkbox', id: 'advanced-search-wants', disabled: true}
%label{for: 'advanced-search-wants'}= t '.search.advanced.wants'
= link_to t('.search.advanced.login'), auth_user_sign_in_path_with_return_to,
id: 'advanced-search-log-in-link'
#no-assets-full-message= t '.sidebar.closet.no_data.description'
%script#sharing-html-image-template{:type => 'text/x-jquery-tmpl'}
= link_to '${permalink}' do
%img{:src => '${image_url}'}
%script#sharing-html-text-template{:type => 'text/x-jquery-tmpl'}
= link_to t('app_name'), '${permalink}'
%script#sharing-bbcode-image-template{:type => 'text/x-jquery-tmpl'}
[URL=${permalink}][IMG]${image_url}[/IMG][/URL]
%script#sharing-bbcode-text-template{:type => 'text/x-jquery-tmpl'}
[URL=${permalink}]#{t('app_name')}[/URL]
%script#outfit-template{:type => 'text/x-jquery-tmpl'}
<li class="outfit-${id}{{if starred}} starred{{/if}}">
%header
.outfit-star
%span.outfit-name ${name}
%form.outfit-rename-form
%input.outfit-rename-field{:type => 'text'}
%footer
%a.outfit-rename-button{:href => '#'}
= t '.sidebar.outfits.outfit.rename'
%a.outfit-delete{:href => '#'}
= t '.sidebar.outfits.outfit.delete'
.outfit-thumbnail-wrapper
%img.outfit-thumbnail
.outfit-delete-confirmation
%span= t '.sidebar.outfits.outfit.delete_confirmation.header'
%a.outfit-delete-confirmation-yes{:href => '#'}
= t '.sidebar.outfits.outfit.delete_confirmation.delete'
\/
%a.outfit-delete-confirmation-no{:href => '#'}
= t '.sidebar.outfits.outfit.delete_confirmation.cancel'
</li>
%script#item-template{:type => 'text/x-jquery-tmpl'}
%li{:class => 'object object-${id}'}
%img{:src => '${thumbnail_url}', :title => '${description}', :alt => ''}
${name}
%ul
= link_to '${url}', :target => '_blank', :class => 'object-info' do
%span i
{{if nc}}
= nc_icon
{{/if}}
{{if owned || wanted}}
.closeted-icons
{{if owned}}
= owned_icon
{{/if}}
{{if wanted}}
= wanted_icon
{{/if}}
{{/if}}
%span.no-assets-message= t '.sidebar.closet.no_data.summary'
%ul
%li.wear-item
= link_to t('.item.controls.worn_items.add'), '#'
%li.unwear-item
= link_to t('.item.controls.worn_items.remove'), '#'
%li.closet-item
= link_to t('.item.controls.closet.add'), '#'
%li.uncloset-item
= link_to t('.item.controls.closet.remove'), '#'
%script#pagination-template{:type => 'text/x-jquery-tmpl'}
{{if current_page > 1}}
= link_to t('will_paginate.previous_label').html_safe, '#', :rel => 'prev',
'data-page' => '${current_page - 1}'
{{/if}}
{{each pages}}
{{if $value == 'gap'}}
%span.gap= t('will_paginate.page_gap').html_safe
{{else $value == current_page}}
%em.current ${$value}
{{else}}
= link_to '${$value}', '#', 'data-page' => '${$value}'
{{/if}}
{{/each}}
{{if current_page < total_pages}}
= link_to t('will_paginate.next_label').html_safe, '#', :rel => 'next',
'data-page' => '${current_page + 1}'
{{/if}}
%span#userbar-session-message
- if user_signed_in?
= t '.userbar.session_message.signed_in'
- else
= t '.userbar.session_message.not_signed_in'
- content_for :javascripts do
= include_javascript_libraries :jquery, :swfobject, :jquery_tmpl
= javascript_include_tag 'ajax_auth', 'jquery.jgrowl', 'wardrobe',
'ZeroClipboard.min', 'outfits/edit'
= javascript_include_tag 'wardrobe-2020-page', defer: true