@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>
})