- API и страницы профиля (редактирование, смена пароля, аватар), публичные карточки. - Сайдбар: блок пользователя, пункт Users для admin/root, исправлен порядок инициализации (показ admin-only после initAuthSession, currentUser). - GET /auth/me: ответ через ProfileMeResponse, исправлена валидация (is_founder bool). Команды и роли - Маршруты и UI команд; при редактировании роли: видимость Team, выбор команды в модалке, только команды с активным членством; API team_id в details/ update. - GET /api/v1/teams?membership=active для списка «своих» команд. - Форма роли: сегмент Team, панель выбора команды только при Team и не при с
28 lines
1.1 KiB
HTML
28 lines
1.1 KiB
HTML
{% extends "base.xhtml" %}
|
|
{% from "macros/page-hero.xhtml" import page_hero %}
|
|
{% block content %}
|
|
<div class="dashboard-page profile-page" data-page="profile">
|
|
{% call page_hero("Account", "My profile", "Your account details and how others see you in RoleForge.") %}
|
|
<div class="dashboard-hero-actions">
|
|
<a href="/profile/edit" class="cta-button cta-button--secondary">Edit profile</a>
|
|
<a href="/profile/avatar" class="cta-button">Profile photo</a>
|
|
</div>
|
|
{% endcall %}
|
|
<section class="dashboard-panel dashboard-panel--primary">
|
|
<div class="profile-me-layout">
|
|
<div class="profile-me-avatar-wrap">
|
|
<img id="profile-me-avatar" class="profile-me-avatar" src="" alt="" width="128" height="128" />
|
|
</div>
|
|
<div class="profile-me-fields">
|
|
<dl class="profile-dl">
|
|
<dt>Username</dt><dd id="profile-me-username">—</dd>
|
|
<dt>Email</dt><dd id="profile-me-email">—</dd>
|
|
<dt>Full name</dt><dd id="profile-me-fullname">—</dd>
|
|
<dt>Bio</dt><dd id="profile-me-bio" class="profile-me-bio">—</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
{% endblock %}
|