29 lines
		
	
	
		
			965 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			965 B
		
	
	
	
		
			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, "Your feed", {}, {}, {
 | |
|   <h1>@i18n!(ctx.1, "Your feed")</h1>
 | |
| 
 | |
|     @tabs(&[
 | |
|             (&uri!(instance::index).to_string(), i18n!(ctx.1, "Latest articles"), false),
 | |
|             (&uri!(instance::feed: _).to_string(), i18n!(ctx.1, "Your feed"), true),
 | |
|             (&uri!(instance::federated: _).to_string(), i18n!(ctx.1, "Federated feed"), false),
 | |
|             (&uri!(instance::local: _).to_string(), i18n!(ctx.1, "Local feed"), false),
 | |
|     ])
 | |
| 
 | |
|     @if !articles.is_empty() {
 | |
|         <div class="cards">
 | |
|             @for article in articles {
 | |
|                 @:post_card(ctx, article)
 | |
|             }
 | |
|         </div>
 | |
|     } else {
 | |
|         <p class="center">@i18n!(ctx.1, "Nothing to see here yet. Try to follow more people.")</p>
 | |
|     }
 | |
|     @paginate(ctx.1, page, n_pages)
 | |
| })
 |