How to speedup a side panel opening?

Hi there! So I have an interface where I’m using drawers instead of modals (because almost every selector requires plenty of items inside).

The question is: how to speed up the drawer opening?
I can set the loader, but it should be visible before the user gets angry.

Now in my WF I set the variable controlling the visibility of the drawer first and then all the rest actions (fetch etc.). I need the drawer to be opened just after the user clicks the button instead of “something happens on the backend, just wait without any notification”.

Arnaud erp demo - YouTube

It seems like there is a lot to load.
Which backend are you using and how do you pull the data in?
Perhaps there is something to optimise on your endpoint?
I would say, try to keep only the fields that you need.
Also, this might also be a good opportunity to use pagination or an infinite scroll depending on how you want to do it.

Supabase, collection items. Pagination is a good option but now I only have ≈50 items in a list and still get freezes. It’s ok to load smth. But why can’t we show the panel with a loader first and do something then?
Or to do it I have to init collection just after drawer opening? How to kill it then? Haven’t seen an option “unload collection”.

What I found useful is fetching a view of some sort on load, e.g my calendar view, with all the data, and then just change variables, e.g modalData from the fetched collection. This is a sort of Redux pattern-like thing, where you just fetch the data once, and then handle the rest with the WeWeb’s state. And it makes your app blazingly fast.