@use plume_models::notifications::Notification; @use crate::templates::base; @use crate::template_utils::*; @(ctx: BaseContext, notifications: Vec<Notification>, page: i32, n_pages: i32) @:base(ctx, i18n!(ctx.1, "Notifications"), {}, {}, { <h1>@i18n!(ctx.1, "Notifications")</h1> <div class="list"> @for notification in notifications { <div class="card flex"> <i class="icon @notification.icon_class() left-icon"></i> <main class="grow"> <h3> @if let Some(url) = notification.get_url(ctx.0) { <a href="@url"> @translate_notification(ctx, notification.clone()) </a> } else { @translate_notification(ctx, notification.clone()) } </h3> @if let Some(post) = notification.get_post(ctx.0) { <p><a href="@post.url(ctx.0).unwrap_or_default()">@post.title</a></p> } </main> <p><small>@notification.creation_date.format("%B %e, %H:%M")</small></p> </div> } </div> @paginate(ctx.1, page, n_pages) })