feat(template): add user_id to HtmlPageContext and delete button to diary

This commit is contained in:
2026-05-04 14:31:12 +02:00
parent 144f2f8e0c
commit 7aa6d7bf4d
3 changed files with 16 additions and 2 deletions

View File

@@ -21,6 +21,13 @@
<div class="comment">{{ comment.value() }}</div>
{% endif %}
<div class="watched-at">{{ entry.review().watched_at().format("%Y-%m-%d") }}</div>
{% if let Some(uid) = ctx.user_id %}
{% if *uid == entry.review().user_id().value() %}
<form method="post" action="/reviews/{{ entry.review().id().value() }}/delete">
<button type="submit">Delete</button>
</form>
{% endif %}
{% endif %}
</div>
</article>
{% else %}

View File

@@ -1,7 +1,10 @@
use uuid::Uuid;
use domain::models::{DiaryEntry, collections::Paginated};
pub struct HtmlPageContext {
pub user_email: Option<String>,
pub user_id: Option<Uuid>,
pub register_enabled: bool,
}

View File

@@ -24,11 +24,12 @@ pub mod html {
};
async fn build_page_context(state: &AppState, user_id: Option<UserId>) -> HtmlPageContext {
let user_email = if let Some(id) = user_id {
let uuid = user_id.as_ref().map(|u| u.value());
let user_email = if let Some(ref id) = user_id {
state
.app_ctx
.user_repository
.find_by_id(&id)
.find_by_id(id)
.await
.ok()
.flatten()
@@ -38,6 +39,7 @@ pub mod html {
};
HtmlPageContext {
user_email,
user_id: uuid,
register_enabled: state.app_ctx.config.allow_registration,
}
}
@@ -89,6 +91,7 @@ pub mod html {
) -> impl IntoResponse {
let ctx = HtmlPageContext {
user_email: None,
user_id: None,
register_enabled: state.app_ctx.config.allow_registration,
};
let html = state
@@ -140,6 +143,7 @@ pub mod html {
}
let ctx = HtmlPageContext {
user_email: None,
user_id: None,
register_enabled: true,
};
let html = state