28 lines
		
	
	
		
			833 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			833 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
| @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(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))))
 | |
| })
 |