{{-- Header --}}

{{ __('dashboard.greeting', ['name' => auth()->user()->name]) }}

{{ __('dashboard.system_ok') }}

{{ __('dashboard.as_of', ['time' => '08:42']) }}

{{-- Live provisioning progress (only while a run is in flight) --}} {{-- Traffic: the one allowance that throttles the service when it runs out, so it gets a full-width band rather than a tile in the KPI row. --}} @if ($traffic) @php $state = $traffic->state(); $bar = ['ok' => 'bg-accent', 'warn' => 'bg-warning', 'critical' => 'bg-warning', 'exhausted' => 'bg-danger'][$state]; $frame = [ 'ok' => 'border-line', 'warn' => 'border-warning-border bg-warning-bg', 'critical' => 'border-warning-border bg-warning-bg', 'exhausted' => 'border-danger-border bg-danger-bg', ][$state]; @endphp

{{ __('dashboard.traffic.title') }}

{{ __('dashboard.traffic.resets', ['days' => $traffic->daysUntilReset()]) }}

{{ \App\Support\Bytes::human($traffic->usedBytes) }} / {{ \App\Support\Bytes::human($traffic->quotaBytes) }}

{{-- R4: width is data, not decoration — the only inline style allowed. --}}

@if ($state === 'exhausted') {{ __('dashboard.traffic.exhausted') }} @elseif ($state === 'ok') {{ __('dashboard.traffic.remaining', ['amount' => \App\Support\Bytes::human($traffic->remainingBytes())]) }} @else {{ __('dashboard.traffic.almost', ['percent' => $traffic->percent()]) }} @endif

@if ($state !== 'ok') {{-- The offer belongs next to the warning: someone reading that they are nearly out should not have to go looking. --}} {{ __('dashboard.traffic.buy') }} @endif
@endif {{-- KPI row --}}
{{-- Storage ring --}}
{{ $storagePercent }}% {{ __('dashboard.occupied') }}

{{ __('dashboard.kpi.storage') }}

{{ $storageUsed }}/ {{ $storageQuota }} GB

{{ __('dashboard.storage_week') }}

{{-- Users --}}

{{ __('dashboard.kpi.users') }}

{{ $usersActive }}/ {{ $usersQuota }}

{{ __('dashboard.users_detail') }}

{{-- Last backup --}}

{{ __('dashboard.kpi.backup') }}

{{ $lastBackup }}

{{ __('dashboard.backup_verified') }}

{{-- Availability sparkline --}}

{{ __('dashboard.kpi.availability') }}

{{ $availability }}%

{{-- Upsell --}}
{{-- Shimmer sweep (left → right), disabled for reduced motion --}}

{{ __('dashboard.upsell.title', ['percent' => $storagePercent]) }}

{{ __('dashboard.upsell.body') }}

{{ __('dashboard.upsell.cta') }}
{{-- Left column --}}
{{-- Cloud card --}}

{{ __('dashboard.cloud.package') }}

{{ $cloud['package'] }}

{{ __('dashboard.cloud.status') }}

{{ __('dashboard.cloud.active_since', ['date' => $cloud['since']]) }}

{{ __('dashboard.cloud.location') }}

{{ $cloud['location'] }}

{{ __('dashboard.cloud.version') }}

{{ $cloud['version'] }} · {{ __('dashboard.cloud.current') }}

{{-- Onboarding checklist (Alpine) --}}

{{ __('dashboard.onboarding.title') }}

{{-- Right column --}}
{{-- Backups --}}

{{ __('dashboard.backups.title') }}

{{ __('dashboard.backups.schedule') }}
    @foreach ($backups as $b)
  • {{ $b['when'] }} {{ $b['size'] }} {{ __('dashboard.backups.restore') }}
  • @endforeach

{{ __('dashboard.backups.note') }}

{{-- Modules --}}

{{ __('dashboard.modules.title') }}

{{ __('dashboard.modules.addon') }}
    @foreach ($modules as $m)
  • {{ $m['name'] }}

    {{ $m['desc'] }}

    @if ($m['status'] === 'active') {{ __('dashboard.modules.active') }} @elseif ($m['status'] === 'available') {{ __('dashboard.modules.add') }} @else {{ __('dashboard.modules.soon') }} @endif
  • @endforeach
{{-- Activity feed --}}

{{ __('dashboard.activity') }}

{{ __('dashboard.activity_live') }}
    @foreach ($activity as $a)
  • {{ $a['text'] }}

    {{ $a['time'] }}

  • @endforeach