mirror of
https://gitlab.com/commento/commento.git
synced 2025-06-29 10:55:40 -04:00
frontend, api: allow disabling login methods individually
This commit is contained in:
@ -73,7 +73,7 @@
|
||||
var isLocked = false;
|
||||
var stickyCommentHex = "none";
|
||||
var shownReply = {};
|
||||
var configuredOauths = [];
|
||||
var configuredOauths = {};
|
||||
var popupBoxType = "login";
|
||||
var oauthButtonsShown = false;
|
||||
var selfHex = undefined;
|
||||
@ -1266,37 +1266,49 @@
|
||||
attrSet(emailInput, "placeholder", "Email address");
|
||||
attrSet(emailInput, "type", "text");
|
||||
|
||||
for (var i = 0; i < configuredOauths.length; i++) {
|
||||
var button = create("button");
|
||||
var numOauthConfigured = 0;
|
||||
var oauthProviders = ["google", "twitter", "github", "gitlab"];
|
||||
oauthProviders.forEach(function(provider) {
|
||||
console.log(provider);
|
||||
if (configuredOauths[provider]) {
|
||||
var button = create("button");
|
||||
|
||||
classAdd(button, "button");
|
||||
classAdd(button, configuredOauths[i] + "-button");
|
||||
classAdd(button, "button");
|
||||
classAdd(button, provider+ "-button");
|
||||
|
||||
button.innerText = configuredOauths[i];
|
||||
button.innerText = provider;
|
||||
|
||||
onclick(button, global.commentoAuth, {"provider": configuredOauths[i], "id": id});
|
||||
onclick(button, global.commentoAuth, {"provider": provider, "id": id});
|
||||
|
||||
append(oauthButtons, button);
|
||||
}
|
||||
append(oauthButtons, button);
|
||||
numOauthConfigured++;
|
||||
}
|
||||
});
|
||||
|
||||
if (configuredOauths.length > 0) {
|
||||
if (numOauthConfigured > 0) {
|
||||
append(loginBox, oauthSubtitle);
|
||||
append(oauthButtonsContainer, oauthButtons);
|
||||
append(loginBox, oauthButtonsContainer);
|
||||
append(loginBox, hr);
|
||||
oauthButtonsShown = true;
|
||||
} else {
|
||||
oauthButtonsShown = false;
|
||||
}
|
||||
|
||||
append(loginBox, emailSubtitle);
|
||||
append(email, emailInput);
|
||||
append(email, emailButton);
|
||||
append(emailContainer, email);
|
||||
append(loginBox, emailContainer);
|
||||
|
||||
append(loginLinkContainer, loginLink);
|
||||
append(loginBox, loginLinkContainer);
|
||||
|
||||
if (numOauthConfigured > 0 && configuredOauths["commento"]) {
|
||||
append(loginBox, hr);
|
||||
}
|
||||
|
||||
if (configuredOauths["commento"]) {
|
||||
append(loginBox, emailSubtitle);
|
||||
append(loginBox, emailContainer);
|
||||
append(loginBox, loginLinkContainer);
|
||||
}
|
||||
|
||||
append(loginBox, close);
|
||||
|
||||
|
@ -102,6 +102,8 @@
|
||||
|
||||
global.vs("domains", resp.domains);
|
||||
|
||||
global.vs("configuredOauths", resp.configuredOauths);
|
||||
|
||||
if (callback !== undefined) {
|
||||
callback();
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
{
|
||||
"id": "general",
|
||||
"text": "General",
|
||||
"meaning": "Email settings, data export",
|
||||
"meaning": "Names, authentication, and export",
|
||||
"selected": false,
|
||||
"open": global.generalOpen,
|
||||
},
|
||||
@ -72,6 +72,9 @@
|
||||
// list of domains dynamically loaded; obviously mutable
|
||||
domains: [{show: false, viewsLast30Days: global.numberify(0), commentsLast30Days: global.numberify(0), moderators: []}],
|
||||
|
||||
// configured oauth providers that will be filled in after a backend request
|
||||
configuredOauths: {},
|
||||
|
||||
// whether or not to show the settings column; mutable because we do not
|
||||
// show the column until a domain has been selected
|
||||
showSettings: false,
|
||||
|
Reference in New Issue
Block a user