139 lines
5.9 KiB
PHP

@extends('admin.layouts.app')
@section('title', '내 정보')
@section('page_title', '내 정보')
@section('page_desc', '프로필/연락처/보안 상태')
@section('content')
<section class="a-page">
<div class="a-grid a-grid--me">
<article class="a-card">
<div class="a-card__head">
<div>
<div class="a-card__title">기본 정보</div>
<div class="a-card__desc a-muted">이메일은 변경 불가</div>
</div>
</div>
<form method="POST" action="{{ route('admin.me.update') }}" class="a-form" onsubmit="this.querySelector('button[type=submit]').disabled=true;">
@csrf
<div class="a-field">
<label class="a-label">이메일</label>
<input class="a-input" value="{{ $me->email }}" disabled>
</div>
<div class="a-field">
<label class="a-label" for="nickname">닉네임</label>
<input
class="a-input"
id="nickname"
name="nickname"
placeholder="예: super admin"
value="{{ old('nickname', $me->nickname ?? '') }}"
>
@error('nickname')<div class="a-error">{{ $message }}</div>@enderror
</div>
<div class="a-field">
<label class="a-label" for="name">성명(본명)</label>
<input
class="a-input"
id="name"
name="name"
value="{{ old('name', $me->name ?? '') }}"
>
@error('name')<div class="a-error">{{ $message }}</div>@enderror
</div>
<div class="a-field">
<label class="a-label" for="phone">휴대폰</label>
<input class="a-input" id="phone" name="phone" placeholder="01012345678" value="{{ old('phone', $phone_plain ?? '') }}">
@error('phone')<div class="a-error">{{ $message }}</div>@enderror
</div>
<button class="a-btn a-btn--primary" type="submit" style="margin-top:12px;">
저장
</button>
</form>
</article>
<article class="a-card">
<div class="a-card__head">
<div>
<div class="a-card__title">보안</div>
<div class="a-card__desc a-muted">비밀번호 변경 2FA 상태</div>
</div>
</div>
<div class="a-meinfo">
<div class="a-meinfo__row">
<div class="a-meinfo__k">2FA 모드</div>
<div class="a-meinfo__v">
<span class="a-pill">{{ $me->two_factor_mode ?? 'sms' }}</span>
</div>
</div>
<div class="a-meinfo__row">
<div class="a-meinfo__k">TOTP</div>
<div class="a-meinfo__v">
@if((int)($me->totp_enabled ?? 0) === 1)
<span class="a-pill a-pill--ok">Enabled</span>
@else
<span class="a-pill a-pill--muted">Disabled</span>
@endif
</div>
</div>
<div class="a-meinfo__row">
<div class="a-meinfo__k"> 역할</div>
<div class="a-meinfo__v">
<div class="a-chips">
@forelse(($roles ?? []) as $r)
<span class="a-chip">
{{ $r['name'] }}
<span class="a-chip__sub">{{ $r['code'] }}</span>
</span>
@empty
<span class="a-muted">부여된 역할이 없습니다.</span>
@endforelse
</div>
</div>
</div>
<div class="a-meinfo__row">
<div class="a-meinfo__k"> 권한</div>
<div class="a-meinfo__v">
<div class="a-chips">
@forelse(($perms ?? []) as $p)
<span class="a-chip">{{ $p['code'] }}</span>
@empty
<span class="a-muted">권한 정보가 없습니다.</span>
@endforelse
</div>
</div>
</div>
<div class="a-meinfo__row">
<div class="a-meinfo__k">최근 로그인</div>
<div class="a-meinfo__v">
{{ $me->last_login_at ? $me->last_login_at : '-' }}
</div>
</div>
</div>
<a class="a-btn a-btn--highlight" href="{{ route('admin.me.password.form') }}" style="margin-top:12px;">
비밀번호 변경
</a>
<div class="a-muted" style="font-size:12px; margin-top:10px;">
TOTP 설정/리셋은 다음 단계(권한/역할) 작업 함께 붙이는 안전합니다.
</div>
</article>
</div>
</section>
@endsection