MotorSignal-App/website/app/download/page.tsx

49 lines
2.0 KiB
TypeScript

import Link from 'next/link';
import { getCmsDocument, DEFAULT_DOWNLOAD_LINKS, DownloadLinksContent } from '../../lib/cms';
export default async function DownloadPage() {
const content = await getCmsDocument<DownloadLinksContent>('download_links', DEFAULT_DOWNLOAD_LINKS);
const versionInfo = content.version_name
? `v${content.version_name}${content.build_number ? ` (build ${content.build_number})` : ''}`
: '';
return (
<section className="content-page">
<span className="eyebrow">Ride with more signal</span>
<h1>MotorSignal for your motorcycle.</h1>
<p>Install the mobile app to bring live telemetry, ride recording, route context, and performance history to your cockpit.</p>
<div className="section-grid section-grid-two">
<article className="panel">
<h2>Android</h2>
<p>
The Android build {versionInfo ? `${versionInfo} ` : ''}is available for device testing and release distribution.
</p>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '0.75rem', marginTop: '1rem' }}>
{content.android_url ? (
<a className="button" href={content.android_url}>
Download APK {content.version_name ? `(${content.version_name})` : ''}
</a>
) : (
<Link className="button" href="/support">
Request the latest build
</Link>
)}
{content.play_store_url && (
<a className="button button-secondary" href={content.play_store_url} target="_blank" rel="noopener noreferrer">
Google Play
</a>
)}
</div>
</article>
<article className="panel">
<h2>Already installed?</h2>
<p>Sign in to manage your account and keep your ride data connected.</p>
<Link className="button button-secondary" href="/login">
Open account
</Link>
</article>
</div>
</section>
);
}