<?php

namespace App\Http\Controllers\Web\Posts;

use App\Http\Controllers\Controller;
use App\Services\Posts\PostHashtagService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Inertia\Inertia;
use Inertia\Response;

class TrendingFeedController extends Controller
{
    public function __construct(private PostHashtagService $hashtagService) {}

    /** GET /feed/trending */
    public function index(Request $request): Response
    {
        $trendingHashtags = Cache::remember('trending_hashtags', 300, fn () => $this->hashtagService->trending(10, 24));

        return Inertia::render('Feed/TrendingFeed', [
            'auth' => $request->user() ? [
                'user' => [
                    'id'       => $request->user()->id,
                    'username' => $request->user()->username,
                    'name'     => $request->user()->name,
                    'avatar'   => $request->user()->profile?->avatar_url ?? null,
                ],
            ] : null,
            'trendingHashtags' => $trendingHashtags,
        ]);
    }
}
