---
title: Media card
description: >-
The media card composition pattern pairs visual content (images, videos,
illustrations) with actionable text to help merchants understand features or
follow tutorials. Use media cards on your homepage to introduce features, in
settings to explain options, or anywhere visual context helps merchants make
decisions.
api_name: app-home
source_url:
html: 'https://shopify.dev/docs/api/app-home/patterns/compositions/media-card'
md: 'https://shopify.dev/docs/api/app-home/patterns/compositions/media-card.md'
---
# Media card
The media card composition pattern pairs visual content (images, videos, illustrations) with actionable text to help merchants understand features or follow tutorials.
Use media cards on your homepage to introduce features, in settings to explain options, or anywhere visual context helps merchants make decisions. This composition follows proven design guidelines that help your app feel native to the Shopify admin. See [Built for Shopify requirements](https://shopify.dev/docs/apps/launch/built-for-shopify/requirements) for more details on these guidelines for apps.
#### Use cases
* Showcasing templates, themes, or presets with visual previews
* Displaying product or collection thumbnails with quick actions
* Presenting tutorials or guides with video or image previews
***
## Examples
### Display a media card with tappable image and footer
Merchants can see visual content (images, illustrations) paired with actions, like tutorials or feature highlights. This pattern displays a media card with a tappable image and footer layout. The [box](https://shopify.dev/docs/api/app-home/web-components/layout-and-structure/box) uses `border` and `borderRadius` for the container, the [clickable](https://shopify.dev/docs/api/app-home/web-components/actions/clickable) component makes the image tappable, and the [grid](https://shopify.dev/docs/api/app-home/web-components/layout-and-structure/grid) lays out the footer with title and action button.
##### jsx
```tsx
4-Pieces
View
```
##### html
```html
4-Pieces
View
```
### Confirm delete with Modal API
Use the [Modal API](https://shopify.dev/docs/api/app-home/apis/modal-api) to confirm deletion before removing a media card item.
##### jsx
```tsx
4-Pieces
View
Are you sure you want to delete the 4-Pieces template? This action cannot be undone.
Delete
Cancel
```
##### html
```html
4-Pieces
View
Are you sure you want to delete the 4-Pieces template? This action cannot be undone.
Delete
Cancel
```
### Copy link with Toast API
Use the [Toast API](https://shopify.dev/docs/api/app-home/apis/toast) to show feedback when a link is copied to the clipboard.
##### jsx
```tsx
4-Pieces
View
{
shopify.toast.show('Link copied to clipboard');
}}
/>
```
##### html
```html
4-Pieces
View
```
### Edit resources with Intents API
Use the [Intents API](https://shopify.dev/docs/api/app-home/apis/intents) to open Shopify's resource editor when merchants click the edit button.
##### jsx
```tsx
{/* @validate-ignore: Cannot invoke an object which is possibly 'undefined' */}
4-Pieces
{
await shopify.intents.invoke('edit:shopify/Product,gid://shopify/Product/123');
}}
>
Edit
```
##### html
```html
4-Pieces
Edit
```
### Share template with Share API
Use the [Share API](https://shopify.dev/docs/api/app-home/apis/share) to let merchants share templates via the native share sheet on mobile devices.
##### jsx
```tsx
4-Pieces
View
{
try {
await navigator.share({
text: 'Check out this puzzle template!',
url: 'https://example.com/puzzles/4-pieces',
});
} catch (err) {
console.log('Share cancelled or failed');
}
}}
/>
```
##### html
```html
4-Pieces
View
```
***