*/ 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(); $boost = collect(config('credits.boost', [])) ->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' => $boost, 'proofPdf' => (int) config('credits.proof_pdf'), 'creditPacks' => config('credits.packs', []), // TODO: Lineup/Preise hängen am Bookings-/Magic-Link-Rework — final abstimmen. 'morePaths' => [ 'correction' => (int) config('credits.paths.correction'), 'update' => (int) config('credits.paths.update'), 'depublish' => (int) config('credits.depublish'), ], ]; } }