Add new user-settings component/route, add options to change name, bio, avatar, banner and bg. Add those options to api service and backend interactor service.
This commit is contained in:
parent
b284689313
commit
acf3fd5d91
8 changed files with 327 additions and 1 deletions
|
@ -19,6 +19,9 @@ const UNFOLLOWING_URL = '/api/friendships/destroy.json'
|
|||
const QVITTER_USER_PREF_URL = '/api/qvitter/set_profile_pref.json'
|
||||
const REGISTRATION_URL = '/api/account/register.json'
|
||||
const AVATAR_UPDATE_URL = '/api/qvitter/update_avatar.json'
|
||||
const BG_UPDATE_URL = '/api/qvitter/update_background_image.json'
|
||||
const BANNER_UPDATE_URL = '/api/account/update_profile_banner.json'
|
||||
const PROFILE_UPDATE_URL = '/api/account/update_profile.json'
|
||||
const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json'
|
||||
const QVITTER_USER_TIMELINE_URL = '/api/qvitter/statuses/user_timeline.json'
|
||||
// const USER_URL = '/api/users/show.json'
|
||||
|
@ -56,6 +59,68 @@ const updateAvatar = ({credentials, params}) => {
|
|||
}).then((data) => data.json())
|
||||
}
|
||||
|
||||
const updateBg = ({credentials, params}) => {
|
||||
let url = BG_UPDATE_URL
|
||||
|
||||
const form = new FormData()
|
||||
|
||||
each(params, (value, key) => {
|
||||
if (value) {
|
||||
form.append(key, value)
|
||||
}
|
||||
})
|
||||
return fetch(url, {
|
||||
headers: authHeaders(credentials),
|
||||
method: 'POST',
|
||||
body: form
|
||||
}).then((data) => data.json())
|
||||
}
|
||||
|
||||
// Params
|
||||
// height
|
||||
// width
|
||||
// offset_left
|
||||
// offset_top
|
||||
// banner (base 64 encodend data url)
|
||||
const updateBanner = ({credentials, params}) => {
|
||||
let url = BANNER_UPDATE_URL
|
||||
|
||||
const form = new FormData()
|
||||
|
||||
each(params, (value, key) => {
|
||||
if (value) {
|
||||
form.append(key, value)
|
||||
}
|
||||
})
|
||||
return fetch(url, {
|
||||
headers: authHeaders(credentials),
|
||||
method: 'POST',
|
||||
body: form
|
||||
}).then((data) => data.json())
|
||||
}
|
||||
|
||||
// Params
|
||||
// name
|
||||
// url
|
||||
// location
|
||||
// description
|
||||
const updateProfile = ({credentials, params}) => {
|
||||
let url = PROFILE_UPDATE_URL
|
||||
|
||||
const form = new FormData()
|
||||
|
||||
each(params, (value, key) => {
|
||||
if (value) {
|
||||
form.append(key, value)
|
||||
}
|
||||
})
|
||||
return fetch(url, {
|
||||
headers: authHeaders(credentials),
|
||||
method: 'POST',
|
||||
body: form
|
||||
}).then((data) => data.json())
|
||||
}
|
||||
|
||||
// Params needed:
|
||||
// nickname
|
||||
// email
|
||||
|
@ -273,6 +338,9 @@ const apiService = {
|
|||
fetchMutes,
|
||||
register,
|
||||
updateAvatar,
|
||||
updateBg,
|
||||
updateProfile,
|
||||
updateBanner,
|
||||
externalProfile
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue