@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>
})
