@use plume_models::users::User; @use crate::template_utils::*; @use crate::routes::*; @(ctx: BaseContext, user: &User, follows: bool, is_remote: bool, instance_url: String) <div class="h-card"> <div class="user"> <div class="flex wrap"> @avatar(ctx.0, user, Size::Medium, false, ctx.1) <h1 class="grow flex vertical"> <span class="p-name">@user.name()</span> <small class="p-nickname">@user.fqn</small> </h1> <p class="grow"> @if user.is_admin() { <span class="badge">@i18n!(ctx.1, "Admin")</span> } @if ctx.2.clone().map(|u| u.id == user.id).unwrap_or(false) { <span class="badge">@i18n!(ctx.1, "It is you")</span> <a href="@uri!(user::edit: name = &user.username)" class="button inline-block">@i18n!(ctx.1, "Edit your profile")</a> } </p> </div> @if is_remote { <a class="inline-block u-url" href="@user.ap_url" rel="me" target="_blank">@i18n!(ctx.1, "Open on {0}"; instance_url)</a> } else { <a class="u-url" href="@user.ap_url"></a> } @if ctx.2.clone().map(|u| u.id != user.id).unwrap_or(true) { <form class="inline" method="post" action="@uri!(user::follow: name = &user.fqn)"> @if follows { <input type="submit" value="@i18n!(ctx.1, "Unsubscribe")"> } else { <input type="submit" value="@i18n!(ctx.1, "Subscribe")"> } </form> } </div> <div class="user-summary p-note"> @Html(user.summary_html.clone()) </div> </div>