mirror of
https://git.joinplu.me/Plume/Plume.git
synced 2024-11-25 04:51:27 +00:00
7eef4643c8
Internationalization now uses proc-macros that generate the .pot file automatically.
33 lines
1.1 KiB
HTML
33 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>
|
|
})
|