2026-05-12 16:34:26 +08:00
|
|
|
---
|
2026-05-18 15:39:38 +08:00
|
|
|
import { assetPath } from '../assets'
|
2026-05-13 13:46:21 +08:00
|
|
|
import type { Translations } from '../i18n/translations'
|
|
|
|
|
|
|
|
|
|
export interface Props {
|
|
|
|
|
t: Translations['download']
|
2026-05-18 14:58:09 +08:00
|
|
|
siteLinks: Translations['siteLinks']
|
2026-05-13 13:46:21 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-18 14:58:09 +08:00
|
|
|
const { t, siteLinks } = Astro.props
|
2026-05-18 15:39:38 +08:00
|
|
|
const bgPattern = assetPath("/assets/cta-bg-pattern.svg");
|
|
|
|
|
const talkproLogo = assetPath("/assets/cta-talkpro-logo.svg");
|
|
|
|
|
const androidIcon = assetPath("/assets/cta-android-icon.svg");
|
|
|
|
|
const appleIcon = assetPath("/assets/cta-apple-icon.svg");
|
|
|
|
|
const phoneArt = assetPath("/assets/cta-phone-art.png");
|
2026-05-18 14:58:09 +08:00
|
|
|
const defaultApkHref = "https://talkspro.xyz/download";
|
|
|
|
|
const siteLinksJson = JSON.stringify(siteLinks);
|
2026-05-12 16:34:26 +08:00
|
|
|
---
|
|
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<section id="download" class="download-cta">
|
|
|
|
|
<img alt="" class="download-cta__pattern" src={bgPattern} />
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="download-cta__inner">
|
|
|
|
|
<div class="download-cta__content">
|
|
|
|
|
<div class="section-eyebrow">
|
|
|
|
|
<span class="section-eyebrow__text">{t.eyebrow}</span>
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
2026-05-12 16:34:26 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="download-cta__copy">
|
|
|
|
|
<div class="download-cta__heading">
|
|
|
|
|
<p class="download-cta__title">{t.title}</p>
|
|
|
|
|
<div class="download-cta__logo-frame">
|
|
|
|
|
<img alt={t.logoAlt} class="download-cta__logo" src={talkproLogo} />
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
2026-05-12 16:34:26 +08:00
|
|
|
</div>
|
2026-05-13 13:46:21 +08:00
|
|
|
<p class="download-cta__description">
|
|
|
|
|
{t.description}
|
2026-05-12 17:14:50 +08:00
|
|
|
</p>
|
2026-05-12 16:34:26 +08:00
|
|
|
</div>
|
|
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="store-badges">
|
2026-05-18 14:58:09 +08:00
|
|
|
<a
|
|
|
|
|
class="store-badge store-badge--android store-badge--browser"
|
|
|
|
|
href={defaultApkHref}
|
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
|
target="_blank"
|
|
|
|
|
>
|
2026-05-15 12:11:50 +08:00
|
|
|
<div class="store-badge__icon-frame">
|
|
|
|
|
<img alt={t.androidAlt} class="store-badge__android-icon" src={androidIcon} />
|
|
|
|
|
</div>
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="store-badge__copy">
|
|
|
|
|
<p class="store-badge__platform">{t.android}</p>
|
|
|
|
|
<p class="store-badge__label">{t.androidCta}</p>
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
2026-05-18 14:58:09 +08:00
|
|
|
</a>
|
|
|
|
|
<a
|
|
|
|
|
class="store-badge store-badge--ios store-badge--apple"
|
|
|
|
|
href="#"
|
|
|
|
|
data-app-soon="1"
|
|
|
|
|
>
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="store-badge__icon-frame">
|
|
|
|
|
<img alt={t.appleAlt} class="store-badge__apple-icon" src={appleIcon} />
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="store-badge__copy">
|
|
|
|
|
<p class="store-badge__platform">{t.ios}</p>
|
|
|
|
|
<p class="store-badge__label">{t.iosCta}</p>
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
2026-05-18 14:58:09 +08:00
|
|
|
</a>
|
2026-05-12 16:34:26 +08:00
|
|
|
</div>
|
2026-05-19 10:59:27 +08:00
|
|
|
|
2026-05-12 16:34:26 +08:00
|
|
|
</div>
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="download-cta__phone">
|
|
|
|
|
<div class="download-cta__phone-crop">
|
|
|
|
|
<img alt={t.phoneAlt} class="download-cta__phone-image" src={phoneArt} />
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-05-12 16:34:26 +08:00
|
|
|
</div>
|
|
|
|
|
</section>
|
2026-05-18 14:58:09 +08:00
|
|
|
|
|
|
|
|
<script type="application/json" id="site-links-i18n" set:html={siteLinksJson} />
|