hyaenidae/templates/submissions/public.rs.html
asonix 7ed5264bef Expose sensitive on submission page
- Don't show sensitive content to logged-out users
- Add sensitive indicator on submission tiles, thumbnails
- Improve mobile nav UI
2021-02-02 21:21:31 -06:00

101 lines
3.6 KiB
HTML

@use crate::ActixLoader;
@use crate::extensions::SubmissionExt;
@use crate::nav::NavState;
@use crate::submissions::ViewSubmissionState;
@use crate::templates::button_js;
@use crate::templates::layouts::home;
@use crate::templates::comments::nodes;
@use crate::templates::submissions::profile_box;
@use hyaenidae_toolkit::templates::bbcode;
@use hyaenidae_toolkit::{templates::button_group, Button};
@use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_spacer, card_title}, Card};
@use hyaenidae_toolkit::templates::image;
@use hyaenidae_toolkit::templates::nested;
@use hyaenidae_toolkit::templates::text_input;
@use hyaenidae_toolkit::{templates::{tile, tiles}, Tiles};
@use i18n_embed_fl::fl;
@(loader: &ActixLoader, view: &ViewSubmissionState, nav_state: &NavState)
@:home(loader, &view.submission.title_text(), view.submission.description_text().unwrap_or(&fl!(loader, "view-submission-subtitle", title = view.submission.title_text())), nav_state, {
@:button_js()
}, {
@if view.is_self {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ Edit Submission })
@:card_body({
@:button_group(&[
Button::primary(&fl!(loader, "view-submission-edit-button")).href(&view.submission.update_path()),
])
})
})
}
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@Html(view.submission.title_text())
})
@:card_section({
@if let Some(img) = view.image() {
<div class="submission-box">
@:image(&img)
</div>
} else {
<p>@fl!(loader, "view-submission-image-error")</p>
}
})
@if view.tiles(loader).len() > 1 {
@:card_spacer()
@:card_section({
@:tiles(&Tiles::new().small(true).scroll(true), {
@for t in view.tiles(loader) {
@:tile(&t)
}
})
})
}
@:card_body({
<div class="submission-buttons">
@:button_group(&view.nav)
</div>
})
@:card_body({
@:profile_box(loader, &view.poster(), view.submission.published(), nav_state.dark(), {
@if let Some(description) = view.submission.description_text() {
@:bbcode({
@Html(description)
})
}
})
})
})
@if view.profile.is_some() && view.submission.published().is_some() {
@:card(&Card::full_width().dark(nav_state.dark()), {
<form method="POST" action="@view.submission.comment_path()">
@:card_title({
@fl!(loader, "comment-heading")
})
@:card_body({
@:text_input(&view.comment_input(loader).dark(nav_state.dark()))
})
@:card_body({
@:button_group(&[
Button::primary(&fl!(loader, "comment-button")),
])
})
</form>
})
}
@if view.comments.has_children() {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "comment-section-heading")
})
@:card_body({
@:nested(nav_state.dark(), {
@:nodes(loader, &view.comments, &view.cache, &view.parent(), view.profile.is_some(), nav_state.dark())
})
})
})
}
})