Plume/templates/instance/emailblocklist.rs.html
2024-07-04 22:08:43 +03:30

65 lines
2.8 KiB
HTML

@use plume_models::blocklisted_emails::BlocklistedEmail;
@use crate::templates::{base, instance::admin_header};
@use crate::template_utils::*;
@use crate::routes::*;
@(ctx:BaseContext, emails: Vec<BlocklistedEmail>, page:i32, n_pages:i32)
@:base(ctx, i18n!(ctx.1, "Blocklisted Emails"), {}, {}, {
@:admin_header(ctx, "Blocklisted Emails", 4)
<form method="post" action="@uri!(instance::add_email_blocklist)">
@(Input::new("email_address", i18n!(ctx.1, "Email address"))
.details(i18n!(ctx.1, "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"))
.set_prop("minlength", 1)
.html(ctx.1))
@(Input::new("note", i18n!(ctx.1, "Note")).optional().html(ctx.1))
<label for="notify_user">@i18n!(ctx.1, "Notify the user?")
<input id="notify_user" type="checkbox" name="notify_user">
<small>
@i18n!(ctx.1, "Optional, shows a message to the user when they attempt to create an account with that address")
</small>
</label>
@(Input::new("notification_text", i18n!(ctx.1, "Blocklisting notification"))
.optional()
.details(i18n!(ctx.1, "The message to be shown when the user attempts to create an account with this email address")).html(ctx.1))
<input type="submit" value='@i18n!(ctx.1, "Add blocklisted address")'>
</form>
<form method="post" action="@uri!(instance::delete_email_blocklist)">
<header>
@if emails.is_empty() {
<p class="center" >@i18n!(ctx.1, "There are no blocked emails on your instance")</p>
} else {
<input type="submit" class="destructive" value='@i18n!(ctx.1, "Delete selected emails")'>
}
</header>
<div class="list">
@for email in emails {
<div class="card flex compact">
<input type="checkbox" name="@email.id">
<p class="grow">
<strong>
@i18n!(ctx.1, "Email address:")
</strong> @email.email_address
</p>
<p class="grow">
<strong>
@i18n!(ctx.1, "Blocklisted for:")
</strong> @email.note
</p>
<p class="grow">
@if email.notify_user {
<strong>
@i18n!(ctx.1, "Will notify them on account creation with this message:")
</strong>
@email.notification_text
} else {
@i18n!(ctx.1, "The user will be silently prevented from making an account")
}
</p>
</div>
}
</div>
</form>
@paginate(ctx.1, page, n_pages)
})