Add spinner component & promise