# Tile Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. ### Render a tile on smart grid ```tsx import React from 'react' import { Tile, reactExtension, useApi } from '@shopify/ui-extensions-react/point-of-sale' const TileComponent = () => { const api = useApi() return ( <Tile title="My app" subtitle="Hello world!" onPress={() => { api.action.presentModal() }} enabled /> ) } export default reactExtension('pos.home.tile.render', () => { return <TileComponent /> }) ``` ```ts import { Tile, extension, } from '@shopify/ui-extensions/point-of-sale'; export default extension( 'pos.home.tile.render', (root, api) => { const tile = root.createComponent(Tile, { title: 'My app', subtitle: 'Hello world!', enabled: true, onPress: () => { api.action.presentModal(); }, }); root.append(tile); }, ); ``` ## Tile ### TileProps ### badgeValue The number value displayed in the top right corner of the tile. ### destructive Sets whether or not the tile is in a red destructive appearance. ### enabled Sets whether or not the tile can be tapped. ### onPress The callback that is executed when the tile is tapped. ### subtitle The text set on the secondary label of the tile. ### title The text set on the main label of the tile.