81 lines
5.6 KiB
PHP
81 lines
5.6 KiB
PHP
<x-app-layout>
|
|||
|
|
<section class="bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800">
|
||
|
|
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-8">
|
||
|
|
<div class="flex items-center justify-between">
|
||
|
|
<div>
|
||
|
|
<h1 class="text-2xl sm:text-3xl font-extrabold tracking-tight text-gray-900 dark:text-white">{{ __('app.admin.title') }}</h1>
|
||
|
|
<p class="mt-2 text-gray-600 dark:text-gray-300">{{ __('app.admin.subtitle') }}</p>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
|
||
|
|
<section class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-6">
|
||
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-6">
|
||
|
|
<div class="rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="text-sm text-gray-500">{{ __('app.admin.metrics.users') }}</div>
|
||
|
|
<div class="mt-2 text-3xl font-bold text-gray-900 dark:text-white">{{ $metrics['users'] }}</div>
|
||
|
|
</div>
|
||
|
|
<div class="rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="text-sm text-gray-500">{{ __('app.admin.metrics.workouts') }}</div>
|
||
|
|
<div class="mt-2 text-3xl font-bold text-gray-900 dark:text-white">{{ $metrics['workouts'] }}</div>
|
||
|
|
</div>
|
||
|
|
<div class="rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="text-sm text-gray-500">{{ __('app.admin.metrics.sessions') }}</div>
|
||
|
|
<div class="mt-2 text-3xl font-bold text-gray-900 dark:text-white">{{ $metrics['sessions'] }}</div>
|
||
|
|
</div>
|
||
|
|
<div class="rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="text-sm text-gray-500">{{ __('app.admin.metrics.exercises') }}</div>
|
||
|
|
<div class="mt-2 text-3xl font-bold text-gray-900 dark:text-white">{{ $metrics['exercises'] }}</div>
|
||
|
|
</div>
|
||
|
|
<div class="rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="text-sm text-gray-500">{{ __('app.admin.metrics.yoga_poses') }}</div>
|
||
|
|
<div class="mt-2 text-3xl font-bold text-gray-900 dark:text-white">{{ $metrics['yogaPoses'] }}</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="mt-8 grid grid-cols-1 lg:grid-cols-12 gap-6">
|
||
|
|
<div class="lg:col-span-7 rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<div class="flex items-center justify-between">
|
||
|
|
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">{{ __('app.admin.recent_users') }}</h2>
|
||
|
|
</div>
|
||
|
|
@if($recentUsers->isEmpty())
|
||
|
|
<div class="mt-3 rounded-xl border border-dashed border-gray-300 dark:border-gray-700 p-6 text-sm text-gray-600 dark:text-gray-300">{{ __('app.admin.none') }}</div>
|
||
|
|
@else
|
||
|
|
<ul class="mt-4 space-y-3">
|
||
|
|
@foreach($recentUsers as $u)
|
||
|
|
<li class="rounded-xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-900 p-4 flex items-center justify-between">
|
||
|
|
<div>
|
||
|
|
<div class="text-sm font-semibold text-gray-900 dark:text-white">{{ $u->name }}</div>
|
||
|
|
<div class="text-xs text-gray-600 dark:text-gray-300">{{ $u->email }}</div>
|
||
|
|
</div>
|
||
|
|
<div class="text-xs text-gray-500">{{ $u->created_at->diffForHumans() }}</div>
|
||
|
|
</li>
|
||
|
|
@endforeach
|
||
|
|
</ul>
|
||
|
|
@endif
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="lg:col-span-5 rounded-2xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-800 p-5">
|
||
|
|
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">{{ __('app.admin.recent_workouts') }}</h2>
|
||
|
|
@if($recentWorkouts->isEmpty())
|
||
|
|
<div class="mt-3 rounded-xl border border-dashed border-gray-300 dark:border-gray-700 p-6 text-sm text-gray-600 dark:text-gray-300">{{ __('app.admin.none') }}</div>
|
||
|
|
@else
|
||
|
|
<ul class="mt-4 space-y-3">
|
||
|
|
@foreach($recentWorkouts as $w)
|
||
|
|
<li class="rounded-xl ring-1 ring-gray-200 dark:ring-gray-700 bg-white dark:bg-gray-900 p-4 flex items-center justify-between">
|
||
|
|
<div class="text-sm font-semibold text-gray-900 dark:text-white">{{ $w->title }}</div>
|
||
|
|
<div class="text-xs text-gray-500">{{ $w->created_at->diffForHumans() }}</div>
|
||
|
|
</li>
|
||
|
|
@endforeach
|
||
|
|
</ul>
|
||
|
|
@endif
|
||
|
|
<div class="mt-6 flex items-center gap-3">
|
||
|
|
<a href="{{ route('workouts.index') }}" class="inline-flex items-center rounded-xl bg-gradient-to-r from-fuchsia-600 to-indigo-600 px-4 py-2 text-sm font-semibold text-white shadow hover:from-fuchsia-500 hover:to-indigo-500">{{ __('app.admin.manage_workouts') }}</a>
|
||
|
|
<a href="{{ route('admin.exercises.index') }}" class="inline-flex items-center rounded-xl bg-gradient-to-r from-indigo-600 to-fuchsia-600 px-4 py-2 text-sm font-semibold text-white shadow hover:from-indigo-500 hover:to-fuchsia-500">Manage exercises</a>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
</x-app-layout>
|