Transfer/copy and paste components between apps

Hi folks. I've come to realise that I've been a bit too trigger happy with creating apps and separated functions more than I need to. Hence, I'd like to essentially merge apps by bringing components from one app into another.

I need to avoid modules because I'll hit my limit of 5 whilst I'm experimenting on the free plan. Is there any way to transfer components between apps, such as copying and pasting between editors. Alternatively, is it possible to temporarily convert an app containing the desired components to a module, and then "de-module-ify" it in the parent app so the components become an intrinsic part of that app?

Thanks in advance!

Hi @ryanm You can certainly copy & paste them! We recently shipped an improvement to the paste functionality too, so it should work quite well as far as how the components get dropped into the additional apps :blush:

You can copy a component from the right panel:

Or, you can click on the component label on the canvas (i.e. textInput7 in blue on my screenshot below) & use your keyboard to copy + paste

I'm not sure if I'm quite following your question about de-moduleify-ing apps yet, but you can group components together to create a module. You can access this feature by dragging to select multiple components (or shift+command to select multiple components). Is that what you're looking to do? I don't believe we have a way to go in the opposite direction & "duplicate to app" from module, unfortunately.

Thanks @Tess that copying and pasting functionality was exactly what I was looking for. Feel free to disregard my nonsense about de-module-ifying a module in an app, it was just something that popped into my head about moving a group of components from app to another :smile:

But, if I copy a component, like a table which depends on a query, it doesnt copy that query either? Is there a way to copy and paste components, and bring its dependancies also? @ryanm

Hi @Tim_H not currently :disappointed: You could recreate the query or extract it to the query library so that it can be easily imported into the new app