@include('admin.devices.partials.monitoring-notice') @php $gpsSelected = $pageData['selectedDate']; $gpsDates = $pageData['availableDates']; $gpsPoints = $pageData['points']; $gpsMapPoints = $pageData['mapPoints'] ?? $gpsPoints; $gpsRawCount = $pageData['rawCount'] ?? count($gpsPoints); $gpsMapCount = $pageData['mapCount'] ?? count($gpsMapPoints); $gpsInterval = $pageData['intervalSeconds']; $gpsMinInterval = $pageData['minIntervalSeconds']; $gpsDateLabel = \Carbon\Carbon::parse($gpsSelected)->locale('es')->isoFormat('dddd D [de] MMMM YYYY'); @endphp

{{ __('devices.gps.interval_title') }}

@csrf

{{ __('devices.gps.interval_hint', ['min' => $gpsMinInterval]) }}

@if(count($gpsDates) > 0) @endif
{{ __('systemlog.export_csv') }}

{{ $gpsDateLabel }}

@if($gpsRawCount > 0) {{ __('devices.gps.map_summary', [ 'raw' => $gpsRawCount, 'map' => $gpsMapCount, 'radius' => config('systemlog.gps.stationary_radius_m', 30), ]) }} @endif

{{ __('devices.gps.legend_start') }} {{ __('devices.gps.legend_end') }} {{ __('devices.gps.legend_point') }}

{{ count($gpsDates) === 0 ? __('devices.gps.no_points') : __('devices.gps.no_points_day') }}

@foreach($gpsPoints as $p) @endforeach
{{ __('devices.gps.col_index') }} {{ __('devices.gps.col_time') }} {{ __('devices.gps.col_coords') }} {{ __('devices.gps.col_accuracy') }} {{ __('devices.gps.col_speed') }}
{{ $p['index'] }} {{ $p['at_formatted'] }} {{ number_format($p['latitude'], 6) }}, {{ number_format($p['longitude'], 6) }} {{ $p['accuracy'] !== null ? round($p['accuracy']).' m' : '—' }} {{ $p['speed'] !== null ? round($p['speed'], 1).' m/s' : '—' }}
@push('styles') @endpush @push('scripts') @php // Placeholders con ":" rompen el compilador Blade dentro de @json(). $gpsLabelPointsCount = __('devices.gps.points_count', ['count' => ':count']); $gpsLabelMapSummary = __('devices.gps.map_summary', ['raw' => ':raw', 'map' => ':map', 'radius' => ':radius']); $gpsMapRadiusM = (int) config('systemlog.gps.stationary_radius_m', 30); @endphp @endpush