diff --git a/Documents/Vibe Coding Projects/dedicatednodes-redesign/dedicatednodes-bare-metal/new-baremetal.html b/Documents/Vibe Coding Projects/dedicatednodes-redesign/dedicatednodes-bare-metal/new-baremetal.html index 0c765c8..4c85cbc 100644 --- a/Documents/Vibe Coding Projects/dedicatednodes-redesign/dedicatednodes-bare-metal/new-baremetal.html +++ b/Documents/Vibe Coding Projects/dedicatednodes-redesign/dedicatednodes-bare-metal/new-baremetal.html @@ -1179,6 +1179,50 @@ img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} border: none; } + /* Enhanced Storage Pills for Summary */ + .storage-pill { + display: inline-flex; + align-items: center; + background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); + border: 1px solid #e2e8f0; + border-radius: 8px; + padding: 0.4rem 0.75rem; + margin: 0.25rem 0.5rem 0.25rem 0; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); + transition: all 0.2s ease; + } + + .storage-pill:hover { + transform: translateY(-1px); + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); + } + + .storage-icon { + font-size: 1.2rem; + margin-right: 0.5rem; + filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); + } + + .storage-info { + display: flex; + flex-direction: column; + gap: 0.1rem; + } + + .storage-count { + font-size: 0.7rem; + font-weight: 600; + color: var(--brand-primary); + text-transform: uppercase; + letter-spacing: 0.05em; + } + + .storage-name { + font-size: 0.85rem; + font-weight: 500; + color: var(--text-primary); + } + .server-meta-row { display: flex; justify-content: space-between; @@ -1411,7 +1455,21 @@ img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} } .summary-row .label { color: var(--text-secondary); } - .summary-row .val { font-weight: 500; text-align: right; max-width: 60%; } + .summary-row .val { + font-weight: 500; + text-align: right; + max-width: 60%; + } + + /* Special handling for storage summary to allow multiple pills */ + #summaryStorage { + max-width: 65%; + line-height: 1.2; + } + + #summaryStorage .storage-pill { + margin-bottom: 0.5rem; + } .total-row { display: flex; @@ -5127,11 +5185,11 @@ var wpcf7 = { if(specStorage) specStorage.innerHTML = pillsHtml; }; - // Function to update storage summary + // Function to update storage summary with enhanced styling function updateStorageSummary() { // Collect all selected drives const storageCount = {}; - let storageSummary = []; + let storageHtml = ''; Object.values(storageSelection).forEach(drive => { if (drive.name && !drive.name.toLowerCase().includes('none')) { @@ -5139,17 +5197,47 @@ var wpcf7 = { } }); - // Build summary text with counts - Object.entries(storageCount).forEach(([name, count]) => { - storageSummary.push(`${count}x ${name}`); - }); + if (Object.keys(storageCount).length === 0) { + document.getElementById('summaryStorage').innerHTML = 'No drives selected'; + } else { + // Create styled drive pills + Object.entries(storageCount).forEach(([name, count], index) => { + // Determine drive type icon + let icon = '💿'; + if (name.toLowerCase().includes('nvme')) { + icon = '⚡'; + if (name.toLowerCase().includes('gen5')) icon = '🚀'; + if (name.toLowerCase().includes('t705')) icon = '🔥'; + } + if (name.toLowerCase().includes('crucial')) icon = '🔴'; + if (name.toLowerCase().includes('kioxia')) icon = '🔵'; + if (name.toLowerCase().includes('samsung')) icon = '🔶'; - const storageText = storageSummary.length > 0 ? storageSummary.join(' + ') : 'None'; - document.getElementById('summaryStorage').textContent = storageText; + // Extract clean name + const cleanName = name.replace(/\s?[€$£].*/, '').trim(); - // Update Tech Specs + storageHtml += ` +