<?php namespace App\Libs\Composers;

use App\Libs\Facades\RequestContext;

class MapCardsBlockComposer
{
    public function compose($view)
    {
        $data = $view->getData();
        $block = $data['block'];
        $cardsData = [];

        foreach ($block->cards as $key => $item) {
            $link = "";
            if (!empty($item->cta)) {
                $cta = json_decode($item->cta);
                $link = generateLink($cta);
            }

            $cardsData[] = [
                'id' => $item->id,
                'title' => $item->title,
                'subject' => $item->subject,
                'excerpt' => $item->excerpt,
                'cta' => $link,
                'image' => $item->image ? getMediaUrl($item->image->filename, "600x445") : null,
                'bg_color' => isset($item->bg_color) ? $item->bg_color : 'green',
                'location_lat' => $item->location_lat,
                'location_lng' => $item->location_lng,
                'markerType' => 'card',
            ];
        }

        RequestContext::set('load-google-maps', true);

        $blockData = [
            'location_lng' => $block->location_lng,
            'location_lat' => $block->location_lat,
            'location_zoom' => $block->location_zoom
        ];

        $view->with(array(
            'cardsData' => $cardsData,
            'blockData' => $blockData
        ));
    }
}
