From bce557cc2dc767628bed6aac87301a1be7c5431b Mon Sep 17 00:00:00 2001 From: rxliuli Date: Tue, 4 Nov 2025 05:03:50 +0800 Subject: init commit --- src/components/hero/AppLockupDetail.svelte | 109 +++++ src/components/hero/Carousel.svelte | 132 +++++ .../hero/CarouselBackgroundPortal.svelte | 17 + src/components/hero/Hero.svelte | 536 +++++++++++++++++++++ 4 files changed, 794 insertions(+) create mode 100644 src/components/hero/AppLockupDetail.svelte create mode 100644 src/components/hero/Carousel.svelte create mode 100644 src/components/hero/CarouselBackgroundPortal.svelte create mode 100644 src/components/hero/Hero.svelte (limited to 'src/components/hero') diff --git a/src/components/hero/AppLockupDetail.svelte b/src/components/hero/AppLockupDetail.svelte new file mode 100644 index 0000000..e4abe47 --- /dev/null +++ b/src/components/hero/AppLockupDetail.svelte @@ -0,0 +1,109 @@ + + + +
+ {#if lockup.icon} +
+ +
+ {/if} + +
+ {#if lockup.heading} + +

{lockup.heading}

+
+ {/if} + + {#if lockup.title} + +

{lockup.title}

+
+ {/if} + + {#if lockup.subtitle} + +

{lockup.subtitle}

+
+ {/if} +
+ +
+ + {$i18n.t('ASE.Web.AppStore.View')} + +
+
+ + diff --git a/src/components/hero/Carousel.svelte b/src/components/hero/Carousel.svelte new file mode 100644 index 0000000..218813b --- /dev/null +++ b/src/components/hero/Carousel.svelte @@ -0,0 +1,132 @@ + + + + + + + + {#if isXSmallViewport} +
+ +
+ {:else} +
+ {#if !import.meta.env.SSR} + {@const backgroundArtwork = + deriveBackgroundArtworkFromItem(item)} + + {#if backgroundArtwork} +
+ +
+ {/if} + {/if} + + +
+ {/if} +
+
diff --git a/src/components/hero/CarouselBackgroundPortal.svelte b/src/components/hero/CarouselBackgroundPortal.svelte new file mode 100644 index 0000000..4580ce0 --- /dev/null +++ b/src/components/hero/CarouselBackgroundPortal.svelte @@ -0,0 +1,17 @@ + + +
+ + diff --git a/src/components/hero/Hero.svelte b/src/components/hero/Hero.svelte new file mode 100644 index 0000000..f643ffa --- /dev/null +++ b/src/components/hero/Hero.svelte @@ -0,0 +1,536 @@ + + + + +
+ {#if video || artwork} +
+ {#if video && !$prefersReducedMotion} +
+ {:else if collectionIcons} +
    + {#each collectionIcons?.slice(0, 5) as collectionIcon} +
  • + +
  • + {/each} +
+ +
+ {/if} + +
+ + + + +
+
+ + -- cgit v1.2.3