post_type === 'product'; if (! $pluginPage && ! $productScreen) { return; } $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; $cssRelative = 'assets/css/admin' . $suffix . '.css'; $jsRelative = 'assets/js/admin' . $suffix . '.js'; $assetVersion = defined('TFSI_BUILD') ? TFSI_VERSION . '-' . TFSI_BUILD : TFSI_VERSION; $workspace = str_ends_with($hookSuffix, '_page_tfsi_purchase_workspace'); $archive = str_ends_with($hookSuffix, '_page_tfsi_archive'); if ($workspace || $archive || $productScreen) { wp_register_script('tfsi-review-messages', false, [], $assetVersion, true); wp_localize_script('tfsi-review-messages', 'tfsiReviewMessages', ReviewAssetMessages::all()); } if ($workspace) { wp_enqueue_style('tfsi-workspace-review-controls', TFSI_URL . 'assets/css/workspace-review-controls.css', ['tfsi-interaction-theme'], $assetVersion); wp_enqueue_script('tfsi-workspace-review-controls', TFSI_URL . 'assets/js/workspace-review-controls.js', ['tfsi-admin-script', 'tfsi-review-messages'], $assetVersion, true); wp_enqueue_script('tfsi-persistent-category-choices', TFSI_URL . 'assets/js/persistent-category-choices.js', ['tfsi-workspace-review-controls'], $assetVersion, true); } if ($archive) { wp_enqueue_script('tfsi-archive-selection', TFSI_URL . 'assets/js/archive-selection.js', ['tfsi-review-messages'], $assetVersion, true); } if ($workspace || $productScreen) { wp_enqueue_script('tfsi-product-data-inspector', TFSI_URL . 'assets/js/product-data-inspector.js', ['tfsi-review-messages'], $assetVersion, true); } if (! file_exists(TFSI_PATH . $cssRelative)) { $cssRelative = 'assets/css/admin.css'; } if (! file_exists(TFSI_PATH . $jsRelative)) { $jsRelative = 'assets/js/admin.js'; } wp_enqueue_style( 'tfsi-admin-style', TFSI_URL . $cssRelative, [], $assetVersion ); // CSS-only updates may keep the same plugin/build number. Version this // stylesheet by its contents so browsers cannot reuse an older design. $designCssPath = TFSI_PATH . 'assets/css/design-system-0068.css'; $designCssHash = is_readable($designCssPath) ? hash_file('sha256', $designCssPath) : false; $designCssVersion = is_string($designCssHash) ? $assetVersion . '-' . substr($designCssHash, 0, 12) : $assetVersion; wp_enqueue_style( 'tfsi-admin-design-0068', TFSI_URL . 'assets/css/design-system-0068.css', ['tfsi-admin-style'], $designCssVersion ); wp_enqueue_style( 'tfsi-result-controls-0068', TFSI_URL . 'assets/css/result-controls-0068.css', ['tfsi-admin-design-0068'], $assetVersion ); wp_enqueue_style( 'tfsi-preview-containment', TFSI_URL . 'assets/css/preview-containment.css', ['tfsi-result-controls-0068'], $assetVersion ); wp_enqueue_style( 'tfsi-mobile-barcode-camera', TFSI_URL . 'assets/css/mobile-barcode-camera.css', ['tfsi-preview-containment'], $assetVersion ); if (function_exists('wp_add_inline_style')) { wp_add_inline_style( 'tfsi-preview-containment', '.tfsi-decision-panel{margin-top:22px!important;padding:15px 18px 18px!important;border:1px solid #b9cee3!important;border-left:4px solid var(--tfsi-primary)!important;border-radius:8px!important;background:#f7fbff!important;box-shadow:none!important}.tfsi-decision-panel legend{font-size:16px!important;padding:0 8px!important;color:#17324d!important;font-weight:800!important;line-height:1.45}.tfsi-decision-panel .tfsi-choice-group__items{margin-top:5px}.tfsi-decision-panel .tfsi-choice-chip{min-height:44px;padding:9px 15px;background:#fff;color:#17324d!important}.tfsi-decision-panel .tfsi-choice-chip:hover,.tfsi-decision-panel .tfsi-choice-chip:focus-visible{background:#eef6fd!important;border-color:var(--tfsi-primary)!important;color:#17324d!important}.tfsi-decision-panel .tfsi-choice-chip--active,.tfsi-decision-panel .tfsi-choice-chip--active:hover,.tfsi-decision-panel .tfsi-choice-chip--active:focus-visible{background:var(--tfsi-primary)!important;color:#fff!important}' ); } // Final, plugin-scoped states override both WordPress and historical component colors. wp_enqueue_style( 'tfsi-interaction-theme', TFSI_URL . 'assets/css/interaction-theme.css', ['tfsi-mobile-barcode-camera'], $assetVersion . '-' . substr(hash_file('sha256', TFSI_PATH . 'assets/css/interaction-theme.css'), 0, 12) ); wp_enqueue_script( 'tfsi-admin-script', TFSI_URL . $jsRelative, ['jquery'], $assetVersion, true ); wp_enqueue_script( 'tfsi-domain-aware-preview', TFSI_URL . 'assets/js/domain-aware-preview.js', ['tfsi-admin-script'], $assetVersion, true ); wp_enqueue_script( 'tfsi-publication-progress', TFSI_URL . 'assets/js/woocommerce-publication-progress.js', ['tfsi-domain-aware-preview'], $assetVersion, true ); wp_enqueue_script( 'tfsi-result-selection-0068', TFSI_URL . 'assets/js/result-selection-0068.js', ['tfsi-domain-aware-preview'], $assetVersion, true ); wp_enqueue_script( 'tfsi-workspace-search-ux', TFSI_URL . 'assets/js/workspace-search-ux.js', ['tfsi-result-selection-0068'], $assetVersion, true ); wp_enqueue_script( 'tfsi-mobile-barcode-camera', TFSI_URL . 'assets/js/mobile-barcode-camera.js', ['tfsi-workspace-search-ux'], $assetVersion, true ); wp_enqueue_script( 'tfsi-physical-support-picker', TFSI_URL . 'assets/js/physical-support-picker.js', ['tfsi-workspace-search-ux'], $assetVersion, true ); wp_localize_script('tfsi-admin-script', 'tfsiUiI18n', \TFGraphics\SmartImport\Admin\Presentation\UiTranslations::strings()); wp_localize_script('tfsi-admin-script', 'tfsiAdminI18n', [ 'searchingProduct' => __('Ricerca prodotto in corso…', 'productgather'), ]); if (current_user_can('upload_files')) { wp_enqueue_media(); } wp_enqueue_script( 'tfsi-merchant-photo', TFSI_URL . 'assets/js/merchant-photo.js', ['tfsi-domain-aware-preview'], $assetVersion . '-' . substr(hash_file('sha256', dirname(__DIR__, 2) . '/assets/js/merchant-photo.js'), 0, 12), true ); } }