aboutsummaryrefslogtreecommitdiff
path: root/src/actions/firebaseStorage.js
blob: ad158f81d3ffb7a2e810f72ce979833b29a9addc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { fireStorage } from '../firebase.js';

export const UPDATE_PICTURE = 'UPDATE_PICTURE';

export const uploadPicture = (file, uploader) => (dispatch, getState) => {
    if(getState().app.offline) {
        alert("Failed to upload image.\t Please establish internet connection and retry to upload photo.")
    } else {
        if(file) {
            var fireStorageRef  =   fireStorage.ref('requests/' + getState().firebaseAuth.uid + '/' + file.name);
      
            var task = fireStorageRef.put(file);
          
            task.on('state_changed', function(snapshot) {
              var percentage  = (snapshot.bytesTransferred /
              snapshot.totalBytes) * 100;
              uploader.value  = percentage;
            });
      
            dispatch(updatePicture(file.name));
          }
    }
}

export const updatePicture = (_name) => {
    return {
        type:       'UPDATE_PICTURE',
        name:       _name,
        uploaded:   true
    }
}