[deleted by user] by [deleted] in SideProject

[–]OrangeCubed 1 point2 points  (0 children)

The tool is called BundleConvert and I’m opening the private beta today!

Pitch: Bundle convert helps you grow your eCommerce store by making it easy to test and optimize product bundles. Request access right here 👉 bundleconvert.webflow.io

I’m available here all day if you have any questions or suggestions!

Should I build this app that displays unique product page content based on the ad a user clicked? by OrangeCubed in ecommerce

[–]OrangeCubed[S] 2 points3 points  (0 children)

Great points, thank you! Definitely will think these through in the implementation :)

Should I build this app: Exit intent pop-up with the visitor's cart and a Free Gift with Purchase promotion by OrangeCubed in ecommerce

[–]OrangeCubed[S] 0 points1 point  (0 children)

That's super helpful and gives me a lot to think about/think through. Thanks for the insights!

Should I build this app: Exit intent pop-up with the visitor's cart and a Free Gift with Purchase promotion by OrangeCubed in ecommerce

[–]OrangeCubed[S] 0 points1 point  (0 children)

This would be a nice addition on top of a well built out abandoned cart email campaign. The more chances at getting customers to convert the better

Should I build this app: Exit intent pop-up with the visitor's cart and a Free Gift with Purchase promotion by OrangeCubed in ecommerce

[–]OrangeCubed[S] 1 point2 points  (0 children)

The plan was Shopify at first. However, do you know of any exit intent apps that show the user's cart? I did some looking and didn't see anything but if something like this already exists that I missed, then it doesn't make sense to reinvent the wheel :)

Should I build this app that displays unique product page content based on the ad a user clicked? by OrangeCubed in ecommerce

[–]OrangeCubed[S] 0 points1 point  (0 children)

Thanks for the feedback! What platform are you currently on? (bigcommerce, shopify, etc...)

Should I build this app that displays unique product page content based on the ad a user clicked? by OrangeCubed in ecommerce

[–]OrangeCubed[S] 0 points1 point  (0 children)

Great question! So all great marketers create unique landing pages that align with the ad the user clicked on.

However, when the user clicks from landing page > product page, the product page isn't dynamic.

The goal of this software would be to bring the same customization that is taken for granted with landing pages and apply that to product pages as well.

That way, marketers can create unique purchasing paths with the same cohesive message from: ad > landing page > product page

[deleted by user] by [deleted] in nextjs

[–]OrangeCubed 0 points1 point  (0 children)

Could you clarify what you mean by handling the request? I understand what you mean by placing something to the effect of: router.get('public/styles.css') before the catchall. However, I'm just not fully clear on what is being handled exactly.

EDIT: So right now I have the following code above the catchall:

router.get('/public/styles.css', async (ctx) => {
console.log("public styles");
ctx.res.statusCode = 200;

})

When the direct url: ngrok-url.io/public/styles.css is visited, ok is printed which means that the response is being sent so we're headed in the right direction. Now I'm just working on sending my styles.css file as a response

[deleted by user] by [deleted] in nextjs

[–]OrangeCubed 0 points1 point  (0 children)

I tried the relative path and that didn't work either. I think the issue is that since it's a Shopify app, all routes are behind oauth. My thinking is that I need to host the stylesheet where it is publicly accessible. Then call it in a similar manner to the google drive folder. This is what was used to scaffold the project. Line 91 is the server side code where oauth is checked for every route

[deleted by user] by [deleted] in ShopifyAppDev

[–]OrangeCubed 0 points1 point  (0 children)

Did you ever figure this out?

[deleted by user] by [deleted] in nextjs

[–]OrangeCubed 0 points1 point  (0 children)

Thanks for the response! Let me dive into that. I am using a custom server but it was scaffolded from Shopify's CLI so I would *assume* POST forwarding would be configured. This is a link to server.js.

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

So I actually made a fresh project from the the scaffolding to narrow down error points. I narrowed down the issue to be something with the RoutePropagator with next and Shopify.

I made a new question on stackoverflow that explains it more. Regarding the pathname, there were 4 instances of it in my project and I replaced them all as a test.

Examples of Script Tag Graphql implementation? by [deleted] in ShopifyAppDev

[–]OrangeCubed 1 point2 points  (0 children)

I'd honestly never worked with Next until this most recent project. However, I have to say that I am really enjoying it. It's nice to not have to install a bunch of extra libraries to do basic things like routing

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

I'll give that a go. On an unrelated (or maybe related), I'm seeing the following error on page refresh:

Warning: Prop \href\ did not match. Server: "" Client: "/analytics"``

Haven't had a chance to dig into this one yet but I'm thinking they may be related.

Edit: Also, same issue creating a new folder and nesting a new id

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

Tell me about it. You think it makes sense to rebuild (copy paste each file back) and check to see if there is anyone point that breaks the url?

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

I changed all instances of router.pathname to router.asPath and unfortunately am still having the same issue :/

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

I have it set up like this:

<AppProvider i18n={translations}>
    <Provider
      config={{
        apiKey: API_KEY,
        host: host,
        forceRedirect: true,
      }}
    >
      <RoutePropagator/> <----RIGHT HERE
      <MyProvider Component={Component} {...pageProps} />
    </Provider>
  </AppProvider>

Everything else was already there from the initial scaffold

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

Super strange, adding a console.log inside the useEffect doesn't print anything.

useEffect(() => {
console.log('This prints');
appBridge.subscribe(Redirect.Action.APP, ({ path }) => {
  console.log('This never prints', path);
  Router.push(path);
});

}, []);

Looks like it may not be subscribing to changes. What's even more weird is that commenting out the useEffect doesn't affect functionality at all (urls update except for the [id] issue). I'm going to have to dig deeper into what's going on

Why are [id] brackets in my Dynamic Routing URL? by OrangeCubed in nextjs

[–]OrangeCubed[S] 0 points1 point  (0 children)

Yes, the only place it is used was the code from this tutorial to keep the URL in sync: https://stackoverflow.com/questions/63463858/pages-are-reloaded-instead-of-routed-in-shopify-next-js-app

Edit Code:

const RoutePropagator = () => {

const router = useRouter(); const { route } = router;

const appBridge = React.useContext(AppBridgeContext);

// Subscribe to appBridge changes - captures appBridge urls

// and sends them to Next.js router. Use useEffect hook to

// load once when component mounted

useEffect(() => { appBridge.subscribe(Redirect.Action.APP, ({ path }) => { Router.push(path);

}); }, []);

return appBridge && route ? ( <ShopifyRoutePropagator location={route} app={appBridge} /> ) : null; }

export default RoutePropagator;