65 lines
2.7 KiB
JavaScript
65 lines
2.7 KiB
JavaScript
// display the content that shows channel creation has started
|
|
function showChannelCreateInProgressDisplay () {
|
|
const publishChannelForm = document.getElementById('publish-channel-form');
|
|
const inProgress = document.getElementById('channel-publish-in-progress');
|
|
publishChannelForm.hidden = true;
|
|
inProgress.hidden = false;
|
|
}
|
|
|
|
// display the content that shows channel creation is done
|
|
function showChannelCreateDoneDisplay() {
|
|
const inProgress = document.getElementById('channel-publish-in-progress');
|
|
inProgress.hidden=true;
|
|
const done = document.getElementById('channel-publish-done');
|
|
done.hidden = false;
|
|
}
|
|
|
|
function showChannelCreationError(msg) {
|
|
const inProgress = document.getElementById('channel-publish-in-progress');
|
|
inProgress.innerText = msg;
|
|
}
|
|
|
|
function publishNewChannel (event) {
|
|
const username = document.getElementById('new-channel-name').value;
|
|
const password = document.getElementById('new-channel-password').value;
|
|
// prevent default so this script can handle submission
|
|
event.preventDefault();
|
|
// validate submission
|
|
validationFunctions.validateNewChannelSubmission(username, password)
|
|
.then(() => {
|
|
showChannelCreateInProgressDisplay();
|
|
// return sendAuthRequest(userName, password, '/signup') // post the request
|
|
return fetch('/signup', {
|
|
method: 'POST',
|
|
body: JSON.stringify({username, password}),
|
|
headers: new Headers({
|
|
'Content-Type': 'application/json'
|
|
}),
|
|
credentials: 'include',
|
|
})
|
|
.then(function(response) {
|
|
if (response.ok){
|
|
return response.json();
|
|
} else {
|
|
throw response;
|
|
}
|
|
})
|
|
.catch(function(error) {
|
|
throw error;
|
|
})
|
|
})
|
|
.then(signupResult => {
|
|
console.log('signup success:', signupResult);
|
|
showChannelCreateDoneDisplay();
|
|
window.location = '/';
|
|
})
|
|
.catch(error => {
|
|
if (error.name === 'ChannelNameError' || error.name === 'ChannelPasswordError'){
|
|
const channelNameErrorDisplayElement = document.getElementById('input-error-channel-name');
|
|
validationFunctions.showError(channelNameErrorDisplayElement, error.message);
|
|
} else {
|
|
console.log('signup failure:', error);
|
|
showChannelCreationError('Unfortunately, we encountered an error while creating your channel. Please let us know in slack!', error);
|
|
}
|
|
})
|
|
}
|