44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
@use plume_models::medias::*;
 | 
						|
@use crate::templates::base;
 | 
						|
@use crate::template_utils::*;
 | 
						|
@use crate::routes::*;
 | 
						|
 | 
						|
@(ctx: BaseContext, medias: Vec<Media>, page: i32, n_pages: i32)
 | 
						|
 | 
						|
@: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>
 | 
						|
 | 
						|
    @if medias.is_empty() {
 | 
						|
        <p>@i18n!(ctx.1, "You don't have any media yet.")</p>
 | 
						|
    }
 | 
						|
 | 
						|
    <div class="cards">
 | 
						|
        @for media in medias {
 | 
						|
          <div class="card">
 | 
						|
              <div class="cover media-preview @media.category().to_string()"
 | 
						|
                @if media.category() == MediaCategory::Image {
 | 
						|
                  style="background-image: url('@media.url().unwrap_or_default()')"
 | 
						|
                }
 | 
						|
              ></div>
 | 
						|
              <main>
 | 
						|
                  <p class="p-summary">@media.alt_text</p>
 | 
						|
                  @if let Some(cw) = media.content_warning {
 | 
						|
                      <p>@i18n!(ctx.1, "Content warning: {0}"; cw)</p>
 | 
						|
                  }
 | 
						|
              </main>
 | 
						|
              <footer>
 | 
						|
                <form action="@uri!(medias::delete: id = media.id)" class="inline" method="POST">
 | 
						|
                    <input type="submit" value="@i18n!(ctx.1, "Delete")"/>
 | 
						|
                </form>
 | 
						|
                —
 | 
						|
                <a href="@uri!(medias::details: id = media.id)">@i18n!(ctx.1, "Details")</a>
 | 
						|
              </footer>
 | 
						|
          </div>
 | 
						|
        }
 | 
						|
    </div>
 | 
						|
    @paginate(ctx.1, page, n_pages)
 | 
						|
})
 |