@extends('library.layouts.app') @section('title', __('labels.home')) @section('content')

离线数据包

@php function formatFilesize(int $size): string { if ($size >= 1048576) return number_format($size / 1048576, 2) . ' MB'; if ($size >= 1024) return number_format($size / 1024, 1) . ' KB'; return $size . ' B'; } @endphp @if(empty($packets)) {{-- ── Empty state ── --}}

暂无数据包

当前没有可用的离线数据包。

@else {{-- ════════════════════════════════════════════ ① 桌面端 Table ≥ md (768px) ════════════════════════════════════════════ --}}
@foreach($packets as $packet) {{-- 名称 --}} {{-- 大小 --}} {{-- 最低版本 --}} {{-- 创建时间 --}} {{-- 下载链接 --}} @endforeach
数据包名称 文件大小 最低版本 创建时间 下载链接
{{ $packet['title'] ?? $packet['id'] }}
{{ $packet['filename'] ?? '' }}
{{ formatFilesize((int)($packet['filesize'] ?? 0)) }} @if(!empty($packet['min_app_ver'])) v{{ $packet['min_app_ver'] }} @else @endif {{ $packet['create_at'] ?? '—' }} @if(!empty($packet['url']) && is_array($packet['url']))
@foreach($packet['url'] as $index => $urlItem) {{ $urlItem['hostname'] ?? '下载' }} @endforeach
@else 暂无链接 @endif
{{-- ════════════════════════════════════════════ ② 移动端 Card list < md (768px) ════════════════════════════════════════════ --}}
@foreach($packets as $packet)
{{-- 顶部:图标 + 标题 + 大小 badge --}}
{{ $packet['title'] ?? $packet['id'] }}
{{ $packet['filename'] ?? '' }}
{{ formatFilesize((int)($packet['filesize'] ?? 0)) }}
{{-- 中部:时间 + 最低版本 --}}
{{ $packet['create_at'] ?? '—' }} @if(!empty($packet['min_app_ver'])) 最低版本 v{{ $packet['min_app_ver'] }} @endif
{{-- 底部:下载按钮,全宽竖排 --}} @if(!empty($packet['url']) && is_array($packet['url']))
@foreach($packet['url'] as $index => $urlItem) {{ $urlItem['hostname'] ?? '下载' }} @endforeach
@endif
{{-- /.list-group-item --}} @endforeach
@endif
{{-- /.card --}}
@endsection