feat(city): add player marketplace, mission journal, character customization and presence
- Player-to-player marketplace with listings, buying and selling - Mission system with progress tracking and money rewards - Character appearance customization (skin, hair, face, beard, accessory) - Multiplayer presence feed showing nearby citizens in near-real-time - Admin world dashboard with live platform metrics - Bus and train transportation with temporary ride state - Mobile joystick controls and minimap HUD - Education bonus applied to work salary
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', __('admin.world.title'))
|
||||
|
||||
@section('content')
|
||||
<div style="max-width: 1000px; margin: 0 auto;">
|
||||
<div class="card" style="margin-bottom:1.25rem;">
|
||||
<h1 style="margin-top:0; color:#fff;">🌍 {{ __('admin.world.title') }}</h1>
|
||||
<p style="color:var(--muted);">{{ __('admin.world.hint') }}</p>
|
||||
</div>
|
||||
|
||||
<div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem;">
|
||||
@foreach ([
|
||||
['title' => __('admin.world.users'), 'value' => $metrics['users']['total'],
|
||||
'sub' => $metrics['users']['pending'].' pending · '.$metrics['users']['active'].' active · '.$metrics['users']['banned'].' banned'],
|
||||
['title' => __('admin.world.characters'), 'value' => $metrics['characters']['total'],
|
||||
'sub' => $metrics['characters']['online'].' online · '.$metrics['characters']['hospitalized'].' hospital'],
|
||||
['title' => __('admin.world.economy'), 'value' => $metrics['characters']['total_money'],
|
||||
'sub' => __('admin.world.trade_volume').': '.$metrics['world']['transaction_volume']],
|
||||
['title' => __('admin.world.world'), 'value' => $metrics['world']['houses_complete'],
|
||||
'sub' => $metrics['world']['stores'].' stores · '.$metrics['world']['jobs'].' jobs · '.$metrics['world']['messages'].' msgs'],
|
||||
['title' => __('admin.world.market'), 'value' => $metrics['market']['listings'],
|
||||
'sub' => __('admin.world.missions').': '.$metrics['missions']['completed'].' done / '.$metrics['missions']['active']],
|
||||
['title' => __('admin.world.health'), 'value' => $metrics['characters']['avg_health'],
|
||||
'sub' => __('admin.world.education').': '.$metrics['characters']['avg_education'].'%'],
|
||||
] as $card)
|
||||
<div class="card" style="margin:0;">
|
||||
<div style="color:var(--muted); font-size:.85rem;">{{ $card['title'] }}</div>
|
||||
<div style="color:#fff; font-size:1.8rem; font-weight:700;">{{ $card['value'] }}</div>
|
||||
<div style="color:var(--muted); font-size:.8rem; margin-top:.25rem;">{{ $card['sub'] }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div class="card" style="margin-top:1.25rem;">
|
||||
<p style="color:var(--muted); margin:0;">
|
||||
<code>php artisan city:report</code> ·
|
||||
<a href="{{ route('admin.citizens.index') }}" style="color:#7dd3fc;">{{ __('nav.citizens') }}</a> ·
|
||||
<a href="{{ route('admin.cities.index') }}" style="color:#7dd3fc;">{{ __('nav.cities') }}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user