Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/
Upload File :
Current File : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/Cards.php

<?php
/*
* @package		Tech Fry Library
* @license		https://www.gnu.org/licenses/gpl-3.0.en.html
*/

namespace TechFry\Library\View\Sky;

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;

class Cards extends Bootstrap
{   
    public $cards;
    
    public function display()
    {
        // $this->config['multiple_layout'] - default, flexbox, slider
        
        $multiple_layout = $this->config['multiple_layout'] ?? 'default';

        foreach ($this->data as $item)
        {
            $card = new Card($item, $this->config);
            $this->cards[] = $card->display();
        }

        $function = 'display_' . $multiple_layout;
        $output = $this->$function();

        return $output;
    }

    // Display in Grid
    public function display_default()
    {
        if (empty($this->cards))
        {
            return;
        }
        
        $gap = isset($this->config['gap']) && $this->config['gap'] ? $this->config['gap'] : 'g-3';

        $grid = new Grid();

        $default_columns = array('sm' => 1, 'md' => 2, 'lg' => 3);
        $columns = isset($this->config['columns']) && $this->config['columns'] ? $this->config['columns'] : $default_columns;

        $row_class = $grid->equal_columns($columns) . ' ' . $gap;
        
        $output = '<div class="' . $row_class . '">';

        foreach ($this->cards as $item)
        {
            $output .= '<div class="col">';
                $output .= $item;
            $output .= '</div>';
        }

        $output .= '</div>';

        return $output;
    }

    public function display_slider()
    {
        $slider = new Slider($this->cards, $this->config);
        
        $output = $slider->display();
        
        return $output;
    }
}