@use plume_models::blogs::Blog; @use plume_models::posts::Post; @use crate::templates::{base, partials::post_card}; @use crate::template_utils::*; @use crate::routes::*; @(ctx: BaseContext, blogs: Vec<Blog>, drafts: Vec<Post>) @:base(ctx, i18n!(ctx.1, "Your Dashboard"), {}, {}, { <h1>@i18n!(ctx.1, "Your Dashboard")</h1> <section> <h2>@i18n!(ctx.1, "Your Blogs")</h2> @if blogs.is_empty() { <p>@i18n!(ctx.1, "You don't have any blog yet. Create your own, or ask to join one.")</p> } <div class="cards"> @for blog in blogs { <div class="card"> @if blog.banner_id.is_some() { <a class="cover-link" href="@uri!(blogs::details: name = &blog.actor_id, page = _)"> <div class="cover" style="background-image: url('@Html(blog.banner_url(ctx.0).unwrap_or_default())')"> </div> </a> } <h3><a href="@uri!(blogs::details: name = blog.actor_id, page = _)">@blog.title</a></h3> <main><p>@Html(blog.summary_html)</p></main> </div> } </div> <a class="button" href="@uri!(blogs::new)">@i18n!(ctx.1, "Start a new blog")</a> </section> @if !drafts.is_empty() { <section> <h2>@i18n!(ctx.1, "Your Drafts")</h2> <div class="cards"> @for draft in drafts { @:post_card(ctx, draft) } </div> </section> } <section> <h2>@i18n!(ctx.1, "Your media")</h2> <a class="button" href="@uri!(medias::list: page = _)">@i18n!(ctx.1, "Go to your gallery")</a> </section> })