philomena/lib/philomena_web/templates/image/new.html.slime

91 lines
3.8 KiB
Text

= form_for @changeset, Routes.image_path(@conn, :create), [multipart: true], fn f ->
.dnp-warning
h4
' Read the
a> href="/pages/rules" site rules
' and check our
a> href="/dnp" do-not-post list
p
' Don't post content the artist doesn't want here (or shared in general),
strong including commercial content.
p
strong
' Please check it isn't already here with
a href="/search/reverse" reverse search.
/ todo: extract this
h4 Select an image
.image-other
#js-image-upload-previews
p Upload a file from your computer, or provide a link to the page containing the image and click Fetch.
.field
= file_input f, :image, class: "input js-scraper"
= error_tag f, :image
= error_tag f, :image_size
= error_tag f, :image_width
= error_tag f, :image_height
= error_tag f, :image_name
= error_tag f, :image_mime_type
= error_tag f, :image_duration
= error_tag f, :image_orig_sha512_hash
.field.field--inline
= url_input f, :scraper_url, class: "input input--wide js-scraper", placeholder: "Link a deviantART page, a Tumblr post, or the image directly"
button.button.button--separate-left#js-scraper-preview(type="button" title="Fetch the image at the specified URL" data-disable-with="Fetch" disabled)
' Fetch
.field-error-js.hidden.js-scraper
h4 About this image
p
'The page(s) you found this image on. Images may have a maximum of
span.js-max-source-count> 10
' source URLs. Leave any sources you don't want to use blank.
= inputs_for f, :sources, fn fs ->
.field.js-image-source.field--inline.flex--no-wrap.flex--centered
= text_input fs, :source, class: "input flex__grow js-source-url", placeholder: "Source URL"
= error_tag fs, :source
label.input--separate-left.flex__fixed.flex--centered
a.js-source-remove href="#"
i.fa.fa-trash>
' Delete
.field
button.button.js-image-add-source type="button"
i.fa.fa-plus>
' Add source
.field
label for="image[tag_input]"
' Describe with
strong> 3+
' tags, including ratings and applicable artist tags
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :tag_input, type: :upload
= error_tag f, :tag_input
button.button.button--state-success.button--separate-left.button--bold id="tagsinput-save" type="button" title="This button saves the tags listed above to your browser, allowing you to retrieve them again by clicking the Load button" Save
button.button.button--state-warning.button--separate-left.button--bold id="tagsinput-load" type="button" title="This button loads any saved tags from your browser" Load
button.button.button--state-danger.button--separate-left.button--bold id="tagsinput-clear" type="button" title="This button will clear the list of tags above" Clear
p You can mouse over tags below to view a description, and click to add. Short tag names can be used and will expand to full.
.block.js-tagtable data-target="[name="image[tag_input]"]"
= PhilomenaWeb.TagView.quick_tags(@conn)
br
.field
.block
.communication-edit__wrap
= render PhilomenaWeb.MarkdownView, "_input.html", conn: @conn, f: f, action_icon: "pencil-alt", action_text: "Description", placeholder: "Describe this image in plain words - this should generally be info about the image that doesn't belong in the tags or source.", name: :description, class: "js-image-descr-input", required: false
= render PhilomenaWeb.MarkdownView, "_anon_checkbox.html", conn: @conn, f: f, label: "Post anonymously"
= render PhilomenaWeb.CaptchaView, "_captcha.html", name: "image", conn: @conn
.actions
= submit "Upload", class: "button input--separate-top", autocomplete: "off", data: [disable_with: "Please wait..."]