diff --git a/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js b/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js index 7973f87d61..6e7ecf6961 100755 --- a/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js @@ -17,8 +17,10 @@ defineMessages(messages); function LeftMenuFooter({ version }) { // eslint-disable-line react/prefer-stateless-function return (
- - v{version} +
+ + v{version} +
); diff --git a/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss b/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss index 5f77a12720..f885e4e5a7 100755 --- a/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss +++ b/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss @@ -3,7 +3,9 @@ .leftMenuFooter { /* stylelint-disable */ position: absolute; - width: 100%; + width: calc(100% - 2 * 15px); + display: flex; + justify-content: space-between; bottom: 0; height: 3rem; padding-left: 15px; diff --git a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js index e9cccfba65..902bd075f4 100644 --- a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js +++ b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js @@ -34,49 +34,58 @@ module.exports = async cb => { name: 'users-permissions' }); - if (!await pluginStore.get({key: 'grant'})) { - const value = { - email: { - enabled: true, - icon: 'envelope' - }, - facebook: { - enabled: false, - icon: 'facebook-official', - key: '', - secret: '', - callback: '/auth/facebook/callback', - scope: ['email'] - }, - google: { - enabled: false, - icon: 'google', - key: '', - secret: '', - callback: '/auth/google/callback', - scope: ['email'] - }, - github: { - enabled: false, - icon: 'github', - key: '', - secret: '', - redirect_uri: '/auth/github/callback', - scope: [ - 'user', - 'user:email' - ] - }, - twitter: { - enabled: false, - icon: 'twitter', - key: '', - secret: '', - callback: '/auth/twitter/callback' + const grantConfig = { + email: { + enabled: true, + icon: 'envelope' + }, + facebook: { + enabled: false, + icon: 'facebook-official', + key: '', + secret: '', + callback: '/auth/facebook/callback', + scope: ['email'] + }, + google: { + enabled: false, + icon: 'google', + key: '', + secret: '', + callback: '/auth/google/callback', + scope: ['email'] + }, + github: { + enabled: false, + icon: 'github', + key: '', + secret: '', + redirect_uri: '/auth/github/callback', + scope: [ + 'user', + 'user:email' + ] + }, + twitter: { + enabled: false, + icon: 'twitter', + key: '', + secret: '', + callback: '/auth/twitter/callback' + } + }; + const prevGrantConfig = await pluginStore.get({key: 'grant'}) + // store grant auth config to db + // when plugin_users-permissions_grant is not existed in db + // or we have added/deleted provider here. + if (!prevGrantConfig || !_.isEqual(_.keys(prevGrantConfig), _.keys(grantConfig))) { + // merge with the previous provider config. + _.keys(grantConfig).forEach((key) => { + if (key in prevGrantConfig) { + grantConfig[key] = _.merge(grantConfig[key], prevGrantConfig[key]); } - }; - - await pluginStore.set({key: 'grant', value}); + }); + await pluginStore.set({key: 'grant', value: grantConfig}); } if (!await pluginStore.get({key: 'email'})) {