pos. customer-details. action. renderTarget
Target
A full-screen extension target that renders when a pos.customer-details.action.menu-item.render
target calls for it
Was this section helpful?
Action
import React from 'react';
import {
Text,
Screen,
ScrollView,
Navigator,
reactExtension,
useApi,
} from '@shopify/ui-extensions-react/point-of-sale';
const Modal = () => {
const api = useApi<'pos.customer-details.action.render'>();
return (
<Navigator>
<Screen name="CustomerDetails" title="Customer Details">
<ScrollView>
<Text>{`Customer ID: ${api.customer.id}`}</Text>
</ScrollView>
</Screen>
</Navigator>
);
};
export default reactExtension('pos.customer-details.action.render', () => (
<Modal />
));
examples
Action
React
import React from 'react'; import { Text, Screen, ScrollView, Navigator, reactExtension, useApi, } from '@shopify/ui-extensions-react/point-of-sale'; const Modal = () => { const api = useApi<'pos.customer-details.action.render'>(); return ( <Navigator> <Screen name="CustomerDetails" title="Customer Details"> <ScrollView> <Text>{`Customer ID: ${api.customer.id}`}</Text> </ScrollView> </Screen> </Navigator> ); }; export default reactExtension('pos.customer-details.action.render', () => ( <Modal /> ));
TS
import { Navigator, Screen, ScrollView, Text, extension, } from '@shopify/ui-extensions/point-of-sale'; export default extension('pos.customer-details.action.render', (root, api) => { const navigator = root.createComponent(Navigator); const screen = root.createComponent(Screen, { name: 'CustomerDetails', title: 'Customer Details', }); const scrollView = root.createComponent(ScrollView); const text = root.createComponent(Text); text.append(`Customer ID: ${api.customer.id}`); scrollView.append(text); screen.append(scrollView); navigator.append(screen); root.append(navigator); });