fix: execute onReady after first rendering, and render empty view