Перестройка frontend-архитектуры карточки товара
Проблема
Карточка товара со временем объединила PHP-разметку, inline-JavaScript, DOM-контроллеры и React-компоненты. Несколько частей страницы могли независимо управлять галереей, активным изображением, вариантами, вкладками и состоянием интерфейса.
Поиск
Проведена трассировка ProductPage.tsx, PHP-шаблонов и клиентских обработчиков. Найдены устаревшие контроллеры, параллельные точки инициализации и дублирующая логика управления интерфейсом.
Решение
Карточка разделена на специализированные TypeScript/React-модули: ProductPrimaryGalleryController, ProductVariantsController, ProductAdaptiveTables, ProductAdditionalInformation, ProductTabsController, ProductStickyCards и ProductSupplementaryGalleries. Общая DOM-логика вынесена в отдельные utility и controller-модули.
Результат
Удалены WCTabsController, openAdditionalInformation, tablepress-adaptive.client и другие промежуточные реализации. Карточка получила единый типизированный frontend-контур, TypeScript-ошибки устранены.