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

@(ctx: BaseContext, query_str: &str, articles: Vec<Post>, page: i32, n_pages: i32)

@:base(ctx, i18n!(ctx.1, "Search result(s) for \"{0}\""; query_str), {}, {}, {
    <h1>@i18n!(ctx.1, "Search result(s)")</h1>
    <p>@query_str</p>

    @if articles.is_empty() {
        <section>
	    @if page == 1 {
            <h2>@i18n!(ctx.1, "No results for your query")</h2>
	    } else {
            <h2>@i18n!(ctx.1, "No more results for your query")</h2>
	    }
        </section>
    } else {
        <div class="cards">
            @for article in articles {
                @:post_card(ctx, article)
            }
        </div>
    }
    @paginate_param(ctx.1, page, n_pages, Some(format!("q={}", encode_query_param(query_str))))
})