philomena/lib/philomena_web/templates/image/new.html.slime
2024-04-26 20:41:47 -05:00

89 lines
4.1 KiB
Text

= form_for @changeset, Routes.image_path(@conn, :create), [multipart: true], fn f ->
p
strong
' Please check if the artist is on the
a> href="/dnp" do-not-post list
' and that this image 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
p - OR -
.field.field--inline
= url_input f, :scraper_url, class: "input input--wide js-scraper", placeholder: "External Page Link"
button.button.button--separate-left#js-scraper-preview(type="button" title="Fetch the image at the specified URL" data-disable-with="Fetch" disabled)
' Fetch
p Supports: DeviantArt, Tumblr, X/Twitter, Furaffinity, Inkbunny, E621 or a direct image link.
.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> 6+
' tags, including ratings and applicable artist tags. If importing an image from another website, please verify all tags are accurate. If an OC posted this, it will mark them as the artist. Check the description to get the artist name. Do not use underscores, and separate tags with commas.
p For artists: prefix with artist: If you don't know the artist, put unknown artist.
p For original characters, prefix with oc:
= 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..."]