deposit: js uploader component

Integrates and supersedes #2322
indentation 2 spaces