<?php

namespace Bixo\CrossTrade\Http\Controllers;

use App\Http\Controllers\PublicController as BaseController;
use App\Http\Requests\PublicRequest;
use Litepie\Database\RequestScope;
use Bixo\CrossTrade\Http\Resources\CrossTradeResource;
use Bixo\CrossTrade\Http\Resources\CrossTradesCollection;
use Bixo\CrossTrade\Scopes\OfferUsVehiclePublicScope;
use Bixo\CrossTrade\Models\OfferUsVehicle;

class OfferUsVehiclePublicController extends BaseController
{

    /**
     * Show offer_us_vehicle's list.
     *
     * @return response
     */
    protected function index(PublicRequest $request)
    {

        $search = $request->search;
        $pageLimit = $request->input('pageLimit', config('database.pagination.limit'));
        $page = OfferUsVehicle::pushScope(new RequestScope())
            ->pushScope(new OfferUsVehiclePublicScope())
            ->paginate($pageLimit)
            ->withQueryString();

        $offer_us_vehicles = new OfferUsVehiclesCollection($page);

        $categories = [];
        $tags = [];
        $recent = [];

        return $this->response->setMetaTitle(trans('cross_trade::offer_us_vehicle.names'))
            ->view('cross_trade::public.offer_us_vehicle.index')
            ->data(compact('offer_us_vehicles', 'categories', 'tags', 'recent'))
            ->output();
    }

    /**
     * Show offer_us_vehicle.
     *
     * @param string $slug
     *
     * @return response
     */
    protected function show(PublicRequest $request, $slug)
    {
        $model = OfferUsVehicle::findBySlug($slug);
        $data = new OfferUsVehicleResource($model);

        $categories = [];
        $tags = [];
        $recent = [];
    
        return $this->response->setMetaTitle($data['title'] . trans('cross_trade::offer_us_vehicle.name'))
            ->view('cross_trade::public.offer_us_vehicle.show')
            ->data(compact('data', 'categories', 'tags', 'recent'))
            ->output();
    }

}