*/ public function build(): array { // Add-on-Einzelkosten aus der Credit-Ökonomie (1 Credit = 1 €). $extraPm = collect(config('credits.extra_pm', [])) ->map(static fn (int $credits, string $tier): array => [ 'tier' => Tier::tryFrom($tier)?->label() ?? ucfirst($tier), 'credits' => $credits, ]) ->values() ->all(); $staffel = static fn (array $table): array => collect($table) ->map(static fn (int $credits, int|string $days): array => [ 'days' => (int) $days, 'credits' => $credits, ]) ->values() ->all(); return [ 'plans' => Plan::query()->active()->get(), 'singlePmPriceCents' => (int) config('billing.single_pm_price_cents'), 'extraPm' => $extraPm, 'boost' => $staffel(config('credits.boost', [])), // Kategorie-Boost (nur Branchenseite, halber Satz — 13.07.2026). 'boostCategory' => $staffel(config('credits.boost_category', [])), 'proofPdf' => (int) config('credits.proof_pdf'), 'creditPacks' => config('credits.packs', []), // Depublizieren wird als Direktkauf in Euro abgerechnet (Stripe- // Checkout), nicht in Credits — gleiche Preisquelle wie der Kauf- // Flow. Null/0 = Angebot deaktiviert, dann zeigt die Seite nichts. // Korrektur/Update folgen erst mit dem Bookings-/Magic-Link-Rework. 'depublicationPriceCents' => (int) config('billing.depublication_price_cents'), ]; } }