<?php

/**
 * Implements hook_menu().
 */
function mkbh_beforeafter_slider_menu(): array {
  $items['ajax/mkbh-beforeafter-slider/%node'] = [
    'type' => MENU_CALLBACK,
    'access arguments' => ['access content'],
    'page callback' => 'mkbh_beforeafter_slider_get_slider_callback',
    'page arguments' => [2],
    'file' => 'mkbh_beforeafter_slider.pages.inc',
  ];

  return $items;
}

/**
 * Implements hook_ckeditor_plugin().
 */
function mkbh_beforeafter_slider_ckeditor_plugin(): array {

  return [
    'mkbh_beforeafter_slider' => [
      'name' => 'mkbh_beforeafter_slider',
      'desc' => t('MKBH: Easily insert Before/After images slider into article content.'),
      'path' => drupal_get_path('module', 'mkbh_beforeafter_slider') . '/ckeditor/plugins/mkbh_beforeafter_slider/',
      'buttons' => [
        'mkbh_beforeafter_slider' => [
          'icon' => 'images/button.svg',
          'label' => t('Before/After slider'),
        ],
      ],
    ],
  ];
}

/**
 * Implements hook_theme().
 */
function mkbh_beforeafter_slider_theme($existing, $type, $theme, $path): array {

  return [
    'mkbh_beforeafter_slider' => [
      'variables' => [
        'node' => NULL,
        'field_collection_items' => [],
      ],
      'template' => 'templates/mkbh-beforeafter-slider',
      'file' => 'mkbh_beforeafter_slider.theme.inc',
    ],
  ];
}

/**
 * Implements hook_library().
 */
function mkbh_beforeafter_slider_library(): array {
  $libraries['beerslider'] = [
    'title' => 'Beerslider',
    'js' => [
      libraries_get_path('beerslider') . '/dist/BeerSlider.js' => [
        'scope' => 'footer',
        'weight' => 98,
      ],
    ],
    'css' => [
      libraries_get_path('beerslider') . '/dist/BeerSlider.css' => [
        'group' => CSS_DEFAULT,
        'preprocess' => FALSE
      ],
    ],
  ];

  $libraries['beerslider_initialization'] = [
    'title' => 'Beerslider Initialization',
    'js' => [
      drupal_get_path('module', 'mkbh_beforeafter_slider') . '/assets/javascript/beerslider_initialization.js' => [
        'scope' => 'footer',
        'weight' => 99,
      ],
    ],
  ];

  return $libraries;
}
