CTAs
App download call to action
An inset card with the phone beside the copy and the two store buttons, for the bottom of a mobile product page.
Live demo
Full width · the frame has its own viewport, so the breakpoints are real
What it uses
Imports
import { Button, Container, Grid, Heading, Image, Section, Stack, Text } from '@the_viveksingh/vivek-ui'The block
This is the file that renders the demo above, read at build time. Copy it into your project, change the words, and it runs — the only thing it needs is @the_viveksingh/vivek-ui and its stylesheet.
import {
Button,
Container,
Grid,
Heading,
Image,
Section,
Stack,
Text,
} from '@the_viveksingh/vivek-ui'
export default function CtaAppDownload() {
return (
<Section>
<Container>
<Grid
cols={{ base: 1, md: 2 }}
gap={6}
style={{
alignItems: 'center',
padding: '2rem',
borderRadius: 'var(--vk-radius-lg)',
background: 'var(--vk-color-surface)',
border: '1px solid var(--vk-color-border)',
}}
>
<Stack gap={4}>
<Heading level={2} size="lg">
Take it with you
</Heading>
<Text tone="muted">
Everything on the web app, offline on your phone, synced the moment you are back.
</Text>
<Stack direction="horizontal" gap={3} wrap>
<Button variant="outline">App Store</Button>
<Button variant="outline">Google Play</Button>
</Stack>
</Stack>
<Image src="/demo/vk-app.svg" alt="The app on a phone" ratio={9 / 7} rounded="md" />
</Grid>
</Container>
</Section>
)
}