From 4bd03a927add4a92d0d76237a3b9867e4cb57dc3 Mon Sep 17 00:00:00 2001 From: Dmitry Vdovin Date: Mon, 13 Nov 2017 15:49:02 +0200 Subject: [PATCH] Hide oauth buttons if the keys are not set --- src/components/login/form.js | 93 ++++++++++++++++++------------ src/components/register/v2/form.js | 91 ++++++++++++++++++----------- src/consts/auth.js | 26 +++++++++ webpack/base-config.js | 4 ++ 4 files changed, 143 insertions(+), 71 deletions(-) create mode 100644 src/consts/auth.js diff --git a/src/components/login/form.js b/src/components/login/form.js index c5c20dc7..11cf56fe 100644 --- a/src/components/login/form.js +++ b/src/components/login/form.js @@ -29,6 +29,13 @@ import AltButton from '../alt-button'; import Button from '../button'; import FormField from '../form/field'; import { openOauthPopup } from '../../utils/auth'; +import { + FACEBOOK_AUTH_ENABLED, + GOOGLE_AUTH_ENABLED, + TWITTER_AUTH_ENABLED, + GITHUB_AUTH_ENABLED, + ANY_OAUTH_ENABLED, +} from '../../consts/auth'; const hiddenStyle = { display: 'none' }; @@ -157,44 +164,56 @@ export class LoginFormV2 extends React.Component { /> -
- {t('login.quick')} -
+ + {ANY_OAUTH_ENABLED && +
+ {t('login.quick')} +
+ } +
- - Facebook - - - - Google - - - - Twitter - - - - Github - + {FACEBOOK_AUTH_ENABLED && + + Facebook + + } + + {GOOGLE_AUTH_ENABLED && + + Google + + } + + {TWITTER_AUTH_ENABLED && + + Twitter + + } + + {GITHUB_AUTH_ENABLED && + + Github + + }
-
- {t('signup.quick')} -
+ + {ANY_OAUTH_ENABLED && +
+ {t('signup.quick')} +
+ } +
- - Facebook - - - Google - - - Twitter - - - Github - + {FACEBOOK_AUTH_ENABLED && + + Facebook + + } + + {GOOGLE_AUTH_ENABLED && + + Google + + } + + {TWITTER_AUTH_ENABLED && + + Twitter + + } + + {GITHUB_AUTH_ENABLED && + + Github + + } + . +*/ +// Defined in the webpack config +export const FACEBOOK_AUTH_ENABLED = process.env.FACEBOOK_AUTH_ENABLED; +export const GOOGLE_AUTH_ENABLED = process.env.GOOGLE_AUTH_ENABLED; +export const TWITTER_AUTH_ENABLED = process.env.TWITTER_AUTH_ENABLED; +export const GITHUB_AUTH_ENABLED = process.env.GITHUB_AUTH_ENABLED; +export const ANY_OAUTH_ENABLED = FACEBOOK_AUTH_ENABLED || + GOOGLE_AUTH_ENABLED || + TWITTER_AUTH_ENABLED || + GITHUB_AUTH_ENABLED; diff --git a/webpack/base-config.js b/webpack/base-config.js index 178ebd4e..85719c26 100644 --- a/webpack/base-config.js +++ b/webpack/base-config.js @@ -23,6 +23,10 @@ const config = { plugins: skipFalsy([ new webpack.DefinePlugin({ 'process.env.NODE_ENV': opts.dev ? '"development"' : '"production"', + 'process.env.FACEBOOK_AUTH_ENABLED': !!process.env.FACEBOOK_CLIENT_ID, + 'process.env.GOOGLE_AUTH_ENABLED': !!process.env.GOOGLE_CLIENT_ID, + 'process.env.TWITTER_AUTH_ENABLED': !!process.env.TWITTER_CONSUMER_KEY, + 'process.env.GITHUB_AUTH_ENABLED': !!process.env.GITHUB_CLIENT_ID, }), opts.dev && new webpack.HotModuleReplacementPlugin(), opts.dev && new webpack.NoEmitOnErrorsPlugin(),