19 lines
3.5 KiB
PHP
19 lines
3.5 KiB
PHP
@extends('layouts.app', ['title' => 'Downloads — SonarDesk and developer tools', 'description' => 'Browse SonarDesk and other macOS developer utilities. View release details or download installers.'])
|
|
@section('fullbleed')
|
|
<main class="download-page catalogue-page">
|
|
<section class="catalogue-header"><div class="download-shell"><span class="eyebrow">Software downloads</span><h1>Downloads</h1><p>Find the latest releases of SonarDesk and our developer tools. View details, check requirements or download directly.</p></div></section>
|
|
<section class="distribution-catalogue"><div class="download-shell"><div class="section-heading"><span class="eyebrow">Available software</span><h2>Product catalogue</h2><p>All downloads in one place.</p></div>
|
|
<div class="distribution-product-grid">
|
|
@if($latest)
|
|
<article class="distribution-product-card"><div class="distribution-product-top"><span class="distribution-platform">macOS</span><span class="distribution-version">v{{ $latest->version }}</span></div><h3><a href="{{ route('download.sonardesk.details') }}">SonarDesk</a></h3><p class="distribution-product-description">{{ \Illuminate\Support\Str::limit(trim(preg_replace('/\s+/', ' ', strip_tags(\Illuminate\Support\Str::markdown($latest->release_notes ?: $settings['intro'], ['html_input'=>'strip','allow_unsafe_links'=>false])))), 175) }}</p><div class="distribution-product-footer"><span>{{ $latest->formatted_size }}</span><div class="distribution-product-links"><a class="product-details-link" href="{{ route('download.sonardesk.details') }}">View details →</a><a class="btn btn-primary" href="{{ route('download.latest') }}">Download ↓</a></div></div></article>
|
|
@endif
|
|
@foreach($products as $product)
|
|
<article class="distribution-product-card"><div class="distribution-product-top"><span class="distribution-platform">{{ $product->platform ?: 'Software' }}</span><span class="distribution-version">{{ $product->version ? 'v'.$product->version : 'Latest' }}</span></div><h3><a href="{{ route('download.product.details', $product) }}">{{ $product->name }}</a></h3><p class="distribution-product-description">{{ \Illuminate\Support\Str::limit(trim(preg_replace('/\s+/', ' ', strip_tags(\Illuminate\Support\Str::markdown($product->description ?: 'Download the latest available package.', ['html_input'=>'strip','allow_unsafe_links'=>false])))), 175) }}</p><div class="distribution-product-footer"><span>{{ $product->formatted_size }}</span><div class="distribution-product-links"><a class="product-details-link" href="{{ route('download.product.details', $product) }}">View details →</a><a class="btn btn-primary" href="{{ route('download.product', $product) }}">Download ↓</a></div></div></article>
|
|
@endforeach
|
|
</div>
|
|
@if(!$latest && $products->isEmpty())<p>No published downloads are available yet.</p>@endif
|
|
</div></section>
|
|
@if($releases->isNotEmpty())<section class="release-history"><div class="download-shell"><div class="section-heading"><span class="eyebrow">SonarDesk archive</span><h2>Previous SonarDesk versions</h2><p>Older published installers, grouped separately from current products.</p></div><div class="release-history-list">@foreach($releases as $release)<article><div><strong>SonarDesk {{ $release->version }}</strong><span>Build {{ $release->build_number }} · {{ ucfirst($release->channel) }} · {{ $release->published_at?->format('j M Y') }}</span></div><div><span>{{ $release->formatted_size }}</span><a href="{{ route('download.release', $release) }}">Download</a></div></article>@endforeach</div>{{ $releases->links() }}</div></section>@endif
|
|
</main>
|
|
@endsection
|