<?php

/**
 * Tutu functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Tutu
 * @since Tutu 1.0
 */

/**
 * Register block styles.
 */

if (!function_exists('tutu_block_styles')) :
	/**
	 * Register custom block styles
	 *
	 * @since Tutu 1.0
	 * @return void
	 */
	function tutu_block_styles()
	{

		register_block_style(
			'core/details',
			array(
				'name'         => 'arrow-icon-details',
				'label'        => __('Arrow icon', 'tutu'),
				/*
				 * Styles for the custom Arrow icon style of the Details block
				 */
				'inline_style' => '
				.is-style-arrow-icon-details {
					padding-top: var(--wp--preset--spacing--10);
					padding-bottom: var(--wp--preset--spacing--10);
				}

				.is-style-arrow-icon-details summary {
					list-style-type: "\2193\00a0\00a0\00a0";
				}

				.is-style-arrow-icon-details[open]>summary {
					list-style-type: "\2192\00a0\00a0\00a0";
				}',
			)
		);
		register_block_style(
			'core/post-terms',
			array(
				'name'         => 'pill',
				'label'        => __('Pill', 'tutu'),
				/*
				 * Styles variation for post terms
				 * https://github.com/WordPress/gutenberg/issues/24956
				 */
				'inline_style' => '
				.is-style-pill a,
				.is-style-pill span:not([class], [data-rich-text-placeholder]) {
					display: inline-block;
					background-color: var(--wp--preset--color--accent);
					color: var(--wp--preset--color--base);
					padding: 0.375rem 0.875rem;
					border-radius: var(--wp--preset--spacing--20);
					margin: 4px 0;
				}

				.is-style-pill a:hover {
					background-color: var(--wp--preset--color--contrast);
					color: var(--wp--preset--color--base);
				}',
			)
		);
		register_block_style(
			'core/list',
			array(
				'name'         => 'checkmark-list',
				'label'        => __('Checkmark', 'tutu'),
				/*
				 * Styles for the custom checkmark list block style
				 * https://github.com/WordPress/gutenberg/issues/51480
				 */
				'inline_style' => '
				ul.is-style-checkmark-list {
					list-style-type: "\2713";
				}

				ul.is-style-checkmark-list li {
					padding-inline-start: 1ch;
				}',
			)
		);
		register_block_style(
			'core/navigation-link',
			array(
				'name'         => 'arrow-link',
				'label'        => __('With arrow', 'tutu'),
				/*
				 * Styles for the custom arrow nav link block style
				 */
				'inline_style' => '
				.is-style-arrow-link .wp-block-navigation-item__label:after {
					content: "\2197";
					padding-inline-start: 0.25rem;
					vertical-align: middle;
					text-decoration: none;
					display: inline-block;
				}',
			)
		);
		register_block_style(
			'core/navigation',
			array(
				'name'         => 'with-separator',
				'label'        => __('With Separator', 'tutu'),
				/*
				 * Styles for the custom arrow nav link block style
				 */
				'inline_style' => '
				.is-style-with-separator .wp-block-navigation-item:not(:last-child) {
					padding-right: 10px;		
					border-right: 1px solid var(--wp--preset--color--accent, currentColor);',
			)
		);
	}
endif;

add_action('init', 'tutu_block_styles');

/**
 * Enqueue block stylesheets.
 */

if (!function_exists('tutu_block_stylesheets')) :
	/**
	 * Enqueue custom block stylesheets
	 *
	 * @since Tutu 1.0
	 * @return void
	 */
	function tutu_block_stylesheets()
	{
		/**
		 * The wp_enqueue_block_style() function allows us to enqueue a stylesheet
		 * for a specific block. These will only get loaded when the block is rendered
		 * (both in the editor and on the front end), improving performance
		 * and reducing the amount of data requested by visitors.
		 *
		 * See https://make.wordpress.org/core/2021/12/15/using-multiple-stylesheets-per-block/ for more info.
		 */
		wp_enqueue_block_style(
			'core/button',
			array(
				'handle' => 'tutu-button-style-outline',
				'src'    => get_parent_theme_file_uri('assets/css/button-outline.css'),
				'ver'    => wp_get_theme(get_template())->get('Version'),
				'path'   => get_parent_theme_file_path('assets/css/button-outline.css'),
			)
		);
	}
endif;

add_action('init', 'tutu_block_stylesheets');

/**
 * Register pattern categories.
 */

if (!function_exists('tutu_pattern_categories')) :
	/**
	 * Register pattern categories
	 *
	 * @since Tutu 1.0
	 * @return void
	 */
	function tutu_pattern_categories()
	{

		register_block_pattern_category(
			'tutu_page',
			array(
				'label'       => _x('Pages', 'Block pattern category', 'tutu'),
				'description' => __('A collection of full page layouts.', 'tutu'),
			)
		);

		register_block_pattern_category(
			'tutu_patterns',
			array(
				'label'       => _x('Tutu', 'Block pattern category', 'tutu'),
				'description' => __('A collection of Tutu patterns.', 'tutu'),
			)
		);
	}
endif;

add_action('init', 'tutu_pattern_categories');

require get_template_directory() . '/inc/tgm-setup.php';
require get_template_directory() . '/inc/ocdi-setup.php';
