34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| @use plume_models::medias::Media;
 | |
| @use plume_models::safe_string::SafeString;
 | |
| @use templates::base;
 | |
| @use template_utils::*;
 | |
| @use routes::*;
 | |
| 
 | |
| @(ctx: BaseContext, medias: Vec<Media>)
 | |
| 
 | |
| @:base(ctx, i18n!(ctx.1, "Your media"), {}, {}, {
 | |
|     <h1>@i18n!(ctx.1, "Your media")</h1>
 | |
|     <div>
 | |
|         <a href="@uri!(medias::new)" class="inline-block button">@i18n!(ctx.1, "Upload")</a>
 | |
|     </div>
 | |
| 
 | |
|     <section>
 | |
|         @if medias.is_empty() {
 | |
|             <p>@i18n!(ctx.1, "You don't have any media yet.")</p>
 | |
|         }
 | |
|         <div class="list">
 | |
|             @for media in medias {
 | |
|                 <div class="card flex">
 | |
|                     @Html(media.preview_html(ctx.0).unwrap_or(SafeString::new("")))
 | |
|                     <main class="grow">
 | |
|                         <p><a href="@uri!(medias::details: id = media.id)">@media.alt_text</a></p>
 | |
|                     </main>
 | |
|                     <form action="@uri!(medias::delete: id = media.id)" class="inline" method="POST">
 | |
|                         <input type="submit" value="@i18n!(ctx.1, "Delete")"/>
 | |
|                     </form>
 | |
|                 </div>
 | |
|             }
 | |
|         </div>
 | |
|     </section>
 | |
| })
 |