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

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

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

    @if articles.is_empty() {
        <section>
	    @if page == 1 {
                <h2>@i18n!(ctx.1, "No result for your query")</h2>
	    } else {
                <h2>@i18n!(ctx.1, "No more result 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))))
})