fix: Signup text update & code optimisation (#11606)

* text change for signup admin settings & code optimized

* minor change
This commit is contained in:
Ankita Kinger 2022-03-04 11:56:12 +05:30 committed by GitHub
parent e0e0fc8346
commit 1688757bc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 67 additions and 47 deletions

View File

@ -44,6 +44,7 @@ module.exports = {
enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"), enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"),
disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"), disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"),
disableSignup: parseConfig("__APPSMITH_SIGNUP_DISABLED__"), disableSignup: parseConfig("__APPSMITH_SIGNUP_DISABLED__"),
disableTelemetry: parseConfig("__APPSMITH_DISABLE_TELEMETRY__"),
enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"), enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"),
segment: { segment: {
apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"), apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"),

View File

@ -195,6 +195,7 @@
enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"), enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"),
disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"), disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"),
disableSignup: parseConfig("__APPSMITH_SIGNUP_DISABLED__"), disableSignup: parseConfig("__APPSMITH_SIGNUP_DISABLED__"),
disableTelemetry: parseConfig("__APPSMITH_DISABLE_TELEMETRY__"),
enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"), enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"),
segment: { segment: {
apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"), apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"),

View File

@ -17,6 +17,7 @@ export interface INJECTED_CONFIGS {
enableGithubOAuth: boolean; enableGithubOAuth: boolean;
disableLoginForm: boolean; disableLoginForm: boolean;
disableSignup: boolean; disableSignup: boolean;
disableTelemetry: boolean;
enableRapidAPI: boolean; enableRapidAPI: boolean;
segment: { segment: {
apiKey: string; apiKey: string;
@ -77,6 +78,9 @@ export const getConfigsFromEnvVars = (): INJECTED_CONFIGS => {
disableSignup: process.env.APPSMITH_SIGNUP_DISABLED disableSignup: process.env.APPSMITH_SIGNUP_DISABLED
? process.env.APPSMITH_SIGNUP_DISABLED.length > 0 ? process.env.APPSMITH_SIGNUP_DISABLED.length > 0
: false, : false,
disableTelemetry: process.env.APPSMITH_DISABLE_TELEMETRY
? process.env.APPSMITH_DISABLE_TELEMETRY.length > 0
: true,
segment: { segment: {
apiKey: process.env.REACT_APP_SEGMENT_KEY || "", apiKey: process.env.REACT_APP_SEGMENT_KEY || "",
ceKey: process.env.REACT_APP_SEGMENT_CE_KEY || "", ceKey: process.env.REACT_APP_SEGMENT_CE_KEY || "",
@ -246,6 +250,8 @@ export const getAppsmithConfigs = (): AppsmithUIConfigs => {
ENV_CONFIG.disableLoginForm || APPSMITH_FEATURE_CONFIGS.disableLoginForm, ENV_CONFIG.disableLoginForm || APPSMITH_FEATURE_CONFIGS.disableLoginForm,
disableSignup: disableSignup:
ENV_CONFIG.disableSignup || APPSMITH_FEATURE_CONFIGS.disableSignup, ENV_CONFIG.disableSignup || APPSMITH_FEATURE_CONFIGS.disableSignup,
disableTelemetry:
ENV_CONFIG.disableTelemetry || APPSMITH_FEATURE_CONFIGS.disableTelemetry,
enableGoogleOAuth: enableGoogleOAuth:
ENV_CONFIG.enableGoogleOAuth || ENV_CONFIG.enableGoogleOAuth ||
APPSMITH_FEATURE_CONFIGS.enableGoogleOAuth, APPSMITH_FEATURE_CONFIGS.enableGoogleOAuth,

View File

@ -46,6 +46,7 @@ export interface AppsmithUIConfigs {
enableGithubOAuth: boolean; enableGithubOAuth: boolean;
disableLoginForm: boolean; disableLoginForm: boolean;
disableSignup: boolean; disableSignup: boolean;
disableTelemetry: boolean;
enableMixpanel: boolean; enableMixpanel: boolean;
enableTNCPP: boolean; enableTNCPP: boolean;

View File

@ -6,6 +6,7 @@ import {
} from "constants/ThirdPartyConstants"; } from "constants/ThirdPartyConstants";
import { import {
SettingCategories, SettingCategories,
SettingSubCategories,
SettingTypes, SettingTypes,
SettingSubtype, SettingSubtype,
AdminConfigType, AdminConfigType,
@ -34,7 +35,7 @@ const Form_Auth: AdminConfigType = {
{ {
id: "APPSMITH_FORM_LOGIN_DISABLED", id: "APPSMITH_FORM_LOGIN_DISABLED",
category: SettingCategories.FORM_AUTH, category: SettingCategories.FORM_AUTH,
subCategory: "form login", subCategory: SettingSubCategories.FORMLOGIN,
controlType: SettingTypes.TOGGLE, controlType: SettingTypes.TOGGLE,
label: "Form Login Option", label: "Form Login Option",
toggleText: (value: boolean) => { toggleText: (value: boolean) => {
@ -48,12 +49,12 @@ const Form_Auth: AdminConfigType = {
{ {
id: "APPSMITH_SIGNUP_DISABLED", id: "APPSMITH_SIGNUP_DISABLED",
category: SettingCategories.FORM_AUTH, category: SettingCategories.FORM_AUTH,
subCategory: "form signup", subCategory: SettingSubCategories.FORMLOGIN,
controlType: SettingTypes.TOGGLE, controlType: SettingTypes.TOGGLE,
label: "Signup", label: "Signup",
toggleText: (value: boolean) => { toggleText: (value: boolean) => {
if (value) { if (value) {
return "Allow only invited users to signup"; return "Restrict Signups";
} else { } else {
return " Allow all users to signup"; return " Allow all users to signup";
} }
@ -62,7 +63,7 @@ const Form_Auth: AdminConfigType = {
{ {
id: "APPSMITH_FORM_CALLOUT_BANNER", id: "APPSMITH_FORM_CALLOUT_BANNER",
category: SettingCategories.FORM_AUTH, category: SettingCategories.FORM_AUTH,
subCategory: "form signup", subCategory: SettingSubCategories.FORMLOGIN,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: label:
"User emails are not verified. This can lead to a breach in your application.", "User emails are not verified. This can lead to a breach in your application.",
@ -83,7 +84,7 @@ const Google_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GOOGLE_READ_MORE", id: "APPSMITH_OAUTH2_GOOGLE_READ_MORE",
category: SettingCategories.GOOGLE_AUTH, category: SettingCategories.GOOGLE_AUTH,
subCategory: "google signup", subCategory: SettingSubCategories.GOOGLE,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: "How to configure?", label: "How to configure?",
url: GOOGLE_SIGNUP_SETUP_DOC, url: GOOGLE_SIGNUP_SETUP_DOC,
@ -91,7 +92,7 @@ const Google_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GOOGLE_CLIENT_ID", id: "APPSMITH_OAUTH2_GOOGLE_CLIENT_ID",
category: SettingCategories.GOOGLE_AUTH, category: SettingCategories.GOOGLE_AUTH,
subCategory: "google signup", subCategory: SettingSubCategories.GOOGLE,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Client ID", label: "Client ID",
@ -99,7 +100,7 @@ const Google_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET", id: "APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET",
category: SettingCategories.GOOGLE_AUTH, category: SettingCategories.GOOGLE_AUTH,
subCategory: "google signup", subCategory: SettingSubCategories.GOOGLE,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Client Secret", label: "Client Secret",
@ -107,7 +108,7 @@ const Google_Auth: AdminConfigType = {
{ {
id: "APPSMITH_SIGNUP_ALLOWED_DOMAINS", id: "APPSMITH_SIGNUP_ALLOWED_DOMAINS",
category: SettingCategories.GOOGLE_AUTH, category: SettingCategories.GOOGLE_AUTH,
subCategory: "google signup", subCategory: SettingSubCategories.GOOGLE,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Allowed Domains", label: "Allowed Domains",
@ -128,7 +129,7 @@ const Github_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GITHUB_READ_MORE", id: "APPSMITH_OAUTH2_GITHUB_READ_MORE",
category: SettingCategories.GITHUB_AUTH, category: SettingCategories.GITHUB_AUTH,
subCategory: "github signup", subCategory: SettingSubCategories.GITHUB,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: "How to configure?", label: "How to configure?",
url: GITHUB_SIGNUP_SETUP_DOC, url: GITHUB_SIGNUP_SETUP_DOC,
@ -136,7 +137,7 @@ const Github_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GITHUB_CLIENT_ID", id: "APPSMITH_OAUTH2_GITHUB_CLIENT_ID",
category: SettingCategories.GITHUB_AUTH, category: SettingCategories.GITHUB_AUTH,
subCategory: "github signup", subCategory: SettingSubCategories.GITHUB,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Client ID", label: "Client ID",
@ -144,7 +145,7 @@ const Github_Auth: AdminConfigType = {
{ {
id: "APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET", id: "APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET",
category: SettingCategories.GITHUB_AUTH, category: SettingCategories.GITHUB_AUTH,
subCategory: "github signup", subCategory: SettingSubCategories.GITHUB,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Client Secret", label: "Client Secret",

View File

@ -71,6 +71,12 @@ export const SettingCategories = {
GITHUB_AUTH: "github-auth", GITHUB_AUTH: "github-auth",
}; };
export const SettingSubCategories = {
GOOGLE: "google signup",
GITHUB: "github signup",
FORMLOGIN: "form login",
};
export type AdminConfigType = { export type AdminConfigType = {
type: string; type: string;
controlType: SettingTypes; controlType: SettingTypes;

View File

@ -11,18 +11,21 @@ export const connectedMethods = [
!disableLoginForm, !disableLoginForm,
].filter(Boolean); ].filter(Boolean);
/* settings is the updated & unsaved settings on Admin settings page */
export const saveAllowed = (settings: any) => { export const saveAllowed = (settings: any) => {
if ( if (connectedMethods.length === 1) {
connectedMethods.length >= 2 || const checkFormLogin = !(
(connectedMethods.length === 1 && "APPSMITH_FORM_LOGIN_DISABLED" in settings || disableLoginForm
((!("APPSMITH_FORM_LOGIN_DISABLED" in settings) && !disableLoginForm) || ),
(settings["APPSMITH_OAUTH2_GOOGLE_CLIENT_ID"] !== "" && checkGoogleAuth =
enableGoogleOAuth) || settings["APPSMITH_OAUTH2_GOOGLE_CLIENT_ID"] !== "" &&
(settings["APPSMITH_OAUTH2_GITHUB_CLIENT_ID"] !== "" && enableGoogleOAuth,
enableGithubOAuth))) checkGithubAuth =
) { settings["APPSMITH_OAUTH2_GITHUB_CLIENT_ID"] !== "" &&
return true; enableGithubOAuth;
return checkFormLogin || checkGoogleAuth || checkGithubAuth;
} else { } else {
return false; return connectedMethods.length >= 2;
} }
}; };

View File

@ -6,7 +6,8 @@ import { FormGroup, SettingComponentProps } from "./Common";
export default function TextInput({ setting }: SettingComponentProps) { export default function TextInput({ setting }: SettingComponentProps) {
return ( return (
<FormGroup <FormGroup
className={`t--admin-settings-text-input t--admin-settings-${setting.name}`} className={`t--admin-settings-text-input t--admin-settings-${setting.name ||
setting.id}`}
setting={setting} setting={setting}
> >
<FormTextField <FormTextField

View File

@ -193,9 +193,9 @@ export function SettingsForm(
const validate = (values: Record<string, any>) => { const validate = (values: Record<string, any>) => {
const errors: any = {}; const errors: any = {};
_.filter(values, (value, name) => { _.filter(values, (value, name) => {
const message = AdminConfig.validate(name, value); const err_message = AdminConfig.validate(name, value);
if (message) { if (err_message) {
errors[name] = message; errors[name] = err_message;
} }
}); });
return errors; return errors;

View File

@ -12,7 +12,7 @@ export const config: AdminConfigType = {
settings: [ settings: [
{ {
id: "APPSMITH_MONGODB_URI", id: "APPSMITH_MONGODB_URI",
category: "advanced", category: SettingCategories.ADVANCED,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "MongoDB URI", label: "MongoDB URI",
@ -21,7 +21,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_REDIS_URL", id: "APPSMITH_REDIS_URL",
category: "advanced", category: SettingCategories.ADVANCED,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Redis URL", label: "Redis URL",
@ -30,7 +30,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_CUSTOM_DOMAIN", id: "APPSMITH_CUSTOM_DOMAIN",
category: "advanced", category: SettingCategories.ADVANCED,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Custom Domain", label: "Custom Domain",

View File

@ -21,14 +21,14 @@ export const config: AdminConfigType = {
settings: [ settings: [
{ {
id: "APPSMITH_MAIL_READ_MORE", id: "APPSMITH_MAIL_READ_MORE",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: "How to configure?", label: "How to configure?",
url: EMAIL_SETUP_DOC, url: EMAIL_SETUP_DOC,
}, },
{ {
id: "APPSMITH_MAIL_HOST", id: "APPSMITH_MAIL_HOST",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "SMTP Host", label: "SMTP Host",
@ -36,7 +36,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_MAIL_PORT", id: "APPSMITH_MAIL_PORT",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.NUMBER, controlSubType: SettingSubtype.NUMBER,
placeholder: "25", placeholder: "25",
@ -50,7 +50,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_MAIL_FROM", id: "APPSMITH_MAIL_FROM",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "From Address", label: "From Address",
@ -65,13 +65,13 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_MAIL_SMTP_TLS_ENABLED", id: "APPSMITH_MAIL_SMTP_TLS_ENABLED",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TOGGLE, controlType: SettingTypes.TOGGLE,
label: "TLS Protected Connection", label: "TLS Protected Connection",
}, },
{ {
id: "APPSMITH_MAIL_USERNAME", id: "APPSMITH_MAIL_USERNAME",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "SMTP Username", label: "SMTP Username",
@ -81,7 +81,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_MAIL_PASSWORD", id: "APPSMITH_MAIL_PASSWORD",
category: "email", category: SettingCategories.EMAIL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.PASSWORD, controlSubType: SettingSubtype.PASSWORD,
label: "SMTP Password", label: "SMTP Password",
@ -91,7 +91,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_MAIL_TEST_EMAIL", id: "APPSMITH_MAIL_TEST_EMAIL",
category: "email", category: SettingCategories.EMAIL,
action: (dispatch: Dispatch<ReduxAction<any>>, settings: any = {}) => { action: (dispatch: Dispatch<ReduxAction<any>>, settings: any = {}) => {
dispatch && dispatch &&
dispatch({ dispatch({

View File

@ -16,7 +16,7 @@ export const config: AdminConfigType = {
settings: [ settings: [
{ {
id: "APPSMITH_INSTANCE_NAME", id: "APPSMITH_INSTANCE_NAME",
category: "general", category: SettingCategories.GENERAL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Instance Name", label: "Instance Name",
@ -24,7 +24,7 @@ export const config: AdminConfigType = {
}, },
{ {
id: "APPSMITH_ADMIN_EMAILS", id: "APPSMITH_ADMIN_EMAILS",
category: "general", category: SettingCategories.GENERAL,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.EMAIL, controlSubType: SettingSubtype.EMAIL,
label: "Admin Email", label: "Admin Email",
@ -51,14 +51,14 @@ export const config: AdminConfigType = {
"_blank", "_blank",
); );
}, },
category: "general", category: SettingCategories.GENERAL,
controlType: SettingTypes.BUTTON, controlType: SettingTypes.BUTTON,
label: "Generated Docker Compose File", label: "Generated Docker Compose File",
text: "Download", text: "Download",
}, },
{ {
id: "APPSMITH_DISABLE_TELEMETRY", id: "APPSMITH_DISABLE_TELEMETRY",
category: "general", category: SettingCategories.GENERAL,
controlType: SettingTypes.TOGGLE, controlType: SettingTypes.TOGGLE,
label: "Disable Sharing Anonymous Usage Data", label: "Disable Sharing Anonymous Usage Data",
subText: "Share anonymous usage data to help improve the product", subText: "Share anonymous usage data to help improve the product",
@ -66,7 +66,7 @@ export const config: AdminConfigType = {
if (value) { if (value) {
return "Don't share any data"; return "Don't share any data";
} else { } else {
return "Share data & make appsmith better!"; return "Share Anonymous Telemetry";
} }
}, },
}, },

View File

@ -14,14 +14,14 @@ export const config: AdminConfigType = {
settings: [ settings: [
{ {
id: "APPSMITH_GOOGLE_MAPS_READ_MORE", id: "APPSMITH_GOOGLE_MAPS_READ_MORE",
category: "google-maps", category: SettingCategories.GOOGLE_MAPS,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: "How to configure?", label: "How to configure?",
url: GOOGLE_MAPS_SETUP_DOC, url: GOOGLE_MAPS_SETUP_DOC,
}, },
{ {
id: "APPSMITH_GOOGLE_MAPS_API_KEY", id: "APPSMITH_GOOGLE_MAPS_API_KEY",
category: "google-maps", category: SettingCategories.GOOGLE_MAPS,
controlType: SettingTypes.TEXTINPUT, controlType: SettingTypes.TEXTINPUT,
controlSubType: SettingSubtype.TEXT, controlSubType: SettingSubtype.TEXT,
label: "Google Maps API Key", label: "Google Maps API Key",

View File

@ -14,7 +14,7 @@ export const config: AdminConfigType = {
settings: [ settings: [
{ {
id: "APPSMITH_CURRENT_VERSION", id: "APPSMITH_CURRENT_VERSION",
category: "version", category: SettingCategories.VERSION,
controlType: SettingTypes.TEXT, controlType: SettingTypes.TEXT,
label: "Current version", label: "Current version",
}, },
@ -27,7 +27,7 @@ export const config: AdminConfigType = {
payload: true, payload: true,
}); });
}, },
category: "version", category: SettingCategories.VERSION,
controlType: SettingTypes.LINK, controlType: SettingTypes.LINK,
label: "Release Notes", label: "Release Notes",
}, },

View File

@ -133,7 +133,7 @@ function* SendTestEmail(action: ReduxAction<SendTestEmailPayload>) {
}); });
} catch (e) { } catch (e) {
Toaster.show({ Toaster.show({
text: createMessage(TEST_EMAIL_FAILURE), text: e?.message || createMessage(TEST_EMAIL_FAILURE),
hideProgressBar: true, hideProgressBar: true,
variant: Variant.danger, variant: Variant.danger,
}); });