@php use Illuminate\Support\Str; $user = auth()->user(); $activeProfileId = session('active_profile_id'); $resolveMediaUrl = function ($path) { if (empty($path)) { return null; } $path = trim($path); if (Str::startsWith($path, ['http://', 'https://'])) { return $path; } if (Str::startsWith($path, ['uploads/', '/uploads/'])) { return asset(ltrim($path, '/')); } if (Str::startsWith($path, ['storage/', '/storage/'])) { return asset(ltrim($path, '/')); } if (Str::startsWith($path, ['movies/', '/movies/'])) { return asset('storage/' . ltrim($path, '/')); } return asset(ltrim($path, '/')); }; $firstName = $user->name ?? 'Member'; $email = $user->email ?? 'No email'; $avatar = null; if (!empty($user->avatar)) { $avatar = $resolveMediaUrl($user->avatar); } $activePlan = $activePlan ?? null; $continueWatching = collect($continueWatching ?? []); $myListItems = collect($myListItems ?? []); $recentDevices = collect($recentDevices ?? []); $billingHistory = collect($billingHistory ?? []); $profiles = collect($profiles ?? []); $planName = $activePlan->name ?? ($user->plan_name ?? 'Free Plan'); $planStatus = $activePlan->status ?? ($user->subscription_status ?? 'Active'); $planRenewal = $activePlan->renews_at ?? null; $formatDate = function ($date) { if (empty($date)) { return 'Not available'; } try { return \Illuminate\Support\Carbon::parse($date)->format('M d, Y'); } catch (\Throwable $e) { return (string) $date; } }; $fallbackContinue = $continueWatching->isEmpty() ? collect([ (object)[ 'title' => 'Continue Watching', 'slug' => null, 'poster' => null, 'backdrop' => null, 'duration' => null, 'progress_percent' => 42, 'episode_label' => 'Resume anytime', 'description' => 'Track Your in-progress you start playback.', ] ]) : $continueWatching; $fallbackMyList = $myListItems->isEmpty() ? collect([ (object)[ 'title' => 'My List', 'slug' => null, 'poster' => null, 'backdrop' => null, 'duration' => null, 'description' => 'Your saved movies.', ] ]) : $myListItems; @endphp
Manage your profile, membership, saved movies, and playback activity from one premium dashboard.
Subscription status, renewal details, and plan overview.
Jump back into movies you already started.
Quick access to movies you have saved.
Manage viewer profiles and switch active usage.
Track sessions and account access points.
Recent subscription or payment activity.
Fast links for common account tasks.