Pop-up spinner which blocks the whole screen while results are generating

I want to implement a pop-up spinner(other than st.spinner) that is in the center of the screen and blocks or blurs the whole while my model is running in the background. And that spinner will disappear iff(if and only if) all the results are loaded/displayed.
Can someone please suggest any solution or workaround for these requirements? It is a somewhat urgent need for the project. Please feel free to drop your suggestions.