From 5247866822e5a9503e988446a02de20fe3f35d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20J=C3=A4gle?= Date: Thu, 28 Sep 2017 15:25:19 +0200 Subject: [PATCH 1/2] Global announcement (#71) * Global announcement: showing a custom message in alert-color on login- and home-screen * Global announcement: Text and translation of setting --- packages/rocketchat-i18n/i18n/de.i18n.json | 1 + packages/rocketchat-i18n/i18n/en.i18n.json | 1 + .../rocketchat-lib/server/startup/settings.js | 7 ++++- .../rocketchat-theme/client/imports/base.css | 28 +++++++++++++++++++ packages/rocketchat-theme/server/colors.less | 6 ++++ .../client/login/globalAnnouncement.html | 7 +++++ .../client/login/globalAnnouncement.js | 5 ++++ .../client/login/layout.html | 1 + packages/rocketchat-ui-login/package.js | 5 +++- .../client/views/app/globalAnnouncement.html | 3 ++ .../client/views/app/globalAnnouncement.js | 5 ++++ .../views/app/globalAnnouncementHome.html | 5 ++++ .../views/app/globalAnnouncementHome.js | 5 ++++ .../rocketchat-ui/client/views/app/home.html | 1 + packages/rocketchat-ui/package.js | 5 ++++ 15 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 packages/rocketchat-ui-login/client/login/globalAnnouncement.html create mode 100644 packages/rocketchat-ui-login/client/login/globalAnnouncement.js create mode 100644 packages/rocketchat-ui/client/views/app/globalAnnouncement.html create mode 100644 packages/rocketchat-ui/client/views/app/globalAnnouncement.js create mode 100644 packages/rocketchat-ui/client/views/app/globalAnnouncementHome.html create mode 100644 packages/rocketchat-ui/client/views/app/globalAnnouncementHome.js diff --git a/packages/rocketchat-i18n/i18n/de.i18n.json b/packages/rocketchat-i18n/i18n/de.i18n.json index cea2e2da9066..c004990913ed 100755 --- a/packages/rocketchat-i18n/i18n/de.i18n.json +++ b/packages/rocketchat-i18n/i18n/de.i18n.json @@ -906,6 +906,7 @@ "Last_Message_At": "Letzte Nachricht am", "Last_seen": "Zuletzt online", "Layout": "Layout", + "Layout_Global_Announcement": "Globale Ankündigung", "Layout_Home_Body": "Inhalt der Startseite", "Layout_Home_Title": "Titel der Startseite", "Layout_Login_Terms": "Anmeldebedingungen", diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 40b470db31ee..4dc5eaca2a72 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -844,6 +844,7 @@ "Last_Message_At": "Last Message At", "Last_seen": "Last seen", "Layout": "Layout", + "Layout_Global_Announcement": "Global Announcement", "Layout_Home_Body": "Home Body", "Layout_Home_Title": "Home Title", "Layout_Login_Terms": "Login Terms", diff --git a/packages/rocketchat-lib/server/startup/settings.js b/packages/rocketchat-lib/server/startup/settings.js index 325ff3d7e747..be42de0f4ec6 100644 --- a/packages/rocketchat-lib/server/startup/settings.js +++ b/packages/rocketchat-lib/server/startup/settings.js @@ -1053,12 +1053,17 @@ RocketChat.settings.addGroup('Layout', function() { multiline: true, 'public': true }); - return this.add('Layout_Sidenav_Footer', '', { + this.add('Layout_Sidenav_Footer', '', { type: 'code', code: 'text/html', 'public': true, i18nDescription: 'Layout_Sidenav_Footer_description' }); + this.add('Layout_Global_Announcement', '', { + type: 'code', + multiline: true, + 'public': true + }); }); this.section('Custom_Scripts', function() { this.add('Custom_Script_Logged_Out', '//Add your script', { diff --git a/packages/rocketchat-theme/client/imports/base.css b/packages/rocketchat-theme/client/imports/base.css index 89def19ecb05..4ce262f4b750 100644 --- a/packages/rocketchat-theme/client/imports/base.css +++ b/packages/rocketchat-theme/client/imports/base.css @@ -3898,6 +3898,34 @@ body:not(.is-cordova) { color: #a9a9a9; } +.global-announcement { + padding: 20px; + text-align: center; +} + +#login-global-announcement { + width: 100%; + max-width: 520px; + margin: auto; + box-shadow: + 0 1px 1px 0 rgba(0, 0, 0, 0.2), + 0 2px 10px 0 rgba(0, 0, 0, 0.16); + border-radius: 4px; + position: relative; + z-index: 1; +} + +#home-global-announcement { + width: 100%; + margin: 20px auto; + box-shadow: + 0 1px 1px 0 rgba(0, 0, 0, 0.2), + 0 2px 10px 0 rgba(0, 0, 0, 0.16); + border-radius: 4px; + position: relative; + z-index: 1; +} + #login-card { width: 100%; max-width: 520px; diff --git a/packages/rocketchat-theme/server/colors.less b/packages/rocketchat-theme/server/colors.less index 5d8d28dd9935..dc4da74eddce 100755 --- a/packages/rocketchat-theme/server/colors.less +++ b/packages/rocketchat-theme/server/colors.less @@ -359,6 +359,12 @@ input[type="submit"] { } } +.global-announcement { + background-color: @attention-color; + font-weight: bold; + color: desaturate(contrast(@attention-color), 50%); +} + .input-line { &.setting-changed > label { color: @selection-color; diff --git a/packages/rocketchat-ui-login/client/login/globalAnnouncement.html b/packages/rocketchat-ui-login/client/login/globalAnnouncement.html new file mode 100644 index 000000000000..47eba880e117 --- /dev/null +++ b/packages/rocketchat-ui-login/client/login/globalAnnouncement.html @@ -0,0 +1,7 @@ + diff --git a/packages/rocketchat-ui-login/client/login/globalAnnouncement.js b/packages/rocketchat-ui-login/client/login/globalAnnouncement.js new file mode 100644 index 000000000000..1d96b97da8e9 --- /dev/null +++ b/packages/rocketchat-ui-login/client/login/globalAnnouncement.js @@ -0,0 +1,5 @@ +Template.globalAnnouncementLogin.helpers({ + hasAnnouncement() { + return !!RocketChat.settings.get('Layout_Global_Announcement'); + } +}); diff --git a/packages/rocketchat-ui-login/client/login/layout.html b/packages/rocketchat-ui-login/client/login/layout.html index 056958c7a019..e30206452fdc 100644 --- a/packages/rocketchat-ui-login/client/login/layout.html +++ b/packages/rocketchat-ui-login/client/login/layout.html @@ -2,6 +2,7 @@
{{> loginHeader }} + {{> globalAnnouncementLogin }} {{> Template.dynamic template=center}} {{> loginFooter }}
diff --git a/packages/rocketchat-ui-login/package.js b/packages/rocketchat-ui-login/package.js index ef7df90a7844..e56c6b661900 100644 --- a/packages/rocketchat-ui-login/package.js +++ b/packages/rocketchat-ui-login/package.js @@ -17,7 +17,8 @@ Package.onUse(function(api) { 'underscore', 'rocketchat:lib', 'rocketchat:assets', - 'rocketchat:2fa' + 'rocketchat:2fa', + 'rocketchat:ui' ]); api.use('kadira:flow-router', 'client'); @@ -34,6 +35,8 @@ Package.onUse(function(api) { api.addFiles('client/login/layout.js', 'client'); api.addFiles('client/login/services.html', 'client'); api.addFiles('client/login/social.html', 'client'); + api.addFiles('client/login/globalAnnouncement.html', 'client'); + api.addFiles('client/login/globalAnnouncement.js', 'client'); api.addFiles('client/username/layout.html', 'client'); api.addFiles('client/username/username.html', 'client'); diff --git a/packages/rocketchat-ui/client/views/app/globalAnnouncement.html b/packages/rocketchat-ui/client/views/app/globalAnnouncement.html new file mode 100644 index 000000000000..392b3a75bab7 --- /dev/null +++ b/packages/rocketchat-ui/client/views/app/globalAnnouncement.html @@ -0,0 +1,3 @@ + diff --git a/packages/rocketchat-ui/client/views/app/globalAnnouncement.js b/packages/rocketchat-ui/client/views/app/globalAnnouncement.js new file mode 100644 index 000000000000..ea3cb9da5881 --- /dev/null +++ b/packages/rocketchat-ui/client/views/app/globalAnnouncement.js @@ -0,0 +1,5 @@ +Template.globalAnnouncement.helpers({ + announcement() { + return RocketChat.settings.get('Layout_Global_Announcement'); + } +}); diff --git a/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.html b/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.html new file mode 100644 index 000000000000..797e9f65617d --- /dev/null +++ b/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.html @@ -0,0 +1,5 @@ + diff --git a/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.js b/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.js new file mode 100644 index 000000000000..eb561df4ba9b --- /dev/null +++ b/packages/rocketchat-ui/client/views/app/globalAnnouncementHome.js @@ -0,0 +1,5 @@ +Template.globalAnnouncementHome.helpers({ + hasAnnouncement() { + return !!RocketChat.settings.get('Layout_Global_Announcement'); + } +}); diff --git a/packages/rocketchat-ui/client/views/app/home.html b/packages/rocketchat-ui/client/views/app/home.html index f9463714cae0..d4528d237dfc 100644 --- a/packages/rocketchat-ui/client/views/app/home.html +++ b/packages/rocketchat-ui/client/views/app/home.html @@ -7,6 +7,7 @@

+ {{> globalAnnouncementHome }} {{{body}}}
diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index 160baa292206..9b268558942c 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -93,6 +93,8 @@ Package.onUse(function(api) { api.addFiles('client/views/app/videoCall/videoButtons.html', 'client'); api.addFiles('client/views/app/videoCall/videoCall.html', 'client'); api.addFiles('client/views/app/photoswipe.html', 'client'); + api.addFiles('client/views/app/globalAnnouncement.html', 'client'); + api.addFiles('client/views/app/globalAnnouncementHome.html', 'client'); api.addFiles('client/views/cmsPage.js', 'client'); api.addFiles('client/views/fxos.js', 'client'); @@ -108,6 +110,9 @@ Package.onUse(function(api) { api.addFiles('client/views/app/videoCall/videoButtons.js', 'client'); api.addFiles('client/views/app/videoCall/videoCall.js', 'client'); api.addFiles('client/views/app/photoswipe.js', 'client'); + api.addFiles('client/views/app/globalAnnouncement.js', 'client'); + api.addFiles('client/views/app/globalAnnouncementHome.js', 'client'); + api.export('fileUpload'); }); From 1be4d955edcaf6201e13e6a8196119254b4b9c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20J=C3=A4gle?= Date: Fri, 6 Oct 2017 13:12:41 +0200 Subject: [PATCH 2/2] fixes #10 - tested in chrome and IE on windows --- packages/rocketchat-theme/client/imports/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rocketchat-theme/client/imports/base.css b/packages/rocketchat-theme/client/imports/base.css index 4ce262f4b750..e058e576372d 100644 --- a/packages/rocketchat-theme/client/imports/base.css +++ b/packages/rocketchat-theme/client/imports/base.css @@ -3035,7 +3035,7 @@ body:not(.is-cordova) { .flex-tab-container { display: flex; - flex: 0 0 41px; + /*flex: 0 0 41px;*/ z-index: 2; border-width: 0 0 0 1px;