diff options
| author | Pinapelz <yukais@pinapelz.com> | 2026-05-18 03:18:43 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-05-18 03:18:43 -0700 |
| commit | de6fa06ec51f4c44c4b3f718d8f715bc62f26287 (patch) | |
| tree | d930382758a760a96359a207f6075858d3485929 /tiers.js | |
| parent | 062b7cd85b4c9715ad22dda5f1d89f2e2d5fd699 (diff) | |
fix: tier header size in exported html for long labels
Diffstat (limited to 'tiers.js')
| -rw-r--r-- | tiers.js | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -108,9 +108,38 @@ function load_tierlist(serialized_tierlist) { elem.querySelector('.header').innerText = ser_row.name; } + + resize_headers(); recompute_header_colors(); } +function resize_headers() { + let headers = tierlist_div.querySelectorAll('.row .header'); + if (headers.length === 0) return; + + let max_width = 100; + let reference_style = window.getComputedStyle(headers[0]); + let measurer = document.createElement('span'); + measurer.style.position = 'absolute'; + measurer.style.visibility = 'hidden'; + measurer.style.whiteSpace = 'nowrap'; + measurer.style.fontFamily = reference_style.fontFamily; + measurer.style.fontSize = reference_style.fontSize; + measurer.style.fontWeight = reference_style.fontWeight; + document.body.appendChild(measurer); + + headers.forEach((header) => { + measurer.innerText = header.innerText; + let text_width = Math.ceil(measurer.getBoundingClientRect().width); + max_width = Math.max(max_width, text_width + 24); + }); + + document.body.removeChild(measurer); + headers.forEach((header) => { + header.style.minWidth = `${max_width}px`; + }); +} + function add_row(index, name) { let div = document.createElement('div'); div.classList.add('row'); |
