|
83 | 83 | return termynal; |
84 | 84 | } |
85 | 85 |
|
| 86 | + function normalizeCarouselHeight(carousel) { |
| 87 | + var slidesWrap = carousel.querySelector('.code-carousel__slides'); |
| 88 | + if (!slidesWrap) return; |
| 89 | + |
| 90 | + var slides = Array.prototype.slice.call(carousel.querySelectorAll('.code-carousel__slide')); |
| 91 | + if (!slides.length) return; |
| 92 | + |
| 93 | + var maxHeight = 0; |
| 94 | + |
| 95 | + slides.forEach(function(slide) { |
| 96 | + var prevDisplay = slide.style.display; |
| 97 | + var prevVisibility = slide.style.visibility; |
| 98 | + |
| 99 | + if (!slide.classList.contains('active')) { |
| 100 | + slide.style.display = 'block'; |
| 101 | + slide.style.visibility = 'hidden'; |
| 102 | + } |
| 103 | + |
| 104 | + maxHeight = Math.max(maxHeight, slide.scrollHeight, slide.offsetHeight); |
| 105 | + |
| 106 | + if (!slide.classList.contains('active')) { |
| 107 | + slide.style.display = prevDisplay; |
| 108 | + slide.style.visibility = prevVisibility; |
| 109 | + } |
| 110 | + }); |
| 111 | + |
| 112 | + if (maxHeight > 0) { |
| 113 | + slidesWrap.style.minHeight = maxHeight + 'px'; |
| 114 | + slides.forEach(function(slide) { |
| 115 | + slide.style.minHeight = maxHeight + 'px'; |
| 116 | + }); |
| 117 | + } |
| 118 | + } |
| 119 | + |
86 | 120 | // Init termynal instances for carousel slides |
87 | 121 | window._getStartedTermynal = initCarouselTermynal('get-started-code-snippet', [ |
88 | 122 | {type: 'input', value: 'uv tool install "dstack[all]" -U'}, |
| 123 | + {delay: 0, value: 'Downloading dstack-0.20.15-py3-none-any.whl', class: 'newline'}, |
| 124 | + {type: 'progress', progressPercent: 100, typeDelay: 50}, |
89 | 125 | {delay: 0, value: ' ', class: 'newline'}, |
90 | 126 | {type: 'input', value: 'npx skills add dstackai/dstack'}, |
| 127 | + {delay: 0, value: 'Installed skill dstack from dstackai/dstack', class: 'newline'}, |
91 | 128 | {delay: 0, value: ' ', class: 'newline'}, |
92 | 129 | {type: 'input', value: 'dstack server'}, |
93 | 130 | {delay: 0, value: ' ', class: 'newline'}, |
|
112 | 149 | {delay: 0, value: ' - Troubleshoot provisioning or connectivity issues', class: 'newline'}, |
113 | 150 | {delay: 0, value: ' ', class: 'newline'}, |
114 | 151 | {delay: 0, value: ' What would you like to do?', class: 'newline'}, |
115 | | - {delay: 0, value: ' ', class: 'newline'}, |
116 | | - {type: 'input', value: ''}, |
117 | 152 | ]); |
118 | 153 |
|
119 | 154 | window._fleetTermynal = initCarouselTermynal('fleet-apply-terminal', [ |
|
231 | 266 | }); |
232 | 267 | }); |
233 | 268 |
|
| 269 | + normalizeCarouselHeight(carousel); |
| 270 | + setTimeout(function() { |
| 271 | + normalizeCarouselHeight(carousel); |
| 272 | + }, 350); |
| 273 | + |
234 | 274 | timer = setInterval(next, 5000); |
235 | 275 | }); |
| 276 | + |
| 277 | + window.addEventListener('resize', function() { |
| 278 | + document.querySelectorAll('.code-carousel').forEach(function(carousel) { |
| 279 | + normalizeCarouselHeight(carousel); |
| 280 | + }); |
| 281 | + }); |
236 | 282 | }); |
237 | 283 | </script> |
238 | 284 | {% endblock %} |
|
0 commit comments