Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n
Gebuendelt, da ueber gemeinsame lang-/Service-Dateien verschraenkt: - Kontakt-Nachrichten: contact_messages-Tabelle + Model/Enums/Factory, Admin-Queue (livewire/admin/contact-messages), ContactController persistiert das Anliegen zusaetzlich zur Brand-Mail - Page-Data-Cache (Services/Web/*PageData) + web-archive-Indizes auf press_releases - Validierungs-Feedback + Company-Portal-Restriction (Feature-Tests) - i18n-Auslagerung lang/de|en (auth, passwords, validation, static) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c6b5ec8479
commit
fd8e050cb7
60 changed files with 3963 additions and 327 deletions
|
|
@ -21,9 +21,12 @@ class CategoryNavigation
|
|||
/**
|
||||
* Top-Level-Rubriken der aktiven Ausgabe als Navigationsitems.
|
||||
*
|
||||
* Sortiert nach Anzahl veröffentlichter Pressemitteilungen; `null` als
|
||||
* Limit liefert alle Rubriken (z. B. für das „Mehr“-Dropdown im Header).
|
||||
*
|
||||
* @return Collection<int, array{label:string, slug:string, href:string}>
|
||||
*/
|
||||
public static function items(int $limit = 9): Collection
|
||||
public static function items(?int $limit = 9): Collection
|
||||
{
|
||||
$portal = Portal::tryFrom((string) config('app.theme')) ?? Portal::Businessportal24;
|
||||
$language = app()->getLocale();
|
||||
|
|
@ -46,7 +49,7 @@ class CategoryNavigation
|
|||
->whereNull('parent_id')
|
||||
->orderByDesc('published_count')
|
||||
->orderBy('id')
|
||||
->limit($limit)
|
||||
->when($limit !== null, fn (Builder $query) => $query->limit($limit))
|
||||
->get()
|
||||
->map(function (Category $category): ?array {
|
||||
$translation = $category->translations->first();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue