2021-01-22 05:47:47 +00:00
|
|
|
@use crate::extensions::SubmissionExt;
|
|
|
|
@use crate::nav::NavState;
|
|
|
|
@use crate::submissions::ViewSubmissionState;
|
2021-01-16 04:50:15 +00:00
|
|
|
@use crate::templates::button_js;
|
2021-01-12 03:59:42 +00:00
|
|
|
@use crate::templates::layouts::home;
|
|
|
|
@use crate::templates::comments::nodes;
|
2021-01-22 05:47:47 +00:00
|
|
|
@use crate::templates::submissions::profile_box;
|
2021-01-11 04:09:47 +00:00
|
|
|
@use hyaenidae_toolkit::{templates::button_group, Button};
|
|
|
|
@use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_title}, Card};
|
2021-01-22 05:47:47 +00:00
|
|
|
@use hyaenidae_toolkit::templates::image;
|
2021-01-13 04:39:59 +00:00
|
|
|
@use hyaenidae_toolkit::templates::nested;
|
2021-01-12 03:59:42 +00:00
|
|
|
@use hyaenidae_toolkit::templates::text_input;
|
2021-01-10 01:49:33 +00:00
|
|
|
|
2021-01-22 05:47:47 +00:00
|
|
|
@(view: &ViewSubmissionState, nav_state: &NavState)
|
2021-01-10 01:49:33 +00:00
|
|
|
|
2021-01-16 04:50:15 +00:00
|
|
|
@:home(&view.submission.title(), view.submission.description().unwrap_or(&format!("{} hosted on Hyaenidae", view.submission.title())), nav_state, {
|
|
|
|
@:button_js()
|
|
|
|
}, {
|
2021-01-11 04:09:47 +00:00
|
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
2021-01-10 01:49:33 +00:00
|
|
|
@:card_title({
|
2021-01-11 04:09:47 +00:00
|
|
|
@view.submission.title()
|
2021-01-10 01:49:33 +00:00
|
|
|
})
|
2021-01-11 04:09:47 +00:00
|
|
|
@:card_section({
|
2021-01-22 05:47:47 +00:00
|
|
|
@if let Some(img) = view.image() {
|
2021-01-13 04:39:59 +00:00
|
|
|
<div class="submission-box">
|
2021-01-22 05:47:47 +00:00
|
|
|
@:image(&img)
|
2021-01-11 04:09:47 +00:00
|
|
|
</div>
|
|
|
|
} else {
|
|
|
|
<div>Failed to display image</div>
|
|
|
|
}
|
|
|
|
})
|
|
|
|
@:card_body({
|
|
|
|
<div class="submission-buttons">
|
2021-01-22 05:47:47 +00:00
|
|
|
@:button_group(&view.nav)
|
2021-01-10 01:49:33 +00:00
|
|
|
</div>
|
2021-01-11 04:09:47 +00:00
|
|
|
})
|
2021-01-10 01:49:33 +00:00
|
|
|
@:card_body({
|
2021-01-22 05:47:47 +00:00
|
|
|
@:profile_box(&view.poster(), view.submission.published(), nav_state.dark(), {
|
2021-01-12 03:59:42 +00:00
|
|
|
@if let Some(description) = view.submission.description() {
|
|
|
|
@description
|
|
|
|
}
|
|
|
|
})
|
2021-01-10 01:49:33 +00:00
|
|
|
})
|
|
|
|
})
|
|
|
|
@if view.is_self {
|
2021-01-11 04:09:47 +00:00
|
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
2021-01-10 01:49:33 +00:00
|
|
|
@:card_title({ Update Submission })
|
|
|
|
@:card_body({
|
|
|
|
@:button_group(&[
|
2021-01-22 05:47:47 +00:00
|
|
|
Button::primary("Update").href(&view.submission.update_path()),
|
2021-01-10 01:49:33 +00:00
|
|
|
])
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
2021-01-12 03:59:42 +00:00
|
|
|
@if view.profile.is_some() && view.submission.published().is_some() {
|
|
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
2021-01-22 05:47:47 +00:00
|
|
|
<form method="POST" action="@view.submission.comment_path()">
|
2021-01-12 03:59:42 +00:00
|
|
|
@:card_title({ Comment })
|
|
|
|
@:card_body({
|
|
|
|
@:text_input(&view.comment_input)
|
|
|
|
})
|
|
|
|
@:card_body({
|
|
|
|
@:button_group(&[
|
2021-01-22 05:47:47 +00:00
|
|
|
Button::primary("Submit"),
|
2021-01-12 03:59:42 +00:00
|
|
|
])
|
|
|
|
})
|
|
|
|
</form>
|
2021-01-10 01:49:33 +00:00
|
|
|
})
|
2021-01-12 03:59:42 +00:00
|
|
|
}
|
|
|
|
@if view.comments.has_children() {
|
|
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
|
|
|
@:card_title({ Comments })
|
|
|
|
@:card_body({
|
2021-01-13 04:39:59 +00:00
|
|
|
@:nested(nav_state.dark(), {
|
2021-01-22 05:47:47 +00:00
|
|
|
@:nodes(&view.comments, &view.cache, &view.parent(), view.profile.is_some(), nav_state.dark())
|
2021-01-13 04:39:59 +00:00
|
|
|
})
|
2021-01-12 03:59:42 +00:00
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
2021-01-10 01:49:33 +00:00
|
|
|
})
|