# skeleton ## 1.0.0 ### Major Changes - The Storefront API 2023-10 now returns menu item URLs that include the `primaryDomainUrl`, instead of defaulting to the Shopify store ID URL (example.myshopify.com). The skeleton template requires changes to check for the `primaryDomainUrl`: by [@blittle](https://github.com/blittle) 1. Update the `HeaderMenu` component to accept a `primaryDomainUrl` and include it in the internal url check ```diff // app/components/Header.tsx + import type {HeaderQuery} from 'storefrontapi.generated'; export function HeaderMenu({ menu, + primaryDomainUrl, viewport, }: { menu: HeaderProps['header']['menu']; + primaryDomainUrl: HeaderQuery['shop']['primaryDomain']['url']; viewport: Viewport; }) { // ...code // if the url is internal, we strip the domain const url = item.url.includes('myshopify.com') || item.url.includes(publicStoreDomain) || + item.url.includes(primaryDomainUrl) ? new URL(item.url).pathname : item.url; // ...code } ``` 2. Update the `FooterMenu` component to accept a `primaryDomainUrl` prop and include it in the internal url check ```diff // app/components/Footer.tsx - import type {FooterQuery} from 'storefrontapi.generated'; + import type {FooterQuery, HeaderQuery} from 'storefrontapi.generated'; function FooterMenu({ menu, + primaryDomainUrl, }: { menu: FooterQuery['menu']; + primaryDomainUrl: HeaderQuery['shop']['primaryDomain']['url']; }) { // code... // if the url is internal, we strip the domain const url = item.url.includes('myshopify.com') || item.url.includes(publicStoreDomain) || + item.url.includes(primaryDomainUrl) ? new URL(item.url).pathname : item.url; // ...code ); } ``` 3. Update the `Footer` component to accept a `shop` prop ```diff export function Footer({ menu, + shop, }: FooterQuery & {shop: HeaderQuery['shop']}) { return ( ); } ``` 4. Update `Layout.tsx` to pass the `shop` prop ```diff export function Layout({ cart, children = null, footer, header, isLoggedIn, }: LayoutProps) { return ( <>
{children}
- {(footer) =>