@extends('layouts.app')
@section('title', __('home.changelog'))
@section('css')
@endsection
@section('content')
@php
$typeMeta = function (string $type): array {
return match ($type) {
'changed' => [
'label' => __('home.changelog_type_changed'),
'icon' => 'fa fa-random',
'accent' => 'linear-gradient(180deg, #f59e0b, #ea580c)',
'bar' => '#f59e0b',
'badge' => 'background:#fffbeb;color:#b45309;border:1px solid #fde68a;',
],
'fixed' => [
'label' => __('home.changelog_type_fixed'),
'icon' => 'fa fa-wrench',
'accent' => 'linear-gradient(180deg, #10b981, #059669)',
'bar' => '#10b981',
'badge' => 'background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;',
],
'removed' => [
'label' => __('home.changelog_type_removed'),
'icon' => 'fa fa-minus',
'accent' => 'linear-gradient(180deg, #fb7185, #e11d48)',
'bar' => '#f43f5e',
'badge' => 'background:#fff1f2;color:#be123c;border:1px solid #fecdd3;',
],
default => [
'label' => __('home.changelog_type_added'),
'icon' => 'fa fa-plus',
'accent' => 'linear-gradient(180deg, #6366f1, #4f46e5)',
'bar' => '#6366f1',
'badge' => 'background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;',
],
};
};
$releaseCount = is_countable($releases) ? count($releases) : 0;
$lastUpdated = null;
if (!empty($releases)) {
$dates = collect($releases)->pluck('date')->filter();
$lastUpdated = $dates->isNotEmpty() ? $dates->max() : null;
}
$appVersion = (string) config('author.app_version', '');
@endphp
@lang('home.changelog_eyebrow')
@lang('home.changelog')
@lang('home.changelog_intro')
@lang('home.changelog_app_version_label')
{{ $appVersion !== '' ? $appVersion : '—' }}
@if (!empty($releases))
@lang('home.changelog_releases_label')
{{ $releaseCount }}
@if ($lastUpdated)
@lang('home.changelog_stat_updated')
{{ \Carbon\Carbon::parse($lastUpdated)->format('M j, Y') }}
@endif
@endif
@if (empty($releases))
@lang('home.changelog_empty')
@lang('home.changelog_empty_hint')
@else
@foreach ($releases as $release)
-
@lang('home.changelog_version')
{{ $release['version'] ?? '—' }}
@if (!empty($release['date']))
@endif
@php
$itemCount = count($release['items'] ?? []);
@endphp
@if ($itemCount > 0)
{{ __('home.changelog_stat_items', ['count' => $itemCount]) }}
@endif
@foreach ($release['items'] ?? [] as $item)
@php
$type = $item['type'] ?? 'added';
$meta = $typeMeta($type);
@endphp
-
{{ $meta['label'] }}
{{ $item['text'] ?? '' }}
@endforeach
@endforeach
@endif
@endsection