Files

153 lines
6.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@extends('layouts.portal')
@section('portal-content')
<section class="section">
<div class="section-heading">
<span class="eyebrow">Личный кабинет</span>
<h2>{{ $user->username }}</h2>
<p>Здесь можно посмотреть персонажей, сменить пароль и скачать лаунчер.</p>
</div>
<div class="portal-grid">
<article class="content-card">
<h3>Данные аккаунта</h3>
<dl class="stats-list">
<div>
<dt>Логин</dt>
<dd>{{ $user->username }}</dd>
</div>
<div>
<dt>Email</dt>
<dd>{{ $user->email !== '' ? $user->email : '—' }}</dd>
</div>
<div>
<dt>Уровень доступа</dt>
<dd>{{ $user->accessLabel() }}</dd>
</div>
<div>
<dt>Регистрация</dt>
<dd>{{ $user->joinedAtLabel() }}</dd>
</div>
<div>
<dt>Последний вход</dt>
<dd>{{ $user->lastLoginLabel() }}</dd>
</div>
<div>
<dt>Статус</dt>
<dd>{{ $user->locked ? 'Заблокирован' : 'Активен' }}</dd>
</div>
</dl>
@if ($user->canAccessAdminPanel())
<a class="button button--ghost" href="{{ route('admin.accounts.index') }}">Перейти в админку</a>
@endif
</article>
<article class="content-card">
<h3>Лаунчер</h3>
<p>Скачай лаунчер для автоматической загрузки и обновления клиента игры.</p>
<div class="action-stack">
<a class="button button--gold" href="{{ route('cabinet.client') }}">Скачать лаунчер</a>
<span class="muted-note">Файл: {{ $clientFilename }}</span>
</div>
</article>
</div>
</section>
<section class="section section--split">
<article class="content-card">
<span class="eyebrow">Безопасность</span>
<h2>Сменить пароль</h2>
<p>После обновления новый пароль сразу начнёт действовать для входа в игру и кабинет.</p>
<form class="register-form" method="POST" action="{{ route('cabinet.password.update') }}">
@csrf
<label class="form-field">
<span>Текущий пароль</span>
<input class="form-control @error('current_password') is-invalid @enderror" type="password" name="current_password" maxlength="32" required>
@error('current_password')<span class="form-error">{{ $message }}</span>@enderror
</label>
<label class="form-field">
<span>Новый пароль</span>
<input class="form-control @error('password') is-invalid @enderror" type="password" name="password" maxlength="32" required>
</label>
<label class="form-field">
<span>Подтверждение нового пароля</span>
<input class="form-control @error('password') is-invalid @enderror" type="password" name="password_confirmation" maxlength="32" required>
@error('password')<span class="form-error">{{ $message }}</span>@enderror
</label>
<button class="button button--gold button--full" type="submit">Обновить пароль</button>
</form>
</article>
<article class="content-card">
<span class="eyebrow">Персонажи</span>
<h2>Краткая сводка</h2>
<p>Всего персонажей: {{ $characters->count() }}. Ниже показан полный список по этому аккаунту.</p>
@if ($characters->isNotEmpty())
<div class="tag-list">
@foreach ($characters as $character)
<span class="tag">{{ $character['name'] }} · {{ $character['class'] }} · {{ $character['level'] }}</span>
@endforeach
</div>
@else
<div class="empty-inline">Персонажей пока нет.</div>
@endif
</article>
</section>
<section class="section">
<div class="section-heading">
<span class="eyebrow">Мои персонажи</span>
<h2>Все персонажи аккаунта</h2>
<p>Здесь отображаются игровые персонажи, связанные с текущим аккаунтом.</p>
</div>
<div class="character-grid">
@forelse ($characters as $character)
<article class="character-card">
<div class="character-card__top">
<div>
<h3>{{ $character['name'] }}</h3>
<p>{{ $character['race'] }} · {{ $character['class'] }}</p>
</div>
<span class="tag">{{ $character['online'] ? 'Онлайн' : 'Оффлайн' }}</span>
</div>
<dl class="stats-list stats-list--compact">
<div>
<dt>Уровень</dt>
<dd>{{ $character['level'] }}</dd>
</div>
<div>
<dt>Пол</dt>
<dd>{{ $character['gender'] }}</dd>
</div>
<div>
<dt>Золото</dt>
<dd>{{ $character['money'] }}</dd>
</div>
<div>
<dt>Наработано</dt>
<dd>{{ $character['played'] }}</dd>
</div>
</dl>
</article>
@empty
<article class="content-card empty-state">
<h3>Персонажей пока нет</h3>
<p>Создай персонажа в игре, и он появится здесь автоматически.</p>
</article>
@endforelse
</div>
</section>
@endsection