<?php
/**
 * Custom typography options for this theme
 *
 * @package Art Blog
 */

function dairy_farming_output_custom_font_css() {
    $dairy_farming_font_choice = get_theme_mod( 'dairy_farming_font_family', 'default' );

    if ( $dairy_farming_font_choice === 'default' ) {
        return;
    }

    $dairy_farming_font_map = array(
        'bad_script'       => '"Bad Script", cursive',
        'roboto'           => '"Roboto", sans-serif',
        'playfair_display' => '"Playfair Display", serif',
        'open_sans'        => '"Open Sans", sans-serif',
        'lobster'          => '"Lobster", cursive',
        'merriweather'     => '"Merriweather", serif',
        'oswald'           => '"Oswald", sans-serif',
        'raleway'          => '"Raleway", sans-serif',
    );

    $dairy_farming_font_family = isset( $dairy_farming_font_map[ $dairy_farming_font_choice ] ) ? $dairy_farming_font_map[ $dairy_farming_font_choice ] : $dairy_farming_font_map['pt_sans'];

    $dairy_farming_custom_css = "
        body,
        body h1, body h2, body h3, body h4, body h5, body h6,
        p, a, span, div,
        .site, .entry-content, .main-navigation, .widget,
        input, textarea, button, .menu, .site-title, .site-description {
            font-family: {$dairy_farming_font_family} !important;
        }
    ";

    wp_add_inline_style( 'dairy-farming-google-fonts', $dairy_farming_custom_css );
}
add_action( 'wp_enqueue_scripts', 'dairy_farming_output_custom_font_css', 20 );


function dairy_farming_sanitize_font_family( $dairy_farming_input ) {
    $dairy_farming_valid = array(
        'default', 'bad_script', 'roboto',
        'playfair_display', 'open_sans', 'lobster', 'merriweather', 'oswald', 'raleway'
    );
    return in_array( $dairy_farming_input, $dairy_farming_valid ) ? $dairy_farming_input : 'default';
}

function dairy_farming_enqueue_selected_google_font() {
    $dairy_farming_font_choice = get_theme_mod( 'dairy_farming_font_family', 'default' );

    $dairy_farming_font_links = array(
        'bad_script'       => 'https://fonts.googleapis.com/css2?family=Bad+Script&display=swap',
        'roboto'           => 'https://fonts.googleapis.com/css2?family=Roboto&display=swap',
        'playfair_display' => 'https://fonts.googleapis.com/css2?family=Playfair+Display&display=swap',
        'open_sans'        => 'https://fonts.googleapis.com/css2?family=Open+Sans&display=swap',
        'lobster'          => 'https://fonts.googleapis.com/css2?family=Lobster&display=swap',
        'merriweather'     => 'https://fonts.googleapis.com/css2?family=Merriweather&display=swap',
        'oswald'           => 'https://fonts.googleapis.com/css2?family=Oswald&display=swap',
        'raleway'          => 'https://fonts.googleapis.com/css2?family=Raleway&display=swap',
    );

    if ( isset( $dairy_farming_font_links[ $dairy_farming_font_choice ] ) ) {
        wp_enqueue_style( 'dairy-farming-dynamic-font', $dairy_farming_font_links[ $dairy_farming_font_choice ], array(), null );
    }
}
add_action( 'wp_enqueue_scripts', 'dairy_farming_enqueue_selected_google_font' );