<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
if ( ! defined( 'BENEVIO_VERSION' ) ) { define( 'BENEVIO_VERSION', '1.0.0' ); }

function benevio_setup() {
	load_theme_textdomain( 'benevio', get_template_directory() . '/languages' );
	add_theme_support( 'automatic-feed-links' );
	add_theme_support( 'title-tag' );
	add_theme_support( 'post-thumbnails' );
	add_theme_support( 'custom-logo', array( 'height'=>60,'width'=>220,'flex-height'=>true,'flex-width'=>true ) );
	add_theme_support( 'html5', array( 'search-form','comment-form','comment-list','gallery','caption','style','script' ) );
	add_theme_support( 'responsive-embeds' );
	add_theme_support( 'align-wide' );
	add_theme_support( 'editor-styles' );
	add_theme_support( 'wp-block-styles' );
	add_editor_style( 'assets/css/editor-style.css' );
	add_theme_support( 'custom-background', array( 'default-color'=>'ffffff' ) );
	register_nav_menus( array( 'primary'=>__( 'Primary Menu','benevio' ),'footer'=>__( 'Footer Menu','benevio' ) ) );
	add_image_size( 'benevio-card', 640, 440, true );
	add_image_size( 'benevio-wide', 1600, 800, true );
}
add_action( 'after_setup_theme', 'benevio_setup' );

function benevio_content_width() { $GLOBALS['content_width'] = apply_filters( 'benevio_content_width', 1200 ); }
add_action( 'after_setup_theme', 'benevio_content_width', 0 );

function benevio_assets() {
	wp_enqueue_style( 'benevio-fonts', 'https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap', array(), null );
	wp_enqueue_style( 'benevio-style', get_stylesheet_uri(), array(), file_exists( get_stylesheet_directory() . '/style.css' ) ? filemtime( get_stylesheet_directory() . '/style.css' ) : BENEVIO_VERSION );
	wp_enqueue_style( 'benevio-bootstrap-compat', get_template_directory_uri() . '/assets/css/bootstrap-compat.css', array( 'benevio-style' ), file_exists( get_template_directory() . '/assets/css/bootstrap-compat.css' ) ? filemtime( get_template_directory() . '/assets/css/bootstrap-compat.css' ) : BENEVIO_VERSION );
	wp_enqueue_script( 'benevio-nav', get_template_directory_uri() . '/assets/js/navigation.js', array(), BENEVIO_VERSION, true );
	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); }
}
add_action( 'wp_enqueue_scripts', 'benevio_assets' );

function benevio_widgets_init() {
	register_sidebar( array( 'name'=>__( 'Main Sidebar','benevio' ),'id'=>'sidebar-1','description'=>__( 'Appears on blog and archive pages.','benevio' ),'before_widget'=>'<section id="%1$s" class="widget %2$s">','after_widget'=>'</section>','before_title'=>'<h4 class="widget-title">','after_title'=>'</h4>' ) );
	for ( $i = 1; $i <= 4; $i++ ) {
		register_sidebar( array( 'name'=>sprintf( __( 'Footer %d','benevio' ), $i ),'id'=>'footer-'.$i,'before_widget'=>'<div id="%1$s" class="bv-footer-widget %2$s">','after_widget'=>'</div>','before_title'=>'<h4>','after_title'=>'</h4>' ) );
	}
}
add_action( 'widgets_init', 'benevio_widgets_init' );

function benevio_default_menu() { echo '<ul>'; wp_list_pages( array( 'title_li'=>'','depth'=>1 ) ); echo '</ul>'; }

function benevio_img( $slug, $w = 800, $h = 600 ) {
	$default = sprintf( 'https://picsum.photos/seed/benevio-%s/%d/%d', sanitize_title( $slug ), $w, $h );
	return apply_filters( 'benevio_image', $default, $slug, $w, $h );
}

require get_template_directory() . '/inc/template-tags.php';
require get_template_directory() . '/inc/ocdi-config.php';
require get_template_directory() . '/inc/page-templates.php';
require get_template_directory() . '/inc/block-extras.php';

function benevio_body_classes( $classes ) {
	if ( ! is_singular() ) { $classes[] = 'bv-archive'; }
	if ( is_front_page() ) { $classes[] = 'bv-front'; }
	return $classes;
}
add_filter( 'body_class', 'benevio_body_classes' );
