diff --git a/frontend/src/components/base/PageHero.astro b/frontend/src/components/base/PageHero.astro index 532512b..066082b 100644 --- a/frontend/src/components/base/PageHero.astro +++ b/frontend/src/components/base/PageHero.astro @@ -50,19 +50,34 @@ const { const showImage = layout === 'with-image' && sideImage; --- -
- {bgImage && } +
+ + {bgImage && ( + + )} +
{icon ? ( - + ) : ( - + )} {badgeText}
@@ -76,37 +91,46 @@ const showImage = layout === 'with-image' && sideImage;

{description}

{btnText && ( -
- {modalTarget ? ( - - ) : ( - - )} - {btnSecondary && ( - - )} -
+
+ {modalTarget ? ( + + ) : ( + + )} + {btnSecondary && ( + + )} +
)}
{showImage && ( -
-
- {sideImageAlt - {experienceBadge && ( -
- {experienceBadge.number} - {experienceBadge.text} -
- )} +
+
+ {sideImageAlt + {experienceBadge && ( +
+ {experienceBadge.number} + {experienceBadge.text} +
+ )} +
-
)}
@@ -118,8 +142,11 @@ const showImage = layout === 'with-image' && sideImage; animatedElements.forEach((el) => { const delay = parseInt((el as HTMLElement).dataset.delay || '0'); + // Используем requestAnimationFrame для лучшей производительности setTimeout(() => { - el.classList.add('is-visible'); + requestAnimationFrame(() => { + el.classList.add('is-visible'); + }); }, delay); }); }; @@ -131,29 +158,32 @@ const showImage = layout === 'with-image' && sideImage; } - + \ No newline at end of file