<?php
/**
 * Tour starter templates.
 *
 * @package Vist360
 */

namespace Vist360\Domain;

defined( 'ABSPATH' ) || exit;

/**
 * Starter presets for the template-first creation flow.
 */
class TourTemplates {

	/**
	 * Free starter templates: viewer presets plus suggested scene slots.
	 *
	 * @return array[]
	 */
	public static function all() {
		$templates = array(
			array(
				'id'          => 'blank',
				'name'        => __( 'Blank', 'vistour-virtual-tour-builder' ),
				'description' => __( 'Start from scratch with an empty canvas.', 'vistour-virtual-tour-builder' ),
				'viewer'      => array(),
				'scenes'      => array(),
			),
			array(
				'id'          => 'real_estate',
				'name'        => __( 'Real Estate', 'vistour-virtual-tour-builder' ),
				'description' => __( 'Ideal for residential and commercial property listings.', 'vistour-virtual-tour-builder' ),
				'viewer'      => array( 'autorotate' => false ),
				'scenes'      => array(
					array( 'title' => __( 'Living Room', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Kitchen', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Bedroom', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Bathroom', 'vistour-virtual-tour-builder' ) ),
				),
			),
			array(
				'id'          => 'hotel',
				'name'        => __( 'Hotel', 'vistour-virtual-tour-builder' ),
				'description' => __( 'Showcase rooms, amenities, and common areas.', 'vistour-virtual-tour-builder' ),
				'viewer'      => array( 'autorotate' => true ),
				'scenes'      => array(
					array( 'title' => __( 'Lobby', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Deluxe Room', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Restaurant', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Pool', 'vistour-virtual-tour-builder' ) ),
				),
			),
			array(
				'id'          => 'restaurant',
				'name'        => __( 'Restaurant', 'vistour-virtual-tour-builder' ),
				'description' => __( 'Engage guests with a virtual walkthrough of your space.', 'vistour-virtual-tour-builder' ),
				'viewer'      => array( 'autorotate' => true ),
				'scenes'      => array(
					array( 'title' => __( 'Main Dining', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Bar', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Terrace', 'vistour-virtual-tour-builder' ) ),
				),
			),
			array(
				'id'          => 'showroom',
				'name'        => __( 'Showroom', 'vistour-virtual-tour-builder' ),
				'description' => __( 'Perfect for car dealerships, galleries, and retail stores.', 'vistour-virtual-tour-builder' ),
				'viewer'      => array( 'autorotate' => false ),
				'scenes'      => array(
					array( 'title' => __( 'Showroom Floor', 'vistour-virtual-tour-builder' ) ),
					array( 'title' => __( 'Feature Area', 'vistour-virtual-tour-builder' ) ),
				),
			),
		);

		/**
		 * Filters the available tour starter templates.
		 *
		 * @since 1.0.0
		 *
		 * @param array[] $templates Template definitions.
		 */
		return apply_filters( 'vist360_templates', $templates );
	}

	/**
	 * Locked templates shown as Pro teasers in the gallery.
	 *
	 * @return string[]
	 */
	public static function locked() {
		$locked = array(
			__( 'Museum & Gallery', 'vistour-virtual-tour-builder' ),
			__( 'Educational Campus', 'vistour-virtual-tour-builder' ),
			__( 'Medical Facility', 'vistour-virtual-tour-builder' ),
			__( 'Wedding Venue', 'vistour-virtual-tour-builder' ),
			__( 'Fitness Center', 'vistour-virtual-tour-builder' ),
		);

		/**
		 * Filters the locked (Pro) template teasers.
		 *
		 * @since 1.0.0
		 *
		 * @param string[] $locked Template names.
		 */
		return apply_filters( 'vist360_locked_templates', $locked );
	}
}
