6c202a59b0
Adds another on/off preference (default: on, keeps same behaviour) for the fixed navbar. When off the navbar will not remain at the top of the page when scrolling. This is useful for small displays such as phones where otherwise the navbar takes up a sizeable portion of the viewport.
123 lines
5.1 KiB
HTML
123 lines
5.1 KiB
HTML
{% extends "base.html" %}
|
|
{% import "utils.html" as utils %}
|
|
|
|
{% block title %}Libreddit Settings{% endblock %}
|
|
|
|
{% block search %}
|
|
{% call utils::search("".to_owned(), "", "") %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div id="settings">
|
|
<form action="/settings" method="POST">
|
|
<div class="prefs">
|
|
<legend>Appearance</legend>
|
|
<div id="theme">
|
|
<label for="theme">Theme:</label>
|
|
<select name="theme">
|
|
{% call utils::options(prefs.theme, prefs.available_themes, "system") %}
|
|
</select>
|
|
</div>
|
|
<legend>Interface</legend>
|
|
<div id="front_page">
|
|
<label for="front_page">Front page:</label>
|
|
<select name="front_page">
|
|
{% call utils::options(prefs.front_page, ["default", "popular", "all"], "default") %}
|
|
</select>
|
|
</div>
|
|
<div id="layout">
|
|
<label for="layout">Layout:</label>
|
|
<select name="layout">
|
|
{% call utils::options(prefs.layout, ["card", "clean", "compact"], "card") %}
|
|
</select>
|
|
</div>
|
|
<div id="wide">
|
|
<label for="wide">Wide UI:</label>
|
|
<input type="hidden" value="off" name="wide">
|
|
<input type="checkbox" name="wide" {% if prefs.wide == "on" %}checked{% endif %}>
|
|
</div>
|
|
<legend>Content</legend>
|
|
<div id="post_sort">
|
|
<label for="post_sort" title="Applies only to subreddit feeds">Default subreddit post sort:</label>
|
|
<select name="post_sort">
|
|
{% call utils::options(prefs.post_sort, ["hot", "new", "top", "rising", "controversial"], "hot") %}
|
|
</select>
|
|
</div>
|
|
<div id="comment_sort">
|
|
<label for="comment_sort">Default comment sort:</label>
|
|
<select name="comment_sort">
|
|
{% call utils::options(prefs.comment_sort, ["confidence", "top", "new", "controversial", "old"], "confidence") %}
|
|
</select>
|
|
</div>
|
|
<div id="show_nsfw">
|
|
<label for="show_nsfw">Show NSFW posts:</label>
|
|
<input type="hidden" value="off" name="show_nsfw">
|
|
<input type="checkbox" name="show_nsfw" {% if prefs.show_nsfw == "on" %}checked{% endif %}>
|
|
</div>
|
|
<div id="autoplay_videos">
|
|
<label for="autoplay_videos">Autoplay videos</label>
|
|
<input type="hidden" value="off" name="autoplay_videos">
|
|
<input type="checkbox" name="autoplay_videos" {% if prefs.autoplay_videos == "on" %}checked{% endif %}>
|
|
</div>
|
|
<div id="fixed_navbar">
|
|
<label for="fixed_navbar">Keep navbar fixed</label>
|
|
<input type="hidden" value="off" name="fixed_navbar">
|
|
<input type="checkbox" name="fixed_navbar" {% if prefs.fixed_navbar == "on" %}checked{% endif %}>
|
|
</div>
|
|
<div id="use_hls">
|
|
<label for="use_hls">Use HLS for videos
|
|
<details id="feeds">
|
|
<summary>Why?</summary>
|
|
<div id="feed_list" class="helper">Reddit videos require JavaScript (via HLS.js) to be enabled to be played with audio. Therefore, this toggle lets you either use Libreddit JS-free or utilize this feature.</div>
|
|
</details>
|
|
</label>
|
|
<input type="hidden" value="off" name="use_hls">
|
|
<input type="checkbox" name="use_hls" {% if prefs.use_hls == "on" %}checked{% endif %}>
|
|
</div>
|
|
<div id="hide_hls_notification">
|
|
<label for="hide_hls_notification">Hide notification about possible HLS usage</label>
|
|
<input type="hidden" value="off" name="hide_hls_notification">
|
|
<input type="checkbox" name="hide_hls_notification" {% if prefs.hide_hls_notification == "on" %}checked{% endif %}>
|
|
</div>
|
|
<input id="save" type="submit" value="Save">
|
|
</div>
|
|
</form>
|
|
{% if prefs.subscriptions.len() > 0 %}
|
|
<div class="prefs" id="settings_subs">
|
|
<legend>Subscribed Feeds</legend>
|
|
{% for sub in prefs.subscriptions %}
|
|
<div>
|
|
{% let feed -%}
|
|
{% if sub.starts_with("u_") -%}{% let feed = format!("u/{}", &sub[2..]) -%}{% else -%}{% let feed = format!("r/{}", sub) -%}{% endif -%}
|
|
<a href="/{{ feed }}">{{ feed }}</a>
|
|
<form action="/r/{{ sub }}/unsubscribe/?redirect=settings" method="POST">
|
|
<button class="unsubscribe">Unsubscribe</button>
|
|
</form>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% if !prefs.filters.is_empty() %}
|
|
<div class="prefs" id="settings_filters">
|
|
<legend>Filtered Feeds</legend>
|
|
{% for sub in prefs.filters %}
|
|
<div>
|
|
{% let feed -%}
|
|
{% if sub.starts_with("u_") -%}{% let feed = format!("u/{}", &sub[2..]) -%}{% else -%}{% let feed = format!("r/{}", sub) -%}{% endif -%}
|
|
<a href="/{{ feed }}">{{ feed }}</a>
|
|
<form action="/r/{{ sub }}/unfilter/?redirect=settings" method="POST">
|
|
<button class="unfilter">Unfilter</button>
|
|
</form>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div id="settings_note">
|
|
<p><b>Note:</b> settings and subscriptions are saved in browser cookies. Clearing your cookies will reset them.</p><br>
|
|
<p>You can restore your current settings and subscriptions after clearing your cookies using <a href="/settings/restore/?theme={{ prefs.theme }}&front_page={{ prefs.front_page }}&layout={{ prefs.layout }}&wide={{ prefs.wide }}&post_sort={{ prefs.post_sort }}&comment_sort={{ prefs.comment_sort }}&show_nsfw={{ prefs.show_nsfw }}&use_hls={{ prefs.use_hls }}&hide_hls_notification={{ prefs.hide_hls_notification }}&subscriptions={{ prefs.subscriptions.join("%2B") }}&filters={{ prefs.filters.join("%2B") }}">this link</a>.</p>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|