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 privacy = document.getElementById('privacy-toggle').getAttribute('data-private');
    let render = document
      .getElementById("render-toggle")
      .getAttribute("data-render");
    let background = document.getElementById("background").src;
    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 },
      email: {
        active: mailActive,
        smtp: {
          domain: smtpDomain,
          email: smtpEmail,
          password: smtpPass
        },
        mailgun: {
          domain: mgDomain,
          key: mgKey
        }
      }
    };
    return new Promise(function (resolve) {
      resolve(settingsData);
    });
  }
  //--------------------------
  // event handlers
  //--------------------------
}
