hyaenidae/templates/profiles/create/banner.rs.html

52 lines
2 KiB
HTML

@use crate::ActixLoader;
@use crate::templates::layouts::home;
@use crate::nav::NavState;
@use crate::profiles::EditProfileState;
@use crate::templates::{button_js, file_js};
@use hyaenidae_toolkit::{templates::button_group, Button};
@use hyaenidae_toolkit::{templates::{card, card_body, card_title}, Card};
@use hyaenidae_toolkit::templates::file_input;
@use hyaenidae_toolkit::templates::profile;
@use i18n_embed_fl::fl;
@(loader: &ActixLoader, profile_state: &EditProfileState, nav_state: &NavState)
@:home(loader, &fl!(loader, "create-profile-title"), &fl!(loader, "create-profile-subtitle"), nav_state, {
@:button_js()
@:file_js()
}, {
@:card(&Card::full_width().dark(nav_state.dark()), {
<form method="POST" action="/profiles/create/banner" enctype="multipart/form-data">
@:card_title({
@fl!(loader, "create-banner-heading")
})
@:card_body({
<p>@fl!(loader, "create-banner-description")</p>
})
@if let Some(error) = &profile_state.banner_error {
@:card_body({
<p>@error</p>
})
}
@:card_body({
@:file_input(&profile_state.banner(loader).dark(nav_state.dark()))
})
@:card_body({
@:button_group(&[
Button::primary(&fl!(loader, "create-profile-next")),
Button::outline(&fl!(loader, "create-profile-back")).href("/profiles/create/icon"),
Button::primary_outline(&fl!(loader, "create-profile-skip")).href("/profiles/create/require-login"),
Button::primary_outline(&fl!(loader, "create-profile-skip-all")).href("/profiles/create/done"),
])
})
</form>
})
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "create-profile-preview-heading")
})
@:profile(&profile_state.profile().heading(loader).dark(nav_state.dark()))
})
})