Single-upload page refactoring + upload progress