35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| @use plume_models::posts::Post;
 | |
| @use templates::{base, partials::post_card};
 | |
| @use template_utils::*;
 | |
| @use routes::*;
 | |
| 
 | |
| @(ctx: BaseContext, articles: Vec<Post>, page: i32, n_pages: i32)
 | |
| 
 | |
| @:base(ctx, i18n!(ctx.1, "All the articles of the Fediverse"), {}, {}, {
 | |
| <div class="h-feed">
 | |
|   <h1 "p-name">@i18n!(ctx.1, "All the articles of the Fediverse")</h1>
 | |
| 
 | |
|     @if let Some(_) = ctx.2 {
 | |
|         @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"), true),
 | |
|             (&uri!(instance::local: _).to_string(), i18n!(ctx.1, "Local feed"), false),
 | |
|         ])
 | |
|     } else {
 | |
|         @tabs(&[
 | |
|               (&uri!(instance::index).to_string(), i18n!(ctx.1, "Latest articles"), false),
 | |
|               (&uri!(instance::federated: _).to_string(), i18n!(ctx.1, "Federated feed"), true),
 | |
|               (&uri!(instance::local: _).to_string(), i18n!(ctx.1, "Local feed"), false),
 | |
|         ])
 | |
|     }
 | |
| 
 | |
|     <div class="cards">
 | |
|         @for article in articles {
 | |
|             @:post_card(ctx, article)
 | |
|         }
 | |
|     </div>
 | |
|     @paginate(ctx.1, page, n_pages)
 | |
| </div>
 | |
| })
 |