feat: remodelar /sobre conforme mock editorial
All checks were successful
CI / static (pull_request) Successful in 2m17s
CI / unit (pull_request) Successful in 3m18s
CI / feature (pull_request) Successful in 2m42s
CI / container (pull_request) Successful in 1m4s
CI / browser (pull_request) Successful in 4m0s

Alinha a página Sobre à composição aprovada (hero, pilares, Michele, processo, portfólio, CTA), com foto da Michele via CMS e tokens Heritage Editorial.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-12 17:25:35 -03:00
parent 26a68e1823
commit d17ab82055
25 changed files with 607 additions and 31 deletions

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace App\Application\Data;
use App\Models\PortfolioCase;
use App\Models\SiteSetting;
use Illuminate\Database\Eloquent\Collection;
final readonly class AboutContent
{
/**
* @param Collection<int, PortfolioCase> $featuredCases
*/
public function __construct(
public SiteSetting $settings,
public Collection $featuredCases,
) {}
}

View File

@@ -0,0 +1,25 @@
<?php
declare(strict_types=1);
namespace App\Application\Queries\Marketing;
use App\Application\Data\AboutContent;
use App\Models\PortfolioCase;
use App\Models\SiteSetting;
final class GetAboutContent
{
public function __invoke(): AboutContent
{
return new AboutContent(
settings: SiteSetting::instance(),
featuredCases: PortfolioCase::query()
->published()
->where('is_featured', true)
->orderBy('sort_order')
->limit(6)
->get(),
);
}
}