Loading comparison...
'; - comparisonResults.classList.remove('hide'); -}; - /** * Show error state for comparison * @param {Error} error - The error object @@ -714,145 +693,6 @@ const showComparisonError = (error) => { DATA LAYER FUNCTIONS ============================================ */ -/** - * UI LAYER: Handle version comparison UI updates - * @param {string} versionA - Base version - * @param {string} versionB - Target version - */ -const performVersionComparison = async (versionA, versionB) => { - // Show loading state - showComparisonLoading(); - - try { - // Fetch and compare data (pure data logic) - const result = await fetchAndCompareVersions(versionA, versionB, versionPaths); - - // Display results (UI logic) - displayComparison(result.versionA, result.versionB, result.comparisonData); - } catch (error) { - // Handle error display (UI logic) - showComparisonError(error); - } -}; - -/** - * Display comparison results - * @param {string} versionA - Base version - * @param {string} versionB - Target version - * @param {Object} comparisonData - Comparison results - */ -const displayComparison = (versionA, versionB, comparisonData) => { - if (!comparisonResults) { - console.error('comparison-results element not found!'); - return; - } - - if (!comparisonTemplateElement) { - console.error('comparison-template element not found!'); - return; - } - - const comparisonTemplate = Handlebars.compile(comparisonTemplateElement.innerHTML); - - const templateData = { - versionA, - versionB, - ...comparisonData, - }; - - console.log('Template data:', templateData); - - try { - const html = comparisonTemplate(templateData); - console.log('Generated HTML length:', html.length); - - comparisonResults.innerHTML = html; - comparisonResults.classList.remove('hide'); - - // Update URL with comparison parameters for permalinks - updateComparisonURL(versionA, versionB); - - // Show the copy link button and helper text - if (copyComparisonLinkBtn) { - copyComparisonLinkBtn.classList.remove('hide'); - console.log('Copy link button shown'); - } else { - console.warn('Copy link button not found in DOM'); - } - if (comparisonHelper) { - comparisonHelper.classList.remove('hide'); - } - - // Scroll to results smoothly - setTimeout(() => { - comparisonResults.scrollIntoView({behavior: 'smooth', block: 'start'}); - }, 100); - - console.log('Comparison displayed successfully'); - } catch (error) { - console.error('Error rendering template:', error); - comparisonResults.innerHTML = `