@anupama.sharmaa thanks for reaching out, there could be a few reasons this is. I took a quick look at your page, it looks like you were loading the content correctly in the custom JS+CSS, but since you are using NextJS I think a few changes could help make this run more smoothly.
First, it looks like in the editor you dont have access to context.apiKey, which is causing the data to pull correctly in the preview/live page, but not within the editor. One way to fix this by explicitly setting your apiKey while editing doing something like this:
async function getInstagram(apiKey) {
const response = await fetch(`https://cdn.builder.io/api/v1/instagram/media?apiKey=${apiKey}`)
.then((res) => res.json())
.then((data) => {
state.instagram = data.data;
})
}
if (Builder.isEditing && !state.instagram) {
getInstagram('EXPLICITLY SET YOUR API KEY HERE');
} else {
getInstagram(context.apiKey)
}
Or another way would be to make the above API call inside your app and pass the Instagram data through the data prop on your <BuilderComponent> like this: builder/packages/react at main · BuilderIO/builder · GitHub. This will allow you to edit with the same data as you have on your preview/live site.
Another thing to call out, some of our templates require the widgets package to work correctly with NextJS. I would recommend if you haven’t already, make sure to install our widgets package: builder/packages/widgets at main · BuilderIO/builder · GitHub
From there let me know if you continue to have trouble with the templates and I can investigate further. But with the steps I outlined above, even if our pre-built templates aren’t working, you should be able to import any Instagram data and build your own widget/templates that fit the look you are going for…Try it out and let me know if you have any other questions or issues !