import { View, Text, Image, ShareElement, ScrollView, GridView } from '@tarojs/components' import Taro from '@tarojs/taro' import { useEffect } from 'react' import { useThemeContext } from '../../context/ThemeContext' import { useSafeArea } from '../../hooks/useSafeArea' import { useStatusBar } from '../../hooks/useStatusBar' import { registerSharedElementRoute } from '../../utils/sharedElementRoute' import CustomTabBar from '../../custom-tab-bar' import './index.scss' import { PRODUCTS } from '../../utils/productConfig' export default function ShopPage() { const { resolvedTheme } = useThemeContext() const safe = useSafeArea() useStatusBar(resolvedTheme) useEffect(() => { registerSharedElementRoute() }, []) const openDetail = (productId: string) => { // The initial app page may be WebView, so ensure registration here too. registerSharedElementRoute() Taro.navigateTo({ url: `/pages/shop/detail/index?id=${productId}`, // @ts-ignore - routeType is a Skyline custom route option routeType: 'sharedElementRoute' } as any) } return ( 智绘精选 激光微雕定制好物 {PRODUCTS.map(product => ( openDetail(product.id)} > {product.name} ¥{product.price} ))} {/* TabBar spacer */} ) }