<?php
/**
 * Shortcode [datvetau_booking].
 *
 * @package DatvetaucaotocBooking
 */

declare(strict_types=1);

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

final class Datvetau_Booking_Shortcode {

	public static function register(): void {
		add_shortcode( 'datvetau_booking', array( self::class, 'render' ) );
	}

	/**
	 * @param array<string,string>|string $atts
	 */
	public static function render( $atts ): string {
		$atts = shortcode_atts(
			array(
				'route' => '',
			),
			$atts,
			'datvetau_booking'
		);

		Datvetau_Booking_Assets::flag_enqueue();

		$route = sanitize_title( (string) $atts['route'] );

		return sprintf(
			'<div id="datvetau-booking-root" class="ferry-booking-mount" data-initial-route="%s"></div>',
			esc_attr( $route )
		);
	}
}
