hyaenidae/templates/profiles/public.rs.html

48 lines
1.7 KiB
HTML

@use crate::ActixLoader;
@use crate::extensions::ProfileExt;
@use crate::nav::NavState;
@use crate::profiles::ViewProfileState;
@use crate::templates::layouts::home;
@use hyaenidae_toolkit::templates::button_group;
@use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_title}, Card};
@use hyaenidae_toolkit::templates::profile;
@use hyaenidae_toolkit::{templates::{tile, tiles}, Tiles};
@use i18n_embed_fl::fl;
@(loader: &ActixLoader, pview: &ViewProfileState, nav_state: &NavState)
@:home(loader, &pview.profile().profile.name(), pview.profile().profile.description().unwrap_or(&fl!(loader, "profile-view-subtitle", profileName = pview.profile().profile.name())), nav_state, {}, {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:profile(&pview.profile().heading(loader).dark(nav_state.dark()))
})
@if !pview.buttons(loader).is_empty() {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "profile-actions-heading")
})
@:card_body({
@:button_group(&pview.buttons(loader))
})
})
}
@if !pview.submissions().is_empty() {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "profile-submissions-heading")
})
@:card_section({
@:tiles(&Tiles::new(), {
@for t in pview.submissions() {
@:tile(&t)
}
})
})
@if pview.nav(loader).len() > 0 {
@:card_body({
@:button_group(&pview.nav(loader))
})
}
})
}
})