@extends('layouts.app-sub') @section('title', '마이페이지 - GLOBEAU') @section('header-title', '마이페이지') @section('content')
@if (!empty($user->profile_photo_path)) {{ $user->name }} @else {{ mb_substr($user->name, 0, 1) }} @endif
{{ $user->membership_level ?? 'PREMIUM MEMBER' }}

{{ $user->name }} 님

{{ $user->email }}
정보수정
@csrf
@if(isset($upcomingReservation) && $upcomingReservation) @php $ticketItem = $upcomingReservation->userTicketItem; $ticket = $ticketItem?->userTicket; $program = $ticketItem?->program ?? ($ticket?->orderItem?->program ?? null); $programName = $program?->name ?? ($ticketItem?->program_name ?? '프리미엄 뷰티 프로그램'); // DB 원본 문자열('2026-09-20 18:00:00') 직접 파싱 $rawReservedAt = $upcomingReservation->getAttributes()['reserved_at']; $carbonDate = \Carbon\Carbon::parse($rawReservedAt); // 날짜 및 시간 분리 추출 (시간 유실 원천 차단) $displayMonth = $carbonDate->translatedFormat('M'); // 예: 9월 $displayDay = $carbonDate->format('d'); // 예: 20 $displayTime = date('H:i', strtotime($rawReservedAt)); // 🌟 무조건 '18:00' 고정 추출 $diffDays = (int) now()->startOfDay()->diffInDays($carbonDate->startOfDay(), false); // 예약번호 4자리 단위 하이픈(-) 포맷팅 (예: R260-9125-9635-9333) $rawCode = str_replace('-', '', $upcomingReservation->reservation_code); $formattedReservationCode = implode('-', str_split($rawCode, 4)); @endphp
{{ $upcomingReservation->status_label }} @if($upcomingReservation->status === \App\Models\Reservation::STATUS_PENDING) @endif
@if($diffDays === 0) 오늘 방문 @elseif($diffDays === 1) 내일 방문 (D-1) @elseif($diffDays > 1) D-{{ $diffDays }} @else 방문 임박 @endif
{{ $displayMonth }} {{ $displayDay }} {{ $displayTime }}
{{ $programName }}
{{ $upcomingReservation->shop->name ?? '지정 제휴 뷰티샵' }}
@if(!empty($upcomingReservation->shop?->address1))
{{ $upcomingReservation->shop->address1 }}
@endif
예약번호: {{ $formattedReservationCode }}
예약 상세 · 일정 취소 @if(!empty($upcomingReservation->shop?->tel)) 매장 통화 @endif
@endif

{{ number_format($wallet['pay_balance'] ?? 0) }}원

@endsection @push('styles') @endpush