diff --git a/.github/workflows/php-cs-fixer.yml b/.github/workflows/php-cs-fixer.yml index 2144827b..2d37e137 100644 --- a/.github/workflows/php-cs-fixer.yml +++ b/.github/workflows/php-cs-fixer.yml @@ -3,5 +3,5 @@ name: PHP CS Fixer on: push jobs: - tests: + fixers: uses: humhub/actions/.github/workflows/module-php-cs-fixer.yml@main diff --git a/resources/css/humhub.mail.css b/resources/css/humhub.mail.css index 5c479f1a..6b005565 100644 --- a/resources/css/humhub.mail.css +++ b/resources/css/humhub.mail.css @@ -160,17 +160,21 @@ } .mail-inbox-messages .media h4.media-heading { font-weight: 600; + font-size: 16px; } .mail-inbox-messages .media h4.media-heading time { + font-size: 11px !important; font-weight: normal; float: right; } .mail-inbox-messages .media h5 { - font-size: 11px; + font-size: 14px; + line-height: 16px; font-weight: 500; color: #000; display: flex; justify-content: space-between; + margin: 7px 0; } .mail-inbox-messages .media h5 span:first-child { overflow: hidden; @@ -178,13 +182,9 @@ white-space: nowrap; } .mail-inbox-messages .media .mail-last-entry { - font-size: 11px; - font-weight: normal; - color: var(--text-color-soft2); -} -.mail-inbox-messages .selected .mail-last-entry, -.mail-inbox-messages .media-list > li:hover .mail-last-entry { - color: var(--text-color-main); + font-size: 14px; + font-weight: 500; + color: var(--text-color-secondary); } .mail-message-form { position: absolute; @@ -277,7 +277,7 @@ color: var(--info); } .messagePreviewEntry.unread .mail-last-entry { - color: var(--text-color-main); + color: var(--text-color-highlight); } .message-tag-filter-group .select2-selection { border-bottom-right-radius: 0; @@ -293,8 +293,8 @@ } .new-message-badge { float: right; - min-width: 16px; - height: 16px; + min-width: 14px; + height: 14px; border-radius: 50%; background: var(--info); margin-left: 2px; diff --git a/resources/css/humhub.mail.less b/resources/css/humhub.mail.less index f128b3f5..e5919574 100644 --- a/resources/css/humhub.mail.less +++ b/resources/css/humhub.mail.less @@ -235,19 +235,23 @@ h4.media-heading { .semiBold; + font-size: 16px; time { + font-size: 11px !important; font-weight: normal; float: right; } } h5 { - font-size: 11px; + font-size: 14px; + line-height: 16px; font-weight: 500; color: #000; display: flex; justify-content: space-between; + margin: 7px 0; span:first-child { overflow: hidden; @@ -257,15 +261,9 @@ } .mail-last-entry { - font-size: 11px; - font-weight: normal; - color: var(--text-color-soft2); - } - } - - .selected, .media-list > li:hover { - .mail-last-entry { - color: var(--text-color-main); + font-size: 14px; + font-weight: 500; + color: var(--text-color-secondary); } } } @@ -392,7 +390,7 @@ } .mail-last-entry { - color: var(--text-color-main); + color: var(--text-color-highlight); } } } @@ -415,8 +413,8 @@ .new-message-badge { float: right; - min-width: 16px; - height: 16px; + min-width: 14px; + height: 14px; border-radius: 50%; background: @colorUnread; margin-left: 2px; diff --git a/resources/css/humhub.mail.min.css b/resources/css/humhub.mail.min.css index 8802f982..ee1905d7 100644 --- a/resources/css/humhub.mail.min.css +++ b/resources/css/humhub.mail.min.css @@ -1 +1 @@ -.placeholder{color:#77777a}#dropdown-messages .dropdown-header{color:#000;margin-bottom:12px;font-weight:600}#dropdown-messages.dropdown-menu li a{font-size:inherit!important}#dropdown-messages .media-body{font-weight:200}.modal-body #createmessage-message .ProseMirror{min-height:100px!important}#create-message-button .fa,#mail-conversation-create-button .fa{margin:0}#conversation-filter-link{padding-left:0;display:block;padding-bottom:0}#conversation-tags-root{border-bottom:1px solid #eee}#conversation-tags-root .my-tags-label{padding-right:10px}.conversation-menu{display:none}.conversation-menu .time{color:inherit;text-transform:none}.conversation-menu .badge{background-color:var(--background-color-secondary);border-radius:10px;color:inherit}.conversation-menu .conversation-edit-button{background-color:var(--background-color-secondary);border-radius:50%;color:inherit}.conversation-menu .conversation-edit-button:hover{background-color:var(--background-color-secondary);color:inherit}.visible-xs .conversation-menu{padding-left:35px}.visible-xs .conversation-menu .conversation-menu-item{margin-bottom:10px}.conversation-menu-item{margin-left:5px}.conversation-menu-item a{cursor:pointer}.conversation-edit-button{border-bottom-right-radius:0;border-top-right-radius:0}.conversation-scroll-down-button{position:absolute;bottom:58px;right:25px;width:38px;height:38px;background:#fff;border-radius:50%;box-shadow:1px 1px 2px #999}.conversation-scroll-down-button .fa{font-size:26px;margin:7px 0 0 11px}.conversation-entry-list{max-height:600px;min-height:150px;overflow:auto}.conversation-entry-list .media{padding-right:5px}.conversation-entry-content{display:table;float:left;background-color:var(--background-color-secondary);border-radius:10px;padding:10px;max-width:70%}.conversation-entry-content pre{max-width:485px}.conversation-entry-content.own{float:right;background:var(--background-color-highlight)}.conversation-entry-content .markdown-render{float:left;width:100%;min-width:230px}.conversation-blocked-recipient{-webkit-filter:grayscale(100%);filter:grayscale(100%)}#mail-conversation-root hr{border-top:1px solid #eee}#mail-conversation-root .ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:0}#mail-conversation-root .panel-body{margin-bottom:0}#mail-conversation-header{padding:18px;border-bottom:1px solid var(--background3);border-bottom-left-radius:0;border-bottom-right-radius:0}#mail-conversation-header h1{font-weight:600;font-size:22px;display:inline-block}#mail-conversation-header small{display:block;font-size:11px;font-weight:400}#mail-conversation-header small a{color:var(--text-color-main)}#conversation-settings-button{padding:6px;font-size:12px}#mail-filter-root{margin-top:5px}.mail-inbox-messages .panel-heading>a{font-weight:600}.mail-inbox-messages .panel-heading #mail-filter-root>a{font-weight:400}.mail-inbox-messages .media{margin-top:0;display:flex}.mail-inbox-messages .media h4.media-heading{font-weight:600}.mail-inbox-messages .media h4.media-heading time{font-weight:400;float:right}.mail-inbox-messages .media h5{font-size:11px;font-weight:500;color:#000;display:flex;justify-content:space-between}.mail-inbox-messages .media h5 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-inbox-messages .media .mail-last-entry{font-size:11px;font-weight:400;color:var(--text-color-soft2)}.mail-inbox-messages .media-list>li:hover .mail-last-entry,.mail-inbox-messages .selected .mail-last-entry{color:var(--text-color-main)}.mail-message-form{position:absolute;bottom:0;width:100%;padding:10px}.mail-message-form .humhub-ui-richtext{padding-right:105px;border-radius:10px}.mail-message-form .upload-buttons{position:absolute;right:15px;bottom:15px;z-index:500}.mail-message-form .reply-button{margin-left:0!important}.mail-message-form .help-block{margin:0}.mail-message-form .alert{margin-bottom:0}.mail-conversation-entry{margin-top:3px;position:relative}.mail-conversation-entry .author-image .img-user{max-width:100%}.mail-conversation-entry .author-label{font-size:10px;font-weight:600}.mail-conversation-entry.hideUserInfo .author-label{display:none}.mail-conversation-entry.hideUserInfo .author-image a{visibility:hidden;margin-top:0}.mail-conversation-entry.own .conversation-menu-item{float:right;margin-left:0;margin-right:5px}.mail-conversation-entry .conversation-entry-time{float:right;font-size:10px;color:var(--text-color-main)}.mail-conversation-entry .conversation-entry-time>span{font-style:italic}.conversation-entry-badge{padding:10px 0 8px;text-align:center}.conversation-entry-badge span{display:inline-block;box-shadow:1px 1px 3px rgba(0,0,0,.3);border-radius:7px;padding:5px 20px}.conversation-entry-badge.conversation-date-badge span{text-transform:uppercase}#inbox{max-height:500px;overflow:auto;border-radius:4px}.messagePreviewEntry{cursor:pointer}.messagePreviewEntry time{font-size:10px;color:var(--text-color-secondary)}.messagePreviewEntry .new-message-badge{display:none}.messagePreviewEntry.unread .new-message-badge{display:block}.messagePreviewEntry.unread time{color:var(--info)}.messagePreviewEntry.unread .mail-last-entry{color:var(--text-color-main)}.message-tag-filter-group .select2-selection{border-bottom-right-radius:0}.message-tag-filter-group .manage-tags-link{font-weight:600;font-size:.8em;border:1px solid #ededed;border-top:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:2px 5px}.new-message-badge{float:right;min-width:16px;height:16px;border-radius:50%;background:var(--info);margin-left:2px}.inbox-entry-title{font-weight:600}.field-replyform-message{margin:0}@media (max-width:991px){#inbox{max-height:500px!important}}@media (max-width:767px){#dropdown-messages{width:300px!important}.arrow{margin-left:-101px!important}#inbox{max-height:none!important}.mail-conversation-single-message #inbox{max-height:none!important}.mail-conversation-single-message .inbox-wrapper{display:none}.conversation-entry-content pre{max-width:245px;padding:0}} \ No newline at end of file +.placeholder{color:#77777a}#dropdown-messages .dropdown-header{color:#000;margin-bottom:12px;font-weight:600}#dropdown-messages.dropdown-menu li a{font-size:inherit!important}#dropdown-messages .media-body{font-weight:200}.modal-body #createmessage-message .ProseMirror{min-height:100px!important}#create-message-button .fa,#mail-conversation-create-button .fa{margin:0}#conversation-filter-link{padding-left:0;display:block;padding-bottom:0}#conversation-tags-root{border-bottom:1px solid #eee}#conversation-tags-root .my-tags-label{padding-right:10px}.conversation-menu{display:none}.conversation-menu .time{color:inherit;text-transform:none}.conversation-menu .badge{background-color:var(--background-color-secondary);border-radius:10px;color:inherit}.conversation-menu .conversation-edit-button{background-color:var(--background-color-secondary);border-radius:50%;color:inherit}.conversation-menu .conversation-edit-button:hover{background-color:var(--background-color-secondary);color:inherit}.visible-xs .conversation-menu{padding-left:35px}.visible-xs .conversation-menu .conversation-menu-item{margin-bottom:10px}.conversation-menu-item{margin-left:5px}.conversation-menu-item a{cursor:pointer}.conversation-edit-button{border-bottom-right-radius:0;border-top-right-radius:0}.conversation-scroll-down-button{position:absolute;bottom:58px;right:25px;width:38px;height:38px;background:#fff;border-radius:50%;box-shadow:1px 1px 2px #999}.conversation-scroll-down-button .fa{font-size:26px;margin:7px 0 0 11px}.conversation-entry-list{max-height:600px;min-height:150px;overflow:auto}.conversation-entry-list .media{padding-right:5px}.conversation-entry-content{display:table;float:left;background-color:var(--background-color-secondary);border-radius:10px;padding:10px;max-width:70%}.conversation-entry-content pre{max-width:485px}.conversation-entry-content.own{float:right;background:var(--background-color-highlight)}.conversation-entry-content .markdown-render{float:left;width:100%;min-width:230px}.conversation-blocked-recipient{-webkit-filter:grayscale(100%);filter:grayscale(100%)}#mail-conversation-root hr{border-top:1px solid #eee}#mail-conversation-root .ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:0}#mail-conversation-root .panel-body{margin-bottom:0}#mail-conversation-header{padding:18px;border-bottom:1px solid var(--background3);border-bottom-left-radius:0;border-bottom-right-radius:0}#mail-conversation-header h1{font-weight:600;font-size:22px;display:inline-block}#mail-conversation-header small{display:block;font-size:11px;font-weight:400}#mail-conversation-header small a{color:var(--text-color-main)}#conversation-settings-button{padding:6px;font-size:12px}#mail-filter-root{margin-top:5px}.mail-inbox-messages .panel-heading>a{font-weight:600}.mail-inbox-messages .panel-heading #mail-filter-root>a{font-weight:400}.mail-inbox-messages .media{margin-top:0;display:flex}.mail-inbox-messages .media h4.media-heading{font-weight:600;font-size:16px}.mail-inbox-messages .media h4.media-heading time{font-size:11px!important;font-weight:400;float:right}.mail-inbox-messages .media h5{font-size:14px;line-height:16px;font-weight:500;color:#000;display:flex;justify-content:space-between;margin:7px 0}.mail-inbox-messages .media h5 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-inbox-messages .media .mail-last-entry{font-size:14px;font-weight:500;color:var(--text-color-secondary)}.mail-message-form{position:absolute;bottom:0;width:100%;padding:10px}.mail-message-form .humhub-ui-richtext{padding-right:105px;border-radius:10px}.mail-message-form .upload-buttons{position:absolute;right:15px;bottom:15px;z-index:500}.mail-message-form .reply-button{margin-left:0!important}.mail-message-form .help-block{margin:0}.mail-message-form .alert{margin-bottom:0}.mail-conversation-entry{margin-top:3px;position:relative}.mail-conversation-entry .author-image .img-user{max-width:100%}.mail-conversation-entry .author-label{font-size:10px;font-weight:600}.mail-conversation-entry.hideUserInfo .author-label{display:none}.mail-conversation-entry.hideUserInfo .author-image a{visibility:hidden;margin-top:0}.mail-conversation-entry.own .conversation-menu-item{float:right;margin-left:0;margin-right:5px}.mail-conversation-entry .conversation-entry-time{float:right;font-size:10px;color:var(--text-color-main)}.mail-conversation-entry .conversation-entry-time>span{font-style:italic}.conversation-entry-badge{padding:10px 0 8px;text-align:center}.conversation-entry-badge span{display:inline-block;box-shadow:1px 1px 3px rgba(0,0,0,.3);border-radius:7px;padding:5px 20px}.conversation-entry-badge.conversation-date-badge span{text-transform:uppercase}#inbox{max-height:500px;overflow:auto;border-radius:4px}.messagePreviewEntry{cursor:pointer}.messagePreviewEntry time{font-size:10px;color:var(--text-color-secondary)}.messagePreviewEntry .new-message-badge{display:none}.messagePreviewEntry.unread .new-message-badge{display:block}.messagePreviewEntry.unread time{color:var(--info)}.messagePreviewEntry.unread .mail-last-entry{color:var(--text-color-highlight)}.message-tag-filter-group .select2-selection{border-bottom-right-radius:0}.message-tag-filter-group .manage-tags-link{font-weight:600;font-size:.8em;border:1px solid #ededed;border-top:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:2px 5px}.new-message-badge{float:right;min-width:14px;height:14px;border-radius:50%;background:var(--info);margin-left:2px}.inbox-entry-title{font-weight:600}.field-replyform-message{margin:0}@media (max-width:991px){#inbox{max-height:500px!important}}@media (max-width:767px){#dropdown-messages{width:300px!important}.arrow{margin-left:-101px!important}#inbox{max-height:none!important}.mail-conversation-single-message #inbox{max-height:none!important}.mail-conversation-single-message .inbox-wrapper{display:none}.conversation-entry-content pre{max-width:245px;padding:0}} \ No newline at end of file diff --git a/resources/js/humhub.mail.notification.js b/resources/js/humhub.mail.notification.js index 0428826d..f5d8de88 100644 --- a/resources/js/humhub.mail.notification.js +++ b/resources/js/humhub.mail.notification.js @@ -25,9 +25,12 @@ humhub.module('mail.notification', function (module, require, $) { currentXhr.abort(); } + const messageLoader = $('#loader_messages'); + const messageList = messageLoader.parent(); + // remove all
  • entries from dropdown - $('#loader_messages').parent().find(':not(#loader_messages)').remove(); - loader.set($('#loader_messages').show()); + messageLoader.parent().find(':not(#loader_messages)').remove(); + loader.set(messageLoader.show()); client.get(module.config.url.list, { beforeSend: function (xhr) { @@ -35,8 +38,16 @@ humhub.module('mail.notification', function (module, require, $) { } }).then(function (response) { currentXhr = undefined; - $('#loader_messages').parent().prepend($(response.html)); - $('#loader_messages').hide(); + messageList.prepend($(response.html)); + messageLoader.hide(); + messageList.niceScroll({ + cursorwidth: '7', + cursorborder: '', + cursorcolor: '#555', + cursoropacitymax: '0.2', + nativeparentscrolling: false, + railpadding: {top: 0, right: 3, left: 0, bottom: 0} + }); }); }); } diff --git a/resources/js/humhub.mail.notification.min.js b/resources/js/humhub.mail.notification.min.js index c6f2bfb8..33c01832 100644 --- a/resources/js/humhub.mail.notification.min.js +++ b/resources/js/humhub.mail.notification.min.js @@ -1 +1 @@ -humhub.module("mail.notification",function(n,e,t){function s(){o.get(n.config.url.count).then(function(e){d(parseInt(e.newMessages))})}var a,o=e("client"),i=e("ui.loader"),u=e("event"),l=e("ui.widget").Widget,r=0,d=(n.initOnPjaxLoad=!0,function(e){var n=t("#badge-messages");e&&0!==parseInt(e)?(r=e,n.empty(),n.append(e),n.fadeIn("fast")):(n.css("display","none"),r=0),u.trigger("humhub:modules:notification:UpdateTitleNotificationCount")});n.export({init:function(e){e||(u.on("humhub:modules:mail:live:NewUserMessage",function(e,n){n=n[n.length-1];d(n.data.count)}).on("humhub:modules:mail:live:UserMessageDeleted",function(e,n){n=n[n.length-1];d(n.data.count)}),t("#icon-messages").click(function(){a&&a.abort(),t("#loader_messages").parent().find(":not(#loader_messages)").remove(),i.set(t("#loader_messages").show()),o.get(n.config.url.list,{beforeSend:function(e){a=e}}).then(function(e){a=void 0,t("#loader_messages").parent().prepend(t(e.html)),t("#loader_messages").hide()})})),s()},loadMessage:function(e){var n=l.instance("#mail-conversation-root");n?(n.loadMessage(e),n.$.closest(".container").addClass("mail-conversation-single-message")):o.redirect(e.url),e.finish()},setMailMessageCount:d,updateCount:s,getNewMessageCount:function(){return r}})}); \ No newline at end of file +humhub.module("mail.notification",function(o,e,i){function n(){s.get(o.config.url.count).then(function(e){l(parseInt(e.newMessages))})}var a,s=e("client"),r=e("ui.loader"),t=e("event"),u=e("ui.widget").Widget,c=0,l=(o.initOnPjaxLoad=!0,function(e){var n=i("#badge-messages");e&&0!==parseInt(e)?(c=e,n.empty(),n.append(e),n.fadeIn("fast")):(n.css("display","none"),c=0),t.trigger("humhub:modules:notification:UpdateTitleNotificationCount")});o.export({init:function(e){e||(t.on("humhub:modules:mail:live:NewUserMessage",function(e,n){n=n[n.length-1];l(n.data.count)}).on("humhub:modules:mail:live:UserMessageDeleted",function(e,n){n=n[n.length-1];l(n.data.count)}),i("#icon-messages").click(function(){a&&a.abort();const n=i("#loader_messages"),t=n.parent();n.parent().find(":not(#loader_messages)").remove(),r.set(n.show()),s.get(o.config.url.list,{beforeSend:function(e){a=e}}).then(function(e){a=void 0,t.prepend(i(e.html)),n.hide(),t.niceScroll({cursorwidth:"7",cursorborder:"",cursorcolor:"#555",cursoropacitymax:"0.2",nativeparentscrolling:!1,railpadding:{top:0,right:3,left:0,bottom:0}})})})),n()},loadMessage:function(e){var n=u.instance("#mail-conversation-root");n?(n.loadMessage(e),n.$.closest(".container").addClass("mail-conversation-single-message")):s.redirect(e.url),e.finish()},setMailMessageCount:l,updateCount:n,getNewMessageCount:function(){return c}})}); \ No newline at end of file diff --git a/widgets/NewMessageButton.php b/widgets/NewMessageButton.php index 9d92adf4..a1a73617 100644 --- a/widgets/NewMessageButton.php +++ b/widgets/NewMessageButton.php @@ -37,7 +37,7 @@ class NewMessageButton extends Widget /** * @var bool */ - public $right = false; + public $right = true; /** * @var string @@ -49,7 +49,7 @@ class NewMessageButton extends Widget */ public function run() { - $button = ModalButton::info($this->getLabel())->load(Url::toCreateConversation($this->guid))->id($this->id); + $button = ModalButton::defaultType($this->getLabel())->load(Url::toCreateConversation($this->guid))->id($this->id); if($this->icon) { $button->icon($this->icon);