<?php

defined('ABSPATH') || die("Can't access directly");
function wpbf_premium_settings()
{
    add_theme_page(__('Theme Settings', 'wpbfpremium'), __('Theme Settings', 'wpbfpremium'), 'manage_options', 'wpbf-premium', 'wpbf_premium_settings_callback');
}
add_action('admin_menu', 'wpbf_premium_settings');
function wpbf_premium_settings_callback()
{
    require_once WPBF_PREMIUM_DIR . 'inc/settings/settings-page.php';
}
function wpbf_premium_admin_scripts()
{
    $current_screen = get_current_screen();
    if ('appearance_page_wpbf-premium' === $current_screen->id) {
        wp_enqueue_style('heatbox', WPBF_PREMIUM_URI . 'assets/css/heatbox.css', array(), WPBF_PREMIUM_VERSION);
        wp_enqueue_style('wpbf-admin-page', WPBF_PREMIUM_URI . 'assets/css/admin-page.css', array(), WPBF_PREMIUM_VERSION);
        wp_enqueue_script('wpbf-admin-page', WPBF_PREMIUM_URI . 'js/admin.js', array('jquery'), WPBF_PREMIUM_VERSION, true);
        wp_enqueue_script('wpbf-admin-page-color-picker', WPBF_PREMIUM_URI . 'js/color-picker.js', array('wp-color-picker', 'wp-i18n'), WPBF_PREMIUM_VERSION, true);
        wp_enqueue_style('wp-color-picker');
    }
}
add_action('admin_enqueue_scripts', 'wpbf_premium_admin_scripts');
function wpbf_premium_change_inline_style_location()
{
    return 'wpbf-premium';
}
add_filter('wpbf_add_inline_style', 'wpbf_premium_change_inline_style_location');
require_once WPBF_PREMIUM_DIR . '/inc/backwards-compatibility.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/wpbf-kirki.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/custom-fonts.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/adobe-fonts.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/customizer-functions.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/styles.php';
require_once WPBF_PREMIUM_DIR . 'inc/customizer/responsive.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/post-type-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/global-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/blog-layout-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/performance-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/breakpoint-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/white-label-settings.php';
require_once WPBF_PREMIUM_DIR . 'inc/settings/functions.php';
require_once WPBF_PREMIUM_DIR . 'inc/body-classes.php';
require_once WPBF_PREMIUM_DIR . 'inc/blog-layouts.php';
require_once WPBF_PREMIUM_DIR . 'inc/deprecated.php';
require_once WPBF_PREMIUM_DIR . 'inc/shortcodes.php';
require_once WPBF_PREMIUM_DIR . 'inc/helpers.php';
require_once WPBF_PREMIUM_DIR . 'inc/theme-mods.php';
require_once WPBF_PREMIUM_DIR . 'inc/integration/customizer-import-export.php';
require_once WPBF_PREMIUM_DIR . 'inc/class-custom-sections.php';
function wpbf_premium_plugins_loaded()
{
    if (class_exists('FLBuilderLoader')) {
        require_once WPBF_PREMIUM_DIR . 'inc/integration/beaver-builder.php';
    }
    if (class_exists('FLThemeBuilderLoader') && class_exists('FLBuilderLoader')) {
        require_once WPBF_PREMIUM_DIR . 'inc/integration/beaver-themer.php';
    }
    if (class_exists('WooCommerce')) {
        require_once WPBF_PREMIUM_DIR . '/inc/integration/woocommerce.php';
    }
    if (class_exists('Easy_Digital_Downloads')) {
        require_once WPBF_PREMIUM_DIR . '/inc/integration/edd.php';
    }
    if (class_exists('LifterLMS')) {
        require_once WPBF_PREMIUM_DIR . '/inc/integration/lifterlms.php';
    }
    if (defined('GENERATEBLOCKS_VERSION')) {
        require_once WPBF_PREMIUM_DIR . '/inc/integration/generateblocks.php';
    }
}
add_action('plugins_loaded', 'wpbf_premium_plugins_loaded');
function wpbf_elementor_integration()
{
    require_once WPBF_PREMIUM_DIR . 'inc/integration/elementor.php';
}
add_action('elementor/init', 'wpbf_elementor_integration');
function wpbf_elementor_pro_integration()
{
    require_once WPBF_PREMIUM_DIR . 'inc/integration/elementor-pro.php';
}
add_action('elementor_pro/init', 'wpbf_elementor_pro_integration');
function wpbf_divi_integration()
{
    if (!function_exists('et_pb_is_pagebuilder_used')) {
        return;
    }
    require_once WPBF_PREMIUM_DIR . 'inc/integration/divi.php';
}
add_action('init', 'wpbf_divi_integration');