<?php

namespace App\Http\Controllers;

use App\Models\User;
use App\Models\Item;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function publicProfile(User $user)
    {
        // Don't show banned users to public
        if (!$user->is_active) {
            abort(404);
        }

        // Load user's public listings
        $listings = $user->items()
            ->with(['category', 'primaryPhoto'])
            ->whereIn('status', ['active', 'sale_pending'])
            ->whereIn('listing_type', ['sale', 'inventory_open'])
            ->latest()
            ->paginate(12);

        // Calculate user stats
        $stats = [
            'total_listings' => $user->items()->whereIn('listing_type', ['sale', 'inventory_open'])->count(),
            'active_listings' => $user->items()->whereIn('status', ['active', 'sale_pending'])->whereIn('listing_type', ['sale', 'inventory_open'])->count(),
            'sold_items' => $user->items()->where('status', 'sold')->count(),
            'member_since' => $user->created_at,
            'last_active' => $user->updated_at,
        ];

        // Get recent feedback/reviews if available
        $recentFeedback = [];
        if ($user->rating > 0) {
            // This would need to be implemented based on your feedback system
            // For now, we'll just show the rating
        }

        return view('users.public-profile', compact('user', 'listings', 'stats', 'recentFeedback'));
    }
}