@use plume_models::posts::Post;
@use plume_models::instance::Instance;
@use templates::{base, partials::post_card};
@use template_utils::*;
@use routes::*;

@(ctx: BaseContext, instance: Instance, articles: Vec<Post>, page: i32, n_pages: i32)

@:base(ctx, i18n!(ctx.1, "Articles from {}"; instance.name.clone()), {}, {}, {
<div class="h-feed">
  <h1 class="p-name">@i18n!(ctx.1, "Articles from {}"; instance.name)</h1>

    @if ctx.2.is_some() {
        @tabs(&[
            (&uri!(instance::index).to_string(), i18n!(ctx.1, "Latest articles"), false),
            (&uri!(instance::feed: _).to_string(), i18n!(ctx.1, "Your feed"), false),
            (&uri!(instance::federated: _).to_string(), i18n!(ctx.1, "Federated feed"), false),
            (&uri!(instance::local: _).to_string(), i18n!(ctx.1, "Local feed"), true),
        ])
    } else {
        @tabs(&[
            (&uri!(instance::index).to_string(), i18n!(ctx.1, "Latest articles"), false),
            (&uri!(instance::federated: _).to_string(), i18n!(ctx.1, "Federated feed"), false),
            (&uri!(instance::local: _).to_string(), i18n!(ctx.1, "Local feed"), true),
        ])
    }

    <div class="cards spaced">
        @for article in articles {
            @:post_card(ctx, article)
        }
    </div>
    @paginate(ctx.1, page, n_pages)
</div>
})