get()->map(function ($category) use ($selector) { return [ 'label' => $category->title, 'hero' => $category->slug === 'headlines', // or a boolean column on Category 'items' => $selector->forCategory($category)->map(fn ($article) => [ 'source' => $article->feed->title ?? parse_url($article->feed->url, PHP_URL_HOST), 'time' => $article->published_at?->diffForHumans(), 'headline' => $article->title, 'deck' => \Illuminate\Support\Str::limit($article->description, 140), 'image' => $article->image_url, 'link' => $article->link, ]), ]; }); return Inertia::render('Index', ['categories' => $categories]); } }