mirror of
https://git.joinplu.me/Plume/Plume.git
synced 2024-11-23 03:51:00 +00:00
732f514da7
We add clippy as our build — also rectifying the missing `plume-cli` build! In the next step we follow clippy's advise and fix some of the "simple" mistakes in our code, such as style or map usage. Finally, we refactor some hard bits that need extraction of new types, or refactoring of function call-types, especially those that thread thru macros, and, of course functions with ~15 parameters should probably be rethought.
48 lines
1.7 KiB
HTML
48 lines
1.7 KiB
HTML
@use template_utils::*;
|
|
@use plume_models::users::User;
|
|
@use 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>
|
|
@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(false) {
|
|
<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>
|