HEX
Server: Apache
System: Linux webd006.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: zwafgyp (177615)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/zwafgyp/lacalita/wp-content/plugins/rey-core/inc/woocommerce/pdp-skins/fullscreen.php
<?php
namespace ReyCore\WooCommerce\PdpSkins;

if (!defined('ABSPATH')) exit; // Exit if accessed directly

use ReyCore\WooCommerce\Pdp as Base;
use ReyCore\Plugin;

class Fullscreen extends Skin
{
	public function get_id(){
		return 'fullscreen';
	}

	public function get_name(){
		return esc_html__('Full-screen Summary', 'rey-core');
	}

	public function init(){

		remove_action( 'woocommerce_before_single_product', 'woocommerce_output_all_notices', 10 ); // move notices
		add_action( 'woocommerce_single_product_summary', 'woocommerce_output_all_notices', 1 );

		add_filter( 'rey/header/header_classes', [$this, 'header_classes'], 20 );
		add_filter( 'reycore/header_helper/overlap_classes', [$this, 'header_overlapping_helper'], 100);
		add_filter( 'reycore/woocommerce/short_desc/can_reposition', '__return_true' );

		$priority = 3;

		if( Base::breadcrumb_enabled() ){
			add_action( 'woocommerce_single_product_summary', 'woocommerce_breadcrumb', $priority );
		}

		add_action( 'woocommerce_single_product_summary', [ $this, 'get_navigation' ], $priority); // right after summary begins
	}

	public function register_scripts( $assets ){

		$rtl = $assets::rtl();

		$assets->register_asset('styles', [
			$this->get_asset_key() => [
				'src'     => REY_CORE_URI . 'assets/css/woocommerce-components/page-product/skin-fullscreen/style' . $rtl . '.css',
				'deps'    => ['woocommerce-general', 'rey-wc-product-lite', 'rey-wc-product'],
				'version'   => REY_CORE_VERSION,
			]
		]);

	}

	public function get_styles(){
		return $this->get_asset_key();
	}

	public function header_overlapping_helper( $classes ){

		if( ! is_product()){
			return $classes;
		}

		if( ! apply_filters('reycore/woocommerce/pdp/fullscreen/header_overlap_desktop', true) ){
			return $classes;
		}

		$classes['desktop'] = '--dnone-lg';
		$classes['tablet'] = '';
		$classes['mobile'] = '';

		return $classes;
	}

	public function product_page_classes()
	{
		$classes = [];

		// make sure it's a product page
		if( get_theme_mod('single_skin_default_flip', false) ){
			$classes['reversed'] = '--reversed';
		}

		if(
			get_theme_mod('single_skin_fullscreen_stretch_gallery', false) &&
			get_theme_mod('product_gallery_layout', 'vertical') === 'cascade' ){
			$classes['stretch-gallery'] = '--fullscreen-stretch-gallery';
		}

		if(
			get_theme_mod('single_skin_fullscreen_custom_height', false) &&
			( get_theme_mod('product_gallery_layout', 'vertical') === 'vertical' ||
			get_theme_mod('product_gallery_layout', 'vertical') === 'horizontal' )
		){
			$classes['fs_custom_height'] = '--fs-custom-height';
		}

		return $classes;
	}

	public function header_classes($classes){

		if( 'header-pos--rel' === $classes['position'] && get_theme_mod('single_skin_fullscreen__header_rel_abs', true) ){
			$classes['header_rel_abs'] = '--fullscreen-header-rel-abs';
		}

		return $classes;
	}

	public function get_navigation(){
		if( $c = Plugin::instance()->woocommerce_pdp->get_component('product_nav') ){
			$c->render();
		}
	}

}