forked from projects/fipamo
ro
8c375e6ba1
setting sync is working but member data was not being updated in the folks file or in the current active session, so that's been addressed still need to turn on avatar updating as well, but that is tied to updating the settings page, so that will be handled when image uploads for that area are reactivated
85 lines
2.5 KiB
JavaScript
85 lines
2.5 KiB
JavaScript
export default class SettingsActions {
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor() {}
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
getInfo() {
|
|
let handle = document.getElementById('settings-handle').value;
|
|
let email = document.getElementById('settings-email').value;
|
|
let url = document.getElementById('settings-url').value;
|
|
let title = document.getElementById('settings-title').value;
|
|
let desc = document.getElementById('settings-desc').value;
|
|
let memberID = document.getElementById('member-id').value;
|
|
//let privacy = document.getElementById('privacy-toggle').getAttribute('data-private');
|
|
let render = document.getElementById('render-toggle').getAttribute('data-render');
|
|
let background = document
|
|
.querySelector('.background')
|
|
.style.backgroundImage.slice(4, -1)
|
|
.replace(/"/g, '');
|
|
let selected = '';
|
|
let selects = document.querySelectorAll('.theme-select');
|
|
let smtpDomain = document.getElementById('smtp-domain').value;
|
|
let smtpEmail = document.getElementById('smtp-email').value;
|
|
let smtpPass = document.getElementById('smtp-pass').value;
|
|
let mgDomain = document.getElementById('mg-domain').value;
|
|
let mgKey = document.getElementById('mg-key').value;
|
|
let mailActive = '';
|
|
let mailOptions = document.querySelectorAll('.mail-option');
|
|
let apiStatus = document
|
|
.getElementById('api-access-toggle')
|
|
.getAttribute('data-enabled');
|
|
let dynamicRenderStatus = document
|
|
.getElementById('dynamic-render-toggle')
|
|
.getAttribute('data-enabled');
|
|
var i, count;
|
|
for (i = 0, count = selects.length; i < count; i++) {
|
|
if (selects[i].getAttribute('data-enabled') == 'true')
|
|
selected = selects[i].id;
|
|
}
|
|
|
|
for (i = 0, count = mailOptions.length; i < count; i++) {
|
|
if (mailOptions[i].getAttribute('data-enabled') == 'true')
|
|
mailActive = mailOptions[i].id;
|
|
}
|
|
let settingsData = {
|
|
global: {
|
|
base_url: url,
|
|
title: title,
|
|
descriptions: desc,
|
|
background: background,
|
|
private: false,
|
|
renderOnSave: render,
|
|
theme: selected,
|
|
externalAPI: apiStatus,
|
|
dynamicRender: dynamicRenderStatus
|
|
},
|
|
member: {
|
|
handle: handle,
|
|
email: email,
|
|
id: memberID
|
|
},
|
|
email: {
|
|
active: mailActive,
|
|
smtp: {
|
|
domain: smtpDomain,
|
|
email: smtpEmail,
|
|
password: smtpPass
|
|
},
|
|
mailgun: {
|
|
domain: mgDomain,
|
|
key: mgKey
|
|
}
|
|
}
|
|
};
|
|
return new Promise(function (resolve) {
|
|
resolve(settingsData);
|
|
});
|
|
}
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
}
|