Skip to content

Commit

Permalink
Make the apworlds page logged in restricted
Browse files Browse the repository at this point in the history
Also improve some code, just remembered about `.partition`
  • Loading branch information
Eijebong committed May 23, 2024
1 parent 3723389 commit 6c5ede5
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 22 deletions.
22 changes: 9 additions & 13 deletions src/views/apworlds.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ use walkdir::WalkDir;
use crate::error::Result;
use crate::utils::ZipFile;
use crate::APWorldPath;
use crate::Session;
use crate::TplContext;

use super::auth::LoggedInSession;
Expand All @@ -46,21 +45,18 @@ enum APWorldResponse<'a> {
#[rocket::get("/worlds")]
fn list_worlds<'a>(
index: &'a State<Index>,
session: Session,
session: LoggedInSession,
cookies: &CookieJar,
) -> Result<WorldsListTpl<'a>> {
let (supported_apworlds, unsupported_apworlds): (BTreeMap<_, _>, BTreeMap<_, _>) = index
.worlds
.iter()
.partition(|(_, world)| world.is_supported());

Ok(WorldsListTpl {
base: TplContext::from_session("apworlds", session, cookies),
supported_apworlds: index
.worlds
.iter()
.filter(|(_, world)| world.is_supported())
.collect(),
unsupported_apworlds: index
.worlds
.iter()
.filter(|(_, world)| !world.is_supported())
.collect(),
base: TplContext::from_session("apworlds", session.0, cookies),
supported_apworlds,
unsupported_apworlds,
index,
})
}
Expand Down
23 changes: 14 additions & 9 deletions templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,23 @@
{% call menu::app_menu_item("Rooms", "fa-brands fa-buffer", "/", "index", base.cur_module) %}
{% block room_navigation %}
{% endblock %}
{% call menu::app_menu_item("Apworlds", "fa fa-globe", "/worlds", "apworlds", base.cur_module) %}
<span class="separator"></span>
{% if base.is_logged_in %}
{% if base.is_admin %}
{% call menu::app_menu_item("All rooms", "fa fa-list", "/rooms", "rooms", base.cur_module) %}
{% else %}
{% call menu::app_menu_item("My rooms", "fa fa-list", "/rooms", "rooms", base.cur_module) %}
{% call menu::app_menu_item("Apworlds", "fa fa-globe", "/worlds", "apworlds", base.cur_module) %}
{% endif %}
{% call menu::app_menu_item("Create new room", "fa fa-plus", "/create-room", "create-room", base.cur_module) %}
{% call menu::app_menu_item("Logout", "fa fa-sign-out", "/auth/logout", "logout", base.cur_module) %}

<span class="separator"></span>

{% if base.is_logged_in %}
{% if base.is_admin %}
{% call menu::app_menu_item("All rooms", "fa fa-list", "/rooms", "rooms", base.cur_module) %}
{% else %}
{% call menu::app_menu_item("My rooms", "fa fa-list", "/rooms", "rooms", base.cur_module) %}
{% endif %}

{% call menu::app_menu_item("Create new room", "fa fa-plus", "/create-room", "create-room", base.cur_module) %}
{% call menu::app_menu_item("Logout", "fa fa-sign-out", "/auth/logout", "logout", base.cur_module) %}
{% else %}
{% call menu::app_menu_item("Login", "fa fa-sign-in", "/auth/#", "login", base.cur_module) %}
{% call menu::app_menu_item("Login", "fa fa-sign-in", "/auth/#", "login", base.cur_module) %}
{% endif %}

<a class="source-code" href="https://github.com/Eijebong/Archipelago-lobby" id="github"><span><i class="fa-brands fa-github"></i></span></a>
Expand Down

0 comments on commit 6c5ede5

Please # to comment.