feat: ship creator journey v2 and profile updates

This commit is contained in:
2026-04-12 21:42:07 +02:00
parent a2457f4e49
commit d5cff21ea2
335 changed files with 20147 additions and 1545 deletions

View File

@@ -5,14 +5,17 @@ declare(strict_types=1);
namespace App\Services\Sitemaps\Builders;
use App\Models\Category;
use App\Models\ContentType;
use App\Services\ContentTypes\ContentTypeSlugResolver;
use App\Services\Sitemaps\AbstractSitemapBuilder;
use App\Services\Sitemaps\SitemapUrlBuilder;
use DateTimeInterface;
final class CategoriesSitemapBuilder extends AbstractSitemapBuilder
{
public function __construct(private readonly SitemapUrlBuilder $urls)
public function __construct(
private readonly SitemapUrlBuilder $urls,
private readonly ContentTypeSlugResolver $contentTypeResolver,
)
{
}
@@ -25,19 +28,18 @@ final class CategoriesSitemapBuilder extends AbstractSitemapBuilder
{
$items = [$this->urls->categoryDirectory()];
$contentTypes = ContentType::query()
->whereIn('slug', $this->contentTypeSlugs())
->ordered()
->get();
$contentTypes = $this->contentTypeResolver->dynamicSitemapContentTypes();
foreach ($contentTypes as $contentType) {
$items[] = $this->urls->contentType($contentType);
}
$contentTypeIds = $contentTypes->pluck('id')->filter()->values();
$categories = Category::query()
->with('contentType')
->active()
->whereHas('contentType', fn ($query) => $query->whereIn('slug', $this->contentTypeSlugs()))
->when($contentTypeIds->isNotEmpty(), fn ($query) => $query->whereIn('content_type_id', $contentTypeIds->all()))
->orderBy('content_type_id')
->orderBy('parent_id')
->orderBy('sort_order')