<?php
/**
 * Plugin Name:       BW Video Text
 * Plugin URI:        https://plugins.bowden.works/bw-video-text/
 * Description:       Gutenberg block to display video and text side by side with multiple layout options.
 * Version:           0.1.55
 * Requires at least: 6.0
 * Requires PHP:      7.4
 * Author:            Bowden Works
 * Author URI:        https://bowden.works
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       bw-video-text
 * Domain Path:       /languages
 * Update URI:        https://plugins.bowden.works/bw-video-text/
 */

defined( 'ABSPATH' ) || exit;

define( 'BW_VIDEO_TEXT_VERSION', '0.1.55' );
define( 'BW_VIDEO_TEXT_FILE', __FILE__ );
define( 'BW_VIDEO_TEXT_DIR', plugin_dir_path( __FILE__ ) );
define( 'BW_VIDEO_TEXT_URL', plugin_dir_url( __FILE__ ) );

require_once BW_VIDEO_TEXT_DIR . 'vendor/plugin-update-checker/plugin-update-checker.php';

use YahnisElsts\PluginUpdateChecker\v5\PucFactory;

$updateChecker = PucFactory::buildUpdateChecker(
	'https://plugins.bowden.works/wp-json/bw/v1/update-check?slug=bw-video-text',
	__FILE__,
	'bw-video-text'
);

require_once BW_VIDEO_TEXT_DIR . 'includes/block-render-helpers.php';

function bw_video_text_register_block() {
	$block_dir = BW_VIDEO_TEXT_DIR . 'blocks/bw-video-text/';
	$block_url = BW_VIDEO_TEXT_URL . 'blocks/bw-video-text/';

	// Pre-register all assets with filemtime so every file save gets a fresh ?ver= cache-buster.
	// Without this, WordPress registers block assets with ver="" and browsers/CDN cache forever.
	wp_register_style(
		'bw-video-text-style',
		$block_url . 'style.css',
		[],
		filemtime( $block_dir . 'style.css' )
	);
	wp_register_style(
		'bw-video-text-editor-style',
		$block_url . 'editor.css',
		[],
		filemtime( $block_dir . 'editor.css' )
	);
	wp_register_script(
		'bw-video-text-editor-script',
		$block_url . 'editor.js',
		[ 'wp-blocks', 'wp-element', 'wp-components', 'wp-block-editor', 'wp-i18n' ],
		filemtime( $block_dir . 'editor.js' ),
		true
	);
	wp_register_script(
		'bw-video-text-view-script',
		$block_url . 'frontend.js',
		[],
		filemtime( $block_dir . 'frontend.js' ),
		true
	);

	register_block_type( BW_VIDEO_TEXT_DIR . 'blocks/bw-video-text' );
}
add_action( 'init', 'bw_video_text_register_block' );
