hyaenidae/templates/browse.rs.html

67 lines
2.2 KiB
HTML

@use crate::ActixLoader;
@use crate::browse::ViewBrowseState;
@use crate::nav::NavState;
@use crate::templates::layouts::wide;
@use hyaenidae_toolkit::templates::button_group;
@use hyaenidae_toolkit::templates::centered;
@use hyaenidae_toolkit::{templates::{card, card_body, card_title}, Card};
@use hyaenidae_toolkit::{templates::{tab, tab_group}, Tab};
@use hyaenidae_toolkit::templates::{thumbnail, thumbnail_border, thumbnails};
@use i18n_embed_fl::fl;
@(loader: &ActixLoader, browse_view: &ViewBrowseState, nav_state: &NavState)
@:wide(loader, &fl!(loader, "site-name"), &fl!(loader, "site-description"), nav_state, {}, {
@if browse_view.is_logged_in() {
<div class="tabs">
@:tab_group({
@:tab(Tab::new("/browse").selected(true), {
@fl!(loader, "submissions-tab")
})
@:tab(Tab::new("/discover"), {
@fl!(loader, "profiles-tab")
})
})
</div>
}
@if browse_view.has_submissions() {
@if browse_view.has_nav() {
@:thumbnail_border({
@:button_group(&browse_view.nav(loader))
})
}
@:thumbnails({
@for thumb in browse_view.submissions() {
@:thumbnail(&thumb)
}
})
@if browse_view.has_nav() {
@:thumbnail_border({
@:button_group(&browse_view.nav(loader))
})
}
} else {
@:centered(false, {
@if browse_view.is_logged_in() {
@:card(&Card::full_width().dark(nav_state.dark()).classes(&["empty-state"]), {
@:card_title({
@fl!(loader, "site-name")
})
@:card_body({
@fl!(loader, "browse-empty")
})
})
} else {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "site-name")
})
@:card_body({
@fl!(loader, "browse-logged-out")
})
})
}
})
}
})