Display sub list from list in cookie.
Very basic sub list setup. Cookie must be manually added in devtools.
This commit is contained in:
parent
49a6168607
commit
75bbcefbec
10 changed files with 95 additions and 2 deletions
|
@ -129,6 +129,7 @@ pub struct Preferences {
|
||||||
pub wide: String,
|
pub wide: String,
|
||||||
pub hide_nsfw: String,
|
pub hide_nsfw: String,
|
||||||
pub comment_sort: String,
|
pub comment_sort: String,
|
||||||
|
pub subs: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -144,6 +145,7 @@ pub fn prefs(req: HttpRequest) -> Preferences {
|
||||||
wide: cookie(&req, "wide"),
|
wide: cookie(&req, "wide"),
|
||||||
hide_nsfw: cookie(&req, "hide_nsfw"),
|
hide_nsfw: cookie(&req, "hide_nsfw"),
|
||||||
comment_sort: cookie(&req, "comment_sort"),
|
comment_sort: cookie(&req, "comment_sort"),
|
||||||
|
subs: cookie(&req, "subreddits").split(",").map(|s| s.to_string()).collect(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ pre, form, fieldset, table, th, td, select, input {
|
||||||
body {
|
body {
|
||||||
background: var(--background);
|
background: var(--background);
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
|
padding-top: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
|
@ -108,7 +109,7 @@ main {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
max-width: 1000px;
|
max-width: 1000px;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
margin: 60px auto 20px auto
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wide main {
|
.wide main {
|
||||||
|
@ -232,6 +233,45 @@ aside {
|
||||||
color: var(--accent);
|
color: var(--accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Subscriptions/Favorites */
|
||||||
|
|
||||||
|
#sub_subscription {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub_subscription > a {
|
||||||
|
padding: 10px 20px;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: var(--foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub_subscription > .add { color: var(--foreground); background-color: var(--accent); }
|
||||||
|
#sub_subscription > .remove { color: var(--text); background-color: var(--highlighted); }
|
||||||
|
|
||||||
|
#sub_list {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#subs {
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: var(--shadow);
|
||||||
|
background: var(--outside);
|
||||||
|
display: flex;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#subs a {
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#subs > .selected {
|
||||||
|
background-color: var(--accent);
|
||||||
|
color: var(--foreground);
|
||||||
|
}
|
||||||
|
|
||||||
/* Wiki Pages */
|
/* Wiki Pages */
|
||||||
|
|
||||||
#wiki {
|
#wiki {
|
||||||
|
@ -954,10 +994,12 @@ td, th {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 800px) {
|
@media screen and (max-width: 800px) {
|
||||||
|
body { padding-top: 100px }
|
||||||
|
|
||||||
main {
|
main {
|
||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
margin: 100px 0 10px 0;
|
margin: 0 0 10px 0;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -967,6 +1009,8 @@ td, th {
|
||||||
width: calc(100% - 20px);
|
width: calc(100% - 20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sub_list { padding: 10px; }
|
||||||
|
|
||||||
aside, #subreddit, #user {
|
aside, #subreddit, #user {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
{% block search %}{% endblock %}
|
{% block search %}{% endblock %}
|
||||||
<a id="code" href="https://github.com/spikecodes/libreddit">code</a>
|
<a id="code" href="https://github.com/spikecodes/libreddit">code</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<!-- SUBSCRIBED SUBREDDITS -->
|
||||||
|
{% block sub_list %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
<!-- MAIN CONTENT -->
|
<!-- MAIN CONTENT -->
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
<meta name="author" content="u/{{ post.author.name }}">
|
<meta name="author" content="u/{{ post.author.name }}">
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list(post.community.as_str()) %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
<!-- OPEN COMMENT MACRO -->
|
<!-- OPEN COMMENT MACRO -->
|
||||||
{% macro comment(item) -%}
|
{% macro comment(item) -%}
|
||||||
<div id="{{ item.id }}" class="comment">
|
<div id="{{ item.id }}" class="comment">
|
||||||
|
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
{% block title %}Libreddit: search results - {{ params.q }}{% endblock %}
|
{% block title %}Libreddit: search results - {{ params.q }}{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list("") %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="column_one">
|
<div id="column_one">
|
||||||
<form id="search_sort">
|
<form id="search_sort">
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
{% call utils::search("".to_owned(), "", "") %}
|
{% call utils::search("".to_owned(), "", "") %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list("") %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form id="settings" action="/settings" method="POST">
|
<form id="settings" action="/settings" method="POST">
|
||||||
<div id="prefs">
|
<div id="prefs">
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
{% call utils::search(["/r/", sub.name.as_str()].concat(), "") %}
|
{% call utils::search(["/r/", sub.name.as_str()].concat(), "") %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list(sub.name.as_str()) %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<main>
|
<main>
|
||||||
<div id="column_one">
|
<div id="column_one">
|
||||||
|
@ -121,6 +125,13 @@
|
||||||
<div>{{ sub.members }}</div>
|
<div>{{ sub.members }}</div>
|
||||||
<div>{{ sub.active }}</div>
|
<div>{{ sub.active }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="sub_subscription">
|
||||||
|
{% if prefs.subs.contains(sub.name) %}
|
||||||
|
<a class="subscribe remove">Unsubscribe</a>
|
||||||
|
{% else %}
|
||||||
|
<a class="subscribe add">Subscribe</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<details class="panel" id="sidebar">
|
<details class="panel" id="sidebar">
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
|
|
||||||
{% block title %}{{ user.name.replace("u/", "") }} (u/{{ user.name }}) - Libreddit{% endblock %}
|
{% block title %}{{ user.name.replace("u/", "") }} (u/{{ user.name }}) - Libreddit{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list("") %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<main>
|
<main>
|
||||||
<div id="column_one">
|
<div id="column_one">
|
||||||
|
|
|
@ -39,3 +39,15 @@
|
||||||
{% else if flair_part.flair_part_type == "text" %}<span>{{ flair_part.value }}</span>{% endif %}
|
{% else if flair_part.flair_part_type == "text" %}<span>{{ flair_part.value }}</span>{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{% macro sub_list(current) -%}
|
||||||
|
{% if prefs.subs.len() > 0 %}
|
||||||
|
<div id="sub_list">
|
||||||
|
<div id="subs">
|
||||||
|
{% for sub in prefs.subs %}
|
||||||
|
<a href="/r/{{ sub }}" {% if sub == current %}class="selected"{% endif %}>{{ sub }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{%- endmacro %}
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
{% call utils::search(["/r/", sub.as_str()].concat(), "") %}
|
{% call utils::search(["/r/", sub.as_str()].concat(), "") %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block sub_list %}
|
||||||
|
{% call utils::sub_list(sub.as_str()) %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<main>
|
<main>
|
||||||
<div class="panel" id="column_one">
|
<div class="panel" id="column_one">
|
||||||
|
|
Loading…
Reference in a new issue