2019-11-30 23:40:53 +01:00
h1 Content Settings
2024-06-06 22:28:35 +02:00
= form_for @changeset, ~p"/settings", [method: "put"], fn f ->
2019-11-30 23:40:53 +01:00
= if @changeset.action do
.alert.alert-danger
p Oops, something went wrong! Please check the errors below.
#js-setting-table.block
.block__header.block__header--js-tabbed
= if @conn.assigns.current_user do
= link "Watch List", to: "#", class: "selected", data: [click_tab: "watched"]
= link "Display", to: "#", data: [click_tab: "display"]
2021-02-09 23:21:30 +01:00
= link "Comments", to: "#", data: [click_tab: "comments"]
= link "Notifications", to: "#", data: [click_tab: "notifications"]
2019-11-30 23:40:53 +01:00
= link "Metadata", to: "#", data: [click_tab: "metadata"]
= link "Local", to: "#", data: [click_tab: "local"]
- else
= link "Local", to: "#", class: "selected", data: [click_tab: "local"]
= link "More settings", to: "#", data: [click_tab: "join-the-herd"]
= if @conn.assigns.current_user do
.block__tab data-tab="watched"
h4 Tags
.field
= label f, :watched_tag_list, "Tags to watch"
= render PhilomenaWeb.TagView, "_tag_editor.html", f: f, name: :watched_tag_list, type: :edit, conn: @conn
2019-12-08 16:00:54 +01:00
= error_tag f, :watched_tag_list
2019-11-30 23:40:53 +01:00
h4 Watchlist queries and filtering
p
' The following two areas are for search queries to control what other images show up in your watch list. Lines are ORed together. See
=> link "the syntax guide", to: "/pages/search_syntax"
' for how to write queries.
.field
= label f, :watched_images_query_str, "Watch list search string (images found by this search are added to your watched images list)"
= textarea f, :watched_images_query_str, class: "input input--wide", autocapitalize: "none"
2019-12-08 16:00:54 +01:00
= error_tag f, :watched_images_query_str
2019-11-30 23:40:53 +01:00
.field
= label f, :watched_images_exclude_str, "Watch list filter string (any images found by this search are removed from your watched images list)"
= textarea f, :watched_images_exclude_str, class: "input input--wide", autocapitalize: "none"
2019-12-08 16:00:54 +01:00
= error_tag f, :watched_images_exclude_str
2019-11-30 23:40:53 +01:00
.field
=> checkbox f, :no_spoilered_in_watched, class: "checkbox"
=> label f, :no_spoilered_in_watched, "Hide images spoilered by filter in watchlist"
2019-12-01 00:11:24 +01:00
h4 Other
p
2020-02-03 05:56:45 +01:00
' RSS feed link (for Newsblur, RSSOwl, Thunderbird, etc.):
2019-12-01 00:11:24 +01:00
br
2024-03-06 20:36:14 +01:00
#rss-feed-button>
code>
= link("Click to show", to: "#", data: [click_show: "#rss-link", click_hide: "#rss-feed-button"])
#rss-link.hidden
2024-06-06 22:28:35 +02:00
= url_input f, :subscribe_url, value: url(~p"/api/v1/rss/watched?#{[key: @conn.assigns.current_user.authentication_token]}"), class: "input input--wide"
2019-12-01 00:11:24 +01:00
br
' Do not share this URL with anyone, it may allow an attacker to compromise your account.
2019-11-30 23:40:53 +01:00
.block__tab.hidden.flex.flex--maybe-wrap data-tab="display"
2024-05-07 19:33:56 +02:00
.form--three-items
2019-11-30 23:40:53 +01:00
.field
=> label f, :use_centered_layout
2024-05-07 19:33:56 +02:00
.with-error
=> checkbox f, :use_centered_layout, class: "checkbox"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Align content to the center of the page - try this option out if you browse the site on a tablet or a fairly wide screen.
2021-02-09 23:21:30 +01:00
.field
=> label f, :show_sidebar_and_watched_images
2024-05-07 19:33:56 +02:00
.with-error
=> checkbox f, :show_sidebar_and_watched_images, class: "checkbox"
2021-02-09 23:21:30 +01:00
.fieldlabel: i Show the sidebar and new watched images on the homepage (the default) or hide it.
2019-11-30 23:40:53 +01:00
.field
=> label f, :hide_vote_counts
2024-05-07 19:33:56 +02:00
.with-error
=> checkbox f, :hide_vote_counts, class: "checkbox"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Hide upvote and downvote counts on images, showing only the overall score
.field
=> label f, :images_per_page
2024-05-07 19:33:56 +02:00
.with-error
=> number_input f, :images_per_page, min: 1, max: 50, step: 1, class: "input"
= error_tag f, :images_per_page
2019-11-30 23:40:53 +01:00
.fieldlabel
i
' This is the number of images per page that are displayed on image listings and searches, up to a maximum of 50.
' For 1080p monitors, try 24.
.field
2024-05-07 19:33:56 +02:00
label Theme
2024-07-03 21:32:27 +02:00
.with-error
=> select f, :theme_name, themes(), class: "input"
= error_tag f, :theme_name
2024-05-07 19:33:56 +02:00
.fieldlabel: i General appearance of the theme
2024-07-03 21:32:27 +02:00
.field
2024-05-07 19:33:56 +02:00
label Theme color
.with-error
2024-07-03 21:32:27 +02:00
=> select f, :theme_color, theme_colors(), class: "input"
= error_tag f, :theme_color
2024-05-07 19:33:56 +02:00
.fieldlabel: i Color of the theme, don't forget to save settings to apply the theme
2024-07-03 22:00:12 +02:00
.hidden#js-theme-paths data-theme-paths=theme_paths_json()
2021-09-27 03:54:47 +02:00
.field
=> label f, :scale_large_images
2024-05-07 19:33:56 +02:00
.with-error
=> select f, :scale_large_images, scale_options(), class: "input"
= error_tag f, :scale_large_images
2019-11-30 23:40:53 +01:00
2021-02-09 23:21:30 +01:00
.block__tab.hidden.flex.flex--maybe-wrap data-tab="comments"
div
.field
=> label f, :comments_newest_first, "Newest comments first"
=> checkbox f, :comments_newest_first
.fieldlabel: i Display the newest comments at the top of the page.
.field
=> label f, :comments_always_jump_to_last, "Show latest comment page"
=> checkbox f, :comments_always_jump_to_last
.fieldlabel
i
' This setting takes effect when the previous is disabled. Always jump to the latest page (enabled) or show the first page if the oldest comments are shown at the top of the page.
br
' Posting will always direct you to the latest page so that you can see your comment in context.
.field
=> label f, :comments_per_page
=> number_input f, :comments_per_page, min: 1, max: 100, step: 1, class: "input"
= error_tag f, :comments_per_page
.fieldlabel: i This is the number of comments per page that are displayed on image pages.
.field
=> label f, :messages_newest_first, "Newest messages first"
=> checkbox f, :messages_newest_first
.fieldlabel: i Show the newest messages first (enabled) or show the oldest messages at the top of a conversation. Enabling this makes it feel more like a top-posted email quote chain.
.block__tab.hidden.flex.flex--maybe-wrap data-tab="notifications"
div
.field
=> label f, :watch_on_reply, "Subscribe on Reply"
=> checkbox f, :watch_on_reply, class: "checkbox"
.fieldlabel: i Subscribe on Reply means you'll be subscribed things (images or topics) automatically as soon as you post a comment or reply, keeping you in the conversation.
.field
=> label f, :watch_on_upload, "Subscribe on Upload"
=> checkbox f, :watch_on_upload, class: "checkbox"
.fieldlabel: i Subscribe on Upload means you'll be subscribed to images automatically as soon as you upload, to help you keep track of comments.
.field
=> label f, :watch_on_new_topic, "Subscribe on New Threads"
=> checkbox f, :watch_on_new_topic, class: "checkbox"
.fieldlabel: i Subscribe on New Threads means you'll be subscribed to threads automatically as soon as you post, to help you keep track of replies.
2019-11-30 23:40:53 +01:00
.block__tab.hidden.flex.flex--maybe-wrap data-tab="metadata"
div
.field
=> label f, :fancy_tag_field_on_upload, "Fancy tags - uploads"
=> checkbox f, :fancy_tag_field_on_upload, class: "checkbox"
.field
=> label f, :fancy_tag_field_on_edit, "Fancy tags - edits"
=> checkbox f, :fancy_tag_field_on_edit, class: "checkbox"
.fieldlabel: i The fancy tag editor gives you autosuggestions and visual representations of the tags, but is sometimes not desired - for instance when dealing with batch uploads where you might want to copy-paste tags. You can choose which type of editor to use by default here.
.field
=> label f, :anonymous_by_default
=> checkbox f, :anonymous_by_default, class: "checkbox"
.fieldlabel: i Check this box to post images and comments as anonymous by default, even if logged in.
.block__tab class=local_tab_class(@conn) data-tab="local"
.block.block--fixed.block--warning Settings on this tab are saved in the current browser. They are independent of your login.
.field
=> label f, :hidpi, "Serve HiDPI thumbnails"
2020-05-02 04:50:54 +02:00
=> checkbox f, :hidpi, checked: @conn.cookies["hidpi"] == "true"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Use high quality thumbnails on displays with a high pixel density. Requires more data than regular thumbnails.
.field
=> label f, :serve_webm, "Serve WebM"
2020-05-02 04:50:54 +02:00
=> checkbox f, :serve_webm, checked: @conn.cookies["serve_webm"] == "true"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Serve WebM/MP4 versions of GIF images when available. Good for lower-bandwidth connections, but the video versions may have missing start/end frames, and do not support transparency.
.field
=> label f, :webm, "Use video thumbnails"
2020-05-02 04:50:54 +02:00
=> checkbox f, :webm, checked: @conn.cookies["webm"] == "true"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Use video thumbnails for WebM videos. Does not apply to GIF images.
2024-05-05 23:38:22 +02:00
.field
=> label f, :unmute_videos, "Enable video audio by default"
=> checkbox f, :unmute_videos, checked: @conn.cookies["unmute_videos"] == "true"
.fieldlabel: i Automatically enable audio on video pages when they are loaded.
2019-11-30 23:40:53 +01:00
.field
=> label f, :hide_uploader
2020-05-02 04:50:54 +02:00
=> checkbox f, :hide_uploader, checked: @conn.cookies["hide_uploader"] == "true"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Hide the uploader and date posted information on image pages.
2022-01-20 23:37:05 +01:00
.field
=> label f, :unfilter_tag_suggestions
=> checkbox f, :unfilter_tag_suggestions, checked: @conn.cookies["unfilter_tag_suggestions"] == "true"
.fieldlabel: i Don't attempt to filter tag suggestions using your current filter.
2019-11-30 23:40:53 +01:00
.field
2020-12-16 15:35:58 +01:00
=> label f, :hide_score
=> checkbox f, :hide_score, checked: @conn.cookies["hide_score"] == "true"
.fieldlabel: i Hide score information for images.
.field
2019-11-30 23:40:53 +01:00
=> label f, :chan_nsfw, "Show NSFW channels"
2020-05-02 04:50:54 +02:00
=> checkbox f, :chan_nsfw, checked: @conn.cookies["chan_nsfw"] == "true"
2019-11-30 23:40:53 +01:00
.fieldlabel: i Show streams marked as NSFW on the channels page.
2024-06-02 18:40:09 +02:00
.field
2024-06-03 16:59:49 +02:00
=> label f, :enable_search_ac, "Enable search auto-completion"
=> checkbox f, :enable_search_ac, checked: @conn.cookies["enable_search_ac"] === "true"
.fieldlabel: i Enable the auto-completion of tags in search fields.
2019-12-21 20:56:54 +01:00
= if staff?(@conn.assigns.current_user) do
.field
=> label f, :hide_staff_tools
2020-05-02 04:50:54 +02:00
=> checkbox f, :hide_staff_tools, checked: @conn.cookies["hide_staff_tools"] == "true"
2019-12-21 20:56:54 +01:00
.fieldlabel: i Hide most of the staff tools (e.g. IPs, anon names) making your site appear as if you weren't staff, this is useful when browsing in public.
2019-11-30 23:40:53 +01:00
= if !@conn.assigns.current_user do
.block__tab.hidden data-tab="join-the-herd"
p
' Consider
2024-06-06 22:28:35 +02:00
=> link "creating an account!", to: ~p"/registrations/new"
2019-11-30 23:40:53 +01:00
br
' You will be able to customize the number of images and comments you get on a single page, as well as change the appearance of the site with custom themes.
br
= submit "Save My Settings", class: "button"
2019-12-19 21:11:44 +01:00
br