From ad8da7dce0cb3a7046abac9b5bc0d002b8ae64f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= Date: Sat, 5 Nov 2022 10:53:07 +0000 Subject: [PATCH 001/161] Initial commit --- .../app/themes/Nextcloud/styles.css | 1207 ++++++++++++++--- .../app/themes/Nextcloud/variables.css | 165 +++ .../nextcloud/snappymail/js/snappymail.js | 21 + 3 files changed, 1182 insertions(+), 211 deletions(-) create mode 100644 integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css index 685cd4dfcc..6b6c9e4755 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css @@ -1,218 +1,1003 @@ -* { -/* Nextcloud 25 - --background-image-invert-if-bright: no; - --background-invert-if-bright: invert(100%); - --background-invert-if-dark: no; - --border-radius: 3px; - --border-radius-large: 10px; - --border-radius-pill: 100px; - --breakpoint-mobile: 1024px; - --color-background-dark: #ededed; - --color-background-darker: #dbdbdb; - --color-background-hover: #f5f5f5; - --color-background-plain: #0082c9; - --color-border: #ededed; - --color-border-dark: #dbdbdb; - --color-box-shadow: rgba(var(--color-box-shadow-rgb), 0.5); - --color-box-shadow-rgb: 77,77,77; - --color-error: #e9322d; - --color-error-hover: #ed5a56; - --color-error-rgb: 233,50,45; - --color-loading-dark: #444444; - --color-loading-light: #cccccc; - --color-main-background: #ffffff; - --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); - --color-main-background-rgb: 255,255,255; - --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); - --color-main-text: #222222; - --color-placeholder-dark: #cccccc; - --color-placeholder-light: #e6e6e6; - --color-primary-default: #0082c9; - --color-primary-element: #00639a; - --color-primary-element-hover: #3282ae; - --color-primary-element-light: #e5eff4; - --color-primary-element-light-hover: #dbe4e9; - --color-primary-element-light-text: #00273d; - --color-primary-element-text: #ffffff; - --color-primary-element-text-dark: #ededed; - --color-primary-hover: #3282ae; - --color-primary-light: #e5eff4; - --color-primary-light-hover: #dbe4e9; - --color-primary-light-text: #00273d; - --color-primary-text: #ffffff; - --color-primary-text-dark: #ededed; - --color-primary: #00639a; - --color-scrollbar: rgba(34,34,34, .15); - --color-success: #46ba61; - --color-success-hover: #6ac780; - --color-success-rgb: 70,186,97; - --color-text-light: #222222; - --color-text-lighter: #767676; - --color-text-maxcontrast: #767676; - --color-text-maxcontrast-background-blur: #646464; - --color-text-maxcontrast-default: #767676; - --color-warning: #eca700; - --color-warning-hover: #efb832; - --color-warning-rgb: 236,167,0; - --default-clickable-area: 44px; - --default-font-size: 15px; - --default-grid-baseline: 4px; - --default-line-height: 24px; - --filter-background-blur: blur(25px); - --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; - --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); - --header-height: 50px; - --header-menu-item-height: 44px; - --header-menu-profile-item-height: 66px; - --image-background: url('/nextcloud/core/img/app-background.jpg'); - --list-max-width: 300px; - --list-min-width: 200px; - --navigation-width: 300px; - --primary-invert-if-bright: no; - --sidebar-max-width: 500px; - --sidebar-min-width: 300px; -*/ - --fontSans: var(--font-face); - - /* MAIN */ - --main-color: var(--color-main-text); - --main-bg-color: var(--color-main-background); - --main-bg-image: none; - --main-bg-size: auto; - --main-bg-repeat: repeat; - --main-font-size: 14px; - --link-color: #369; - --border-color: var(--color-border); - --hr-color: var(--color-border); - - --warning-clr: var(--color-warning); - --warning-bg-clr: #fcf8e3; - --warning-border-clr: #fbeed5; - - --error-clr: var(--color-error); - --error-bg-clr: #f2dede; - --error-border-clr: #eed3d7; - - --info-clr: #3a87ad; - --info-bg-clr: #d9edf7; - --info-border-clr: #bce8f1; - - /* LOADING */ - --loading-color: var(--color-main-text); - --loading-text-shadow: none; /* 0px 1px 0px rgba(0, 0, 0, 0.5); */ - - /* LOGIN */ - --login-color: var(--color-main-text); - --login-bg-color: var(--color-background-darker); - --login-box-shadow: var(--color-box-shadow); - --login-border: none; - --login-border-radius: var(--border-radius-large); - - --spinner-color: #fff; - - /* MENU */ - --dropdown-menu-color: var(--color-main-text); - --dropdown-menu-bg-color: var(--color-main-background); - --dropdown-menu-hover-bg-color: var(--color-background-hover); - --dropdown-menu-hover-color: var(--color-main-text); - --dropdown-menu-disabled-color: #999; - --dropdown-menu-border-clr: var(--color-border); - - /* FOLDERS */ - --folders-color: var(--color-main-text); - --folders-disabled-color: #999; - --folders-selected-color: var(--color-primary); - --folders-selected-bg-color: var(--color-background-darker); - --folders-focused-color: var(--color-primary); - --folders-focused-bg-color: var(--color-background-dark); - --folders-hover-color: var(--color-primary-hover); - --folders-hover-bg-color: var(--color-background-hover); - --folders-drop-color: var(--color-primary-hover); - --folders-drop-bg-color: var(--color-background-hover); - --unread-count-color: #fff; - --unread-count-bg-color: #333; - - /* SETTINGS */ - --settings-bg-clr: transparent; - --settings-menu-color: var(--color-main-text); - --settings-menu-selected-color: #eee; - --settings-menu-selected-bg-color: rgba(0,0,0,0.5); - --settings-menu-hover-color: #eee; - --settings-menu-hover-bg-color: rgba(0,0,0,0.5); - - /* MESSAGE LIST */ - --message-list-toolbar-bg-color: #eee; - - /* MESSAGE */ - --message-bg-color: #fff; - - /* DIALOGS */ - --dialog-clr: var(--color-main-text); - --dialog-bg-clr: var(--color-main-background); - --dialog-border-clr: var(--color-border); - --dialog-border-radius: var(--border-radius-large); - - /* FORMS */ - --btn-clr: var(--color-primary-text); - --btn-bg-clr: var(--color-primary-element); - --btn-border-clr: var(--color-border); - --btn-success-bg-clr: #84AB04; - --btn-danger-bg-clr: #ee5f5b; - - --input-clr: var(--color-main-text); - --input-bg-clr: var(--color-main-background); - --input-border-clr: var(--color-border-dark); - --input-border-radius: var(--border-radius); - --input-focus-border-clr: var(--color-primary-element); - - /* TABLES */ - --tr-hover-bg-clr: var(--color-background-hover); - --tr-odd-bg-clr: var(--color-background-darker); /* when striped */ - - /* TABS */ - --tab-active-bg-clr: var(--color-main-background); - --tab-hover-border-clr: var(--color-background-hover); -} - -.thm-message-list-top-toolbar, .thm-message-list-bottom-toolbar { - background: transparent linear-gradient(to bottom, var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%) repeat-x !important; -} -#V-AdminPane > .b-toolbar { - color: var(--main-color); - text-shadow: none; -} - -#rl-app dialog header { - background-color: var(--color-primary-element); - background-image: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%); - color: var(--color-primary-text); -} - -.messageList, .messageView { - background-color: var(--color-main-background, #fff); - border-color: var(--color-border); - border-radius: var(--border-radius); -} - -#messageItem { - color: var(--main-color, #000); +/** + * Nextcloud - SnappyMail mail plugin + * + * @author Rene Hampƶlz (@hampoelz), SnappyMail, Nextcloud Team + */ + +/* + * app layout changes, background & color + */ + +:root { + --link-color: var(--color-primary-light-text); +} + +#rl-app { + color: var(--color-main-text); + background-color: transparent; +} + +#rl-left { + background-color: var(--color-main-background-blur, var(--color-main-background)); + -webkit-backdrop-filter: var(--filter-background-blur, none); + backdrop-filter: var(--filter-background-blur, none); +} + +#rl-right { + background-color: var(--color-main-background); +} + +input { + box-shadow: none; +} + +.resizer { + opacity: 1; + background-color: unset; + border-right: solid 1px var(--color-border); +} + +.messageList, +.messageView { + margin: 0 5px; + border: none; + box-shadow: none !important; + background: var(--color-main-background); +} + +.b-folders .b-toolbar { + height: unset; + display: flex; + flex-direction: row; + padding: 8px; +} + +html.rl-left-panel-disabled .b-folders .b-toolbar { + flex-direction: column; +} + +@media screen and (min-width: 1000px) { + .b-folders .btn.buttonContacts { + transition: none; + } +} + +#V-SettingsMenu nav.b-content, +.b-folders .b-content { + padding: 8px; +} + +.b-folders .b-content { + top: 60px; + bottom: 162px; +} + +.b-folders .b-content.show-on-panel-disabled { + bottom: 56px; +} + +/* + * icon colors + */ + +.iconcolor-green { + color: var(--color-success) !important; +} + +.iconcolor-red { + color: var(--color-error) !important; +} + +/* + * side panel + */ + +#V-SettingsMenu nav a, +.b-folders li a.selectable { + margin: 2px; + padding: 0 2em 0 15px; + height: 38px; + line-height: 38px; + border-radius: var(--border-radius-pill); + color: unset; + border: none; +} + +#V-SettingsMenu nav a { + height: 44px; + line-height: 44px; +} + +#V-SettingsMenu nav a.selected, +.b-folders li a.selectable.selected { + color: unset; + background-color: var(--color-primary-light); +} + +#V-SettingsMenu nav a:not(.selected):hover, +#V-SettingsMenu nav a:not(.selected):focus, +.b-folders li a.selectable:not(.selected):hover, +.b-folders li a.selectable:not(.selected):focus { + color: unset; + background-color: var(--color-background-hover); +} + +.b-folders .b-folders-system a[data-unread]::after { + display: block; + margin: 0 ; + top: 50%; + transform: translateY(-50%); + + color: var(--color-primary-element); + background-color: var(--color-primary-light); + + text-shadow: none; +} + +.b-folders hr { + border-top: solid var(--color-main-text); + border-radius: var(--border-radius-pill); + opacity: .1; +} + +.b-folders input { + width: calc(100% - 10px) !important; + margin: 5px; + opacity: .7; +} + +.b-footer.btn-toolbar.hide-mobile, +.b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { + display: flex; + flex-direction: column; + align-content: stretch; + justify-content: flex-start; + height: unset; + box-sizing: border-box; + margin: 0; + padding: 0; + bottom: 0; +} + +.b-footer.btn-toolbar .btn-group { + padding: 3px !important; +} + +/* + * buttons + */ + +.btn { + min-height: 36px; + height: 36px; + box-sizing: border-box; + padding: 8px 14px; + line-height: 20px; + color: var(--color-main-text); + background-color: var(--color-background-dark); + border: 1px solid var(--color-border-dark); + border-radius: var(--border-radius-pill); + font-size: var(--default-font-size); +} + +.btn.btn-thin { + padding-right: 9px; + padding-left: 9px; +} + +.btn.disabled, .btn[disabled], +.btn.disabled:hover, .btn[disabled]:hover, +.btn.disabled:focus, .btn[disabled]:focus, +.btn.disabled:active, .btn[disabled]:active { + outline: none; + opacity: .5; + filter: saturate(0.7); +} + +.btn:not(.disabled, [disabled]):hover, +.btn:not(.disabled, [disabled]):focus { + border-color: var(--color-primary-element); + outline: none; + opacity: unset; +} + +.btn:not(.disabled, [disabled]):active { + outline: none; + opacity: unset; + background-color: var(--color-main-background); + color: var(--color-text-light); +} + +.btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled] { + text-shadow: none; + box-shadow: none; +} + +.btn.buttonCompose { + font-weight: bold; + max-width: 100%; + width: 100%; +} + +.btn.btn-success { + color: var(--color-primary-element-text); + background-color: var(--color-primary-element); + border-color: var(--color-primary-element); +} + +.btn.btn-success:hover, +.btn.btn-success:focus { + background-color: var(--color-primary-element-hover) !important; + border-color: var(--color-primary-element-hover); +} + +.btn.buttonCompose:active { + color: var(--color-primary-text-dark); +} + +.btn.buttonCompose, +.b-folders .btn.buttonContacts, +.b-footer.btn-toolbar .btn-group .btn { + box-sizing: border-box; + padding: 4px 14px; + line-height: 36px; + height: 44px; + min-width: -moz-fit-content; + min-width: -webkit-fill-available; + min-width: fit-content; + + font-size: var(--default-font-size); + border-radius: var(--border-radius-pill); +} + +.b-footer.btn-toolbar .btn-group .btn { + background: transparent; + text-align: left; + font-size: 22px; + margin: 3px; + border: unset; +} + +.b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { + width: -webkit-fill-available; + width: -moz-available; + width: fill-available; +} + +.b-footer.btn-toolbar .btn-group .btn.fontastic { + background-color: var(--color-main-background); +} + +.b-footer.btn-toolbar .btn-group .btn:after { + font-family: var(--font-face); + font-size: var(--default-font-size); + position: absolute; + margin-left: 15px; +} + +.b-footer.btn-toolbar .btn-group .btn.fontastic:after { + content: 'SnappyMail-Settings'; +} + +.b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { + content: 'Create new folder'; +} + +.icon-folder-add::before, +.icon-resize-in::before { + line-height: unset; +} + +.b-footer.btn-toolbar .btn-group .btn:hover, +.b-footer.btn-toolbar .btn-group .btn.fontastic:hover { + background-color: var(--color-background-hover); +} + +.b-footer.btn-toolbar .btn-group .btn:active, +.b-footer.btn-toolbar .btn-group .btn.fontastic:active { + background-color: var(--color-primary-element-light); +} + +.b-footer.btn-toolbar .btn-group .btn:focus, +.b-footer.btn-toolbar .btn-group .btn.fontastic:focus { + outline: none; +} + +#V-MailMessageList .btn-toolbar { + text-align: center; +} + +/* + * inputs + */ + +input { + padding: 0 12px; + font-size: var(--default-font-size); + color: var(--color-main-text); + background-color: unset; + height: 36px; + outline: none; + border: 2px solid var(--color-border-dark); + border-radius: var(--border-radius-large); +} + +input:hover, +input:active, +input:focus { + border-color: var(--color-primary-element); +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-results-button, +input[type="search"]::-webkit-search-results-decoration { + -webkit-appearance: none; +} + +input[type=number] { + -moz-appearance: textfield; + -webkit-appearance: textfield; + appearance: textfield; + margin: 0; +} + +/* + * select + */ + +.emailaddresses, +.select, select { + padding: 8px 12px; + font-size: var(--default-font-size); + color: var(--color-main-text); + background-color: unset; + height: 44px; + outline: none; + border: 2px solid var(--color-border-dark); + border-radius: var(--border-radius-large); + line-height: 24px; +} + +.emailaddresses:hover, +.emailaddresses:active, +.emailaddresses:focus, +.select:hover, select:hover, +.select:active, select:active, +.select:focus, select:focus { + border-color: var(--color-primary-element); +} + +select option { + background-color: var(--color-background-dark); + color: var(--color-main-text); +} + +/* + * email address select + */ + +.emailaddresses { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + gap: 5px; + /* max-height: padding*2 [top & bottom] + gap*(lines + 1) + li-height*lines [= li-height + li-padding*2 + li-border*2 ] */ + max-height: calc(8px*2 + 5px*3 + 26px*2); + height: auto; + width: 100%; +} + +.emailaddresses.emailaddresses-focused { + border: 2px solid var(--color-primary-element); +} + +.emailaddresses li[draggable] { + line-height: 20px; + padding: 2px 15px 2px 5px; + color: var(--color-main-text); + border: 1px solid var(--color-border-dark); + border-radius: var(--border-radius); + margin: 0; + box-shadow: none; + background-color: unset; +} + +.emailaddresses li a { + /* TODO */ +} + +/* + * message list + */ + +.thm-message-list-top-toolbar, +.thm-message-list-bottom-toolbar { + background: unset !important; +} + +.messageList .second-toolbar { + align-items: center; +} + +.messageList .second-toolbar, +.messageList .b-footer { + border-color: var(--color-border); +} + +.messageList .inputSearch { + max-width: unset; +} + +.messageList .closeSearch { + position: absolute; + top: 2px; + right: 1px; + min-width: unset; + min-height: unset; + height: 32px; + font-size: 20px; + line-height: 30px; +} + +.messageList .checkboxCheckAll { + margin: 0 12px; +} + +.messageList .checkboxCheckAll:hover, +.messageList .checkboxCheckAll:focus { + color: var(--color-primary-element); +} + +.messageList .checkboxCheckAll:active { + color: var(--color-primary-element-hover); +} + +html:not(rl-mobile) .hideMessageListCheckbox .checkboxCheckAll { + display: none; +} + +.messageList .btn.buttonMoreSearch { + background: unset; + border-radius: var(--border-radius-large); + margin: 0 0 0 8px; + line-height: 20px !important; +} + +.messageList .checkboxCheckAll, +.messageList .btn.buttonMoreSearch { + font-size: var(--default-font-size); + height: 28px; + line-height: 28px; +} + +.messageList .b-content .listThreadUidDesc { + margin: 8px; + color: var(--color-main-text); + background: unset; + border: solid 1px; + border-radius: var(--border-radius-large); + border-color: var(--color-border-dark); +} + +.messageList .b-content .listThreadUidDesc:hover, +.messageList .b-content .listThreadUidDesc:focus { + background: var(--color-background-hover); +} + +.messageList .b-content .listThreadUidDesc:active { + background-color: var(--color-primary-light); +} + +.messageList .b-content .listSearchDesc { + border-color: var(--color-border); +} + +.messageList .b-content .listDragOver { + /* ! does not work */ +} + +.messageList .b-content .listError { + /* ? cant reproduce */ } + +.messageList .b-content .listDragOver, +.messageList .b-content .listEmptyMessage, +.messageList .b-content .listError, +.messageList .b-content .listLoading { + color: var(--color-text-lighter); +} + +.messageListItem .checkboxMessage { + border-color: var(--color-text-lighter); + color: var(--color-text-lighter); +} + +.messageListItem .checkboxMessage:hover, +.messageListItem .checkboxMessage:focus { + background-color: var(--color-background-darker); +} + +.messageListItem .checkboxMessage:active { + background-color: var(--color-primary-light-hover); +} + +.messageListItem .threads-len { + color: var(--color-text-light); + border-color: var(--color-text-light); + padding: 0 4px; +} + +.messageListItem .threads-len:hover, +.messageListItem .threads-len:focus { + background-color: var(--color-background-darker); + border-color: unset; +} + +.messageListItem .threads-len:active { + background-color: var(--color-primary-light-hover); +} + +.messageListItem { + padding: 8px; + margin: 2px 0; + border-bottom: unset; + border-radius: var(--border-radius); +} + +.messageListItem, +.messageListItem.focused { + background-color: var(--color-background); + border-left-color: var(--color-border); +} + +.messageListItem:hover, +.messageListItem.focused:hover { + background-color: var(--color-background-hover); + border-left-color: var(--color-primary-light-hover); +} + +.messageListItem.selected, +.messageListItem.selected:hover { + background-color: var(--color-primary-element-light) !important; + border-left-color: var(--color-primary-element-light-text); +} + +.messageListItem.unseen, +.messageListItem.hasUnseenSubMessage { + background-color: unset; + border-left-color: var(--color-primary-element); +} + +.messageListItem.unseen.focused, +.messageListItem.unseen.focused:hover, +.messageListItem.hasUnseenSubMessage.focused, +.messageListItem.hasUnseenSubMessage.focused:hover { + background-color: var(--color-primary-light); + border-left-color: var(--color-primary-element); +} + +.messageListItem.unseen:hover, +.messageListItem.hasUnseenSubMessage:hover { + background-color: var(--color-background-hover); + border-left-color: var(--color-primary-element-hover); +} + +.messageListItem.hasUnseenSubMessage .threads-len { + border-color: var(--color-primary-element); + border-width: 2px; + font-weight: 700; +} + +.messageListItem.hasUnseenSubMessage .threads-len:hover { + border-color: var(--color-primary-element-hover); +} + +.messageListItem.checked { + background-color: unset; + border-left-color: var(--color-primary-light-text); +} + +.messageListItem.checked.focused { + background-color: inherit; + border-left-color: var(--color-primary-element-light-text); +} + +.messageListItem.checked:hover, +.messageListItem.checked.focused:hover { + background-color: var(--color-background-hover); + border-left-color: inherit; +} + +/* + * message view + */ + +#V-MailMessageView { + bottom: 0; +} + +html:not(.rl-mobile):not(.rl-no-preview-pane) .messageView .top-toolbar { + /* TODO Improve mobile experience */ +} + +.messageView .b-message-view-desc, +.messageView .b-message-view-checked-helper { + color: var(--color-text-lighter); +} + +.messageView .b-message-view-desc.error { + /* ? cant reproduce */ +} + +meter::-webkit-meter-bar { + background-color: var(--color-border-dark); + border-color: var(--color-border-dark); + border-width: 2px; + height: 10px; +} + +.messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value { + background-color: var(--color-success); + border-radius: var(--border-radius-pill); +} + +.messageView .messageItemHeader .informationShort meter::-webkit-meter-suboptimum-value { + background-color: var(--color-warning); + border-radius: var(--border-radius-pill); +} + +.messageView .messageItemHeader .informationShort meter::-webkit-meter-even-less-good-value { + background-color: var(--color-error); + border-radius: var(--border-radius-pill); +} + +.messageView .messageItemHeader .hasVirus { + background: unset; + border: solid 2px var(--color-error); + border-radius: var(--border-radius); + margin: 5px; +} + +.messageView .openpgp-control.encrypted, +.messageView .openpgp-control.signed { + border-radius: var(--border-radius); +} + +#V-MailMessageView .b-message-view-backdrop { + background-color: var(--color-main-background-blur); + -webkit-backdrop-filter: blur(2px); + backdrop-filter: blur(2px); +} + +#V-MailMessageView .b-message-view-backdrop .backdrop-message { + background-color: var(--color-main-background); + border: solid 1px var(--color-primary); + border-radius: var(--border-radius-large); + text-shadow: none; + margin: 10px; +} + +.messageView .messageAssignedTags { + margin: 0 5px; +} + +.messageView .messageAssignedTags span { + border-radius: var(--border-radius-pill); + background: unset; + padding: 2px 5px; +} + +#messageItem .readReceipt, +#messageItem .showImages { + margin: 8px; + color: var(--color-main-text); + border: solid 1px var(--color-primary-element); + background-color: var(--color-primary-light); + border-radius: var(--border-radius-large); +} + +#messageItem .readReceipt:hover, +#messageItem .showImages:hover { + background-color: var(--color-primary-light-hover); +} + .messageView .messageItemHeader, -#messageItem .attachmentsPlace, -#messageItem .attachmentsControls, -#messageItem .bodySubHeader > * { - background-color: var(--color-main-background, #eee); +#messageItem .attachmentsPlace { + background-color: unset; + border-color: var(--color-border); + color: var(--color-main-text); } -#V-MailFolderList.focused .b-content, -#V-MailMessageList.focused .messageList, -#V-MailMessageView.focused .messageView { - border-color: var(--color-border-dark); - box-shadow: 0 2px 8px var(--color-box-shadow); +#messageItem .attachmentsPlace { + border-top: 1px solid var(--color-border); + top: -1px; } -#rl-app button.btn:not(.button-vue) { - color: var(--color-primary-text); - background-color: var(--color-primary-element); +#messageItem .attachmentsPlace .controls-handle { + -webkit-user-select: none; + user-select: none; } + +#messageItem .attachmentsPlace .attachmentItem { + background-color: var(--color-background-dark); + border-radius: var(--border-radius); + box-shadow: none; +} + +#messageItem .attachmentsPlace .attachmentItem:hover, +#messageItem .attachmentsPlace .attachmentItem:active { + background-color: var(--color-background-darker); +} + +#messageItem .attachmentsPlace .attachmentItem:focus { + outline: none; +} + +#messageItem .attachmentsPlace .attachmentItem .attachmentNameParent { + border-color: var(--color-border-dark); +} + +#messageItem .attachmentsPlace .attachmentItem .iconMain, +#messageItem .attachmentsPlace .attachmentItem .iconPreview { + color: var(--color-text-light); +} + +#messageItem .attachmentsControls { + background-color: unset; + border-color: var(--color-border); + -webkit-user-select: none; + user-select: none; +} + +#messageItem .attachmentsControls .icon-file-archive, +#messageItem .attachmentsControls .fontastic { + color: var(--color-main-text); +} + +/* + * message flags + */ + +:root { + --msgflag-\$label1-color: #ae2c35; + --msgflag-\$label1-color-hover: #e13a45; + --msgflag-\$label2-color: #cc9827; + --msgflag-\$label2-color-hover: #ffbf31; + --msgflag-\$label3-color: #005235; + --msgflag-\$label3-color-hover: #008557; + --msgflag-\$label4-color: #005cc4; + --msgflag-\$label4-color-hover: #0074f8; + --msgflag-\$label5-color: #5631c0; + --msgflag-\$label5-color-hover: #6d3ff3; + + --msgflag-\\flagged-color: #ffca32; +} + +.msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); } +.msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); } +.msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); } +.msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); } +.msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); } + +.msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; } +.msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; } +.msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; } +.msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; } +.msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; } + +.msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); } +.msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); } +.msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); } +.msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); } +.msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); } + +.msgflag-\$label1:not(.focused), .msgflag-\$label1 .checkboxMessage, +.msgflag-\$label2:not(.focused), .msgflag-\$label2 .checkboxMessage, +.msgflag-\$label3:not(.focused), .msgflag-\$label3 .checkboxMessage, +.msgflag-\$label4:not(.focused), .msgflag-\$label4 .checkboxMessage, +.msgflag-\$label5:not(.focused), .msgflag-\$label5 .checkboxMessage { + background-color: unset; + color: unset; +} + +.messageListItem.msgflag-\$label1:hover, +.messageListItem.msgflag-\$label2:hover, +.messageListItem.msgflag-\$label3:hover, +.messageListItem.msgflag-\$label4:hover, +.messageListItem.msgflag-\$label5:hover { + background-color: var(--color-background-hover); +} + +a.msgflag-\$label1, +a.msgflag-\$label2, +a.msgflag-\$label3, +a.msgflag-\$label4, +a.msgflag-\$label5 { + border-left: solid 5px; +} + +.btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), +.btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { + border-left: solid 5px transparent; +} + +.b-folders .is-flagged .flag-icon::after, +.messageListItem.hasFlaggedSubMessage .flagParent::after, +.messageListItem.msgflag-\\flagged .flagParent::after { + color: var(--msgflag-\\flagged-color); +} + +/* + * dropdown menus + */ + +.dropdown.show { + box-shadow: none; +} + +.dropdown-menu { + background-color: var(--color-main-background); + filter: drop-shadow(0 1px 5px var(--color-box-shadow)); + border-radius: var(--border-radius-large); + color: var(--color-main-text); + padding: 4px; +} + +.dropdown-menu a { + background-color: unset; + color: unset; + height: 22px; + line-height: 22px; + border-radius: 3px; + margin: 2px; +} + +.dropdown-menu li.disabled > a, +.dropdown-menu li.disabled > a:hover, +.dropdown-menu li.disabled > a:focus, +.dropdown-menu li.disabled > a:active { + opacity: .5; + filter: saturate(0.7); +} + +.dropdown-menu li:not(.disabled) > a:hover, +.dropdown-menu li:not(.disabled) > a:focus { + background-color: var(--color-background-hover); + color: unset; + opacity: unset; +} + +.dropdown-menu li:not(.disabled) > a:active { + background-color: var(--color-primary-light); +} + +.dropdown-menu *+.dividerbar { + border-color: var(--color-border); +} + +.dropdown-menu ::-webkit-scrollbar-track-piece { + background-color: inherit; + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; +} + +/* + * account selector + */ + +.btn-toolbar.g-ui-user-select-none { + border: solid 1px var(--color-border-dark); + border-radius: var(--border-radius-large); + height: 36px; + padding: 2px; + display: flex; + flex-direction: row; + align-items: center; +} + +#V-SystemDropDown .accountPlace { + background: unset; + color: unset; + text-shadow: none; +} + +#V-SystemDropDown #top-system-dropdown-id { + background-color: unset; + border: unset; + border-radius: var(--border-radius-large) !important; + height: 20px; +} + +#V-SystemDropDown #top-system-dropdown-id:hover, +#V-SystemDropDown #top-system-dropdown-id:focus { + background-color: var(--color-background-hover); +} + +#V-SystemDropDown #top-system-dropdown-id:active { + background-color: var(--color-background-dark); +} + +/* TODO: darken mails only with NC dark theme (needs some more js) */ +/* + * dark mails + */ + +@media (prefers-color-scheme: dark) { + .bodyText, .bodyText img { + filter: invert(95%) hue-rotate(180deg); + } + + .bodyText img { + border-radius: 4px; + } +} + +/* TODO: Improve settings layout and theming */ +/* + * settings + */ + +#rl-settings-subscreen { + background-color: unset; + box-shadow: none; + border: none; +} + +.legend { + color: unset; + border-color: var(--color-border); +} + +/* + * scrollbar + */ + +::-webkit-scrollbar { + width: 12px; + height: 12px; +} + +::-webkit-scrollbar-thumb { + background: var(--color-scrollbar); + border-radius: var(--border-radius-large); + border: 2px solid transparent; + background-clip: content-box; +} + +::-webkit-scrollbar-track-piece { + background-color: transparent; +} + +::selection { + background-color: var(--color-primary-element); + color: var(--color-primary-text); +} + +/* TODO: Improve popup layout and theming */ +/* + * Popups + */ + +dialog { + background: var(--color-main-background); + color: var(--color-main-text); + border-radius: var(--border-radius-large); + filter: drop-shadow(0 1px 5px var(--color-box-shadow)); + box-shadow: none; + border-color: var(--color-border); +} + +#V-PopupsCompose .b-header { + background: unset; +} + +.squire-toolbar { + height: 50px; +} + +dialog > header, +dialog > footer, +.squire-toolbar { + border-color: var(--color-border); +} \ No newline at end of file diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css new file mode 100644 index 0000000000..9a49ad4e06 --- /dev/null +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css @@ -0,0 +1,165 @@ +/** + * Nextcloud - SnappyMail mail plugin + * + * @author Nextcloud Team + * + * Based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss + * + * Theme variables for Nextcloud backwards compatibility! + * + * When using this theme as a standalone SnappyMail theme, + * this file will serve as a template for customization. + */ + +/* Default Nextcloud (v25) theme variables and colors */ +:root { + --color-main-background: #ffffff; + --color-main-background-not-plain: #0082c9; + --color-main-background-rgb: 255,255,255; + --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); + --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); + --filter-background-blur: blur(25px); + --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; + --color-background-hover: #f5f5f5; + --color-background-dark: #ededed; + --color-background-darker: #dbdbdb; + --color-placeholder-light: #e6e6e6; + --color-placeholder-dark: #cccccc; + --color-main-text: #222222; + --color-text-maxcontrast: #767676; + --color-text-maxcontrast-default: #767676; + --color-text-maxcontrast-background-blur: #646464; + --color-text-light: #222222; + --color-text-lighter: #767676; + --color-scrollbar: rgba(34,34,34, .15); + --color-error: #e9322d; + --color-error-rgb: 233,50,45; + --color-error-hover: #ed5a56; + --color-warning: #eca700; + --color-warning-rgb: 236,167,0; + --color-warning-hover: #efb832; + --color-success: #46ba61; + --color-success-rgb: 70,186,97; + --color-success-hover: #6ac780; + --color-loading-light: #cccccc; + --color-loading-dark: #444444; + --color-box-shadow-rgb: 77,77,77; + --color-box-shadow: rgba(var(--color-box-shadow-rgb), 0.5); + --color-border: #ededed; + --color-border-dark: #dbdbdb; + --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --default-font-size: 15px; + --animation-quick: 100ms; + --animation-slow: 300ms; + --border-radius: 3px; + --border-radius-large: 10px; + --border-radius-pill: 100px; + --default-clickable-area: 44px; + --default-line-height: 24px; + --default-grid-baseline: 4px; + --header-height: 50px; + --navigation-width: 300px; + --sidebar-min-width: 300px; + --sidebar-max-width: 500px; + --list-min-width: 200px; + --list-max-width: 300px; + --header-menu-item-height: 44px; + --header-menu-profile-item-height: 66px; + --breakpoint-mobile: 1024px; + --primary-invert-if-bright: no; + --background-invert-if-dark: no; + --background-invert-if-bright: invert(100%); + --color-primary: #00639a; + --color-primary-default: #0082c9; + --color-primary-text: #ffffff; + --color-primary-hover: #3282ae; + --color-primary-light: #e5eff4; + --color-primary-light-text: #00273d; + --color-primary-light-hover: #dbe4e9; + --color-primary-text-dark: #ededed; + --color-primary-element: #00639a; + --color-primary-element-text: #ffffff; + --color-primary-element-hover: #3282ae; + --color-primary-element-light: #e5eff4; + --color-primary-element-light-text: #00273d; + --color-primary-element-light-hover: #dbe4e9; + --color-primary-element-text-dark: #ededed; + --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); +} + +@media (prefers-color-scheme: dark) { + :root { + --color-main-background: #171717; + --color-main-background-not-plain: #0082c9; + --color-main-background-rgb: 23,23,23; + --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); + --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); + --filter-background-blur: blur(25px); + --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; + --color-background-hover: #212121; + --color-background-dark: #292929; + --color-background-darker: #3b3b3b; + --color-placeholder-light: #313131; + --color-placeholder-dark: #4a4a4a; + --color-main-text: #D8D8D8; + --color-text-maxcontrast: #8c8c8c; + --color-text-maxcontrast-default: #8c8c8c; + --color-text-maxcontrast-background-blur: #919191; + --color-text-light: #bfbfbf; + --color-text-lighter: #a5a5a5; + --color-scrollbar: #3d3d3d; + --color-error: #e9322d; + --color-error-rgb: 233,50,45; + --color-error-hover: #ed5a56; + --color-warning: #eca700; + --color-warning-rgb: 236,167,0; + --color-warning-hover: #efb832; + --color-success: #46ba61; + --color-success-rgb: 70,186,97; + --color-success-hover: #6ac780; + --color-loading-light: #777; + --color-loading-dark: #CCC; + --color-box-shadow-rgb: 0,0,0; + --color-box-shadow: #000000; + --color-border: #292929; + --color-border-dark: #3b3b3b; + --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --default-font-size: 15px; + --animation-quick: 100ms; + --animation-slow: 300ms; + --border-radius: 3px; + --border-radius-large: 10px; + --border-radius-pill: 100px; + --default-clickable-area: 44px; + --default-line-height: 24px; + --default-grid-baseline: 4px; + --header-height: 50px; + --navigation-width: 300px; + --sidebar-min-width: 300px; + --sidebar-max-width: 500px; + --list-min-width: 200px; + --list-max-width: 300px; + --header-menu-item-height: 44px; + --header-menu-profile-item-height: 66px; + --breakpoint-mobile: 1024px; + --primary-invert-if-bright: no; + --background-invert-if-dark: invert(100%); + --background-invert-if-bright: no; + --color-primary: #00639a; + --color-primary-default: #0082c9; + --color-primary-text: #ffffff; + --color-primary-hover: #04537f; + --color-primary-light: #141e24; + --color-primary-light-text: #99c0d6; + --color-primary-light-hover: #1d272d; + --color-primary-text-dark: #ededed; + --color-primary-element: #00639a; + --color-primary-element-text: #ffffff; + --color-primary-element-hover: #04537f; + --color-primary-element-light: #141e24; + --color-primary-element-light-text: #99c0d6; + --color-primary-element-light-hover: #1d272d; + --color-primary-element-text-dark: #ededed; + --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); + } +} \ No newline at end of file diff --git a/integrations/nextcloud/snappymail/js/snappymail.js b/integrations/nextcloud/snappymail/js/snappymail.js index f3aae6f49c..cb41930f38 100644 --- a/integrations/nextcloud/snappymail/js/snappymail.js +++ b/integrations/nextcloud/snappymail/js/snappymail.js @@ -15,6 +15,27 @@ document.onreadystatechange = () => { } }; +document.addEventListener('DOMContentLoaded', () => { + passThemes(); +}); + +// Pass nextcloud themes and theme attributes to SnappyMail. +function passThemes() { + const iframe = document.getElementById('rliframe'); + if (!iframe) return; + + const target = iframe.contentWindow.document; + + const ncStylesheets = [...document.querySelectorAll('link.theme')]; + ncStylesheets.forEach(ncSheet => { + const smSheet = target.importNode(ncSheet, true); + target.head.appendChild(smSheet); + }); + + const themes = [...document.body.attributes].filter(att => att.name.startsWith('data-theme')); + themes.forEach(theme => target.body.setAttribute(theme.name, theme.value)); +} + // The SnappyMail application is already configured to modify the element // of its root document with the number of unread messages in the inbox. // However, its document is the SnappyMail iframe. This function sets up a From 2f8203abda1689adf80d18c250cf66f1655b63bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 5 Nov 2022 15:27:24 +0000 Subject: [PATCH 002/161] fix formatting --- integrations/nextcloud/snappymail/js/snappymail.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/js/snappymail.js b/integrations/nextcloud/snappymail/js/snappymail.js index cb41930f38..e35697e652 100644 --- a/integrations/nextcloud/snappymail/js/snappymail.js +++ b/integrations/nextcloud/snappymail/js/snappymail.js @@ -22,9 +22,9 @@ document.addEventListener('DOMContentLoaded', () => { // Pass nextcloud themes and theme attributes to SnappyMail. function passThemes() { const iframe = document.getElementById('rliframe'); - if (!iframe) return; + if (!iframe) return; - const target = iframe.contentWindow.document; + const target = iframe.contentWindow.document; const ncStylesheets = [...document.querySelectorAll('link.theme')]; ncStylesheets.forEach(ncSheet => { From 94506ed726ccfc80a5c1fce15b33625d560dbab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 5 Nov 2022 16:45:29 +0000 Subject: [PATCH 003/161] fix: nextcloud theme font-family is not used --- .../nextcloud/snappymail/app/themes/Nextcloud/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css index 6b6c9e4755..7d9ca8d19b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css @@ -15,6 +15,7 @@ #rl-app { color: var(--color-main-text); background-color: transparent; + font-family: var(--font-face); } #rl-left { From 7da114b0c9f6fdc1fbef0874bd8a9ce0f9bda6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 5 Nov 2022 16:52:45 +0000 Subject: [PATCH 004/161] fix: nextcloud theme font-size is not used --- .../nextcloud/snappymail/app/themes/Nextcloud/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css index 7d9ca8d19b..59678031e7 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css @@ -16,6 +16,7 @@ color: var(--color-main-text); background-color: transparent; font-family: var(--font-face); + font-size: var(--default-font-size); } #rl-left { From 8d2446f314ba573a869253375f4fd9d84f699e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 7 Nov 2022 16:24:08 +0000 Subject: [PATCH 005/161] chore: Move files to new theme folder --- .../app/themes/Nextcloud25/images/preview.png | Bin 0 -> 8042 bytes .../themes/{Nextcloud => Nextcloud25}/styles.css | 0 .../{Nextcloud => Nextcloud25}/variables.css | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png rename integrations/nextcloud/snappymail/app/themes/{Nextcloud => Nextcloud25}/styles.css (100%) rename integrations/nextcloud/snappymail/app/themes/{Nextcloud => Nextcloud25}/variables.css (100%) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f82db8789628047c5cf794d1d949276d860712 GIT binary patch literal 8042 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 literal 0 HcmV?d00001 diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css similarity index 100% rename from integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css rename to integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css similarity index 100% rename from integrations/nextcloud/snappymail/app/themes/Nextcloud/variables.css rename to integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css From 2d6e2deb3df918e5b126561c0412504f8eb1a94e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 7 Nov 2022 16:33:38 +0000 Subject: [PATCH 006/161] revert: Nextcloud v25 styles in upstream style file --- .../app/themes/Nextcloud/styles.css | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css new file mode 100644 index 0000000000..685cd4dfcc --- /dev/null +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud/styles.css @@ -0,0 +1,218 @@ +* { +/* Nextcloud 25 + --background-image-invert-if-bright: no; + --background-invert-if-bright: invert(100%); + --background-invert-if-dark: no; + --border-radius: 3px; + --border-radius-large: 10px; + --border-radius-pill: 100px; + --breakpoint-mobile: 1024px; + --color-background-dark: #ededed; + --color-background-darker: #dbdbdb; + --color-background-hover: #f5f5f5; + --color-background-plain: #0082c9; + --color-border: #ededed; + --color-border-dark: #dbdbdb; + --color-box-shadow: rgba(var(--color-box-shadow-rgb), 0.5); + --color-box-shadow-rgb: 77,77,77; + --color-error: #e9322d; + --color-error-hover: #ed5a56; + --color-error-rgb: 233,50,45; + --color-loading-dark: #444444; + --color-loading-light: #cccccc; + --color-main-background: #ffffff; + --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); + --color-main-background-rgb: 255,255,255; + --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); + --color-main-text: #222222; + --color-placeholder-dark: #cccccc; + --color-placeholder-light: #e6e6e6; + --color-primary-default: #0082c9; + --color-primary-element: #00639a; + --color-primary-element-hover: #3282ae; + --color-primary-element-light: #e5eff4; + --color-primary-element-light-hover: #dbe4e9; + --color-primary-element-light-text: #00273d; + --color-primary-element-text: #ffffff; + --color-primary-element-text-dark: #ededed; + --color-primary-hover: #3282ae; + --color-primary-light: #e5eff4; + --color-primary-light-hover: #dbe4e9; + --color-primary-light-text: #00273d; + --color-primary-text: #ffffff; + --color-primary-text-dark: #ededed; + --color-primary: #00639a; + --color-scrollbar: rgba(34,34,34, .15); + --color-success: #46ba61; + --color-success-hover: #6ac780; + --color-success-rgb: 70,186,97; + --color-text-light: #222222; + --color-text-lighter: #767676; + --color-text-maxcontrast: #767676; + --color-text-maxcontrast-background-blur: #646464; + --color-text-maxcontrast-default: #767676; + --color-warning: #eca700; + --color-warning-hover: #efb832; + --color-warning-rgb: 236,167,0; + --default-clickable-area: 44px; + --default-font-size: 15px; + --default-grid-baseline: 4px; + --default-line-height: 24px; + --filter-background-blur: blur(25px); + --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; + --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); + --header-height: 50px; + --header-menu-item-height: 44px; + --header-menu-profile-item-height: 66px; + --image-background: url('/nextcloud/core/img/app-background.jpg'); + --list-max-width: 300px; + --list-min-width: 200px; + --navigation-width: 300px; + --primary-invert-if-bright: no; + --sidebar-max-width: 500px; + --sidebar-min-width: 300px; +*/ + --fontSans: var(--font-face); + + /* MAIN */ + --main-color: var(--color-main-text); + --main-bg-color: var(--color-main-background); + --main-bg-image: none; + --main-bg-size: auto; + --main-bg-repeat: repeat; + --main-font-size: 14px; + --link-color: #369; + --border-color: var(--color-border); + --hr-color: var(--color-border); + + --warning-clr: var(--color-warning); + --warning-bg-clr: #fcf8e3; + --warning-border-clr: #fbeed5; + + --error-clr: var(--color-error); + --error-bg-clr: #f2dede; + --error-border-clr: #eed3d7; + + --info-clr: #3a87ad; + --info-bg-clr: #d9edf7; + --info-border-clr: #bce8f1; + + /* LOADING */ + --loading-color: var(--color-main-text); + --loading-text-shadow: none; /* 0px 1px 0px rgba(0, 0, 0, 0.5); */ + + /* LOGIN */ + --login-color: var(--color-main-text); + --login-bg-color: var(--color-background-darker); + --login-box-shadow: var(--color-box-shadow); + --login-border: none; + --login-border-radius: var(--border-radius-large); + + --spinner-color: #fff; + + /* MENU */ + --dropdown-menu-color: var(--color-main-text); + --dropdown-menu-bg-color: var(--color-main-background); + --dropdown-menu-hover-bg-color: var(--color-background-hover); + --dropdown-menu-hover-color: var(--color-main-text); + --dropdown-menu-disabled-color: #999; + --dropdown-menu-border-clr: var(--color-border); + + /* FOLDERS */ + --folders-color: var(--color-main-text); + --folders-disabled-color: #999; + --folders-selected-color: var(--color-primary); + --folders-selected-bg-color: var(--color-background-darker); + --folders-focused-color: var(--color-primary); + --folders-focused-bg-color: var(--color-background-dark); + --folders-hover-color: var(--color-primary-hover); + --folders-hover-bg-color: var(--color-background-hover); + --folders-drop-color: var(--color-primary-hover); + --folders-drop-bg-color: var(--color-background-hover); + --unread-count-color: #fff; + --unread-count-bg-color: #333; + + /* SETTINGS */ + --settings-bg-clr: transparent; + --settings-menu-color: var(--color-main-text); + --settings-menu-selected-color: #eee; + --settings-menu-selected-bg-color: rgba(0,0,0,0.5); + --settings-menu-hover-color: #eee; + --settings-menu-hover-bg-color: rgba(0,0,0,0.5); + + /* MESSAGE LIST */ + --message-list-toolbar-bg-color: #eee; + + /* MESSAGE */ + --message-bg-color: #fff; + + /* DIALOGS */ + --dialog-clr: var(--color-main-text); + --dialog-bg-clr: var(--color-main-background); + --dialog-border-clr: var(--color-border); + --dialog-border-radius: var(--border-radius-large); + + /* FORMS */ + --btn-clr: var(--color-primary-text); + --btn-bg-clr: var(--color-primary-element); + --btn-border-clr: var(--color-border); + --btn-success-bg-clr: #84AB04; + --btn-danger-bg-clr: #ee5f5b; + + --input-clr: var(--color-main-text); + --input-bg-clr: var(--color-main-background); + --input-border-clr: var(--color-border-dark); + --input-border-radius: var(--border-radius); + --input-focus-border-clr: var(--color-primary-element); + + /* TABLES */ + --tr-hover-bg-clr: var(--color-background-hover); + --tr-odd-bg-clr: var(--color-background-darker); /* when striped */ + + /* TABS */ + --tab-active-bg-clr: var(--color-main-background); + --tab-hover-border-clr: var(--color-background-hover); +} + +.thm-message-list-top-toolbar, .thm-message-list-bottom-toolbar { + background: transparent linear-gradient(to bottom, var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%) repeat-x !important; +} +#V-AdminPane > .b-toolbar { + color: var(--main-color); + text-shadow: none; +} + +#rl-app dialog header { + background-color: var(--color-primary-element); + background-image: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%); + color: var(--color-primary-text); +} + +.messageList, .messageView { + background-color: var(--color-main-background, #fff); + border-color: var(--color-border); + border-radius: var(--border-radius); +} + +#messageItem { + color: var(--main-color, #000); +} +.messageView .messageItemHeader, +#messageItem .attachmentsPlace, +#messageItem .attachmentsControls, +#messageItem .bodySubHeader > * { + background-color: var(--color-main-background, #eee); +} + +#V-MailFolderList.focused .b-content, +#V-MailMessageList.focused .messageList, +#V-MailMessageView.focused .messageView { + border-color: var(--color-border-dark); + box-shadow: 0 2px 8px var(--color-box-shadow); +} + +#rl-app button.btn:not(.button-vue) { + color: var(--color-primary-text); + background-color: var(--color-primary-element); +} From 5f19bb8699eb4c7ae5872702ccebd10f951d4dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 12 Nov 2022 16:15:21 +0000 Subject: [PATCH 007/161] fix: Passed stylesheets are 'unloaded' after some time --- .../nextcloud/snappymail/js/snappymail.js | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/js/snappymail.js b/integrations/nextcloud/snappymail/js/snappymail.js index e35697e652..a004027138 100644 --- a/integrations/nextcloud/snappymail/js/snappymail.js +++ b/integrations/nextcloud/snappymail/js/snappymail.js @@ -16,14 +16,28 @@ document.onreadystatechange = () => { }; document.addEventListener('DOMContentLoaded', () => { - passThemes(); + const iframe = document.getElementById('rliframe'); + if (!iframe) return; + + let firstLoad = true; + + iframe.addEventListener('load', event => { + // repass theme styles when iframe is reloaded + if (!firstLoad) { + passThemes(event.target); + } + firstLoad = false; + }); + + passThemes(iframe); + + // TODO: add initial stylesheets without primary colors to improve loading experience }); // Pass nextcloud themes and theme attributes to SnappyMail. -function passThemes() { - const iframe = document.getElementById('rliframe'); +function passThemes(iframe) { if (!iframe) return; - + const target = iframe.contentWindow.document; const ncStylesheets = [...document.querySelectorAll('link.theme')]; From 23b31c7c26fb774584e3378691dfa120d328de88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 12 Nov 2022 16:23:07 +0000 Subject: [PATCH 008/161] fix: Broken styles in embed mode --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 59678031e7..3db7538f3e 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -155,7 +155,7 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { align-content: stretch; justify-content: flex-start; height: unset; - box-sizing: border-box; + box-sizing: border-box !important; margin: 0; padding: 0; bottom: 0; @@ -172,7 +172,7 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { .btn { min-height: 36px; height: 36px; - box-sizing: border-box; + box-sizing: border-box !important; padding: 8px 14px; line-height: 20px; color: var(--color-main-text); @@ -240,7 +240,7 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { .btn.buttonCompose, .b-folders .btn.buttonContacts, .b-footer.btn-toolbar .btn-group .btn { - box-sizing: border-box; + box-sizing: border-box !important; padding: 4px 14px; line-height: 36px; height: 44px; From 65e614f00f89d255131e0e02a2de3eda6430b996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 13 Nov 2022 11:26:15 +0000 Subject: [PATCH 009/161] chore: Add checkboxes --- .../app/themes/Nextcloud25/styles.css | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 3db7538f3e..62a0e50392 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -409,6 +409,60 @@ select option { /* TODO */ } +/* + * checkboxes + */ + +.e-component.e-checkbox.material-design { + width: -moz-fit-content; + width: -webkit-fill-available; + width: fit-content; + display: flex; + position: relative; + align-items: center; + user-select: none; + height: 44px; + border-radius: 44px; + padding: 0 14px; + margin: 0 -14px; +} + +.e-component.e-checkbox.material-design:hover, +.e-component.e-checkbox.material-design:focus-within { + background-color: var(--color-primary-light); +} + +.e-component.e-checkbox.material-design:focus { + outline: none; +} + +.e-checkbox.material-design>div { + border: 2px solid var(--color-primary-element); + border-radius: 2px; + box-sizing: border-box; + margin-right: 4px; + margin-left: -2px; +} + +.e-checkbox.material-design>div:has(div.checked) { + background: var(--color-primary-element); +} + +.e-checkbox.material-design>div>div { + animation: none; +} + +.e-checkbox.material-design>div>div.checked { + animation: none; + top: -2px; + left: 4px; + width: 7px; + height: 13px; + border: 2px solid var(--color-main-background); + border-width: 0 2px 2px 0; + transform: rotate(45deg); +} + /* * message list */ From 6281b5eee24fc2db778667d4977b5fbdee52fa3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 19 Nov 2022 12:20:18 +0000 Subject: [PATCH 010/161] fix: Broken checkboxes in embed mode --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 62a0e50392..537089b37c 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -437,6 +437,7 @@ select option { } .e-checkbox.material-design>div { + box-sizing: border-box !important; border: 2px solid var(--color-primary-element); border-radius: 2px; box-sizing: border-box; From d37022b1165310b9119f11a6f9f2d285c838061f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 19 Nov 2022 14:08:29 +0000 Subject: [PATCH 011/161] chore: Rework checkboxes for better browser compatibility --- .../app/themes/Nextcloud25/styles.css | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 537089b37c..ce7711db9f 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -438,30 +438,26 @@ select option { .e-checkbox.material-design>div { box-sizing: border-box !important; - border: 2px solid var(--color-primary-element); - border-radius: 2px; - box-sizing: border-box; margin-right: 4px; margin-left: -2px; } -.e-checkbox.material-design>div:has(div.checked) { - background: var(--color-primary-element); -} - .e-checkbox.material-design>div>div { + width: 100%; + height: 100%; + border: 2px solid var(--color-primary-element); + border-radius: 2px; animation: none; } .e-checkbox.material-design>div>div.checked { animation: none; - top: -2px; - left: 4px; - width: 7px; - height: 13px; - border: 2px solid var(--color-main-background); - border-width: 0 2px 2px 0; - transform: rotate(45deg); + --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); + -webkit-mask-image: var(--svg-checked); + mask-image: var(--svg-checked); + background: var(--color-primary-element); + border-width: 0; + margin: 0; } /* From 8b508456b28347667814034b95795e5b6d53ce2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 19 Nov 2022 15:17:26 +0000 Subject: [PATCH 012/161] fix: Broken styles in embed mode --- .../app/themes/Nextcloud25/styles.css | 524 +++++++++--------- 1 file changed, 264 insertions(+), 260 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index ce7711db9f..2c97b1aadd 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -19,62 +19,62 @@ font-size: var(--default-font-size); } -#rl-left { +#rl-app #rl-left { background-color: var(--color-main-background-blur, var(--color-main-background)); -webkit-backdrop-filter: var(--filter-background-blur, none); backdrop-filter: var(--filter-background-blur, none); } -#rl-right { +#rl-app #rl-right { background-color: var(--color-main-background); } -input { +#rl-app input { box-shadow: none; } -.resizer { +#rl-app .resizer { opacity: 1; background-color: unset; border-right: solid 1px var(--color-border); } -.messageList, -.messageView { +#rl-app .messageList, +#rl-app .messageView { margin: 0 5px; border: none; box-shadow: none !important; background: var(--color-main-background); } -.b-folders .b-toolbar { +#rl-app .b-folders .b-toolbar { height: unset; display: flex; flex-direction: row; padding: 8px; } -html.rl-left-panel-disabled .b-folders .b-toolbar { +html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { flex-direction: column; } @media screen and (min-width: 1000px) { - .b-folders .btn.buttonContacts { + #rl-app .b-folders .btn.buttonContacts { transition: none; } } -#V-SettingsMenu nav.b-content, +#rl-app #V-SettingsMenu nav.b-content, .b-folders .b-content { padding: 8px; } -.b-folders .b-content { +#rl-app .b-folders .b-content { top: 60px; bottom: 162px; } -.b-folders .b-content.show-on-panel-disabled { +#rl-app .b-folders .b-content.show-on-panel-disabled { bottom: 56px; } @@ -82,11 +82,11 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { * icon colors */ -.iconcolor-green { +#rl-app .iconcolor-green { color: var(--color-success) !important; } -.iconcolor-red { +#rl-app .iconcolor-red { color: var(--color-error) !important; } @@ -94,8 +94,8 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { * side panel */ -#V-SettingsMenu nav a, -.b-folders li a.selectable { + #rl-app #V-SettingsMenu nav a, + #rl-app .b-folders li a.selectable { margin: 2px; padding: 0 2em 0 15px; height: 38px; @@ -105,26 +105,26 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { border: none; } -#V-SettingsMenu nav a { +#rl-app #V-SettingsMenu nav a { height: 44px; line-height: 44px; } -#V-SettingsMenu nav a.selected, -.b-folders li a.selectable.selected { +#rl-app #V-SettingsMenu nav a.selected, +#rl-app .b-folders li a.selectable.selected { color: unset; background-color: var(--color-primary-light); } -#V-SettingsMenu nav a:not(.selected):hover, -#V-SettingsMenu nav a:not(.selected):focus, -.b-folders li a.selectable:not(.selected):hover, -.b-folders li a.selectable:not(.selected):focus { +#rl-app #V-SettingsMenu nav a:not(.selected):hover, +#rl-app #V-SettingsMenu nav a:not(.selected):focus, +#rl-app .b-folders li a.selectable:not(.selected):hover, +#rl-app .b-folders li a.selectable:not(.selected):focus { color: unset; background-color: var(--color-background-hover); } -.b-folders .b-folders-system a[data-unread]::after { +#rl-app .b-folders .b-folders-system a[data-unread]::after { display: block; margin: 0 ; top: 50%; @@ -136,40 +136,40 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { text-shadow: none; } -.b-folders hr { +#rl-app .b-folders hr { border-top: solid var(--color-main-text); border-radius: var(--border-radius-pill); opacity: .1; } -.b-folders input { - width: calc(100% - 10px) !important; +#rl-app .b-folders input { + width: calc(100% - 10px); margin: 5px; opacity: .7; } -.b-footer.btn-toolbar.hide-mobile, -.b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { +#rl-app .b-footer.btn-toolbar.hide-mobile, +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { display: flex; flex-direction: column; align-content: stretch; justify-content: flex-start; height: unset; - box-sizing: border-box !important; + box-sizing: border-box; margin: 0; padding: 0; bottom: 0; } -.b-footer.btn-toolbar .btn-group { - padding: 3px !important; +#rl-app .b-footer.btn-toolbar .btn-group { + padding: 3px; } /* * buttons */ -.btn { + #rl-app .btn { min-height: 36px; height: 36px; box-sizing: border-box !important; @@ -177,70 +177,74 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { line-height: 20px; color: var(--color-main-text); background-color: var(--color-background-dark); - border: 1px solid var(--color-border-dark); + border: 1px solid var(--color-border-dark) !important; border-radius: var(--border-radius-pill); font-size: var(--default-font-size); } -.btn.btn-thin { +#rl-app .btn.btn-thin { padding-right: 9px; padding-left: 9px; } -.btn.disabled, .btn[disabled], -.btn.disabled:hover, .btn[disabled]:hover, -.btn.disabled:focus, .btn[disabled]:focus, -.btn.disabled:active, .btn[disabled]:active { +#rl-app .btn.btn-transparent { + border: unset !important; +} + +#rl-app .btn.disabled, .btn[disabled], +#rl-app .btn.disabled:hover, .btn[disabled]:hover, +#rl-app .btn.disabled:focus, .btn[disabled]:focus, +#rl-app .btn.disabled:active, .btn[disabled]:active { outline: none; opacity: .5; filter: saturate(0.7); } -.btn:not(.disabled, [disabled]):hover, -.btn:not(.disabled, [disabled]):focus { - border-color: var(--color-primary-element); +#rl-app .btn:not(.disabled, [disabled]):hover, +#rl-app .btn:not(.disabled, [disabled]):focus { + border-color: var(--color-primary-element) !important; outline: none; opacity: unset; } -.btn:not(.disabled, [disabled]):active { +#rl-app .btn:not(.disabled, [disabled]):active { outline: none; opacity: unset; background-color: var(--color-main-background); color: var(--color-text-light); } -.btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled] { +#rl-app .btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled] { text-shadow: none; box-shadow: none; } -.btn.buttonCompose { +#rl-app .btn.buttonCompose { font-weight: bold; max-width: 100%; width: 100%; } -.btn.btn-success { +#rl-app .btn.btn-success { color: var(--color-primary-element-text); background-color: var(--color-primary-element); - border-color: var(--color-primary-element); + border-color: var(--color-primary-element) !important; } -.btn.btn-success:hover, -.btn.btn-success:focus { +#rl-app .btn.btn-success:hover, +#rl-app .btn.btn-success:focus { background-color: var(--color-primary-element-hover) !important; - border-color: var(--color-primary-element-hover); + border-color: var(--color-primary-element-hover) !important; } -.btn.buttonCompose:active { +#rl-app .btn.buttonCompose:active { color: var(--color-primary-text-dark); } -.btn.buttonCompose, -.b-folders .btn.buttonContacts, -.b-footer.btn-toolbar .btn-group .btn { - box-sizing: border-box !important; +#rl-app .btn.buttonCompose, +#rl-app .b-folders .btn.buttonContacts, +#rl-app .b-footer.btn-toolbar .btn-group .btn { + box-sizing: border-box; padding: 4px 14px; line-height: 36px; height: 44px; @@ -252,60 +256,60 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { border-radius: var(--border-radius-pill); } -.b-footer.btn-toolbar .btn-group .btn { +#rl-app .b-footer.btn-toolbar .btn-group .btn { background: transparent; text-align: left; font-size: 22px; margin: 3px; - border: unset; + border: unset !important; } -.b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { width: -webkit-fill-available; width: -moz-available; width: fill-available; } -.b-footer.btn-toolbar .btn-group .btn.fontastic { +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic { background-color: var(--color-main-background); } -.b-footer.btn-toolbar .btn-group .btn:after { +#rl-app .b-footer.btn-toolbar .btn-group .btn:after { font-family: var(--font-face); font-size: var(--default-font-size); position: absolute; margin-left: 15px; } -.b-footer.btn-toolbar .btn-group .btn.fontastic:after { +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:after { content: 'SnappyMail-Settings'; } -.b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { +#rl-app .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { content: 'Create new folder'; } -.icon-folder-add::before, -.icon-resize-in::before { +#rl-app .icon-folder-add::before, +#rl-app .icon-resize-in::before { line-height: unset; } -.b-footer.btn-toolbar .btn-group .btn:hover, -.b-footer.btn-toolbar .btn-group .btn.fontastic:hover { +#rl-app .b-footer.btn-toolbar .btn-group .btn:hover, +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:hover { background-color: var(--color-background-hover); } -.b-footer.btn-toolbar .btn-group .btn:active, -.b-footer.btn-toolbar .btn-group .btn.fontastic:active { +#rl-app .b-footer.btn-toolbar .btn-group .btn:active, +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:active { background-color: var(--color-primary-element-light); } -.b-footer.btn-toolbar .btn-group .btn:focus, -.b-footer.btn-toolbar .btn-group .btn.fontastic:focus { +#rl-app .b-footer.btn-toolbar .btn-group .btn:focus, +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:focus { outline: none; } -#V-MailMessageList .btn-toolbar { +#rl-app #V-MailMessageList .btn-toolbar { text-align: center; } @@ -313,7 +317,7 @@ html.rl-left-panel-disabled .b-folders .b-toolbar { * inputs */ -input { +#rl-app input { padding: 0 12px; font-size: var(--default-font-size); color: var(--color-main-text); @@ -324,20 +328,20 @@ input { border-radius: var(--border-radius-large); } -input:hover, -input:active, -input:focus { +#rl-app input:hover, +#rl-app input:active, +#rl-app input:focus { border-color: var(--color-primary-element); } -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-results-button, -input[type="search"]::-webkit-search-results-decoration { +#rl-app input[type="search"]::-webkit-search-decoration, +#rl-app input[type="search"]::-webkit-search-cancel-button, +#rl-app input[type="search"]::-webkit-search-results-button, +#rl-app input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; } -input[type=number] { +#rl-app input[type=number] { -moz-appearance: textfield; -webkit-appearance: textfield; appearance: textfield; @@ -348,8 +352,8 @@ input[type=number] { * select */ -.emailaddresses, -.select, select { +#rl-app .emailaddresses, +#rl-app .select, #rl-app select { padding: 8px 12px; font-size: var(--default-font-size); color: var(--color-main-text); @@ -361,12 +365,12 @@ input[type=number] { line-height: 24px; } -.emailaddresses:hover, -.emailaddresses:active, -.emailaddresses:focus, -.select:hover, select:hover, -.select:active, select:active, -.select:focus, select:focus { +#rl-app .emailaddresses:hover, +#rl-app .emailaddresses:active, +#rl-app .emailaddresses:focus, +#rl-app .select:hover, #rl-app select:hover, +#rl-app .select:active, #rl-app select:active, +#rl-app .select:focus, #rl-app select:focus { border-color: var(--color-primary-element); } @@ -379,7 +383,7 @@ select option { * email address select */ -.emailaddresses { + #rl-app .emailaddresses { display: inline-flex; align-items: center; flex-wrap: wrap; @@ -390,11 +394,11 @@ select option { width: 100%; } -.emailaddresses.emailaddresses-focused { +#rl-app .emailaddresses.emailaddresses-focused { border: 2px solid var(--color-primary-element); } -.emailaddresses li[draggable] { +#rl-app .emailaddresses li[draggable] { line-height: 20px; padding: 2px 15px 2px 5px; color: var(--color-main-text); @@ -405,7 +409,7 @@ select option { background-color: unset; } -.emailaddresses li a { +#rl-app .emailaddresses li a { /* TODO */ } @@ -413,7 +417,7 @@ select option { * checkboxes */ -.e-component.e-checkbox.material-design { + #rl-app .e-component.e-checkbox.material-design { width: -moz-fit-content; width: -webkit-fill-available; width: fit-content; @@ -427,22 +431,22 @@ select option { margin: 0 -14px; } -.e-component.e-checkbox.material-design:hover, -.e-component.e-checkbox.material-design:focus-within { +#rl-app .e-component.e-checkbox.material-design:hover, +#rl-app .e-component.e-checkbox.material-design:focus-within { background-color: var(--color-primary-light); } -.e-component.e-checkbox.material-design:focus { +#rl-app .e-component.e-checkbox.material-design:focus { outline: none; } -.e-checkbox.material-design>div { - box-sizing: border-box !important; +#rl-app .e-checkbox.material-design>div { + box-sizing: border-box; margin-right: 4px; margin-left: -2px; } -.e-checkbox.material-design>div>div { +#rl-app .e-checkbox.material-design>div>div { width: 100%; height: 100%; border: 2px solid var(--color-primary-element); @@ -450,7 +454,7 @@ select option { animation: none; } -.e-checkbox.material-design>div>div.checked { +#rl-app .e-checkbox.material-design>div>div.checked { animation: none; --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); -webkit-mask-image: var(--svg-checked); @@ -464,25 +468,25 @@ select option { * message list */ -.thm-message-list-top-toolbar, -.thm-message-list-bottom-toolbar { +#rl-app .thm-message-list-top-toolbar, +#rl-app .thm-message-list-bottom-toolbar { background: unset !important; } -.messageList .second-toolbar { +#rl-app .messageList .second-toolbar { align-items: center; } -.messageList .second-toolbar, -.messageList .b-footer { +#rl-app .messageList .second-toolbar, +#rl-app .messageList .b-footer { border-color: var(--color-border); } -.messageList .inputSearch { +#rl-app .messageList .inputSearch { max-width: unset; } -.messageList .closeSearch { +#rl-app .messageList .closeSearch { position: absolute; top: 2px; right: 1px; @@ -493,38 +497,38 @@ select option { line-height: 30px; } -.messageList .checkboxCheckAll { +#rl-app .messageList .checkboxCheckAll { margin: 0 12px; } -.messageList .checkboxCheckAll:hover, -.messageList .checkboxCheckAll:focus { +#rl-app .messageList .checkboxCheckAll:hover, +#rl-app .messageList .checkboxCheckAll:focus { color: var(--color-primary-element); } -.messageList .checkboxCheckAll:active { +#rl-app .messageList .checkboxCheckAll:active { color: var(--color-primary-element-hover); } -html:not(rl-mobile) .hideMessageListCheckbox .checkboxCheckAll { +html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { display: none; } -.messageList .btn.buttonMoreSearch { +#rl-app .messageList .btn.buttonMoreSearch { background: unset; border-radius: var(--border-radius-large); margin: 0 0 0 8px; line-height: 20px !important; } -.messageList .checkboxCheckAll, -.messageList .btn.buttonMoreSearch { +#rl-app .messageList .checkboxCheckAll, +#rl-app .messageList .btn.buttonMoreSearch { font-size: var(--default-font-size); height: 28px; line-height: 28px; } -.messageList .b-content .listThreadUidDesc { +#rl-app .messageList .b-content .listThreadUidDesc { margin: 8px; color: var(--color-main-text); background: unset; @@ -533,131 +537,131 @@ html:not(rl-mobile) .hideMessageListCheckbox .checkboxCheckAll { border-color: var(--color-border-dark); } -.messageList .b-content .listThreadUidDesc:hover, -.messageList .b-content .listThreadUidDesc:focus { +#rl-app .messageList .b-content .listThreadUidDesc:hover, +#rl-app .messageList .b-content .listThreadUidDesc:focus { background: var(--color-background-hover); } -.messageList .b-content .listThreadUidDesc:active { +#rl-app .messageList .b-content .listThreadUidDesc:active { background-color: var(--color-primary-light); } -.messageList .b-content .listSearchDesc { +#rl-app .messageList .b-content .listSearchDesc { border-color: var(--color-border); } -.messageList .b-content .listDragOver { +#rl-app .messageList .b-content .listDragOver { /* ! does not work */ } -.messageList .b-content .listError { +#rl-app .messageList .b-content .listError { /* ? cant reproduce */ } -.messageList .b-content .listDragOver, -.messageList .b-content .listEmptyMessage, -.messageList .b-content .listError, -.messageList .b-content .listLoading { +#rl-app .messageList .b-content .listDragOver, +#rl-app .messageList .b-content .listEmptyMessage, +#rl-app .messageList .b-content .listError, +#rl-app .messageList .b-content .listLoading { color: var(--color-text-lighter); } -.messageListItem .checkboxMessage { +#rl-app .messageListItem .checkboxMessage { border-color: var(--color-text-lighter); color: var(--color-text-lighter); } -.messageListItem .checkboxMessage:hover, -.messageListItem .checkboxMessage:focus { +#rl-app .messageListItem .checkboxMessage:hover, +#rl-app .messageListItem .checkboxMessage:focus { background-color: var(--color-background-darker); } -.messageListItem .checkboxMessage:active { +#rl-app .messageListItem .checkboxMessage:active { background-color: var(--color-primary-light-hover); } -.messageListItem .threads-len { +#rl-app .messageListItem .threads-len { color: var(--color-text-light); border-color: var(--color-text-light); padding: 0 4px; } -.messageListItem .threads-len:hover, -.messageListItem .threads-len:focus { +#rl-app .messageListItem .threads-len:hover, +#rl-app .messageListItem .threads-len:focus { background-color: var(--color-background-darker); border-color: unset; } -.messageListItem .threads-len:active { +#rl-app .messageListItem .threads-len:active { background-color: var(--color-primary-light-hover); } -.messageListItem { +#rl-app .messageListItem { padding: 8px; margin: 2px 0; border-bottom: unset; border-radius: var(--border-radius); } -.messageListItem, -.messageListItem.focused { +#rl-app .messageListItem, +#rl-app .messageListItem.focused { background-color: var(--color-background); border-left-color: var(--color-border); } -.messageListItem:hover, -.messageListItem.focused:hover { +#rl-app .messageListItem:hover, +#rl-app .messageListItem.focused:hover { background-color: var(--color-background-hover); border-left-color: var(--color-primary-light-hover); } -.messageListItem.selected, -.messageListItem.selected:hover { +#rl-app .messageListItem.selected, +#rl-app .messageListItem.selected:hover { background-color: var(--color-primary-element-light) !important; border-left-color: var(--color-primary-element-light-text); } -.messageListItem.unseen, -.messageListItem.hasUnseenSubMessage { +#rl-app .messageListItem.unseen, +#rl-app .messageListItem.hasUnseenSubMessage { background-color: unset; border-left-color: var(--color-primary-element); } -.messageListItem.unseen.focused, -.messageListItem.unseen.focused:hover, -.messageListItem.hasUnseenSubMessage.focused, -.messageListItem.hasUnseenSubMessage.focused:hover { +#rl-app .messageListItem.unseen.focused, +#rl-app .messageListItem.unseen.focused:hover, +#rl-app .messageListItem.hasUnseenSubMessage.focused, +#rl-app .messageListItem.hasUnseenSubMessage.focused:hover { background-color: var(--color-primary-light); border-left-color: var(--color-primary-element); } -.messageListItem.unseen:hover, -.messageListItem.hasUnseenSubMessage:hover { +#rl-app .messageListItem.unseen:hover, +#rl-app .messageListItem.hasUnseenSubMessage:hover { background-color: var(--color-background-hover); border-left-color: var(--color-primary-element-hover); } -.messageListItem.hasUnseenSubMessage .threads-len { +#rl-app .messageListItem.hasUnseenSubMessage .threads-len { border-color: var(--color-primary-element); border-width: 2px; font-weight: 700; } -.messageListItem.hasUnseenSubMessage .threads-len:hover { +#rl-app .messageListItem.hasUnseenSubMessage .threads-len:hover { border-color: var(--color-primary-element-hover); } -.messageListItem.checked { +#rl-app .messageListItem.checked { background-color: unset; border-left-color: var(--color-primary-light-text); } -.messageListItem.checked.focused { +#rl-app .messageListItem.checked.focused { background-color: inherit; border-left-color: var(--color-primary-element-light-text); } -.messageListItem.checked:hover, -.messageListItem.checked.focused:hover { +#rl-app .messageListItem.checked:hover, +#rl-app .messageListItem.checked.focused:hover { background-color: var(--color-background-hover); border-left-color: inherit; } @@ -666,64 +670,64 @@ html:not(rl-mobile) .hideMessageListCheckbox .checkboxCheckAll { * message view */ -#V-MailMessageView { + #rl-app #V-MailMessageView { bottom: 0; } -html:not(.rl-mobile):not(.rl-no-preview-pane) .messageView .top-toolbar { +html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar { /* TODO Improve mobile experience */ } -.messageView .b-message-view-desc, -.messageView .b-message-view-checked-helper { +#rl-app .messageView .b-message-view-desc, +#rl-app .messageView .b-message-view-checked-helper { color: var(--color-text-lighter); } -.messageView .b-message-view-desc.error { +#rl-app .messageView .b-message-view-desc.error { /* ? cant reproduce */ } -meter::-webkit-meter-bar { +#rl-app meter::-webkit-meter-bar { background-color: var(--color-border-dark); border-color: var(--color-border-dark); border-width: 2px; height: 10px; } -.messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value { +#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value { background-color: var(--color-success); border-radius: var(--border-radius-pill); } -.messageView .messageItemHeader .informationShort meter::-webkit-meter-suboptimum-value { +#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-suboptimum-value { background-color: var(--color-warning); border-radius: var(--border-radius-pill); } -.messageView .messageItemHeader .informationShort meter::-webkit-meter-even-less-good-value { +#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-even-less-good-value { background-color: var(--color-error); border-radius: var(--border-radius-pill); } -.messageView .messageItemHeader .hasVirus { +#rl-app .messageView .messageItemHeader .hasVirus { background: unset; border: solid 2px var(--color-error); border-radius: var(--border-radius); margin: 5px; } -.messageView .openpgp-control.encrypted, -.messageView .openpgp-control.signed { +#rl-app .messageView .openpgp-control.encrypted, +#rl-app .messageView .openpgp-control.signed { border-radius: var(--border-radius); } -#V-MailMessageView .b-message-view-backdrop { +#rl-app #V-MailMessageView .b-message-view-backdrop { background-color: var(--color-main-background-blur); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); } -#V-MailMessageView .b-message-view-backdrop .backdrop-message { +#rl-app #V-MailMessageView .b-message-view-backdrop .backdrop-message { background-color: var(--color-main-background); border: solid 1px var(--color-primary); border-radius: var(--border-radius-large); @@ -731,18 +735,18 @@ meter::-webkit-meter-bar { margin: 10px; } -.messageView .messageAssignedTags { +#rl-app .messageView .messageAssignedTags { margin: 0 5px; } -.messageView .messageAssignedTags span { +#rl-app .messageView .messageAssignedTags span { border-radius: var(--border-radius-pill); background: unset; padding: 2px 5px; } -#messageItem .readReceipt, -#messageItem .showImages { +#rl-app #messageItem .readReceipt, +#rl-app #messageItem .showImages { margin: 8px; color: var(--color-main-text); border: solid 1px var(--color-primary-element); @@ -750,61 +754,61 @@ meter::-webkit-meter-bar { border-radius: var(--border-radius-large); } -#messageItem .readReceipt:hover, -#messageItem .showImages:hover { +#rl-app #messageItem .readReceipt:hover, +#rl-app #messageItem .showImages:hover { background-color: var(--color-primary-light-hover); } -.messageView .messageItemHeader, -#messageItem .attachmentsPlace { +#rl-app .messageView .messageItemHeader, +#rl-app #messageItem .attachmentsPlace { background-color: unset; border-color: var(--color-border); color: var(--color-main-text); } -#messageItem .attachmentsPlace { +#rl-app #messageItem .attachmentsPlace { border-top: 1px solid var(--color-border); top: -1px; } -#messageItem .attachmentsPlace .controls-handle { +#rl-app #messageItem .attachmentsPlace .controls-handle { -webkit-user-select: none; user-select: none; } -#messageItem .attachmentsPlace .attachmentItem { +#rl-app #messageItem .attachmentsPlace .attachmentItem { background-color: var(--color-background-dark); border-radius: var(--border-radius); box-shadow: none; } -#messageItem .attachmentsPlace .attachmentItem:hover, -#messageItem .attachmentsPlace .attachmentItem:active { +#rl-app #messageItem .attachmentsPlace .attachmentItem:hover, +#rl-app #messageItem .attachmentsPlace .attachmentItem:active { background-color: var(--color-background-darker); } -#messageItem .attachmentsPlace .attachmentItem:focus { +#rl-app #messageItem .attachmentsPlace .attachmentItem:focus { outline: none; } -#messageItem .attachmentsPlace .attachmentItem .attachmentNameParent { +#rl-app #messageItem .attachmentsPlace .attachmentItem .attachmentNameParent { border-color: var(--color-border-dark); } -#messageItem .attachmentsPlace .attachmentItem .iconMain, -#messageItem .attachmentsPlace .attachmentItem .iconPreview { +#rl-app #messageItem .attachmentsPlace .attachmentItem .iconMain, +#rl-app #messageItem .attachmentsPlace .attachmentItem .iconPreview { color: var(--color-text-light); } -#messageItem .attachmentsControls { +#rl-app #messageItem .attachmentsControls { background-color: unset; border-color: var(--color-border); -webkit-user-select: none; user-select: none; } -#messageItem .attachmentsControls .icon-file-archive, -#messageItem .attachmentsControls .fontastic { +#rl-app #messageItem .attachmentsControls .icon-file-archive, +#rl-app #messageItem .attachmentsControls .fontastic { color: var(--color-main-text); } @@ -827,57 +831,57 @@ meter::-webkit-meter-bar { --msgflag-\\flagged-color: #ffca32; } -.msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); } -.msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); } -.msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); } -.msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); } -.msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); } - -.msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; } -.msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; } -.msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; } -.msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; } -.msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; } - -.msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); } -.msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); } -.msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); } -.msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); } -.msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); } - -.msgflag-\$label1:not(.focused), .msgflag-\$label1 .checkboxMessage, -.msgflag-\$label2:not(.focused), .msgflag-\$label2 .checkboxMessage, -.msgflag-\$label3:not(.focused), .msgflag-\$label3 .checkboxMessage, -.msgflag-\$label4:not(.focused), .msgflag-\$label4 .checkboxMessage, -.msgflag-\$label5:not(.focused), .msgflag-\$label5 .checkboxMessage { +#rl-app .msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); } +#rl-app .msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); } +#rl-app .msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); } +#rl-app .msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); } +#rl-app .msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); } + +#rl-app .msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; } +#rl-app .msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; } +#rl-app .msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; } +#rl-app .msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; } +#rl-app .msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; } + +#rl-app .msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); } +#rl-app .msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); } +#rl-app .msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); } +#rl-app .msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); } +#rl-app .msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); } + +#rl-app .msgflag-\$label1:not(.focused), #rl-app .msgflag-\$label1 .checkboxMessage, +#rl-app .msgflag-\$label2:not(.focused), #rl-app .msgflag-\$label2 .checkboxMessage, +#rl-app .msgflag-\$label3:not(.focused), #rl-app .msgflag-\$label3 .checkboxMessage, +#rl-app .msgflag-\$label4:not(.focused), #rl-app .msgflag-\$label4 .checkboxMessage, +#rl-app .msgflag-\$label5:not(.focused), #rl-app .msgflag-\$label5 .checkboxMessage { background-color: unset; color: unset; } -.messageListItem.msgflag-\$label1:hover, -.messageListItem.msgflag-\$label2:hover, -.messageListItem.msgflag-\$label3:hover, -.messageListItem.msgflag-\$label4:hover, -.messageListItem.msgflag-\$label5:hover { +#rl-app .messageListItem.msgflag-\$label1:hover, +#rl-app .messageListItem.msgflag-\$label2:hover, +#rl-app .messageListItem.msgflag-\$label3:hover, +#rl-app .messageListItem.msgflag-\$label4:hover, +#rl-app .messageListItem.msgflag-\$label5:hover { background-color: var(--color-background-hover); } -a.msgflag-\$label1, -a.msgflag-\$label2, -a.msgflag-\$label3, -a.msgflag-\$label4, -a.msgflag-\$label5 { +#rl-app a.msgflag-\$label1, +#rl-app a.msgflag-\$label2, +#rl-app a.msgflag-\$label3, +#rl-app a.msgflag-\$label4, +#rl-app a.msgflag-\$label5 { border-left: solid 5px; } -.btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), -.btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { +#rl-app .btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), +#rl-app .btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { border-left: solid 5px transparent; } -.b-folders .is-flagged .flag-icon::after, -.messageListItem.hasFlaggedSubMessage .flagParent::after, -.messageListItem.msgflag-\\flagged .flagParent::after { +#rl-app .b-folders .is-flagged .flag-icon::after, +#rl-app .messageListItem.hasFlaggedSubMessage .flagParent::after, +#rl-app .messageListItem.msgflag-\\flagged .flagParent::after { color: var(--msgflag-\\flagged-color); } @@ -885,11 +889,11 @@ a.msgflag-\$label5 { * dropdown menus */ -.dropdown.show { + #rl-app .dropdown.show { box-shadow: none; } -.dropdown-menu { +#rl-app .dropdown-menu { background-color: var(--color-main-background); filter: drop-shadow(0 1px 5px var(--color-box-shadow)); border-radius: var(--border-radius-large); @@ -897,7 +901,7 @@ a.msgflag-\$label5 { padding: 4px; } -.dropdown-menu a { +#rl-app .dropdown-menu a { background-color: unset; color: unset; height: 22px; @@ -906,30 +910,30 @@ a.msgflag-\$label5 { margin: 2px; } -.dropdown-menu li.disabled > a, -.dropdown-menu li.disabled > a:hover, -.dropdown-menu li.disabled > a:focus, -.dropdown-menu li.disabled > a:active { +#rl-app .dropdown-menu li.disabled > a, +#rl-app .dropdown-menu li.disabled > a:hover, +#rl-app .dropdown-menu li.disabled > a:focus, +#rl-app .dropdown-menu li.disabled > a:active { opacity: .5; filter: saturate(0.7); } -.dropdown-menu li:not(.disabled) > a:hover, -.dropdown-menu li:not(.disabled) > a:focus { +#rl-app .dropdown-menu li:not(.disabled) > a:hover, +#rl-app .dropdown-menu li:not(.disabled) > a:focus { background-color: var(--color-background-hover); color: unset; opacity: unset; } -.dropdown-menu li:not(.disabled) > a:active { +#rl-app .dropdown-menu li:not(.disabled) > a:active { background-color: var(--color-primary-light); } -.dropdown-menu *+.dividerbar { +#rl-app .dropdown-menu *+.dividerbar { border-color: var(--color-border); } -.dropdown-menu ::-webkit-scrollbar-track-piece { +#rl-app .dropdown-menu ::-webkit-scrollbar-track-piece { background-color: inherit; border-top-right-radius: inherit; border-bottom-right-radius: inherit; @@ -939,7 +943,7 @@ a.msgflag-\$label5 { * account selector */ -.btn-toolbar.g-ui-user-select-none { +#rl-app .btn-toolbar.g-ui-user-select-none { border: solid 1px var(--color-border-dark); border-radius: var(--border-radius-large); height: 36px; @@ -949,25 +953,25 @@ a.msgflag-\$label5 { align-items: center; } -#V-SystemDropDown .accountPlace { +#rl-app #V-SystemDropDown .accountPlace { background: unset; color: unset; text-shadow: none; } -#V-SystemDropDown #top-system-dropdown-id { +#rl-app #V-SystemDropDown #top-system-dropdown-id { background-color: unset; - border: unset; + border: unset !important; border-radius: var(--border-radius-large) !important; height: 20px; } -#V-SystemDropDown #top-system-dropdown-id:hover, -#V-SystemDropDown #top-system-dropdown-id:focus { +#rl-app #V-SystemDropDown #top-system-dropdown-id:hover, +#rl-app #V-SystemDropDown #top-system-dropdown-id:focus { background-color: var(--color-background-hover); } -#V-SystemDropDown #top-system-dropdown-id:active { +#rl-app #V-SystemDropDown #top-system-dropdown-id:active { background-color: var(--color-background-dark); } @@ -977,11 +981,11 @@ a.msgflag-\$label5 { */ @media (prefers-color-scheme: dark) { - .bodyText, .bodyText img { + #rl-app .bodyText, .bodyText img { filter: invert(95%) hue-rotate(180deg); } - .bodyText img { + #rl-app .bodyText img { border-radius: 4px; } } @@ -991,13 +995,13 @@ a.msgflag-\$label5 { * settings */ -#rl-settings-subscreen { +#rl-app #rl-settings-subscreen { background-color: unset; box-shadow: none; border: none; } -.legend { +#rl-app .legend { color: unset; border-color: var(--color-border); } @@ -1006,23 +1010,23 @@ a.msgflag-\$label5 { * scrollbar */ -::-webkit-scrollbar { +#rl-app ::-webkit-scrollbar { width: 12px; height: 12px; } -::-webkit-scrollbar-thumb { +#rl-app ::-webkit-scrollbar-thumb { background: var(--color-scrollbar); border-radius: var(--border-radius-large); border: 2px solid transparent; background-clip: content-box; } -::-webkit-scrollbar-track-piece { +#rl-app ::-webkit-scrollbar-track-piece { background-color: transparent; } -::selection { +#rl-app ::selection { background-color: var(--color-primary-element); color: var(--color-primary-text); } @@ -1032,7 +1036,7 @@ a.msgflag-\$label5 { * Popups */ -dialog { +#rl-app dialog { background: var(--color-main-background); color: var(--color-main-text); border-radius: var(--border-radius-large); @@ -1041,16 +1045,16 @@ dialog { border-color: var(--color-border); } -#V-PopupsCompose .b-header { +#rl-app #V-PopupsCompose .b-header { background: unset; } -.squire-toolbar { +#rl-app .squire-toolbar { height: 50px; } -dialog > header, -dialog > footer, -.squire-toolbar { +#rl-app dialog > header, +#rl-app dialog > footer, +#rl-app .squire-toolbar { border-color: var(--color-border); } \ No newline at end of file From 095bd0463448d37cad4027c7cb4c9e3a9b602b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 19 Nov 2022 15:20:53 +0000 Subject: [PATCH 013/161] fix: Sidebar button text is visible when collapsed --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 2c97b1aadd..5c08b58f6c 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -289,6 +289,11 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { content: 'Create new folder'; } +html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:after, +html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { + content: ''; +} + #rl-app .icon-folder-add::before, #rl-app .icon-resize-in::before { line-height: unset; From 06300de9f8036ee57b31cb7cc86f965fdd90904c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 30 Nov 2022 20:50:53 +0000 Subject: [PATCH 014/161] Fix: Broken styles in latest snappymail release --- .../app/themes/Nextcloud25/styles.css | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 5c08b58f6c..a59b1fc261 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -223,6 +223,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { font-weight: bold; max-width: 100%; width: 100%; + box-sizing: content-box !important; } #rl-app .btn.btn-success { @@ -270,18 +271,18 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { width: fill-available; } -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic { background-color: var(--color-main-background); } -#rl-app .b-footer.btn-toolbar .btn-group .btn:after { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { font-family: var(--font-face); font-size: var(--default-font-size); position: absolute; margin-left: 15px; } -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:after { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { content: 'SnappyMail-Settings'; } @@ -368,6 +369,7 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f border: 2px solid var(--color-border-dark); border-radius: var(--border-radius-large); line-height: 24px; + box-sizing: border-box; } #rl-app .emailaddresses:hover, @@ -457,6 +459,7 @@ select option { border: 2px solid var(--color-primary-element); border-radius: 2px; animation: none; + box-sizing: border-box; } #rl-app .e-checkbox.material-design>div>div.checked { @@ -913,6 +916,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar line-height: 22px; border-radius: 3px; margin: 2px; + box-sizing: content-box; } #rl-app .dropdown-menu li.disabled > a, @@ -956,6 +960,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar display: flex; flex-direction: row; align-items: center; + box-sizing: content-box; } #rl-app #V-SystemDropDown .accountPlace { @@ -1056,10 +1061,16 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .squire-toolbar { height: 50px; + box-sizing: content-box; } #rl-app dialog > header, #rl-app dialog > footer, #rl-app .squire-toolbar { border-color: var(--color-border); +} + +#rl-app #V-PopupsCompose header .close, +#rl-app #V-PopupsCompose header .minimize-custom { + box-sizing: content-box; } \ No newline at end of file From a57ead9f7cd5dc6dea9d666214ff1ad9bf5bc31e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 30 Nov 2022 20:58:25 +0000 Subject: [PATCH 015/161] chore: Improve buttons of message list toolbar --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index a59b1fc261..777fe421cc 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -319,6 +319,11 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn { + border-radius: var(--border-radius-large); + margin: 0 .5px; +} + /* * inputs */ From 482303699526cf716c526cf12d73586a7daa5226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 30 Nov 2022 21:18:27 +0000 Subject: [PATCH 016/161] fix: Imperfectly aligned icons --- .../snappymail/app/themes/Nextcloud25/styles.css | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 777fe421cc..e4d730a5fc 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -79,7 +79,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } /* - * icon colors + * icons */ #rl-app .iconcolor-green { @@ -90,6 +90,14 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { color: var(--color-error) !important; } +#rl-app i.fontastic { + line-height: unset; +} + +#rl-app [data-icon]::before { + vertical-align: -10%; +} + /* * side panel */ From ae4a71f9a5a26671f453c268e53b09c23686f707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 30 Nov 2022 21:24:07 +0000 Subject: [PATCH 017/161] chore: Improve padding of message list footer --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e4d730a5fc..3a2fe7450b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -498,6 +498,10 @@ select option { align-items: center; } +#rl-app .messageList .b-footer { + padding-bottom: 10px; +} + #rl-app .messageList .second-toolbar, #rl-app .messageList .b-footer { border-color: var(--color-border); From 88ad0ccc6c12b83628a7916c1daeaf9a41c22444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 19:16:55 +0000 Subject: [PATCH 018/161] chore: Improve unread count badge --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 3a2fe7450b..25a145e04c 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -79,7 +79,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } /* - * icons +* icons */ #rl-app .iconcolor-green { @@ -135,12 +135,14 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app .b-folders .b-folders-system a[data-unread]::after { display: block; margin: 0 ; + padding: 2px 6px; top: 50%; transform: translateY(-50%); color: var(--color-primary-element); background-color: var(--color-primary-light); + font-size: 12px; text-shadow: none; } From 757dc78bada8ac325dcf1b4576f326dd26e1289f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 19:43:47 +0000 Subject: [PATCH 019/161] fix: Broken checkboxes in the latest snappymail release --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 25a145e04c..61f05b508d 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -478,6 +478,8 @@ select option { } #rl-app .e-checkbox.material-design>div>div.checked { + top: 0; + left: 0; animation: none; --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); -webkit-mask-image: var(--svg-checked); @@ -485,6 +487,7 @@ select option { background: var(--color-primary-element); border-width: 0; margin: 0; + transform: unset; } /* From 9a3c5c17b77d20cc53d67cc3c36541bd38bbbb56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 20:00:34 +0000 Subject: [PATCH 020/161] fix: Wrong height of entries in settings menu --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 61f05b508d..7be7ee178f 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -115,6 +115,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app #V-SettingsMenu nav a { height: 44px; + min-height: 44px; line-height: 44px; } From ed01a4df61950dc9eaf964705e572d18537c0c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 20:19:39 +0000 Subject: [PATCH 021/161] chore: Improve control group alignment --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 7be7ee178f..ab0e3a7a11 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1039,6 +1039,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-border); } +#rl-app .form-horizontal .control-group { + display: flex; + align-items: center; +} + /* * scrollbar */ From 4aa684e18698d6cda8cb22d131e57281d481b206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 21:27:54 +0000 Subject: [PATCH 022/161] chore: Add tables --- .../app/themes/Nextcloud25/styles.css | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index ab0e3a7a11..1c99870eff 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1044,6 +1044,25 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar align-items: center; } +#rl-app #V-Settings-Config th { + background-color: var(--color-background-dark); +} + +#rl-app .table-bordered, +#rl-app .table td, +#rl-app .table th { + border-color: var(--color-border-dark); +} + +#rl-app .table-hover tbody tr:hover td, +#rl-app .table-hover tbody tr:hover th { + background-color: var(--color-background-hover); +} + +#rl-app .drag-handle { + color: var(--color-text-lighter); +} + /* * scrollbar */ From cdb4c0a3cff8a1a75a889f8efa8e3a5d12028755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Dec 2022 21:48:57 +0000 Subject: [PATCH 023/161] chore: Add admin side panel --- .../app/themes/Nextcloud25/styles.css | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 1c99870eff..52b07f7547 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -25,6 +25,11 @@ backdrop-filter: var(--filter-background-blur, none); } +#rl-app #rl-left, +#rl-app #V-AdminPane>.b-toolbar { + width: 300px; +} + #rl-app #rl-right { background-color: var(--color-main-background); } @@ -64,9 +69,10 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } } +#rl-app #V-AdminMenu nav, #rl-app #V-SettingsMenu nav.b-content, .b-folders .b-content { - padding: 8px; + padding: calc(var(--default-grid-baseline) * 2); } #rl-app .b-folders .b-content { @@ -102,8 +108,17 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { * side panel */ - #rl-app #V-SettingsMenu nav a, - #rl-app .b-folders li a.selectable { +#rl-app #V-AdminPane>.b-toolbar { + top: 0; + left: 0; + padding-top: calc(var(--default-grid-baseline) * 2) !important; + font-weight: bold; +} + +#rl-app #V-AdminMenu nav a, +#rl-app #V-AdminPane>.b-toolbar, +#rl-app #V-SettingsMenu nav a, +#rl-app .b-folders li a.selectable { margin: 2px; padding: 0 2em 0 15px; height: 38px; @@ -113,18 +128,23 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { border: none; } +#rl-app #V-AdminMenu nav a, +#rl-app #V-AdminPane>.b-toolbar, #rl-app #V-SettingsMenu nav a { height: 44px; min-height: 44px; line-height: 44px; } +#rl-app #V-AdminMenu nav a.selected, #rl-app #V-SettingsMenu nav a.selected, #rl-app .b-folders li a.selectable.selected { color: unset; background-color: var(--color-primary-light); } +#rl-app #V-AdminMenu nav a:not(.selected):hover, +#rl-app #V-AdminMenu nav a:not(.selected):focus, #rl-app #V-SettingsMenu nav a:not(.selected):hover, #rl-app #V-SettingsMenu nav a:not(.selected):focus, #rl-app .b-folders li a.selectable:not(.selected):hover, From ef69e31ad18d2becc0bd3a8b766ad99d852c70fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 16:11:37 +0000 Subject: [PATCH 024/161] chore: Improve settings menu buttons --- .../app/themes/Nextcloud25/styles.css | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 52b07f7547..b81faab843 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -187,11 +187,17 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { justify-content: flex-start; height: unset; box-sizing: border-box; +} + +#rl-app #V-SettingsMenu .b-footer, +#rl-app .b-footer.btn-toolbar.hide-mobile, +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { margin: 0; padding: 0; bottom: 0; } +#rl-app #V-SettingsMenu .b-footer, #rl-app .b-footer.btn-toolbar .btn-group { padding: 3px; } @@ -275,7 +281,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app .btn.buttonCompose, #rl-app .b-folders .btn.buttonContacts, -#rl-app .b-footer.btn-toolbar .btn-group .btn { +#rl-app .b-footer .btn { box-sizing: border-box; padding: 4px 14px; line-height: 36px; @@ -288,12 +294,18 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { border-radius: var(--border-radius-pill); } -#rl-app .b-footer.btn-toolbar .btn-group .btn { +#rl-app .b-footer .btn, +#rl-app #V-SettingsPane .btn-toolbar .btn { + background: transparent; + border: unset !important; +} + +#rl-app .b-footer .btn { background: transparent; text-align: left; font-size: 22px; margin: 3px; - border: unset !important; + user-select: none; } #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { @@ -331,18 +343,21 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f line-height: unset; } -#rl-app .b-footer.btn-toolbar .btn-group .btn:hover, -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:hover { +#rl-app .b-footer .btn:hover, +#rl-app .b-footer .btn.fontastic:hover, +#rl-app #V-SettingsPane .btn-toolbar .btn:hover { background-color: var(--color-background-hover); } -#rl-app .b-footer.btn-toolbar .btn-group .btn:active, -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:active { +#rl-app .b-footer .btn:active, +#rl-app .b-footer .btn.fontastic:active, +#rl-app #V-SettingsPane .btn-toolbar .btn:active { background-color: var(--color-primary-element-light); } -#rl-app .b-footer.btn-toolbar .btn-group .btn:focus, -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:focus { +#rl-app .b-footer .btn:focus, +#rl-app .b-footer .btn.fontastic:focus, +#rl-app #V-SettingsPane .btn-toolbar .btn:focus { outline: none; } @@ -1064,6 +1079,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar align-items: center; } +#rl-app #V-SettingsPane .btn-toolbar { + padding: 8px; +} + #rl-app #V-Settings-Config th { background-color: var(--color-background-dark); } From d7af7d15a0275153b6ec6408f7e128b602d77e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 16:30:16 +0000 Subject: [PATCH 025/161] chore: Improve settings pane margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b81faab843..c1bc086ed7 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1083,6 +1083,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 8px; } +#rl-app #V-SettingsPane #rl-settings-subscreen { + margin: 58px 0px 8px 0px; + height: calc(100% - 58px - 8px); +} + #rl-app #V-Settings-Config th { background-color: var(--color-background-dark); } From 9c7f522c82fcb64b47c3622aab09300aeaa352d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 16:31:51 +0000 Subject: [PATCH 026/161] chore: Improve admin settings pane margin --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c1bc086ed7..5cad369e6b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1107,6 +1107,15 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--color-text-lighter); } +/* + * admin settings + */ + +#rl-app #V-AdminPane #rl-settings-subscreen { + margin: 8px 0px; + height: calc(100% - 8px - 8px); +} + /* * scrollbar */ From 9306808263a828f0eabaf4a32259d4f4a06b7148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 16:48:57 +0000 Subject: [PATCH 027/161] chore: Hide unnecessary theme settings --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 5cad369e6b..2e5bcda263 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1107,6 +1107,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--color-text-lighter); } +/* hide additional theme settings, as these are made via Nextcloud theming */ +#rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal { + display: none !important; +} + /* * admin settings */ From 34d8cf002b64ce995fa8be004f50091621efe2ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:01:46 +0000 Subject: [PATCH 028/161] fix: Some buttons look slightly different --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 2e5bcda263..04cdd3b806 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -206,7 +206,8 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { * buttons */ - #rl-app .btn { +#rl-app .btn, +#rl-app button.btn:not(.button-vue) { min-height: 36px; height: 36px; box-sizing: border-box !important; From c5f419e8da3289abb6d96e329d14f4d8d6abda23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:26:52 +0000 Subject: [PATCH 029/161] chore: Add theme selector --- .../snappymail/app/themes/Nextcloud25/styles.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 04cdd3b806..daabd9bfe9 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1108,6 +1108,22 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--color-text-lighter); } +#rl-app #V-Settings-Themes figure, +#rl-app #V-Settings-Themes img { + border-radius: var(--border-radius-large); +} + +#rl-app #V-Settings-Themes figure:not(.selected):hover { + background-color: var(--color-background-hover); + border-color: transparent; +} + +#rl-app #V-Settings-Themes figure.selected { + background-color: var(--color-primary-element); + border-color: transparent; + color: var(--color-primary-text); +} + /* hide additional theme settings, as these are made via Nextcloud theming */ #rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal { display: none !important; From 2ea3f6de4a4b013d35fe3deb8d78bd654780ceae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:35:53 +0000 Subject: [PATCH 030/161] fix: Checkbox overlaps with other elements --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index daabd9bfe9..84e5ce296b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -487,7 +487,7 @@ select option { height: 44px; border-radius: 44px; padding: 0 14px; - margin: 0 -14px; + margin: 0 -7px 0 -14px; } #rl-app .e-component.e-checkbox.material-design:hover, From 980f1e45ef033711feb2bcdc53fe4a4cb0425ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:49:10 +0000 Subject: [PATCH 031/161] chore: Improve some buttons --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 84e5ce296b..6ea6dbe81e 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -344,18 +344,26 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f line-height: unset; } +#rl-app span.fontastic { + padding: 6px; + border-radius: var(--border-radius); +} + +#rl-app span.fontastic:hover, #rl-app .b-footer .btn:hover, #rl-app .b-footer .btn.fontastic:hover, #rl-app #V-SettingsPane .btn-toolbar .btn:hover { background-color: var(--color-background-hover); } +#rl-app span.fontastic:active, #rl-app .b-footer .btn:active, #rl-app .b-footer .btn.fontastic:active, #rl-app #V-SettingsPane .btn-toolbar .btn:active { background-color: var(--color-primary-element-light); } +#rl-app span.fontastic:focus, #rl-app .b-footer .btn:focus, #rl-app .b-footer .btn.fontastic:focus, #rl-app #V-SettingsPane .btn-toolbar .btn:focus { From f88643ce65d0be8e52636a98f9020469f5827505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:50:01 +0000 Subject: [PATCH 032/161] chore: Improve theme selector --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 6ea6dbe81e..8c96b2ab77 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1126,6 +1126,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: transparent; } +#rl-app #V-Settings-Themes figure:not(.selected):active { + background-color: var(--color-primary-element-light); +} + +#rl-app #V-Settings-Themes figure:not(.selected):focus { + outline: none; +} + #rl-app #V-Settings-Themes figure.selected { background-color: var(--color-primary-element); border-color: transparent; From aa1128d40c4dc8e3f2d568742c737aa46fb08728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 19:56:22 +0000 Subject: [PATCH 033/161] refactor: Improve structure --- .../app/themes/Nextcloud25/styles.css | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 8c96b2ab77..e6cb929f0d 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -85,7 +85,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } /* -* icons + * icons */ #rl-app .iconcolor-green { @@ -104,6 +104,10 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { vertical-align: -10%; } +#rl-app .drag-handle { + color: var(--color-text-lighter); +} + /* * side panel */ @@ -450,7 +454,7 @@ select option { * email address select */ - #rl-app .emailaddresses { +#rl-app .emailaddresses { display: inline-flex; align-items: center; flex-wrap: wrap; @@ -484,7 +488,7 @@ select option { * checkboxes */ - #rl-app .e-component.e-checkbox.material-design { +#rl-app .e-component.e-checkbox.material-design { width: -moz-fit-content; width: -webkit-fill-available; width: fit-content; @@ -964,7 +968,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * dropdown menus */ - #rl-app .dropdown.show { +#rl-app .dropdown.show { box-shadow: none; } @@ -1078,27 +1082,23 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border: none; } -#rl-app .legend { - color: unset; - border-color: var(--color-border); -} - -#rl-app .form-horizontal .control-group { - display: flex; - align-items: center; +#rl-app #V-SettingsPane #rl-settings-subscreen { + margin: 58px 0px 8px 0px; + height: calc(100% - 58px - 8px); } #rl-app #V-SettingsPane .btn-toolbar { padding: 8px; } -#rl-app #V-SettingsPane #rl-settings-subscreen { - margin: 58px 0px 8px 0px; - height: calc(100% - 58px - 8px); +#rl-app .legend { + color: unset; + border-color: var(--color-border); } -#rl-app #V-Settings-Config th { - background-color: var(--color-background-dark); +#rl-app .form-horizontal .control-group { + display: flex; + align-items: center; } #rl-app .table-bordered, @@ -1112,11 +1112,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-hover); } -#rl-app .drag-handle { - color: var(--color-text-lighter); -} - -#rl-app #V-Settings-Themes figure, +#rl-app #V-Settings-Themes figure, #rl-app #V-Settings-Themes img { border-radius: var(--border-radius-large); } @@ -1154,6 +1150,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar height: calc(100% - 8px - 8px); } +#rl-app #V-Settings-Config th { + background-color: var(--color-background-dark); +} + /* * scrollbar */ From fed0d53425f6284700b90f9b579525805c08935b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 20:33:29 +0000 Subject: [PATCH 034/161] chore: Add alerts --- .../app/themes/Nextcloud25/styles.css | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e6cb929f0d..5952ae0c73 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -84,6 +84,10 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { bottom: 56px; } +#rl-app .row { + margin-left: unset; +} + /* * icons */ @@ -108,6 +112,54 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { color: var(--color-text-lighter); } +/* + * alerts + */ + +#rl-app .alert { + text-shadow: unset; + border: unset; + color: var(--color-main-text); + background-color: rgba(var(--color-warning-rgb), 0.1); + border-inline-start: 4px solid var(--color-warning); + border-radius: var(--border-radius); + margin: 1rem; + padding: 1rem; +} + +#rl-app .alert h4 { + font-weight: bold; + font-size: 20px; + margin-top: unset; + margin-bottom: 12px; + line-height: 30px; + color: var(--color-text-light); +} + +#rl-app .alert.alert-info { + background-color: var(--color-background-dark); + border-color: var(--color-background-darker); +} + +#rl-app .alert.alert-warning { + background-color: rgba(var(--color-warning-rgb), 0.1); + border-color: var(--color-warning); +} + +#rl-app .alert.alert-success { + background-color: rgba(var(--color-success-rgb), 0.1); + border-color: var(--color-success); +} + +#rl-app .alert.alert-error { + background-color: rgba(var(--color-error-rgb), 0.1); + border-color: var(--color-error); +} + +#rl-app .alert br { + display: none; +} + /* * side panel */ From c3c7aa9aef53ac01f0afda12a92e80c3f1fa2320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 20:44:40 +0000 Subject: [PATCH 035/161] fix: Admin setting with wrong alignment --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 5952ae0c73..1e409c56d1 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1206,6 +1206,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-dark); } +#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] { + align-self: self-start; +} + +#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] ~ div .alert.alert-info { + margin-left: -130px; +} + /* * scrollbar */ From ef4ccdfb991795512b79d4069450059b2bc01f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 20:52:18 +0000 Subject: [PATCH 036/161] fix: Incorrectly colored separator --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 1e409c56d1..b85d89943e 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1143,7 +1143,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 8px; } -#rl-app .legend { +#rl-app .legend, +#rl-app #V-AdminPane hr, +#rl-app #V-SettingsPane hr { color: unset; border-color: var(--color-border); } From 6529d01a4f78307278fb95a191cb3acf1048935a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Dec 2022 20:56:48 +0000 Subject: [PATCH 037/161] fix: Admin setting with wrong alignment --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b85d89943e..5695a1b584 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1216,6 +1216,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin-left: -130px; } +#rl-app #V-Settings-Domains .btn[data-i18n="GLOBAL/TEST"] { + margin-left: 1rem; +} + /* * scrollbar */ From 2c3766f4d51b4847bbafaf10b279b42a2bf4668b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 3 Jan 2023 14:06:26 +0000 Subject: [PATCH 038/161] chore: Add group labels --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 5695a1b584..41dbebc063 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -797,6 +797,12 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { border-left-color: inherit; } +#rl-app .messageList .groupLabel { + background-color: var(--color-background-dark); + border-radius: var(--border-radius); + margin: 2px 0; +} + /* * message view */ From c7991c91b7b9e198f51321236fcd97041abad518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 3 Jan 2023 14:12:33 +0000 Subject: [PATCH 039/161] chore: Improve simple attachment list --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 41dbebc063..f52ecc271d 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -917,6 +917,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-dark); border-radius: var(--border-radius); box-shadow: none; + padding: 2px; } #rl-app #messageItem .attachmentsPlace .attachmentItem:hover, @@ -949,6 +950,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--color-main-text); } +#rl-app #messageItem .attachmentListSimple .attachmentName { + margin: 5px; +} + /* * message flags */ From 4ead42aea2c8a527b35959fe8eba6ab613d81fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 4 Jan 2023 11:39:51 +0000 Subject: [PATCH 040/161] fix: Center message subject --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index f52ecc271d..0425d89a9a 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -853,6 +853,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 5px; } +#rl-app .messageView .messageItemHeader .subject { + line-height: 30px; + height: 30px; +} + #rl-app .messageView .openpgp-control.encrypted, #rl-app .messageView .openpgp-control.signed { border-radius: var(--border-radius); From 15deadaa1c84ec85114d4ca2fa0ddbd1e5043e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 30 Jan 2023 11:12:11 +0000 Subject: [PATCH 041/161] fix: Broken styles in the latest snappymail release --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 0425d89a9a..4b4c81dcc7 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -178,7 +178,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { margin: 2px; padding: 0 2em 0 15px; height: 38px; - line-height: 38px; + line-height: 38px !important; border-radius: var(--border-radius-pill); color: unset; border: none; @@ -189,7 +189,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app #V-SettingsMenu nav a { height: 44px; min-height: 44px; - line-height: 44px; + line-height: 44px !important; } #rl-app #V-AdminMenu nav a.selected, @@ -595,6 +595,10 @@ select option { * message list */ +#rl-app #V-MailMessageList { + overflow: unset; +} + #rl-app .thm-message-list-top-toolbar, #rl-app .thm-message-list-bottom-toolbar { background: unset !important; From 96e090650dc08b63479bd220bc7956ee9d93ff6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 30 Jan 2023 11:18:46 +0000 Subject: [PATCH 042/161] fix: Clipped elements on disabled left panel --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 4b4c81dcc7..35be53851c 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -63,6 +63,10 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { flex-direction: column; } +html.rl-left-panel-disabled #rl-app #rl-left { + width: 65px !important; +} + @media screen and (min-width: 1000px) { #rl-app .b-folders .btn.buttonContacts { transition: none; @@ -316,7 +320,6 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app .btn.buttonCompose { font-weight: bold; max-width: 100%; - width: 100%; box-sizing: content-box !important; } @@ -343,9 +346,9 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { padding: 4px 14px; line-height: 36px; height: 44px; - min-width: -moz-fit-content; - min-width: -webkit-fill-available; min-width: fit-content; + width: -moz-fit-content; + width: -webkit-fill-available; font-size: var(--default-font-size); border-radius: var(--border-radius-pill); From f8a2b3489a2ab8e140b399169616935a922a2205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 13:48:17 +0000 Subject: [PATCH 043/161] fix: Broken styles in the latest snappymail release --- .../app/themes/Nextcloud25/styles.css | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 35be53851c..b585b638dc 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -258,10 +258,15 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app #V-SettingsMenu .b-footer, -#rl-app .b-footer.btn-toolbar .btn-group { +#rl-app .b-footer.btn-toolbar { + overflow: unset; padding: 3px; } +#rl-app .b-footer .btn[data-bind*="toggleLeftPanel"] { + width: unset !important; +} + /* * buttons */ @@ -560,6 +565,7 @@ select option { #rl-app .e-component.e-checkbox.material-design:hover, #rl-app .e-component.e-checkbox.material-design:focus-within { background-color: var(--color-primary-light); + outline: none; } #rl-app .e-component.e-checkbox.material-design:focus { @@ -567,30 +573,22 @@ select option { } #rl-app .e-checkbox.material-design>div { - box-sizing: border-box; - margin-right: 4px; - margin-left: -2px; -} - -#rl-app .e-checkbox.material-design>div>div { - width: 100%; - height: 100%; + position: unset; + width: 18px; + height: 18px; border: 2px solid var(--color-primary-element); border-radius: 2px; animation: none; box-sizing: border-box; } -#rl-app .e-checkbox.material-design>div>div.checked { - top: 0; - left: 0; +#rl-app .e-checkbox.material-design input:checked+div { animation: none; --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); -webkit-mask-image: var(--svg-checked); mask-image: var(--svg-checked); background: var(--color-primary-element); border-width: 0; - margin: 0; transform: unset; } From 6564e825ec51926953975111c4cbad2c16dfe791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 13:54:56 +0000 Subject: [PATCH 044/161] Fix: Wrong colored scrollbar corner --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b585b638dc..074ebe687b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1245,23 +1245,24 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * scrollbar */ -#rl-app ::-webkit-scrollbar { +::-webkit-scrollbar { width: 12px; height: 12px; } -#rl-app ::-webkit-scrollbar-thumb { +::-webkit-scrollbar-thumb { background: var(--color-scrollbar); border-radius: var(--border-radius-large); border: 2px solid transparent; background-clip: content-box; } -#rl-app ::-webkit-scrollbar-track-piece { +::-webkit-scrollbar-corner, +::-webkit-scrollbar-track-piece { background-color: transparent; } -#rl-app ::selection { +#rl-app::selection { background-color: var(--color-primary-element); color: var(--color-primary-text); } From a4158393ea192f5c1fcf4dc3adc607bf89758d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 15:33:57 +0000 Subject: [PATCH 045/161] chore: Add loading and login screen --- .../app/themes/Nextcloud25/styles.css | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 074ebe687b..2b0b3f7c43 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -92,6 +92,67 @@ html.rl-left-panel-disabled #rl-app #rl-left { margin-left: unset; } +/* + * loading and login screen + */ + +#rl-app #rl-loading, +#rl-app #rl-loading-error, +#rl-app #V-Login { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 10px; + + top: unset; + position: unset; + min-width: unset; + max-width: unset; + transform: unset; + text-shadow: none; + transition: none; + + background-color: var(--color-main-background-blur, var(--color-main-background)); + -webkit-backdrop-filter: var(--filter-background-blur, none); + backdrop-filter: var(--filter-background-blur, none); + + color: var(--color-main-text); + width: 100%; + height: 100%; +} + +#rl-app .LoginView .descWrapper { + color: var(--color-main-text); +} + +#rl-app .LoginView .alert { + position: unset; +} + +#rl-app .LoginView form { + min-width: 250px; + max-width: 500px; + width: 90%; + + background-color: var(--color-main-background); + border: unset; + border-radius: var(--border-radius-large); + box-shadow: 0 0 10px var(--color-box-shadow); + color: var(--color-main-text); +} + +#rl-app .LoginView .controls > .fontastic:first-child { + padding: unset; + left: 10px; +} + +#rl-app #rl-loading[hidden], +#rl-app #rl-loading-error[hidden], +#rl-app .LoginView .alert[hidden] { + display: none; +} + /* * icons */ @@ -160,6 +221,11 @@ html.rl-left-panel-disabled #rl-app #rl-left { border-color: var(--color-error); } +#rl-app .alert .close { + top: -0.6rem; + right: unset; +} + #rl-app .alert br { display: none; } @@ -328,13 +394,16 @@ html.rl-left-panel-disabled #rl-app #rl-left { box-sizing: content-box !important; } +#rl-app button.btn.buttonLogin, #rl-app .btn.btn-success { color: var(--color-primary-element-text); background-color: var(--color-primary-element); border-color: var(--color-primary-element) !important; } +#rl-app button.btn.buttonLogin:hover, #rl-app .btn.btn-success:hover, +#rl-app button.btn.buttonLogin:focus, #rl-app .btn.btn-success:focus { background-color: var(--color-primary-element-hover) !important; border-color: var(--color-primary-element-hover) !important; From 19e24871e6c791e7eae336e8037eb740232fbe13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 15:45:07 +0000 Subject: [PATCH 046/161] fix: Some buttons are not styled --- .../snappymail/app/themes/Nextcloud25/styles.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 2b0b3f7c43..893a615b9e 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -338,6 +338,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { */ #rl-app .btn, +#rl-app button, #rl-app button.btn:not(.button-vue) { min-height: 36px; height: 36px; @@ -370,20 +371,23 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app .btn:not(.disabled, [disabled]):hover, -#rl-app .btn:not(.disabled, [disabled]):focus { +#rl-app button:not(.disabled, [disabled]):hover, +#rl-app .btn:not(.disabled, [disabled]):focus, +#rl-app button:not(.disabled, [disabled]):focus { border-color: var(--color-primary-element) !important; outline: none; opacity: unset; } -#rl-app .btn:not(.disabled, [disabled]):active { +#rl-app .btn:not(.disabled, [disabled]):active, +#rl-app button:not(.disabled, [disabled]):active { outline: none; opacity: unset; background-color: var(--color-main-background); color: var(--color-text-light); } -#rl-app .btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled] { +#rl-app .btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled], #rl-app button { text-shadow: none; box-shadow: none; } From f19cfa850f36986b8dbaf97ad348a9248201703f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 17:28:48 +0000 Subject: [PATCH 047/161] fix: Some checkboxes are not styled --- .../app/themes/Nextcloud25/styles.css | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 893a615b9e..a16b57b752 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -520,7 +520,7 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f * inputs */ -#rl-app input { +#rl-app input:not([type="checkbox"]) { padding: 0 12px; font-size: var(--default-font-size); color: var(--color-main-text); @@ -622,9 +622,9 @@ select option { */ #rl-app .e-component.e-checkbox.material-design { - width: -moz-fit-content; - width: -webkit-fill-available; - width: fit-content; + width: -moz-fit-content !important; + width: -webkit-fill-available !important; + width: fit-content !important; display: flex; position: relative; align-items: center; @@ -645,16 +645,28 @@ select option { outline: none; } +#rl-app .e-component.e-checkbox input[type="checkbox"] { + display: none; +} + +input[type="checkbox"] { + background-color: transparent; + -webkit-appearance: none; + appearance: none; +} + +input[type="checkbox"], #rl-app .e-checkbox.material-design>div { position: unset; - width: 18px; - height: 18px; + width: 18px !important; + height: 18px !important; border: 2px solid var(--color-primary-element); border-radius: 2px; animation: none; box-sizing: border-box; } +input[type="checkbox"]:checked, #rl-app .e-checkbox.material-design input:checked+div { animation: none; --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); From e388e6cd76fab64ea4e625be05d7e179ab267daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 19 Feb 2023 18:37:36 +0000 Subject: [PATCH 048/161] chore: Add nextcloud filepicker --- .../app/themes/Nextcloud25/styles.css | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index a16b57b752..94dfb946e2 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1384,4 +1384,75 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsCompose header .close, #rl-app #V-PopupsCompose header .minimize-custom { box-sizing: content-box; +} + +/* + * nextcloud file picker + */ + +#rl-app #V-PopupsCompose .btn[data-bind*="nextcloudAttach"] { + font-size: 0; +} + +#rl-app #V-PopupsCompose .btn[data-bind*="nextcloudAttach"]::before { + display: block; + content: ""; + height: 100%; + width: 30px; + --nc-logo: url("data:image/svg+xml,<svg height='29' width='64' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round' version='1.1' xmlns='http://www.w3.org/2000/svg'><path d='m32.028 0c-6.6304 0-12.249 4.4952-13.991 10.564-1.5172-3.259-4.7762-5.5066-8.5971-5.5066-5.1694 0-9.4398 4.2704-9.4398 9.496s4.2704 9.4961 9.496 9.4961c3.7647 0 7.0799-2.2476 8.5971-5.5066 1.6856 6.0685 7.3046 10.564 13.935 10.564 6.5742 0 12.193-4.4389 13.991-10.451 1.5171 3.1466 4.7761 5.338 8.4846 5.338 5.2257 0 9.4961-4.2704 9.4961-9.4961s-4.2704-9.4398-9.4961-9.4398c-3.7085 0-6.9675 2.1914-8.4846 5.338-1.7981-5.9561-7.3608-10.395-13.991-10.395zm0 5.5628c5.0009 0 8.9903 3.9894 8.9903 8.9903s-3.9894 8.9904-8.9903 8.9904-8.9903-3.9895-8.9903-8.9904 3.9894-8.9903 8.9903-8.9903zm-22.532 5.057c2.1914 0 3.9333 1.7419 3.9333 3.9333s-1.7419 3.9333-3.9333 3.9333-3.9332-1.7419-3.9332-3.9333 1.7419-3.9333 3.9332-3.9333zm45.008 0c2.1915 0 3.9333 1.7419 3.9333 3.9333s-1.7418 3.9333-3.9333 3.9333-3.9332-1.7419-3.9332-3.9333c0.0562-2.1914 1.7418-3.9333 3.9332-3.9333z' fill-rule='nonzero'></path></svg>"); + -webkit-mask-image: var(--nc-logo); + mask-image: var(--nc-logo); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 30px; + mask-size: 30px; + background-color: var(--color-main-text); +} + +#rl-app #V-PopupsNextcloudFiles { + user-select: none; +} + +#rl-app #V-PopupsNextcloudFiles li { + line-height: 33px; +} + +#rl-app #V-PopupsNextcloudFiles li input { + margin: 7px; +} + +#rl-app #V-PopupsNextcloudFiles li[data-icon], +#rl-app #V-PopupsNextcloudFiles li details summary { + padding: 3px 10px; +} + +#rl-app #V-PopupsNextcloudFiles li:not(:last-child), +#rl-app #V-PopupsNextcloudFiles li details[open]>summary { + border-bottom: 1px solid var(--color-border); +} + +#rl-app #V-PopupsNextcloudFiles li details[open]>summary { + background-color: var(--color-primary-light); + border-bottom-color: var(--color-primary-element-hover); +} + +#rl-app #V-PopupsNextcloudFiles li:hover { + background-color: unset; +} + +#rl-app #V-PopupsNextcloudFiles li[data-icon]:hover, +#rl-app #V-PopupsNextcloudFiles li details:not([open]):hover, +#rl-app #V-PopupsNextcloudFiles li details[open]>summary:hover { + background-color: var(--color-background-hover); +} + +#rl-app #V-PopupsNextcloudFiles li details summary[data-icon] { + list-style-type: none; +} + +#rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before { + color: var(--color-primary); + font-size: 20px; } \ No newline at end of file From 2ee8fa6480123d1a6b8abcda1d02ea5980aaac9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 20 Feb 2023 09:01:01 +0000 Subject: [PATCH 049/161] chore: Remove hover effect for showImages area --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 94dfb946e2..0c44a9e118 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -986,8 +986,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-radius: var(--border-radius-large); } -#rl-app #messageItem .readReceipt:hover, -#rl-app #messageItem .showImages:hover { +#rl-app #messageItem .readReceipt:hover { background-color: var(--color-primary-light-hover); } From d38bb34aae4d2245daa3adfd33126b5be7a0e1f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 20 Feb 2023 11:52:24 +0000 Subject: [PATCH 050/161] chore: Improve squire toolbar buttons --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 0c44a9e118..73adee6a90 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -511,7 +511,8 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } -#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn { +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, +#rl-app .squire-toolbar.btn-toolbar .btn { border-radius: var(--border-radius-large); margin: 0 .5px; } From f601e02bf7d3a06291ad016cd63f92c5e74876ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 20 Feb 2023 11:53:34 +0000 Subject: [PATCH 051/161] chore: Add error tooltip --- .../snappymail/app/themes/Nextcloud25/styles.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 73adee6a90..95dfe9f04b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -92,6 +92,17 @@ html.rl-left-panel-disabled #rl-app #rl-left { margin-left: unset; } +#rl-app .error-to { + color: var(--color-error); +} + +#rl-app [data-rainloopErrorTip]::before { + background: var(--color-background-dark); + border-radius: var(--border-radius); + border-color: var(--color-border-dark); + color: var(--color-error); +} + /* * loading and login screen */ From 9e29238ed124469051775d6a690cc2593302e1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 20 Feb 2023 12:00:26 +0000 Subject: [PATCH 052/161] fix: Hide number input's spin box on chrome --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 95dfe9f04b..ba38ad6262 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -556,6 +556,12 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f -webkit-appearance: none; } +#rl-app input::-webkit-outer-spin-button, +#rl-app input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + #rl-app input[type=number] { -moz-appearance: textfield; -webkit-appearance: textfield; From 5dd0eaefe022655e5e20e332e46208baf614db8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 20 Feb 2023 12:46:06 +0000 Subject: [PATCH 053/161] chore: Add textareas --- .../app/themes/Nextcloud25/styles.css | 54 ++++++++++++++++--- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index ba38ad6262..bcc79ad947 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -635,6 +635,45 @@ select option { /* TODO */ } +/* + * textareas + */ + +#rl-app .squire-toolbar { + height: 50px; + box-sizing: content-box; + border-color: var(--color-border); +} + +#rl-app textarea, +#rl-app div[contenteditable], +#rl-app .squire-wysiwyg, +#rl-app .squire-plain { + padding: 8px 12px; + margin: unset; + font-size: var(--default-font-size); + color: var(--color-main-text); + background-color: unset; + outline: none; + border: 2px solid var(--color-border-dark); + border-radius: var(--border-radius-large); +} + +#rl-app textarea:hover, +#rl-app div[contenteditable=true]:hover, +#rl-app .squire-wysiwyg:hover, +#rl-app .squire-plain:hover, +#rl-app textarea:active, +#rl-app div[contenteditable=true]:active, +#rl-app .squire-wysiwyg:active, +#rl-app .squire-plain:active, +#rl-app textarea:focus, +#rl-app div[contenteditable=true]:focus, +#rl-app .squire-wysiwyg:focus, +#rl-app .squire-plain:focus { + border-color: var(--color-primary-element); +} + /* * checkboxes */ @@ -1364,6 +1403,13 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: transparent; } +::-webkit-resizer { + border: 10px solid transparent; + border-radius: var(--border-radius); + border-bottom-color: var(--color-border-dark); + border-right-color: var(--color-border-dark); +} + #rl-app::selection { background-color: var(--color-primary-element); color: var(--color-primary-text); @@ -1387,14 +1433,8 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; } -#rl-app .squire-toolbar { - height: 50px; - box-sizing: content-box; -} - #rl-app dialog > header, -#rl-app dialog > footer, -#rl-app .squire-toolbar { +#rl-app dialog > footer { border-color: var(--color-border); } From eb8bdd60c862eb474f14ff693e7b9c4b55f11c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 21 Feb 2023 16:54:46 +0000 Subject: [PATCH 054/161] fix: Button overflow on small sidebar --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index bcc79ad947..177beef2fe 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -461,6 +461,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { width: -webkit-fill-available; width: -moz-available; width: fill-available; + overflow: hidden; } #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic { From 1b10e304d4e94646a48d12fb8d4b255e8df7ae94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 21 Feb 2023 17:03:44 +0000 Subject: [PATCH 055/161] fix: MessageList min width --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 177beef2fe..8b8f86ecab 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -743,6 +743,10 @@ input[type="checkbox"]:checked, overflow: unset; } +#rl-app #V-MailMessageList .messageList { + min-width: 350px; +} + #rl-app .thm-message-list-top-toolbar, #rl-app .thm-message-list-bottom-toolbar { background: unset !important; From b1fef91c55b75bbbcfa9a1df99b358baeb4cefd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 21 Feb 2023 17:16:29 +0000 Subject: [PATCH 056/161] fix: SettingsPane margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 8b8f86ecab..7f1054c861 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1302,8 +1302,8 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-SettingsPane #rl-settings-subscreen { - margin: 58px 0px 8px 0px; - height: calc(100% - 58px - 8px); + margin: 8px 0px; + height: calc(100% - 8px - 8px); } #rl-app #V-SettingsPane .btn-toolbar { From d021bd26fd158aa3a5849a5d95912da200ca6049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 22 Feb 2023 19:18:01 +0000 Subject: [PATCH 057/161] fix: MessageView toolbar padding --- .../snappymail/app/themes/Nextcloud25/styles.css | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 7f1054c861..e70be9473a 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -959,10 +959,20 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { * message view */ - #rl-app #V-MailMessageView { +#rl-app #V-MailMessageView { bottom: 0; } +#rl-app #V-MailMessageList .btn-toolbar, +#rl-app #V-MailMessageView .btn-toolbar { + padding: 10px 1px; +} + +#rl-app .messageList, +#rl-app .messageView { + height: calc(100% - 60px); +} + html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar { /* TODO Improve mobile experience */ } @@ -1242,7 +1252,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * account selector */ -#rl-app .btn-toolbar.g-ui-user-select-none { +#rl-app #V-SystemDropDown .btn-toolbar.g-ui-user-select-none { border: solid 1px var(--color-border-dark); border-radius: var(--border-radius-large); height: 36px; From dbaa6eb3b25dffd57b79cfb0a2b488ba6f33bbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 25 Feb 2023 12:39:49 +0000 Subject: [PATCH 058/161] fix: Broken styles in the latest snappymail release --- .../app/themes/Nextcloud25/styles.css | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e70be9473a..c78750a91f 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -73,12 +73,6 @@ html.rl-left-panel-disabled #rl-app #rl-left { } } -#rl-app #V-AdminMenu nav, -#rl-app #V-SettingsMenu nav.b-content, -.b-folders .b-content { - padding: calc(var(--default-grid-baseline) * 2); -} - #rl-app .b-folders .b-content { top: 60px; bottom: 162px; @@ -245,16 +239,26 @@ html.rl-left-panel-disabled #rl-app #rl-left { * side panel */ -#rl-app #V-AdminPane>.b-toolbar { +#rl-app #V-AdminPane>.b-toolbar, +#rl-app #V-SettingsMenu>.b-toolbar { top: 0; left: 0; + height: auto !important; padding-top: calc(var(--default-grid-baseline) * 2) !important; + padding-bottom: calc(var(--default-grid-baseline) * 2) !important; font-weight: bold; } +#rl-app #V-AdminMenu nav, +#rl-app #V-SettingsMenu nav, +#rl-app .b-folders .b-content { + padding: calc(var(--default-grid-baseline) * 2); +} + #rl-app #V-AdminMenu nav a, #rl-app #V-AdminPane>.b-toolbar, #rl-app #V-SettingsMenu nav a, +#rl-app #V-SettingsMenu>.b-toolbar, #rl-app .b-folders li a.selectable { margin: 2px; padding: 0 2em 0 15px; @@ -267,7 +271,8 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app #V-AdminMenu nav a, #rl-app #V-AdminPane>.b-toolbar, -#rl-app #V-SettingsMenu nav a { +#rl-app #V-SettingsMenu nav a, +#rl-app #V-SettingsMenu>.b-toolbar { height: 44px; min-height: 44px; line-height: 44px !important; @@ -1049,6 +1054,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 2px 5px; } +#rl-app #messageItem .bodySubHeader { + background-color: unset; +} + #rl-app #messageItem .readReceipt, #rl-app #messageItem .showImages { margin: 8px; @@ -1305,17 +1314,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * settings */ -#rl-app #rl-settings-subscreen { +#rl-app #V-SettingsPane { + margin: 62px 0 8px 0; + height: calc(100% - 62px - 8px); background-color: unset; box-shadow: none; border: none; } -#rl-app #V-SettingsPane #rl-settings-subscreen { - margin: 8px 0px; - height: calc(100% - 8px - 8px); -} - #rl-app #V-SettingsPane .btn-toolbar { padding: 8px; } @@ -1376,9 +1382,12 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * admin settings */ -#rl-app #V-AdminPane #rl-settings-subscreen { +#rl-app #V-AdminPane { margin: 8px 0px; height: calc(100% - 8px - 8px); + background-color: unset; + box-shadow: none; + border: none; } #rl-app #V-Settings-Config th { From a93db065d6ac2c9c1659cc915282b5510bd433d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 25 Feb 2023 12:44:41 +0000 Subject: [PATCH 059/161] fix: ShowImages layout --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c78750a91f..aceaef6a0a 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1061,12 +1061,18 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #messageItem .readReceipt, #rl-app #messageItem .showImages { margin: 8px; + padding: 10px; color: var(--color-main-text); border: solid 1px var(--color-primary-element); background-color: var(--color-primary-light); border-radius: var(--border-radius-large); } +#rl-app #messageItem .showImages>.btn, +#rl-app #messageItem .showImages>.btn-group { + margin: 2px; +} + #rl-app #messageItem .readReceipt:hover { background-color: var(--color-primary-light-hover); } From a9d077a2999cfb3aae21a7b6f949ad5173bd32c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 25 Feb 2023 12:54:07 +0000 Subject: [PATCH 060/161] fix: Disable mail invert filter --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index aceaef6a0a..b2c72f0fd4 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1305,7 +1305,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar * dark mails */ -@media (prefers-color-scheme: dark) { +/* @media (prefers-color-scheme: dark) { #rl-app .bodyText, .bodyText img { filter: invert(95%) hue-rotate(180deg); } @@ -1313,7 +1313,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .bodyText img { border-radius: 4px; } -} +} */ /* TODO: Improve settings layout and theming */ /* From 9cdbb609eb3716959ecbec9c3b4ec8e30e69e93f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 21 May 2023 19:19:02 +0000 Subject: [PATCH 061/161] fix: Minor popup styles --- .../app/themes/Nextcloud25/styles.css | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b2c72f0fd4..16e356ff58 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -38,6 +38,10 @@ box-shadow: none; } +#rl-app hr { + border-bottom-color: var(--color-border-dark); +} + #rl-app .resizer { opacity: 1; background-color: unset; @@ -572,7 +576,8 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f -moz-appearance: textfield; -webkit-appearance: textfield; appearance: textfield; - margin: 0; + margin: 0; + /* ? margin: 0 5px 0 0; */ } /* @@ -648,7 +653,7 @@ select option { #rl-app .squire-toolbar { height: 50px; box-sizing: content-box; - border-color: var(--color-border); + border: none; } #rl-app textarea, @@ -1473,6 +1478,16 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar box-sizing: content-box; } +#rl-app #V-PopupsIdentity .e-signature-place { + border: none; +} + +#rl-app #V-PopupsDomain .domain-form .tab-content input, +#rl-app #V-PopupsDomain .domain-form .tab-content select { + height: 44px; + padding: 8px 12px; +} + /* * nextcloud file picker */ From e179b461401683cdd9bd5c743876013143176363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 21 May 2023 19:19:50 +0000 Subject: [PATCH 062/161] chore: Add tabs --- .../app/themes/Nextcloud25/styles.css | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 16e356ff58..109a259f76 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1557,4 +1557,25 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before { color: var(--color-primary); font-size: 20px; +} + +/* + * tabs + */ + +#rl-app .tabs > [id^=tab]:checked+label { + background-color: var(--color-main-background); + border-color: var(--color-primary-element); + border-bottom-color: transparent; +} + +#rl-app .tabs>label:hover { + border-color: transparent; + border-bottom-color: var(--color-primary-element); + background-color: var(--color-background-hover) +} + +#rl-app .tabs .tab-content { + border-color: var(--color-primary-element); + padding: 10px 20px; } \ No newline at end of file From c50642021b7b5a9cb2485c55e6246267c8f99133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 08:46:22 +0000 Subject: [PATCH 063/161] fix: Checkbox margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 109a259f76..05f37ac473 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -700,7 +700,7 @@ select option { height: 44px; border-radius: 44px; padding: 0 14px; - margin: 0 -7px 0 -14px; + margin: 0; } #rl-app .e-component.e-checkbox.material-design:hover, @@ -1577,5 +1577,4 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .tabs .tab-content { border-color: var(--color-primary-element); - padding: 10px 20px; } \ No newline at end of file From df04a6dc28ec0dc3917d18f7a358be5f6cfd8d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 08:53:53 +0000 Subject: [PATCH 064/161] fix: Popup button margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 05f37ac473..f0d0bbb577 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1478,6 +1478,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar box-sizing: content-box; } +#rl-app dialog > footer .btn+.btn { + margin: 0 0 0 5px; +} + #rl-app #V-PopupsIdentity .e-signature-place { border: none; } From 804b9531f7cd521ed1cf43fb04dc079dd200bfbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 09:44:24 +0000 Subject: [PATCH 065/161] chore: Improve settings control-group margin --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index f0d0bbb577..d958ada0e3 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1347,6 +1347,15 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .form-horizontal .control-group { display: flex; align-items: center; + margin-left: 0; +} + +#rl-app .form-horizontal .control-group { + margin-bottom: 1em; +} + +#rl-app .control-group { + margin-bottom: 0.5em; } #rl-app .table-bordered, From cbbf673f4d9c55d2b13b427d8d610a249f5ebbfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 09:44:56 +0000 Subject: [PATCH 066/161] chore: Add plugin popups --- .../snappymail/app/themes/Nextcloud25/styles.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index d958ada0e3..e3f4e9e97d 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1491,6 +1491,22 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 0 0 0 5px; } +#rl-app #V-PopupsPlugin .help-block span { + background-color: var(--color-background-dark); + border-color: var(--color-border); + border-radius: var(--border-radius); + box-shadow: 0 0 2px var(--color-box-shadow); + color: unset; + left: 10px; + right: unset; + padding: 8px; + margin: 7px; +} + +#rl-app #V-PopupsPlugin .help-block { + margin-left: 5px; +} + #rl-app #V-PopupsIdentity .e-signature-place { border: none; } From 55b872ee03aa9ebe3024baf0ab7a7bdd957f4ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 10:14:27 +0000 Subject: [PATCH 067/161] feat: Add language popup --- .../app/themes/Nextcloud25/styles.css | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e3f4e9e97d..f6b6cd6ed7 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1517,6 +1517,28 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 8px 12px; } +#rl-app #V-PopupsLanguages label { + background-color: var(--color-background-dark) !important; + border-color: var(--color-border); + border-radius: var(--border-radius); + padding: 8px 15px; +} + +#rl-app #V-PopupsLanguages label:hover { + border-color: var(--color-primary-element); + background-color: unset; +} + +#rl-app #V-PopupsLanguages label.user { + background-color: var(--color-main-background) !important; + border-color: var(--color-primary-element); +} + +#rl-app #V-PopupsLanguages label.selected { + background-color: var(--color-primary-element-light) !important; + border-color: var(--color-primary-element); +} + /* * nextcloud file picker */ From a6da438ae75661d622610ad2a437fdcb5864b2fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 10:17:21 +0000 Subject: [PATCH 068/161] fix: Account place border color --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index f6b6cd6ed7..9caa68a99b 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1287,6 +1287,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; color: unset; text-shadow: none; + border-right-color: var(--color-border); } #rl-app #V-SystemDropDown #top-system-dropdown-id { From e5c0e50c8c1900de8c81a265c9df3f8efc68ce8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 10:27:22 +0000 Subject: [PATCH 069/161] fix: Dropdown menu scrollbar --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 9caa68a99b..3d7a807a9f 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1262,7 +1262,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-border); } -#rl-app .dropdown-menu ::-webkit-scrollbar-track-piece { +#rl-app .dropdown-menu::-webkit-scrollbar-track-piece { background-color: inherit; border-top-right-radius: inherit; border-bottom-right-radius: inherit; From 40bcf6b94b2c94896a789baa61885f5e288561ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 13:12:01 +0000 Subject: [PATCH 070/161] chore: Improve tabs --- .../snappymail/app/themes/Nextcloud25/styles.css | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 3d7a807a9f..236aeae61e 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1621,12 +1621,21 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-bottom-color: transparent; } -#rl-app .tabs>label:hover { +#rl-app .tabs > label { + margin: 0 2px -1px 2px; + border-radius: 0; + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); +} + +#rl-app .tabs > label:hover { border-color: transparent; border-bottom-color: var(--color-primary-element); background-color: var(--color-background-hover) } #rl-app .tabs .tab-content { + border-top: solid 1px; + border-radius: 4px; border-color: var(--color-primary-element); } \ No newline at end of file From 243baf5b5e42ff129d7276decc65f11edfee187d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 17:13:11 +0000 Subject: [PATCH 071/161] chore: Rework button toolbar --- .../app/themes/Nextcloud25/styles.css | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 236aeae61e..ff8af0b432 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -447,9 +447,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { min-width: fit-content; width: -moz-fit-content; width: -webkit-fill-available; + margin: 3px !important; font-size: var(--default-font-size); - border-radius: var(--border-radius-pill); + border-radius: var(--border-radius-pill) !important; } #rl-app .b-footer .btn, @@ -462,7 +463,6 @@ html.rl-left-panel-disabled #rl-app #rl-left { background: transparent; text-align: left; font-size: 22px; - margin: 3px; user-select: none; } @@ -532,12 +532,27 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } -#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, -#rl-app .squire-toolbar.btn-toolbar .btn { - border-radius: var(--border-radius-large); +#rl-app .btn-toolbar .btn-group .btn { + border-radius: 0; margin: 0 .5px; } +#rl-app .btn-toolbar .btn-group .btn:first-of-type { + border-top-left-radius: var(--border-radius-large); + border-bottom-left-radius: var(--border-radius-large); +} + +#rl-app .btn-toolbar .btn-group .btn:last-of-type { + border-top-right-radius: var(--border-radius-large); + border-bottom-right-radius: var(--border-radius-large); +} + +/* +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn:not(:last-of-type) { + margin: 0 3px 0 0; +} +*/ + /* * inputs */ From 3713d0f0548d6e666093a4096a349f94436d5613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 22 May 2023 21:47:21 +0000 Subject: [PATCH 072/161] fix: Consider hidden toolbar buttons --- .../snappymail/app/themes/Nextcloud25/styles.css | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index ff8af0b432..dcec9f235d 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -537,22 +537,18 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f margin: 0 .5px; } -#rl-app .btn-toolbar .btn-group .btn:first-of-type { +#rl-app .btn-toolbar .btn-group .btn:first-of-type, +#rl-app .btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { border-top-left-radius: var(--border-radius-large); border-bottom-left-radius: var(--border-radius-large); } -#rl-app .btn-toolbar .btn-group .btn:last-of-type { +#rl-app .btn-toolbar .btn-group .btn:last-of-type, +#rl-app .btn-toolbar .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { border-top-right-radius: var(--border-radius-large); border-bottom-right-radius: var(--border-radius-large); } -/* -#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn:not(:last-of-type) { - margin: 0 3px 0 0; -} -*/ - /* * inputs */ From 4fe9cc5523453220dabb4ce5844734b8f969ea68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 23 May 2023 09:49:52 +0000 Subject: [PATCH 073/161] chore: Improve buttons --- .../app/themes/Nextcloud25/styles.css | 132 ++++++++++++------ 1 file changed, 93 insertions(+), 39 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index dcec9f235d..4f5a5b9420 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -362,7 +362,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app button.btn:not(.button-vue) { min-height: 36px; height: 36px; - box-sizing: border-box !important; + box-sizing: border-box; padding: 8px 14px; line-height: 20px; color: var(--color-main-text); @@ -372,6 +372,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { font-size: var(--default-font-size); } +#rl-app .btn.fontastic { + border-radius: var(--border-radius-large); +} + #rl-app .btn.btn-thin { padding-right: 9px; padding-left: 9px; @@ -381,11 +385,19 @@ html.rl-left-panel-disabled #rl-app #rl-left { border: unset !important; } +#rl-app .btn:hover, +#rl-app .btn:focus, +#rl-app .btn:active, +#rl-app .btn.active { + outline: none; + opacity: unset; +} + + #rl-app .btn.disabled, .btn[disabled], #rl-app .btn.disabled:hover, .btn[disabled]:hover, #rl-app .btn.disabled:focus, .btn[disabled]:focus, #rl-app .btn.disabled:active, .btn[disabled]:active { - outline: none; opacity: .5; filter: saturate(0.7); } @@ -395,19 +407,26 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app .btn:not(.disabled, [disabled]):focus, #rl-app button:not(.disabled, [disabled]):focus { border-color: var(--color-primary-element) !important; - outline: none; - opacity: unset; } #rl-app .btn:not(.disabled, [disabled]):active, -#rl-app button:not(.disabled, [disabled]):active { - outline: none; - opacity: unset; +#rl-app button:not(.disabled, [disabled]):active, +#rl-app .btn:not(.disabled, [disabled]).active, +#rl-app button:not(.disabled, [disabled]).active { background-color: var(--color-main-background); color: var(--color-text-light); } -#rl-app .btn, .btn.active, .btn:active, .btn.disabled, .btn[disabled], #rl-app button { +#rl-app .btn, +#rl-app button, +#rl-app .btn.active, +#rl-app button.active, +#rl-app .btn:active, +#rl-app button:active, +#rl-app .btn.disabled, +#rl-app button.disabled, +#rl-app .btn[disabled], +#rl-app button[disabled] { text-shadow: none; box-shadow: none; } @@ -418,6 +437,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { box-sizing: content-box !important; } +#rl-app .btn.buttonCompose:active { + color: var(--color-primary-text-dark); +} + #rl-app button.btn.buttonLogin, #rl-app .btn.btn-success { color: var(--color-primary-element-text); @@ -429,17 +452,66 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app .btn.btn-success:hover, #rl-app button.btn.buttonLogin:focus, #rl-app .btn.btn-success:focus { - background-color: var(--color-primary-element-hover) !important; + background-color: var(--color-primary-element-hover); border-color: var(--color-primary-element-hover) !important; } -#rl-app .btn.buttonCompose:active { - color: var(--color-primary-text-dark); +#rl-app .btn.btn-warning { + background-color: var(--color-warning); + border-color: var(--color-warning) !important; +} + +#rl-app .btn.btn-warning:hover, +#rl-app .btn.btn-warning:focus { + background-color: var(--color-warning-hover); + border-color: var(--color-warning-hover) !important; +} + +#rl-app .btn.btn-error { + background-color: var(--color-error); + border-color: var(--color-error) !important; +} + +#rl-app .btn.btn-error:hover, +#rl-app .btn.btn-error:focus { + background-color: var(--color-warning-error); + border-color: var(--color-warning-error) !important; +} + +#rl-app .btn-group .btn, +#rl-app .btn-group button, +#rl-app .btn-group button.btn { + border-radius: 0; + margin: 0 0.5px; +} + +#rl-app .btn-group .btn:first-of-type, +#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { + border-top-left-radius: var(--border-radius-pill); + border-bottom-left-radius: var(--border-radius-pill); +} + +#rl-app .btn-group .btn:last-of-type, +#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { + border-top-right-radius: var(--border-radius-pill); + border-bottom-right-radius: var(--border-radius-pill); +} + +#rl-app .btn-group .btn.fontastic:first-of-type, +#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { + border-top-left-radius: var(--border-radius-large); + border-bottom-left-radius: var(--border-radius-large); +} + +#rl-app .btn-group .btn.fontastic:last-of-type, +#rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { + border-top-right-radius: var(--border-radius-large); + border-bottom-right-radius: var(--border-radius-large) ; } #rl-app .btn.buttonCompose, #rl-app .b-folders .btn.buttonContacts, -#rl-app .b-footer .btn { +#rl-app .b-footer.btn-toolbar .btn { box-sizing: border-box; padding: 4px 14px; line-height: 36px; @@ -453,14 +525,13 @@ html.rl-left-panel-disabled #rl-app #rl-left { border-radius: var(--border-radius-pill) !important; } -#rl-app .b-footer .btn, +#rl-app .b-footer.btn-toolbar .btn, #rl-app #V-SettingsPane .btn-toolbar .btn { background: transparent; border: unset !important; } -#rl-app .b-footer .btn { - background: transparent; +#rl-app .b-footer.btn-toolbar .btn { text-align: left; font-size: 22px; user-select: none; @@ -508,22 +579,22 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f } #rl-app span.fontastic:hover, -#rl-app .b-footer .btn:hover, -#rl-app .b-footer .btn.fontastic:hover, +#rl-app .b-footer.btn-toolbar .btn:hover, +#rl-app .b-footer.btn-toolbar .btn.fontastic:hover, #rl-app #V-SettingsPane .btn-toolbar .btn:hover { background-color: var(--color-background-hover); } #rl-app span.fontastic:active, -#rl-app .b-footer .btn:active, -#rl-app .b-footer .btn.fontastic:active, +#rl-app .b-footer.btn-toolbar .btn:active, +#rl-app .b-footer.btn-toolbar .btn.fontastic:active, #rl-app #V-SettingsPane .btn-toolbar .btn:active { background-color: var(--color-primary-element-light); } #rl-app span.fontastic:focus, -#rl-app .b-footer .btn:focus, -#rl-app .b-footer .btn.fontastic:focus, +#rl-app .b-footer.btn-toolbar .btn:focus, +#rl-app .b-footer.btn-toolbar .btn.fontastic:focus, #rl-app #V-SettingsPane .btn-toolbar .btn:focus { outline: none; } @@ -532,23 +603,6 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } -#rl-app .btn-toolbar .btn-group .btn { - border-radius: 0; - margin: 0 .5px; -} - -#rl-app .btn-toolbar .btn-group .btn:first-of-type, -#rl-app .btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { - border-top-left-radius: var(--border-radius-large); - border-bottom-left-radius: var(--border-radius-large); -} - -#rl-app .btn-toolbar .btn-group .btn:last-of-type, -#rl-app .btn-toolbar .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { - border-top-right-radius: var(--border-radius-large); - border-bottom-right-radius: var(--border-radius-large); -} - /* * inputs */ @@ -1543,7 +1597,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsLanguages label.user { background-color: var(--color-main-background) !important; - border-color: var(--color-primary-element); + color: var(--color-text-light); } #rl-app #V-PopupsLanguages label.selected { From 93c6a4f1220f2a915965f0cddea6922337b13af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 23 May 2023 10:23:22 +0000 Subject: [PATCH 074/161] fix: MessageView edit button --- .../snappymail/app/themes/Nextcloud25/styles.css | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 4f5a5b9420..1ba83bb0d6 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -382,7 +382,9 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app .btn.btn-transparent { + background: unset !important; border: unset !important; + opacity: 0.6; } #rl-app .btn:hover, @@ -603,6 +605,19 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } +#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit { + padding: 4px 8px; + min-height: 28px; + height: 28px; + opacity: 0.8; +} + +#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:hover, +#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:focus, +#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:active { + opacity: unset; +} + /* * inputs */ From 3c57c2e5934e7c631e36a3f9a881256838fae647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 23 May 2023 10:24:41 +0000 Subject: [PATCH 075/161] fix: fix: MessageView edit button selector --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 1ba83bb0d6..89e967911a 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -605,16 +605,16 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f text-align: center; } -#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit { +#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit { padding: 4px 8px; min-height: 28px; height: 28px; opacity: 0.8; } -#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:hover, -#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:focus, -#rl-app #V-MailMessageView .messageView .b-message.selected .message-fixed-button-toolbar .btn.buttonEdit:active { +#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:hover, +#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:focus, +#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:active { opacity: unset; } From 0a2c19a18632f939171c0903014e93396fa94c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 23 May 2023 11:05:16 +0000 Subject: [PATCH 076/161] fix: MailMessageView button toolbar padding --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 89e967911a..84f327cbe2 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1055,7 +1055,7 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app #V-MailMessageList .btn-toolbar, #rl-app #V-MailMessageView .btn-toolbar { - padding: 10px 1px; + padding: 10px; } #rl-app .messageList, From f1242070728664f1d3a417ff5c4008d954a2ac44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 23 May 2023 16:06:15 +0000 Subject: [PATCH 077/161] fix: Danger button --- .../snappymail/app/themes/Nextcloud25/styles.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 84f327cbe2..e0947a75c5 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -469,15 +469,15 @@ html.rl-left-panel-disabled #rl-app #rl-left { border-color: var(--color-warning-hover) !important; } -#rl-app .btn.btn-error { +#rl-app .btn.btn-danger { background-color: var(--color-error); border-color: var(--color-error) !important; } -#rl-app .btn.btn-error:hover, -#rl-app .btn.btn-error:focus { - background-color: var(--color-warning-error); - border-color: var(--color-warning-error) !important; +#rl-app .btn.btn-danger:hover, +#rl-app .btn.btn-danger:focus { + background-color: var(--color-error-hover); + border-color: var(--color-error-hover) !important; } #rl-app .btn-group .btn, From 78cc010560a810556c97ef230f893378b447ad0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 24 May 2023 10:35:48 +0000 Subject: [PATCH 078/161] chore: Improve link coloring --- .../snappymail/app/themes/Nextcloud25/styles.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e0947a75c5..e94d1f9219 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -42,6 +42,18 @@ border-bottom-color: var(--color-border-dark); } +#rl-app a, +#rl-app #messageItem .b-text-part a { + color: var(--color-primary-light-text); +} + +#rl-app a:visited, +#rl-app a:active, +#rl-app #messageItem .b-text-part a:visited, +#rl-app #messageItem .b-text-part a:active { + color: var(--color-primary-text-dark); +} + #rl-app .resizer { opacity: 1; background-color: unset; From fd2f7e8c9dcab3c85c1f9c1904bb53a614bce7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 24 May 2023 10:36:52 +0000 Subject: [PATCH 079/161] fix: Striped table --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e94d1f9219..709b7eb573 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1462,6 +1462,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-hover); } +#rl-app .table-striped tbody tr:nth-child(odd) td, +#rl-app .table-striped tbody tr:nth-child(odd) th { + background-color: var(--color-background-dark); +} + #rl-app #V-Settings-Themes figure, #rl-app #V-Settings-Themes img { border-radius: var(--border-radius-large); From f17bb54e6f70e7b0d23df6e97020e45746bc69bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 25 May 2023 17:41:41 +0000 Subject: [PATCH 080/161] chore: Add contacts --- .../app/themes/Nextcloud25/styles.css | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 709b7eb573..6fe903ede9 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -539,6 +539,15 @@ html.rl-left-panel-disabled #rl-app #rl-left { border-radius: var(--border-radius-pill) !important; } +#rl-app .b-folders .btn.buttonCompose { + min-width: 16px; +} + +#rl-app .b-folders .btn.buttonContacts { + min-width: 44px; + width: 44px; +} + #rl-app .b-footer.btn-toolbar .btn, #rl-app #V-SettingsPane .btn-toolbar .btn { background: transparent; @@ -1708,6 +1717,77 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar font-size: 20px; } +/* + * contacts + */ + +#rl-app #V-PopupsContacts .right, +#rl-app #V-PopupsContacts .b-list-toolbar, +#rl-app #V-PopupsContacts .b-list-footer-toolbar, +#rl-app #V-PopupsContacts .b-view-content-toolbar { + border-color: var(--color-border); +} + +#rl-app #V-PopupsContacts .b-list-toolbar { + height: 55px; +} + +#rl-app #V-PopupsContacts .b-list-toolbar .e-search { + margin: 9px 5px; + width: unset; +} + +#rl-app #V-PopupsContacts .b-view-content { + height: calc(100% - 72px); + margin-top: 20px; +} + +#rl-app #V-PopupsContacts .b-list-content { + height: calc(100% - 35px - 72px); +} + +#rl-app #V-PopupsContacts .e-contact-item { + padding: 4px; + margin: 2px 4px; + max-height: unset; + border-bottom: unset; + border-radius: var(--border-radius); +} + +#rl-app #V-PopupsContacts .e-contact-item, +#rl-app #V-PopupsContacts .e-contact-item.focused { + background-color: var(--color-background); + border-left-color: var(--color-border); +} + +#rl-app #V-PopupsContacts .e-contact-item:hover, +#rl-app #V-PopupsContacts .e-contact-item.focused:hover { + background-color: var(--color-background-hover); + border-left-color: var(--color-primary-light-hover); +} + +#rl-app #V-PopupsContacts .e-contact-item.selected, +#rl-app #V-PopupsContacts .e-contact-item.selected:hover { + background-color: var(--color-primary-element-light); + border-left-color: var(--color-primary-element-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked { + background-color: unset; + border-left-color: var(--color-primary-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked.focused { + background-color: inherit; + border-left-color: var(--color-primary-element-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked:hover, +#rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover { + background-color: var(--color-background-hover); + border-left-color: inherit; +} + /* * tabs */ From e7bc290e153c15a945ab9e2e7466644c6b939775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 08:35:36 +0000 Subject: [PATCH 081/161] chore: Hide additional theme settings selectively --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 6fe903ede9..29bcf70a47 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1501,7 +1501,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } /* hide additional theme settings, as these are made via Nextcloud theming */ -#rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal { + +/* fonts */ +#rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal:nth-of-type(3) { + display: none !important; +} + +/* background */ +#content.app-snappymail #rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal:nth-of-type(4) { display: none !important; } From 10d2ef334f97eaf1ebc83c4bdef7f0bec3001987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 08:43:02 +0000 Subject: [PATCH 082/161] fix: Link coloring --- .../snappymail/app/themes/Nextcloud25/styles.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 29bcf70a47..328ff9aaf6 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -42,16 +42,16 @@ border-bottom-color: var(--color-border-dark); } -#rl-app a, +#rl-app a[target="_blank"], #rl-app #messageItem .b-text-part a { color: var(--color-primary-light-text); } -#rl-app a:visited, -#rl-app a:active, +#rl-app a[target="_blank"]:visited, +#rl-app a[target="_blank"]:active, #rl-app #messageItem .b-text-part a:visited, #rl-app #messageItem .b-text-part a:active { - color: var(--color-primary-text-dark); + color: var(--color-primary); } #rl-app .resizer { From 8f4fd6f2149eb15be025d94a70d93f74143800c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 08:53:29 +0000 Subject: [PATCH 083/161] fix: Button focus text color --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 328ff9aaf6..e5a8ada464 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -466,28 +466,33 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app .btn.btn-success:hover, #rl-app button.btn.buttonLogin:focus, #rl-app .btn.btn-success:focus { + color: var(--color-primary-element-text); background-color: var(--color-primary-element-hover); border-color: var(--color-primary-element-hover) !important; } #rl-app .btn.btn-warning { + color: var(--color-primary-element-text); background-color: var(--color-warning); border-color: var(--color-warning) !important; } #rl-app .btn.btn-warning:hover, #rl-app .btn.btn-warning:focus { + color: var(--color-primary-element-text); background-color: var(--color-warning-hover); border-color: var(--color-warning-hover) !important; } #rl-app .btn.btn-danger { + color: var(--color-primary-element-text); background-color: var(--color-error); border-color: var(--color-error) !important; } #rl-app .btn.btn-danger:hover, #rl-app .btn.btn-danger:focus { + color: var(--color-primary-element-text); background-color: var(--color-error-hover); border-color: var(--color-error-hover) !important; } From 69b96edbde0c215746e0aa48ad88947bb049ce1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 09:10:58 +0000 Subject: [PATCH 084/161] chore: Add nextcloud calendar select --- .../snappymail/app/themes/Nextcloud25/styles.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e5a8ada464..d0e2223653 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1729,6 +1729,22 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar font-size: 20px; } +/* + * nextcloud calendar select + */ + +#rl-app #V-PopupsNextcloudCalendars li { + padding: 5px; + display: flex; + align-items: center !important; + border-bottom: solid 1px var(--color-border); +} + +#rl-app #V-PopupsNextcloudCalendars li button { + margin-left: auto !important; + align-self: center; +} + /* * contacts */ From 5fb914fbc77414f1dc8b9470d3c200f96ed955e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 18:32:00 +0000 Subject: [PATCH 085/161] chore: Improve compose popup header --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index d0e2223653..c0d8ca3398 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1601,9 +1601,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-border); } +#rl-app #V-PopupsCompose header { + background-color: unset; + color: unset; +} + #rl-app #V-PopupsCompose header .close, #rl-app #V-PopupsCompose header .minimize-custom { - box-sizing: content-box; + border-color: unset; } #rl-app dialog > footer .btn+.btn { From c10e84f68a32ffabfa67ad84344efbf807d85e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 18:51:46 +0000 Subject: [PATCH 086/161] chore: Don't collapse settings side panel --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c0d8ca3398..fcd7324edd 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -265,6 +265,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { font-weight: bold; } +html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) { + width: 250px !important; +} + #rl-app #V-AdminMenu nav, #rl-app #V-SettingsMenu nav, #rl-app .b-folders .b-content { From 82f7c3f4b4ebe759459d65173721b53c4ca913c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 26 May 2023 19:00:18 +0000 Subject: [PATCH 087/161] fix: Login input icons --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index fcd7324edd..b1c07356d5 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -168,6 +168,15 @@ html.rl-left-panel-disabled #rl-app #rl-left { left: 10px; } +#rl-app .LoginView .controls span.fontastic { + user-select: none; +} + +#rl-app .LoginView .controls span.fontastic:active, +#rl-app .LoginView .controls span.fontastic:hover { + background: unset; +} + #rl-app #rl-loading[hidden], #rl-app #rl-loading-error[hidden], #rl-app .LoginView .alert[hidden] { From 52227a8e29591aeb4eb7f241aeae7ff5b08dad5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 27 May 2023 08:37:08 +0000 Subject: [PATCH 088/161] fix: Unread badge for user-folders --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b1c07356d5..526c8e2828 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -324,7 +324,8 @@ html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) background-color: var(--color-background-hover); } -#rl-app .b-folders .b-folders-system a[data-unread]::after { +#rl-app .b-folders .b-folders-system a[data-unread]::after, +#rl-app .b-folders .b-folders-user a[data-unread]::after { display: block; margin: 0 ; padding: 2px 6px; From 62cf66b8ec94cab6cc0792c0ac5ccb369deecd1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 27 May 2023 15:08:50 +0000 Subject: [PATCH 089/161] chore: Improve nextcloud file picker --- .../app/themes/Nextcloud25/styles.css | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 526c8e2828..66efb018d5 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -846,8 +846,10 @@ input[type="checkbox"] { input[type="checkbox"], #rl-app .e-checkbox.material-design>div { position: unset; - width: 18px !important; height: 18px !important; + width: 18px !important; + min-width: 18px !important; + flex-shrink: 0 !important; border: 2px solid var(--color-primary-element); border-radius: 2px; animation: none; @@ -1707,16 +1709,35 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-PopupsNextcloudFiles li { - line-height: 33px; + line-height: unset; } +#rl-app #V-PopupsNextcloudFiles li[data-icon], +#rl-app #V-PopupsNextcloudFiles li:has(>button[name="create"]), +#rl-app #V-PopupsNextcloudFiles li details summary { + padding: 5px 10px; + display: flex; + align-items: center !important; + overflow-wrap: anywhere; +} + +#rl-app #V-PopupsNextcloudFiles li button, #rl-app #V-PopupsNextcloudFiles li input { - margin: 7px; + margin-left: auto !important; + align-self: center; } -#rl-app #V-PopupsNextcloudFiles li[data-icon], -#rl-app #V-PopupsNextcloudFiles li details summary { - padding: 3px 10px; +#rl-app #V-PopupsNextcloudFiles li input { + min-width: 100px; + flex-shrink: 1; +} + +#rl-app #V-PopupsNextcloudFiles li button { + flex-shrink: 0; +} + +#rl-app #V-PopupsNextcloudFiles li button[name="create"] { + margin-left: 10px !important; } #rl-app #V-PopupsNextcloudFiles li:not(:last-child), @@ -1748,6 +1769,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar font-size: 20px; } +#rl-app #V-PopupsNextcloudFiles li[data-icon]::before, +#rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before { + margin: 5px 10px 5px 0; +} + /* * nextcloud calendar select */ From 23572a12727240120bca9a38f429f829948fefa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 28 May 2023 16:41:37 +0000 Subject: [PATCH 090/161] chore: Improve attachment items --- .../app/themes/Nextcloud25/styles.css | 98 ++++++++++++------- 1 file changed, 63 insertions(+), 35 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 66efb018d5..5c5af3b7e6 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1221,45 +1221,60 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar user-select: none; } -#rl-app #messageItem .attachmentsPlace .attachmentItem { +#rl-app #messageItem .attachmentsControls { + background-color: unset; + border-color: var(--color-border); + -webkit-user-select: none; + user-select: none; +} + +#rl-app #messageItem .attachmentsControls .icon-file-archive, +#rl-app #messageItem .attachmentsControls .fontastic { + color: var(--color-main-text); +} + +#rl-app #messageItem .attachmentListSimple .attachmentName { + margin: 5px; +} + +/* + * attachment item + */ + +#rl-app .attachmentItem { background-color: var(--color-background-dark); border-radius: var(--border-radius); box-shadow: none; padding: 2px; } -#rl-app #messageItem .attachmentsPlace .attachmentItem:hover, -#rl-app #messageItem .attachmentsPlace .attachmentItem:active { +#rl-app .attachmentItem:hover, +#rl-app .attachmentItem:active { background-color: var(--color-background-darker); } -#rl-app #messageItem .attachmentsPlace .attachmentItem:focus { +#rl-app .attachmentItem:focus { outline: none; } -#rl-app #messageItem .attachmentsPlace .attachmentItem .attachmentNameParent { - border-color: var(--color-border-dark); -} - -#rl-app #messageItem .attachmentsPlace .attachmentItem .iconMain, -#rl-app #messageItem .attachmentsPlace .attachmentItem .iconPreview { - color: var(--color-text-light); +#rl-app .attachmentItem .iconProgress { + background-color: var(--color-background-darker); } -#rl-app #messageItem .attachmentsControls { - background-color: unset; - border-color: var(--color-border); - -webkit-user-select: none; - user-select: none; +#rl-app .attachmentItem .iconBG { + font-weight: 700; + line-height: 48px; + font-size: unset; + text-shadow: unset; } -#rl-app #messageItem .attachmentsControls .icon-file-archive, -#rl-app #messageItem .attachmentsControls .fontastic { - color: var(--color-main-text); +#rl-app .attachmentItem .attachmentNameParent { + border-color: var(--color-border-dark); } -#rl-app #messageItem .attachmentListSimple .attachmentName { - margin: 5px; +#rl-app .attachmentItem .iconMain, +#rl-app .attachmentItem .iconPreview { + color: var(--color-text-light); } /* @@ -1608,25 +1623,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-border); } -#rl-app #V-PopupsCompose .b-header { - background: unset; -} - #rl-app dialog > header, #rl-app dialog > footer { border-color: var(--color-border); } -#rl-app #V-PopupsCompose header { - background-color: unset; - color: unset; -} - -#rl-app #V-PopupsCompose header .close, -#rl-app #V-PopupsCompose header .minimize-custom { - border-color: unset; -} - #rl-app dialog > footer .btn+.btn { margin: 0 0 0 5px; } @@ -1679,6 +1680,33 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-primary-element); } +/* + * compose + */ + +#rl-app #V-PopupsCompose header { + background-color: unset; + color: unset; +} + +#rl-app #V-PopupsCompose header .close, +#rl-app #V-PopupsCompose header .minimize-custom { + border-color: unset; +} + +#rl-app #V-PopupsCompose .b-header { + background: unset; +} + +#rl-app #V-PopupsCompose .attachmentAreaParent { + border-color: var(--color-border); +} + +#rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:hover, +#rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:active { + background-color: var(--color-background-dark); +} + /* * nextcloud file picker */ From 9ab9a6c9e5432330029d0eb2893f39ff863c472b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 28 May 2023 16:44:16 +0000 Subject: [PATCH 091/161] chore: Remove "no attachments" text shadow --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 5c5af3b7e6..b35515b18a 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1698,6 +1698,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; } +#rl-app #V-PopupsCompose .no-attachments-desc { + text-shadow: unset; +} + #rl-app #V-PopupsCompose .attachmentAreaParent { border-color: var(--color-border); } From 11770b59df84e0b8a86f1e587eb99ade7d8668b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 29 May 2023 08:18:41 +0000 Subject: [PATCH 092/161] chore: Improve error tip --- .../app/themes/Nextcloud25/styles.css | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index b35515b18a..a296899b9c 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -102,17 +102,26 @@ html.rl-left-panel-disabled #rl-app #rl-left { margin-left: unset; } -#rl-app .error-to { - color: var(--color-error); +#rl-app [data-rainloopErrorTip]::before, +#rl-app #V-PopupsPlugin .help-block span { + border: 1px solid var(--color-border); + border-radius: var(--border-radius); + box-shadow: 0 0 2px var(--color-box-shadow); + background-color: var(--color-background-dark); + font-size: 13px; + color: unset; + left: 10px; + right: unset; + padding: 5px; + margin: 7px; } #rl-app [data-rainloopErrorTip]::before { - background: var(--color-background-dark); - border-radius: var(--border-radius); - border-color: var(--color-border-dark); color: var(--color-error); + font-weight: 700; } + /* * loading and login screen */ @@ -1632,18 +1641,6 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 0 0 0 5px; } -#rl-app #V-PopupsPlugin .help-block span { - background-color: var(--color-background-dark); - border-color: var(--color-border); - border-radius: var(--border-radius); - box-shadow: 0 0 2px var(--color-box-shadow); - color: unset; - left: 10px; - right: unset; - padding: 8px; - margin: 7px; -} - #rl-app #V-PopupsPlugin .help-block { margin-left: 5px; } @@ -1698,6 +1695,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; } +#rl-app #V-PopupsCompose .b-header .error-to { + color: var(--color-error); +} + #rl-app #V-PopupsCompose .no-attachments-desc { text-shadow: unset; } From 10c10bb1047280a7e2083f66a1874f089835eb20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 29 May 2023 19:16:55 +0000 Subject: [PATCH 093/161] chore: Improve compose popup button margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index a296899b9c..01fc99a6dd 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1699,6 +1699,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--color-error); } +#rl-app #V-PopupsCompose .pull-right>.btn, +#rl-app #V-PopupsCompose .pull-right>.btn-group { + margin-left: 3px; +} + #rl-app #V-PopupsCompose .no-attachments-desc { text-shadow: unset; } From cbbcaec957b2fa594d52ecf9a3da97fe8d227768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 29 May 2023 19:17:27 +0000 Subject: [PATCH 094/161] fix: Popup footer button margin --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 01fc99a6dd..4f6a1c6ab5 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1637,7 +1637,8 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--color-border); } -#rl-app dialog > footer .btn+.btn { +#rl-app dialog > footer .btn+.btn, +#rl-app dialog > footer button+button { margin: 0 0 0 5px; } From 96d4ae51e3fb5afdb0409228b79c78354762f3af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 29 May 2023 19:44:08 +0000 Subject: [PATCH 095/161] fix: Non-standard width properties --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 4f6a1c6ab5..c7ec55ab8f 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -559,7 +559,8 @@ html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) line-height: 36px; height: 44px; min-width: fit-content; - width: -moz-fit-content; + width: stretch; + width: -moz-available; width: -webkit-fill-available; margin: 3px !important; @@ -819,9 +820,8 @@ select option { */ #rl-app .e-component.e-checkbox.material-design { - width: -moz-fit-content !important; - width: -webkit-fill-available !important; width: fit-content !important; + width: -moz-fit-content !important; display: flex; position: relative; align-items: center; From 12d1d1acae6495853d32920ab7d44b677f9d041b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 09:43:08 +0000 Subject: [PATCH 096/161] fix: Styles in next snappymail release --- .../app/themes/Nextcloud25/styles.css | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c7ec55ab8f..7fefd17279 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -782,6 +782,7 @@ select option { #rl-app .squire-toolbar { height: 50px; + padding: 5px; box-sizing: content-box; border: none; } @@ -852,27 +853,33 @@ input[type="checkbox"] { appearance: none; } -input[type="checkbox"], #rl-app .e-checkbox.material-design>div { + position: relative; + width: 18px; + top: 2px; +} + +input[type="checkbox"], +#rl-app .e-checkbox.material-design input+div { position: unset; - height: 18px !important; - width: 18px !important; - min-width: 18px !important; + height: 18px; + width: 18px; flex-shrink: 0 !important; border: 2px solid var(--color-primary-element); border-radius: 2px; - animation: none; box-sizing: border-box; + animation: none; + transform: unset; } input[type="checkbox"]:checked, #rl-app .e-checkbox.material-design input:checked+div { - animation: none; --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); -webkit-mask-image: var(--svg-checked); mask-image: var(--svg-checked); background: var(--color-primary-element); border-width: 0; + animation: none; transform: unset; } @@ -1194,6 +1201,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: unset; } +#rl-app #messageItem .bodySubHeader>* { + border-color: var(--color-border); +} + #rl-app #messageItem .readReceipt, #rl-app #messageItem .showImages { margin: 8px; @@ -1709,10 +1720,6 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar text-shadow: unset; } -#rl-app #V-PopupsCompose .attachmentAreaParent { - border-color: var(--color-border); -} - #rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:hover, #rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:active { background-color: var(--color-background-dark); From 183f033c7e07b44bc2c3bcc0e69aa53eb86934e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:03:44 +0000 Subject: [PATCH 097/161] chore: Improve email address select --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 7fefd17279..c6acec3706 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -763,7 +763,7 @@ select option { #rl-app .emailaddresses li[draggable] { line-height: 20px; - padding: 2px 15px 2px 5px; + padding: 2px 5px; color: var(--color-main-text); border: 1px solid var(--color-border-dark); border-radius: var(--border-radius); @@ -773,7 +773,8 @@ select option { } #rl-app .emailaddresses li a { - /* TODO */ + position: unset; + color: var(--color-main-text); } /* From c1914898917e19d632a7fec016e896b9ba7463da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:04:18 +0000 Subject: [PATCH 098/161] fix: Wrong message-view error color --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c6acec3706..8de5188390 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1132,7 +1132,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .messageView .b-message-view-desc.error { - /* ? cant reproduce */ + color: var(--color-error); } #rl-app meter::-webkit-meter-bar { From d7d8fc23144ca7dc86454ca34ff6aa8c8981879c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:27:18 +0000 Subject: [PATCH 099/161] refactor: Improve structure --- .../app/themes/Nextcloud25/styles.css | 112 ++++++++++-------- 1 file changed, 60 insertions(+), 52 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 8de5188390..116bcc92f9 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -8,10 +8,6 @@ * app layout changes, background & color */ -:root { - --link-color: var(--color-primary-light-text); -} - #rl-app { color: var(--color-main-text); background-color: transparent; @@ -30,36 +26,28 @@ width: 300px; } -#rl-app #rl-right { - background-color: var(--color-main-background); +html.rl-left-panel-disabled #rl-app #rl-left { + width: 65px !important; } -#rl-app input { - box-shadow: none; +#rl-app #rl-right { + background-color: var(--color-main-background); } #rl-app hr { border-bottom-color: var(--color-border-dark); } -#rl-app a[target="_blank"], -#rl-app #messageItem .b-text-part a { - color: var(--color-primary-light-text); -} - -#rl-app a[target="_blank"]:visited, -#rl-app a[target="_blank"]:active, -#rl-app #messageItem .b-text-part a:visited, -#rl-app #messageItem .b-text-part a:active { - color: var(--color-primary); -} - #rl-app .resizer { opacity: 1; background-color: unset; border-right: solid 1px var(--color-border); } +#rl-app .row { + margin-left: unset; +} + #rl-app .messageList, #rl-app .messageView { margin: 0 5px; @@ -68,39 +56,29 @@ background: var(--color-main-background); } -#rl-app .b-folders .b-toolbar { - height: unset; - display: flex; - flex-direction: row; - padding: 8px; -} - -html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { - flex-direction: column; -} - -html.rl-left-panel-disabled #rl-app #rl-left { - width: 65px !important; -} +/* + * links + */ -@media screen and (min-width: 1000px) { - #rl-app .b-folders .btn.buttonContacts { - transition: none; - } +:root { + --link-color: var(--color-primary-light-text); } -#rl-app .b-folders .b-content { - top: 60px; - bottom: 162px; +#rl-app a[target="_blank"], +#rl-app #messageItem .b-text-part a { + color: var(--color-primary-light-text); } -#rl-app .b-folders .b-content.show-on-panel-disabled { - bottom: 56px; +#rl-app a[target="_blank"]:visited, +#rl-app a[target="_blank"]:active, +#rl-app #messageItem .b-text-part a:visited, +#rl-app #messageItem .b-text-part a:active { + color: var(--color-primary); } -#rl-app .row { - margin-left: unset; -} +/* + * error tips + */ #rl-app [data-rainloopErrorTip]::before, #rl-app #V-PopupsPlugin .help-block span { @@ -287,12 +265,32 @@ html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) width: 250px !important; } +#rl-app .b-folders .b-toolbar { + height: unset; + display: flex; + flex-direction: row; + padding: 8px; +} + +html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { + flex-direction: column; +} + #rl-app #V-AdminMenu nav, #rl-app #V-SettingsMenu nav, #rl-app .b-folders .b-content { padding: calc(var(--default-grid-baseline) * 2); } +#rl-app .b-folders .b-content { + top: 60px; + bottom: 162px; +} + +#rl-app .b-folders .b-content.show-on-panel-disabled { + bottom: 56px; +} + #rl-app #V-AdminMenu nav a, #rl-app #V-AdminPane>.b-toolbar, #rl-app #V-SettingsMenu nav a, @@ -577,6 +575,12 @@ html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) width: 44px; } +@media screen and (min-width: 1000px) { + #rl-app .b-folders .btn.buttonContacts { + transition: none; + } +} + #rl-app .b-footer.btn-toolbar .btn, #rl-app #V-SettingsPane .btn-toolbar .btn { background: transparent; @@ -672,6 +676,16 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f * inputs */ +#rl-app input { + box-shadow: none; +} + +#rl-app input:hover, +#rl-app input:active, +#rl-app input:focus { + border-color: var(--color-primary-element); +} + #rl-app input:not([type="checkbox"]) { padding: 0 12px; font-size: var(--default-font-size); @@ -683,12 +697,6 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f border-radius: var(--border-radius-large); } -#rl-app input:hover, -#rl-app input:active, -#rl-app input:focus { - border-color: var(--color-primary-element); -} - #rl-app input[type="search"]::-webkit-search-decoration, #rl-app input[type="search"]::-webkit-search-cancel-button, #rl-app input[type="search"]::-webkit-search-results-button, From 58c90f4888bd84b0ffa715a54ede7b60a2e5927c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:32:37 +0000 Subject: [PATCH 100/161] fix: Wrong message-list error color --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 116bcc92f9..e0a3cb2715 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -995,7 +995,7 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { } #rl-app .messageList .b-content .listError { - /* ? cant reproduce */ + color: var(--color-error); } #rl-app .messageList .b-content .listDragOver, From 9e7dc8b1e912754c910e1df09c2a3247d9df1bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:36:38 +0000 Subject: [PATCH 101/161] chore: Add message-list dragover --- .../snappymail/app/themes/Nextcloud25/styles.css | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index e0a3cb2715..0c91a48ca8 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -990,14 +990,16 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { border-color: var(--color-border); } -#rl-app .messageList .b-content .listDragOver { - /* ! does not work */ -} - #rl-app .messageList .b-content .listError { color: var(--color-error); } +#rl-app .messageList .b-content .listDragOver.dragOverEnter { + background-color: var(--color-background-dark); + border-radius: var(--border-radius); + margin: 5px; +} + #rl-app .messageList .b-content .listDragOver, #rl-app .messageList .b-content .listEmptyMessage, #rl-app .messageList .b-content .listError, From 0f11e81c235539218475f92851d70b96699d77f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:39:01 +0000 Subject: [PATCH 102/161] refactor: Remove dead code --- .../snappymail/app/themes/Nextcloud25/styles.css | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 0c91a48ca8..ff46388405 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1474,22 +1474,6 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-dark); } -/* TODO: darken mails only with NC dark theme (needs some more js) */ -/* - * dark mails - */ - -/* @media (prefers-color-scheme: dark) { - #rl-app .bodyText, .bodyText img { - filter: invert(95%) hue-rotate(180deg); - } - - #rl-app .bodyText img { - border-radius: 4px; - } -} */ - -/* TODO: Improve settings layout and theming */ /* * settings */ From a602dfdf044d1009a788b7af3bbf0ab8c2149cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 10:47:30 +0000 Subject: [PATCH 103/161] chore: Add attachment-place dragover --- .../snappymail/app/themes/Nextcloud25/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index ff46388405..856f018bfa 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1720,6 +1720,15 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background-color: var(--color-background-dark); } +#rl-app #V-PopupsCompose .b-attachment-place { + border-color: var(--color-border); + background-color: var(--color-background-dark); +} + +#rl-app #V-PopupsCompose .b-attachment-place.dragAndDropOver { + border-color: var(--color-border); +} + /* * nextcloud file picker */ From a6638e56fef1e5dd9555f67777a3205019da9233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 11:01:00 +0000 Subject: [PATCH 104/161] chore: Add messages drag tip --- .../snappymail/app/themes/Nextcloud25/styles.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 856f018bfa..1c7fb1ddab 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1114,6 +1114,16 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { margin: 2px 0; } +#rl-app #messagesDragImage { + padding: 5px 5px 5px 10px; + color: var(--color-text-lighter); + background-color: var(--color-background-darker); + border-radius: var(--border-radius); + box-shadow: 0 0 4px var(--color-box-shadow); + height: unset; + min-width: unset; +} + /* * message view */ From 6878d4c0de0873481c707398b124a89b072f7afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 30 May 2023 18:45:27 +0000 Subject: [PATCH 105/161] fix: Broken checkbox --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 1c7fb1ddab..c418d236c6 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -871,8 +871,9 @@ input[type="checkbox"] { input[type="checkbox"], #rl-app .e-checkbox.material-design input+div { position: unset; - height: 18px; - width: 18px; + height: 18px !important; + width: 18px !important; + min-width: 18px !important; flex-shrink: 0 !important; border: 2px solid var(--color-primary-element); border-radius: 2px; From 55bf922edb5f61c75c42ffbb1f769f2b0e754387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 09:44:10 +0000 Subject: [PATCH 106/161] fix: New unread sub-messages badge for threaded view --- .../snappymail/app/themes/Nextcloud25/styles.css | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index c418d236c6..55912e3463 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1063,34 +1063,32 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { border-left-color: var(--color-primary-element-light-text); } -#rl-app .messageListItem.unseen, -#rl-app .messageListItem.hasUnseenSubMessage { +#rl-app .messageListItem.unseen { background-color: unset; border-left-color: var(--color-primary-element); } #rl-app .messageListItem.unseen.focused, -#rl-app .messageListItem.unseen.focused:hover, -#rl-app .messageListItem.hasUnseenSubMessage.focused, -#rl-app .messageListItem.hasUnseenSubMessage.focused:hover { +#rl-app .messageListItem.unseen.focused:hover { background-color: var(--color-primary-light); border-left-color: var(--color-primary-element); } -#rl-app .messageListItem.unseen:hover, -#rl-app .messageListItem.hasUnseenSubMessage:hover { +#rl-app .messageListItem.unseen:hover { background-color: var(--color-background-hover); border-left-color: var(--color-primary-element-hover); } -#rl-app .messageListItem.hasUnseenSubMessage .threads-len { +#rl-app .messageListItem [data-unseen] { border-color: var(--color-primary-element); + background-color: var(--color-primary-element-light); border-width: 2px; font-weight: 700; } -#rl-app .messageListItem.hasUnseenSubMessage .threads-len:hover { +#rl-app .messageListItem [data-unseen]:hover { border-color: var(--color-primary-element-hover); + background-color: var(--color-primary-element-light-hover); } #rl-app .messageListItem.checked { From ebd474eaefd3fcf42a280fb39aa2fd346e2375a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 09:51:13 +0000 Subject: [PATCH 107/161] fix: Contact popup styles in latest snappymail release --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 55912e3463..d5c4147215 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -1866,7 +1866,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsContacts .b-list-toolbar .e-search { margin: 9px 5px; - width: unset; + width: calc(100% - 2*5px); } #rl-app #V-PopupsContacts .b-view-content { @@ -1882,7 +1882,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 4px; margin: 2px 4px; max-height: unset; - border-bottom: unset; + border-bottom: 0 !important; border-radius: var(--border-radius); } From 3d3e6d0961bf0141c403c78a5e8da59044d4381e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 10:04:45 +0000 Subject: [PATCH 108/161] fix: Layout issues in horizontal view --- .../app/themes/Nextcloud25/styles.css | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index d5c4147215..76aef00acf 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -48,14 +48,6 @@ html.rl-left-panel-disabled #rl-app #rl-left { margin-left: unset; } -#rl-app .messageList, -#rl-app .messageView { - margin: 0 5px; - border: none; - box-shadow: none !important; - background: var(--color-main-background); -} - /* * links */ @@ -1139,6 +1131,18 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app .messageList, #rl-app .messageView { height: calc(100% - 60px); + margin: 0 5px; + border: none; + box-shadow: none !important; + background: var(--color-main-background); +} + +html.sm-msgView-bottom #rl-app .messageList { + height: 35vh; +} + +html.sm-msgView-bottom #rl-app .messageView { + height: 100%; } html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar { From a65415a276e7625cfc3a3d3e67acb2a53a0425b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 10:35:24 +0000 Subject: [PATCH 109/161] docs: Improve theme passthrough code comments --- integrations/nextcloud/snappymail/js/snappymail.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/integrations/nextcloud/snappymail/js/snappymail.js b/integrations/nextcloud/snappymail/js/snappymail.js index a004027138..6cc3199701 100644 --- a/integrations/nextcloud/snappymail/js/snappymail.js +++ b/integrations/nextcloud/snappymail/js/snappymail.js @@ -1,7 +1,7 @@ /** * Nextcloud - SnappyMail mail plugin * - * @author RainLoop Team, Nextgen-Networks (@nextgen-networks), Tab Fitts (@tabp0le), Pierre-Alain Bandinelli (@pierre-alain-b), SnappyMail + * @author RainLoop Team, Nextgen-Networks (@nextgen-networks), Tab Fitts (@tabp0le), Pierre-Alain Bandinelli (@pierre-alain-b), SnappyMail, Rene Hampƶlz (@hampoelz) * * Based initially on https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud/rainloop-app */ @@ -15,6 +15,8 @@ document.onreadystatechange = () => { } }; +// Pass Nextcloud themes and theme attributes to SnappyMail on +// first load and when the SnappyMail iframe is reloaded. document.addEventListener('DOMContentLoaded', () => { const iframe = document.getElementById('rliframe'); if (!iframe) return; @@ -30,11 +32,9 @@ document.addEventListener('DOMContentLoaded', () => { }); passThemes(iframe); - - // TODO: add initial stylesheets without primary colors to improve loading experience }); -// Pass nextcloud themes and theme attributes to SnappyMail. +// Pass Nextcloud themes and theme attributes to SnappyMail. function passThemes(iframe) { if (!iframe) return; From cb42124eb2a44d39e5e228ac42c6171b95fa28c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 12:41:00 +0000 Subject: [PATCH 110/161] chore: Use Nextcloud variables otherwise fallback to default --- .../app/themes/Nextcloud25/styles.css | 696 +++++++++++------- .../app/themes/Nextcloud25/variables.css | 165 ----- .../nextcloud/snappymail/js/snappymail.js | 5 +- 3 files changed, 416 insertions(+), 450 deletions(-) delete mode 100644 integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 76aef00acf..55e51a1609 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -4,21 +4,147 @@ * @author Rene Hampƶlz (@hampoelz), SnappyMail, Nextcloud Team */ +/* + * Default Nextcloud (v25+) theme variables and colors + * based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss + */ +:not([data-theme-dark]) { + --nc-color-main-background: var(--color-main-background, #ffffff); + --nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255); + --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); + --nc-filter-background-blur: var(--filter-background-blur, blur(25px)); + --nc-color-background-hover: var(--color-background-hover, #f5f5f5); + --nc-color-background-dark: var(--color-background-dark, #ededed); + --nc-color-background-darker: var(--color-background-darker, #dbdbdb); + --nc-color-placeholder-light: var(--color-placeholder-light, #e6e6e6); + --nc-color-placeholder-dark: var(--color-placeholder-dark, #cccccc); + --nc-color-main-text: var(--color-main-text, #222222); + --nc-color-text-light: var(--color-text-light, #222222); + --nc-color-text-lighter: var(--color-text-lighter, #767676); + --nc-color-scrollbar: var(--color-scrollbar, rgba(34, 34, 34, .15)); + --nc-color-error: var(--color-error, #e9322d); + --nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45); + --nc-color-error-hover: var(--color-error-hover, #ed5a56); + --nc-color-warning: var(--color-warning, #eca700); + --nc-color-warning-rgb: var(--color-warning-rgb, 236, 167, 0); + --nc-color-warning-hover: var(--color-warning-hover, #efb832); + --nc-color-success: var(--color-success, #46ba61); + --nc-color-success-rgb: var(--color-success-rgb, 70, 186, 97); + --nc-color-success-hover: var(--color-success-hover, #6ac780); + --nc-color-loading-light: var(--color-loading-light, #cccccc); + --nc-color-loading-dark: var(--color-loading-dark, #444444); + --nc-color-box-shadow-rgb: var(--color-box-shadow-rgb, 77, 77, 77); + --nc-color-box-shadow: var(--color-box-shadow, rgba(var(--nc-color-box-shadow-rgb), 0.5)); + --nc-color-border: var(--color-border, #ededed); + --nc-color-border-dark: var(--color-border-dark, #dbdbdb); + --nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'); + --nc-default-font-size: var(--default-font-size, 15px); + --nc-animation-quick: var(--animation-quick, 100ms); + --nc-animation-slow: var(--animation-slow, 300ms); + --nc-border-radius: var(--border-radius, 3px); + --nc-border-radius-large: var(--border-radius-large, 10px); + --nc-border-radius-pill: var(--border-radius-pill, 100px); + --nc-default-grid-baseline: var(--default-grid-baseline, 4px); + --nc-navigation-width: var(--navigation-width, 300px); + --nc-sidebar-min-width: var(--sidebar-min-width, 300px); + --nc-sidebar-max-width: var(--sidebar-max-width, 500px); + --nc-list-min-width: var(--list-min-width, 200px); + --nc-list-max-width: var(--list-max-width, 300px); + --nc-breakpoint-mobile: var(--breakpoint-mobile, 1024px); + --nc-color-primary: var(--color-primary, #00639a); + --nc-color-primary-default: var(--color-primary-default, #0082c9); + --nc-color-primary-text: var(--color-primary-text, #ffffff); + --nc-color-primary-hover: var(--color-primary-hover, #3282ae); + --nc-color-primary-light: var(--color-primary-light, #e5eff4); + --nc-color-primary-light-text: var(--color-primary-light-text, #00273d); + --nc-color-primary-light-hover: var(--color-primary-light-hover, #dbe4e9); + --nc-color-primary-text-dark: var(--color-primary-text-dark, #ededed); + --nc-color-primary-element: var(--color-primary-element, #00639a); + --nc-color-primary-element-text: var(--color-primary-element-text, #ffffff); + --nc-color-primary-element-hover: var(--color-primary-element-hover, #3282ae); + --nc-color-primary-element-light: var(--color-primary-element-light, #e5eff4); + --nc-color-primary-element-light-text: var(--color-primary-element-light-text, #00273d); + --nc-color-primary-element-light-hover: var(--color-primary-element-light-hover, #dbe4e9); + --nc-color-primary-element-text-dark: var(--color-primary-element-text-dark, #ededed); +} + +@media (prefers-color-scheme: dark) { + :not([data-theme-light]) { + --nc-color-main-background: var(--color-main-background, #171717); + --nc-color-main-background-rgb: var(--color-main-background-rgb, 23, 23, 23); + --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); + --nc-filter-background-blur: var(--filter-background-blur, blur(25px)); + --nc-color-background-hover: var(--color-background-hover, #212121); + --nc-color-background-dark: var(--color-background-dark, #292929); + --nc-color-background-darker: var(--color-background-darker, #3b3b3b); + --nc-color-placeholder-light: var(--color-placeholder-light, #313131); + --nc-color-placeholder-dark: var(--color-placeholder-dark, #4a4a4a); + --nc-color-main-text: var(--color-main-text, #D8D8D8); + --nc-color-text-light: var(--color-text-light, #bfbfbf); + --nc-color-text-lighter: var(--color-text-lighter, #a5a5a5); + --nc-color-scrollbar: var(--color-scrollbar, #3d3d3d); + --nc-color-error: var(--color-error, #e9322d); + --nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45); + --nc-color-error-hover: var(--color-error-hover, #ed5a56); + --nc-color-warning: var(--color-warning, #eca700); + --nc-color-warning-rgb: var(--color-warning-rgb, 236, 167, 0); + --nc-color-warning-hover: var(--color-warning-hover, #efb832); + --nc-color-success: var(--color-success, #46ba61); + --nc-color-success-rgb: var(--color-success-rgb, 70, 186, 97); + --nc-color-success-hover: var(--color-success-hover, #6ac780); + --nc-color-loading-light: var(--color-loading-light, #777); + --nc-color-loading-dark: var(--color-loading-dark, #CCC); + --nc-color-box-shadow-rgb: var(--color-box-shadow-rgb, 0, 0, 0); + --nc-color-box-shadow: var(--color-box-shadow, #000000); + --nc-color-border: var(--color-border, #292929); + --nc-color-border-dark: var(--color-border-dark, #3b3b3b); + --nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'); + --nc-default-font-size: var(--default-font-size, 15px); + --nc-animation-quick: var(--animation-quick, 100ms); + --nc-animation-slow: var(--animation-slow, 300ms); + --nc-border-radius: var(--border-radius, 3px); + --nc-border-radius-large: var(--border-radius-large, 10px); + --nc-border-radius-pill: var(--border-radius-pill, 100px); + --nc-default-grid-baseline: var(--default-grid-baseline, 4px); + --nc-navigation-width: var(--navigation-width, 300px); + --nc-sidebar-min-width: var(--sidebar-min-width, 300px); + --nc-sidebar-max-width: var(--sidebar-max-width, 500px); + --nc-list-min-width: var(--list-min-width, 200px); + --nc-list-max-width: var(--list-max-width, 300px); + --nc-breakpoint-mobile: var(--breakpoint-mobile, 1024px); + --nc-color-primary: var(--color-primary, #00639a); + --nc-color-primary-default: var(--color-primary-default, #0082c9); + --nc-color-primary-text: var(--color-primary-text, #ffffff); + --nc-color-primary-hover: var(--color-primary-hover, #04537f); + --nc-color-primary-light: var(--color-primary-light, #141e24); + --nc-color-primary-light-text: var(--color-primary-light-text, #99c0d6); + --nc-color-primary-light-hover: var(--color-primary-light-hover, #1d272d); + --nc-color-primary-text-dark: var(--color-primary-text-dark, #ededed); + --nc-color-primary-element: var(--color-primary-element, #00639a); + --nc-color-primary-element-text: var(--color-primary-element-text, #ffffff); + --nc-color-primary-element-hover: var(--color-primary-element-hover, #04537f); + --nc-color-primary-element-light: var(--color-primary-element-light, #141e24); + --nc-color-primary-element-light-text: var(--color-primary-element-light-text, #99c0d6); + --nc-color-primary-element-light-hover: var(--color-primary-element-light-hover, #1d272d); + --nc-color-primary-element-text-dark: var(--color-primary-element-text-dark, #ededed); + } +} + /* * app layout changes, background & color */ #rl-app { - color: var(--color-main-text); + color: var(--nc-color-main-text); background-color: transparent; - font-family: var(--font-face); - font-size: var(--default-font-size); + font-family: var(--nc-font-face); + font-size: var(--nc-default-font-size); } #rl-app #rl-left { - background-color: var(--color-main-background-blur, var(--color-main-background)); - -webkit-backdrop-filter: var(--filter-background-blur, none); - backdrop-filter: var(--filter-background-blur, none); + background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); + -webkit-backdrop-filter: var(--nc-filter-background-blur, none); + backdrop-filter: var(--nc-filter-background-blur, none); } #rl-app #rl-left, @@ -26,22 +152,26 @@ width: 300px; } +html:not(.rl-left-panel-disabled) #rl-left { + max-width: var(--nc-sidebar-max-width); +} + html.rl-left-panel-disabled #rl-app #rl-left { width: 65px !important; } #rl-app #rl-right { - background-color: var(--color-main-background); + background-color: var(--nc-color-main-background); } #rl-app hr { - border-bottom-color: var(--color-border-dark); + border-bottom-color: var(--nc-color-border-dark); } #rl-app .resizer { opacity: 1; background-color: unset; - border-right: solid 1px var(--color-border); + border-right: solid 1px var(--nc-color-border); } #rl-app .row { @@ -53,19 +183,19 @@ html.rl-left-panel-disabled #rl-app #rl-left { */ :root { - --link-color: var(--color-primary-light-text); + --link-color: var(--nc-color-primary-element-light-text); } #rl-app a[target="_blank"], #rl-app #messageItem .b-text-part a { - color: var(--color-primary-light-text); + color: var(--nc-color-primary-element-light-text); } #rl-app a[target="_blank"]:visited, #rl-app a[target="_blank"]:active, #rl-app #messageItem .b-text-part a:visited, #rl-app #messageItem .b-text-part a:active { - color: var(--color-primary); + color: var(--nc-color-primary-element); } /* @@ -74,10 +204,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app [data-rainloopErrorTip]::before, #rl-app #V-PopupsPlugin .help-block span { - border: 1px solid var(--color-border); - border-radius: var(--border-radius); - box-shadow: 0 0 2px var(--color-box-shadow); - background-color: var(--color-background-dark); + border: 1px solid var(--nc-color-border); + border-radius: var(--nc-border-radius); + box-shadow: 0 0 2px var(--nc-color-box-shadow); + background-color: var(--nc-color-background-dark); font-size: 13px; color: unset; left: 10px; @@ -87,7 +217,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app [data-rainloopErrorTip]::before { - color: var(--color-error); + color: var(--nc-color-error); font-weight: 700; } @@ -113,17 +243,17 @@ html.rl-left-panel-disabled #rl-app #rl-left { text-shadow: none; transition: none; - background-color: var(--color-main-background-blur, var(--color-main-background)); - -webkit-backdrop-filter: var(--filter-background-blur, none); - backdrop-filter: var(--filter-background-blur, none); + background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); + -webkit-backdrop-filter: var(--nc-filter-background-blur, none); + backdrop-filter: var(--nc-filter-background-blur, none); - color: var(--color-main-text); + color: var(--nc-color-main-text); width: 100%; height: 100%; } #rl-app .LoginView .descWrapper { - color: var(--color-main-text); + color: var(--nc-color-main-text); } #rl-app .LoginView .alert { @@ -135,11 +265,11 @@ html.rl-left-panel-disabled #rl-app #rl-left { max-width: 500px; width: 90%; - background-color: var(--color-main-background); + background-color: var(--nc-color-main-background); border: unset; - border-radius: var(--border-radius-large); - box-shadow: 0 0 10px var(--color-box-shadow); - color: var(--color-main-text); + border-radius: var(--nc-border-radius-large); + box-shadow: 0 0 10px var(--nc-color-box-shadow); + color: var(--nc-color-main-text); } #rl-app .LoginView .controls > .fontastic:first-child { @@ -167,11 +297,11 @@ html.rl-left-panel-disabled #rl-app #rl-left { */ #rl-app .iconcolor-green { - color: var(--color-success) !important; + color: var(--nc-color-success) !important; } #rl-app .iconcolor-red { - color: var(--color-error) !important; + color: var(--nc-color-error) !important; } #rl-app i.fontastic { @@ -183,7 +313,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app .drag-handle { - color: var(--color-text-lighter); + color: var(--nc-color-text-lighter); } /* @@ -193,10 +323,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { #rl-app .alert { text-shadow: unset; border: unset; - color: var(--color-main-text); - background-color: rgba(var(--color-warning-rgb), 0.1); - border-inline-start: 4px solid var(--color-warning); - border-radius: var(--border-radius); + color: var(--nc-color-main-text); + background-color: rgba(var(--nc-color-warning-rgb), 0.1); + border-inline-start: 4px solid var(--nc-color-warning); + border-radius: var(--nc-border-radius); margin: 1rem; padding: 1rem; } @@ -207,27 +337,27 @@ html.rl-left-panel-disabled #rl-app #rl-left { margin-top: unset; margin-bottom: 12px; line-height: 30px; - color: var(--color-text-light); + color: var(--nc-color-text-light); } #rl-app .alert.alert-info { - background-color: var(--color-background-dark); - border-color: var(--color-background-darker); + background-color: var(--nc-color-background-dark); + border-color: var(--nc-color-background-darker); } #rl-app .alert.alert-warning { - background-color: rgba(var(--color-warning-rgb), 0.1); - border-color: var(--color-warning); + background-color: rgba(var(--nc-color-warning-rgb), 0.1); + border-color: var(--nc-color-warning); } #rl-app .alert.alert-success { - background-color: rgba(var(--color-success-rgb), 0.1); - border-color: var(--color-success); + background-color: rgba(var(--nc-color-success-rgb), 0.1); + border-color: var(--nc-color-success); } #rl-app .alert.alert-error { - background-color: rgba(var(--color-error-rgb), 0.1); - border-color: var(--color-error); + background-color: rgba(var(--nc-color-error-rgb), 0.1); + border-color: var(--nc-color-error); } #rl-app .alert .close { @@ -248,8 +378,8 @@ html.rl-left-panel-disabled #rl-app #rl-left { top: 0; left: 0; height: auto !important; - padding-top: calc(var(--default-grid-baseline) * 2) !important; - padding-bottom: calc(var(--default-grid-baseline) * 2) !important; + padding-top: calc(var(--nc-default-grid-baseline) * 2) !important; + padding-bottom: calc(var(--nc-default-grid-baseline) * 2) !important; font-weight: bold; } @@ -271,7 +401,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app #V-AdminMenu nav, #rl-app #V-SettingsMenu nav, #rl-app .b-folders .b-content { - padding: calc(var(--default-grid-baseline) * 2); + padding: calc(var(--nc-default-grid-baseline) * 2); } #rl-app .b-folders .b-content { @@ -292,7 +422,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { padding: 0 2em 0 15px; height: 38px; line-height: 38px !important; - border-radius: var(--border-radius-pill); + border-radius: var(--nc-border-radius-pill); color: unset; border: none; } @@ -310,7 +440,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app #V-SettingsMenu nav a.selected, #rl-app .b-folders li a.selectable.selected { color: unset; - background-color: var(--color-primary-light); + background-color: var(--nc-color-primary-light); } #rl-app #V-AdminMenu nav a:not(.selected):hover, @@ -320,7 +450,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app .b-folders li a.selectable:not(.selected):hover, #rl-app .b-folders li a.selectable:not(.selected):focus { color: unset; - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app .b-folders .b-folders-system a[data-unread]::after, @@ -331,16 +461,16 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { top: 50%; transform: translateY(-50%); - color: var(--color-primary-element); - background-color: var(--color-primary-light); + color: var(--nc-color-primary-element); + background-color: var(--nc-color-primary-element-light); font-size: 12px; text-shadow: none; } #rl-app .b-folders hr { - border-top: solid var(--color-main-text); - border-radius: var(--border-radius-pill); + border-top: solid var(--nc-color-main-text); + border-radius: var(--nc-border-radius-pill); opacity: .1; } @@ -390,15 +520,15 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { box-sizing: border-box; padding: 8px 14px; line-height: 20px; - color: var(--color-main-text); - background-color: var(--color-background-dark); - border: 1px solid var(--color-border-dark) !important; - border-radius: var(--border-radius-pill); - font-size: var(--default-font-size); + color: var(--nc-color-main-text); + background-color: var(--nc-color-background-dark); + border: 1px solid var(--nc-color-border-dark) !important; + border-radius: var(--nc-border-radius-pill); + font-size: var(--nc-default-font-size); } #rl-app .btn.fontastic { - border-radius: var(--border-radius-large); + border-radius: var(--nc-border-radius-large); } #rl-app .btn.btn-thin { @@ -433,15 +563,15 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app button:not(.disabled, [disabled]):hover, #rl-app .btn:not(.disabled, [disabled]):focus, #rl-app button:not(.disabled, [disabled]):focus { - border-color: var(--color-primary-element) !important; + border-color: var(--nc-color-primary-element) !important; } #rl-app .btn:not(.disabled, [disabled]):active, #rl-app button:not(.disabled, [disabled]):active, #rl-app .btn:not(.disabled, [disabled]).active, #rl-app button:not(.disabled, [disabled]).active { - background-color: var(--color-main-background); - color: var(--color-text-light); + background-color: var(--nc-color-main-background); + color: var(--nc-color-text-light); } #rl-app .btn, @@ -465,49 +595,49 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } #rl-app .btn.buttonCompose:active { - color: var(--color-primary-text-dark); + color: var(--nc-color-primary-element-text-dark); } #rl-app button.btn.buttonLogin, #rl-app .btn.btn-success { - color: var(--color-primary-element-text); - background-color: var(--color-primary-element); - border-color: var(--color-primary-element) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-primary-element); + border-color: var(--nc-color-primary-element) !important; } #rl-app button.btn.buttonLogin:hover, #rl-app .btn.btn-success:hover, #rl-app button.btn.buttonLogin:focus, #rl-app .btn.btn-success:focus { - color: var(--color-primary-element-text); - background-color: var(--color-primary-element-hover); - border-color: var(--color-primary-element-hover) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-primary-element-hover); + border-color: var(--nc-color-primary-element-hover) !important; } #rl-app .btn.btn-warning { - color: var(--color-primary-element-text); - background-color: var(--color-warning); - border-color: var(--color-warning) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-warning); + border-color: var(--nc-color-warning) !important; } #rl-app .btn.btn-warning:hover, #rl-app .btn.btn-warning:focus { - color: var(--color-primary-element-text); - background-color: var(--color-warning-hover); - border-color: var(--color-warning-hover) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-warning-hover); + border-color: var(--nc-color-warning-hover) !important; } #rl-app .btn.btn-danger { - color: var(--color-primary-element-text); - background-color: var(--color-error); - border-color: var(--color-error) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-error); + border-color: var(--nc-color-error) !important; } #rl-app .btn.btn-danger:hover, #rl-app .btn.btn-danger:focus { - color: var(--color-primary-element-text); - background-color: var(--color-error-hover); - border-color: var(--color-error-hover) !important; + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-error-hover); + border-color: var(--nc-color-error-hover) !important; } #rl-app .btn-group .btn, @@ -519,26 +649,26 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { #rl-app .btn-group .btn:first-of-type, #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { - border-top-left-radius: var(--border-radius-pill); - border-bottom-left-radius: var(--border-radius-pill); + border-top-left-radius: var(--nc-border-radius-pill); + border-bottom-left-radius: var(--nc-border-radius-pill); } #rl-app .btn-group .btn:last-of-type, #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { - border-top-right-radius: var(--border-radius-pill); - border-bottom-right-radius: var(--border-radius-pill); + border-top-right-radius: var(--nc-border-radius-pill); + border-bottom-right-radius: var(--nc-border-radius-pill); } #rl-app .btn-group .btn.fontastic:first-of-type, #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { - border-top-left-radius: var(--border-radius-large); - border-bottom-left-radius: var(--border-radius-large); + border-top-left-radius: var(--nc-border-radius-large); + border-bottom-left-radius: var(--nc-border-radius-large); } #rl-app .btn-group .btn.fontastic:last-of-type, #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { - border-top-right-radius: var(--border-radius-large); - border-bottom-right-radius: var(--border-radius-large) ; + border-top-right-radius: var(--nc-border-radius-large); + border-bottom-right-radius: var(--nc-border-radius-large) ; } #rl-app .btn.buttonCompose, @@ -554,8 +684,8 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { width: -webkit-fill-available; margin: 3px !important; - font-size: var(--default-font-size); - border-radius: var(--border-radius-pill) !important; + font-size: var(--nc-default-font-size); + border-radius: var(--nc-border-radius-pill) !important; } #rl-app .b-folders .btn.buttonCompose { @@ -593,12 +723,12 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { } #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic { - background-color: var(--color-main-background); + background-color: var(--nc-color-main-background); } #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { - font-family: var(--font-face); - font-size: var(--default-font-size); + font-family: var(--nc-font-face); + font-size: var(--nc-default-font-size); position: absolute; margin-left: 15px; } @@ -623,21 +753,21 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f #rl-app span.fontastic { padding: 6px; - border-radius: var(--border-radius); + border-radius: var(--nc-border-radius); } #rl-app span.fontastic:hover, #rl-app .b-footer.btn-toolbar .btn:hover, #rl-app .b-footer.btn-toolbar .btn.fontastic:hover, #rl-app #V-SettingsPane .btn-toolbar .btn:hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app span.fontastic:active, #rl-app .b-footer.btn-toolbar .btn:active, #rl-app .b-footer.btn-toolbar .btn.fontastic:active, #rl-app #V-SettingsPane .btn-toolbar .btn:active { - background-color: var(--color-primary-element-light); + background-color: var(--nc-color-primary-light); } #rl-app span.fontastic:focus, @@ -675,18 +805,18 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f #rl-app input:hover, #rl-app input:active, #rl-app input:focus { - border-color: var(--color-primary-element); + border-color: var(--nc-color-primary-element); } #rl-app input:not([type="checkbox"]) { padding: 0 12px; - font-size: var(--default-font-size); - color: var(--color-main-text); + font-size: var(--nc-default-font-size); + color: var(--nc-color-main-text); background-color: unset; height: 36px; outline: none; - border: 2px solid var(--color-border-dark); - border-radius: var(--border-radius-large); + border: 2px solid var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); } #rl-app input[type="search"]::-webkit-search-decoration, @@ -717,13 +847,13 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f #rl-app .emailaddresses, #rl-app .select, #rl-app select { padding: 8px 12px; - font-size: var(--default-font-size); - color: var(--color-main-text); + font-size: var(--nc-default-font-size); + color: var(--nc-color-main-text); background-color: unset; height: 44px; outline: none; - border: 2px solid var(--color-border-dark); - border-radius: var(--border-radius-large); + border: 2px solid var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); line-height: 24px; box-sizing: border-box; } @@ -734,12 +864,12 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f #rl-app .select:hover, #rl-app select:hover, #rl-app .select:active, #rl-app select:active, #rl-app .select:focus, #rl-app select:focus { - border-color: var(--color-primary-element); + border-color: var(--nc-color-primary-element); } select option { - background-color: var(--color-background-dark); - color: var(--color-main-text); + background-color: var(--nc-color-background-dark); + color: var(--nc-color-main-text); } /* @@ -758,15 +888,15 @@ select option { } #rl-app .emailaddresses.emailaddresses-focused { - border: 2px solid var(--color-primary-element); + border: 2px solid var(--nc-color-primary-element); } #rl-app .emailaddresses li[draggable] { line-height: 20px; padding: 2px 5px; - color: var(--color-main-text); - border: 1px solid var(--color-border-dark); - border-radius: var(--border-radius); + color: var(--nc-color-main-text); + border: 1px solid var(--nc-color-border-dark); + border-radius: var(--nc-border-radius); margin: 0; box-shadow: none; background-color: unset; @@ -774,7 +904,7 @@ select option { #rl-app .emailaddresses li a { position: unset; - color: var(--color-main-text); + color: var(--nc-color-main-text); } /* @@ -794,12 +924,12 @@ select option { #rl-app .squire-plain { padding: 8px 12px; margin: unset; - font-size: var(--default-font-size); - color: var(--color-main-text); + font-size: var(--nc-default-font-size); + color: var(--nc-color-main-text); background-color: unset; outline: none; - border: 2px solid var(--color-border-dark); - border-radius: var(--border-radius-large); + border: 2px solid var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); } #rl-app textarea:hover, @@ -814,7 +944,7 @@ select option { #rl-app div[contenteditable=true]:focus, #rl-app .squire-wysiwyg:focus, #rl-app .squire-plain:focus { - border-color: var(--color-primary-element); + border-color: var(--nc-color-primary-element); } /* @@ -836,7 +966,7 @@ select option { #rl-app .e-component.e-checkbox.material-design:hover, #rl-app .e-component.e-checkbox.material-design:focus-within { - background-color: var(--color-primary-light); + background-color: var(--nc-color-primary-light); outline: none; } @@ -867,7 +997,7 @@ input[type="checkbox"], width: 18px !important; min-width: 18px !important; flex-shrink: 0 !important; - border: 2px solid var(--color-primary-element); + border: 2px solid var(--nc-color-primary-element); border-radius: 2px; box-sizing: border-box; animation: none; @@ -876,10 +1006,10 @@ input[type="checkbox"], input[type="checkbox"]:checked, #rl-app .e-checkbox.material-design input:checked+div { - --svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); - -webkit-mask-image: var(--svg-checked); - mask-image: var(--svg-checked); - background: var(--color-primary-element); + --nc-svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); + -webkit-mask-image: var(--nc-svg-checked); + mask-image: var(--nc-svg-checked); + background: var(--nc-color-primary-element); border-width: 0; animation: none; transform: unset; @@ -912,7 +1042,7 @@ input[type="checkbox"]:checked, #rl-app .messageList .second-toolbar, #rl-app .messageList .b-footer { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app .messageList .inputSearch { @@ -936,11 +1066,11 @@ input[type="checkbox"]:checked, #rl-app .messageList .checkboxCheckAll:hover, #rl-app .messageList .checkboxCheckAll:focus { - color: var(--color-primary-element); + color: var(--nc-color-primary-element); } #rl-app .messageList .checkboxCheckAll:active { - color: var(--color-primary-element-hover); + color: var(--nc-color-primary-element-hover); } html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { @@ -949,47 +1079,47 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app .messageList .btn.buttonMoreSearch { background: unset; - border-radius: var(--border-radius-large); + border-radius: var(--nc-border-radius-large); margin: 0 0 0 8px; line-height: 20px !important; } #rl-app .messageList .checkboxCheckAll, #rl-app .messageList .btn.buttonMoreSearch { - font-size: var(--default-font-size); + font-size: var(--nc-default-font-size); height: 28px; line-height: 28px; } #rl-app .messageList .b-content .listThreadUidDesc { margin: 8px; - color: var(--color-main-text); + color: var(--nc-color-main-text); background: unset; border: solid 1px; - border-radius: var(--border-radius-large); - border-color: var(--color-border-dark); + border-radius: var(--nc-border-radius-large); + border-color: var(--nc-color-border-dark); } #rl-app .messageList .b-content .listThreadUidDesc:hover, #rl-app .messageList .b-content .listThreadUidDesc:focus { - background: var(--color-background-hover); + background: var(--nc-color-background-hover); } #rl-app .messageList .b-content .listThreadUidDesc:active { - background-color: var(--color-primary-light); + background-color: var(--nc-color-primary-element-light); } #rl-app .messageList .b-content .listSearchDesc { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app .messageList .b-content .listError { - color: var(--color-error); + color: var(--nc-color-error); } #rl-app .messageList .b-content .listDragOver.dragOverEnter { - background-color: var(--color-background-dark); - border-radius: var(--border-radius); + background-color: var(--nc-color-background-dark); + border-radius: var(--nc-border-radius); margin: 5px; } @@ -997,120 +1127,120 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app .messageList .b-content .listEmptyMessage, #rl-app .messageList .b-content .listError, #rl-app .messageList .b-content .listLoading { - color: var(--color-text-lighter); + color: var(--nc-color-text-lighter); } #rl-app .messageListItem .checkboxMessage { - border-color: var(--color-text-lighter); - color: var(--color-text-lighter); + border-color: var(--nc-color-text-lighter); + color: var(--nc-color-text-lighter); } #rl-app .messageListItem .checkboxMessage:hover, #rl-app .messageListItem .checkboxMessage:focus { - background-color: var(--color-background-darker); + background-color: var(--nc-color-background-darker); } #rl-app .messageListItem .checkboxMessage:active { - background-color: var(--color-primary-light-hover); + background-color: var(--nc-color-primary-light-hover); } #rl-app .messageListItem .threads-len { - color: var(--color-text-light); - border-color: var(--color-text-light); + color: var(--nc-color-text-light); + border-color: var(--nc-color-text-light); padding: 0 4px; } #rl-app .messageListItem .threads-len:hover, #rl-app .messageListItem .threads-len:focus { - background-color: var(--color-background-darker); + background-color: var(--nc-color-background-darker); border-color: unset; } #rl-app .messageListItem .threads-len:active { - background-color: var(--color-primary-light-hover); + background-color: var(--nc-color-primary-element-light-hover); } #rl-app .messageListItem { padding: 8px; margin: 2px 0; border-bottom: unset; - border-radius: var(--border-radius); + border-radius: var(--nc-border-radius); } #rl-app .messageListItem, #rl-app .messageListItem.focused { - background-color: var(--color-background); - border-left-color: var(--color-border); + background-color: var(--nc-color-background); + border-left-color: var(--nc-color-border); } #rl-app .messageListItem:hover, #rl-app .messageListItem.focused:hover { - background-color: var(--color-background-hover); - border-left-color: var(--color-primary-light-hover); + background-color: var(--nc-color-background-hover); + border-left-color: var(--nc-color-primary-light-hover); } #rl-app .messageListItem.selected, #rl-app .messageListItem.selected:hover { - background-color: var(--color-primary-element-light) !important; - border-left-color: var(--color-primary-element-light-text); + background-color: var(--nc-color-primary-light) !important; + border-left-color: var(--nc-color-primary-light-text); } #rl-app .messageListItem.unseen { background-color: unset; - border-left-color: var(--color-primary-element); + border-left-color: var(--nc-color-primary); } #rl-app .messageListItem.unseen.focused, #rl-app .messageListItem.unseen.focused:hover { - background-color: var(--color-primary-light); - border-left-color: var(--color-primary-element); + background-color: var(--nc-color-primary-light); + border-left-color: var(--nc-color-primary); } #rl-app .messageListItem.unseen:hover { - background-color: var(--color-background-hover); - border-left-color: var(--color-primary-element-hover); + background-color: var(--nc-color-background-hover); + border-left-color: var(--nc-color-primary-hover); } #rl-app .messageListItem [data-unseen] { - border-color: var(--color-primary-element); - background-color: var(--color-primary-element-light); + border-color: var(--nc-color-primary-element); + background-color: var(--nc-color-primary-element-light); border-width: 2px; font-weight: 700; } #rl-app .messageListItem [data-unseen]:hover { - border-color: var(--color-primary-element-hover); - background-color: var(--color-primary-element-light-hover); + border-color: var(--nc-color-primary-element-hover); + background-color: var(--nc-color-primary-element-light-hover); } #rl-app .messageListItem.checked { background-color: unset; - border-left-color: var(--color-primary-light-text); + border-left-color: var(--nc-color-primary-light-text); } #rl-app .messageListItem.checked.focused { background-color: inherit; - border-left-color: var(--color-primary-element-light-text); + border-left-color: var(--nc-color-primary-light-text); } #rl-app .messageListItem.checked:hover, #rl-app .messageListItem.checked.focused:hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); border-left-color: inherit; } #rl-app .messageList .groupLabel { - background-color: var(--color-background-dark); - border-radius: var(--border-radius); + background-color: var(--nc-color-background-dark); + border-radius: var(--nc-border-radius); margin: 2px 0; } #rl-app #messagesDragImage { padding: 5px 5px 5px 10px; - color: var(--color-text-lighter); - background-color: var(--color-background-darker); - border-radius: var(--border-radius); - box-shadow: 0 0 4px var(--color-box-shadow); + color: var(--nc-color-text-lighter); + background-color: var(--nc-color-background-darker); + border-radius: var(--nc-border-radius); + box-shadow: 0 0 4px var(--nc-color-box-shadow); height: unset; min-width: unset; } @@ -1134,7 +1264,7 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { margin: 0 5px; border: none; box-shadow: none !important; - background: var(--color-main-background); + background: var(--nc-color-main-background); } html.sm-msgView-bottom #rl-app .messageList { @@ -1151,39 +1281,39 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .messageView .b-message-view-desc, #rl-app .messageView .b-message-view-checked-helper { - color: var(--color-text-lighter); + color: var(--nc-color-text-lighter); } #rl-app .messageView .b-message-view-desc.error { - color: var(--color-error); + color: var(--nc-color-error); } #rl-app meter::-webkit-meter-bar { - background-color: var(--color-border-dark); - border-color: var(--color-border-dark); + background-color: var(--nc-color-border-dark); + border-color: var(--nc-color-border-dark); border-width: 2px; height: 10px; } #rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value { - background-color: var(--color-success); - border-radius: var(--border-radius-pill); + background-color: var(--nc-color-success); + border-radius: var(--nc-border-radius-pill); } #rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-suboptimum-value { - background-color: var(--color-warning); - border-radius: var(--border-radius-pill); + background-color: var(--nc-color-warning); + border-radius: var(--nc-border-radius-pill); } #rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-even-less-good-value { - background-color: var(--color-error); - border-radius: var(--border-radius-pill); + background-color: var(--nc-color-error); + border-radius: var(--nc-border-radius-pill); } #rl-app .messageView .messageItemHeader .hasVirus { background: unset; - border: solid 2px var(--color-error); - border-radius: var(--border-radius); + border: solid 2px var(--nc-color-error); + border-radius: var(--nc-border-radius); margin: 5px; } @@ -1194,19 +1324,19 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .messageView .openpgp-control.encrypted, #rl-app .messageView .openpgp-control.signed { - border-radius: var(--border-radius); + border-radius: var(--nc-border-radius); } #rl-app #V-MailMessageView .b-message-view-backdrop { - background-color: var(--color-main-background-blur); + background-color: var(--nc-color-main-background-blur); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); } #rl-app #V-MailMessageView .b-message-view-backdrop .backdrop-message { - background-color: var(--color-main-background); - border: solid 1px var(--color-primary); - border-radius: var(--border-radius-large); + background-color: var(--nc-color-main-background); + border: solid 1px var(--nc-color-primary); + border-radius: var(--nc-border-radius-large); text-shadow: none; margin: 10px; } @@ -1216,7 +1346,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .messageView .messageAssignedTags span { - border-radius: var(--border-radius-pill); + border-radius: var(--nc-border-radius-pill); background: unset; padding: 2px 5px; } @@ -1226,17 +1356,17 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #messageItem .bodySubHeader>* { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app #messageItem .readReceipt, #rl-app #messageItem .showImages { margin: 8px; padding: 10px; - color: var(--color-main-text); - border: solid 1px var(--color-primary-element); - background-color: var(--color-primary-light); - border-radius: var(--border-radius-large); + color: var(--nc-color-main-text); + border: solid 1px var(--nc-color-primary); + background-color: var(--nc-color-primary-light); + border-radius: var(--nc-border-radius-large); } #rl-app #messageItem .showImages>.btn, @@ -1245,18 +1375,18 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #messageItem .readReceipt:hover { - background-color: var(--color-primary-light-hover); + background-color: var(--nc-color-primary-light-hover); } #rl-app .messageView .messageItemHeader, #rl-app #messageItem .attachmentsPlace { background-color: unset; - border-color: var(--color-border); - color: var(--color-main-text); + border-color: var(--nc-color-border); + color: var(--nc-color-main-text); } #rl-app #messageItem .attachmentsPlace { - border-top: 1px solid var(--color-border); + border-top: 1px solid var(--nc-color-border); top: -1px; } @@ -1267,14 +1397,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #messageItem .attachmentsControls { background-color: unset; - border-color: var(--color-border); + border-color: var(--nc-color-border); -webkit-user-select: none; user-select: none; } #rl-app #messageItem .attachmentsControls .icon-file-archive, #rl-app #messageItem .attachmentsControls .fontastic { - color: var(--color-main-text); + color: var(--nc-color-main-text); } #rl-app #messageItem .attachmentListSimple .attachmentName { @@ -1286,15 +1416,15 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar */ #rl-app .attachmentItem { - background-color: var(--color-background-dark); - border-radius: var(--border-radius); + background-color: var(--nc-color-background-dark); + border-radius: var(--nc-border-radius); box-shadow: none; padding: 2px; } #rl-app .attachmentItem:hover, #rl-app .attachmentItem:active { - background-color: var(--color-background-darker); + background-color: var(--nc-color-background-darker); } #rl-app .attachmentItem:focus { @@ -1302,7 +1432,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .attachmentItem .iconProgress { - background-color: var(--color-background-darker); + background-color: var(--nc-color-background-darker); } #rl-app .attachmentItem .iconBG { @@ -1313,12 +1443,12 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .attachmentItem .attachmentNameParent { - border-color: var(--color-border-dark); + border-color: var(--nc-color-border-dark); } #rl-app .attachmentItem .iconMain, #rl-app .attachmentItem .iconPreview { - color: var(--color-text-light); + color: var(--nc-color-text-light); } /* @@ -1372,7 +1502,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .messageListItem.msgflag-\$label3:hover, #rl-app .messageListItem.msgflag-\$label4:hover, #rl-app .messageListItem.msgflag-\$label5:hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app a.msgflag-\$label1, @@ -1403,10 +1533,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .dropdown-menu { - background-color: var(--color-main-background); - filter: drop-shadow(0 1px 5px var(--color-box-shadow)); - border-radius: var(--border-radius-large); - color: var(--color-main-text); + background-color: var(--nc-color-main-background); + filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow)); + border-radius: var(--nc-border-radius-large); + color: var(--nc-color-main-text); padding: 4px; } @@ -1430,17 +1560,17 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .dropdown-menu li:not(.disabled) > a:hover, #rl-app .dropdown-menu li:not(.disabled) > a:focus { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); color: unset; opacity: unset; } #rl-app .dropdown-menu li:not(.disabled) > a:active { - background-color: var(--color-primary-light); + background-color: var(--nc-color-primary-element-light); } #rl-app .dropdown-menu *+.dividerbar { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app .dropdown-menu::-webkit-scrollbar-track-piece { @@ -1454,8 +1584,8 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar */ #rl-app #V-SystemDropDown .btn-toolbar.g-ui-user-select-none { - border: solid 1px var(--color-border-dark); - border-radius: var(--border-radius-large); + border: solid 1px var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); height: 36px; padding: 2px; display: flex; @@ -1468,23 +1598,23 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; color: unset; text-shadow: none; - border-right-color: var(--color-border); + border-right-color: var(--nc-color-border); } #rl-app #V-SystemDropDown #top-system-dropdown-id { background-color: unset; border: unset !important; - border-radius: var(--border-radius-large) !important; + border-radius: var(--nc-border-radius-large) !important; height: 20px; } #rl-app #V-SystemDropDown #top-system-dropdown-id:hover, #rl-app #V-SystemDropDown #top-system-dropdown-id:focus { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app #V-SystemDropDown #top-system-dropdown-id:active { - background-color: var(--color-background-dark); + background-color: var(--nc-color-background-dark); } /* @@ -1507,7 +1637,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-AdminPane hr, #rl-app #V-SettingsPane hr { color: unset; - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app .form-horizontal .control-group { @@ -1527,31 +1657,31 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app .table-bordered, #rl-app .table td, #rl-app .table th { - border-color: var(--color-border-dark); + border-color: var(--nc-color-border-dark); } #rl-app .table-hover tbody tr:hover td, #rl-app .table-hover tbody tr:hover th { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app .table-striped tbody tr:nth-child(odd) td, #rl-app .table-striped tbody tr:nth-child(odd) th { - background-color: var(--color-background-dark); + background-color: var(--nc-color-background-dark); } #rl-app #V-Settings-Themes figure, #rl-app #V-Settings-Themes img { - border-radius: var(--border-radius-large); + border-radius: var(--nc-border-radius-large); } #rl-app #V-Settings-Themes figure:not(.selected):hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); border-color: transparent; } #rl-app #V-Settings-Themes figure:not(.selected):active { - background-color: var(--color-primary-element-light); + background-color: var(--nc-color-primary-element-light); } #rl-app #V-Settings-Themes figure:not(.selected):focus { @@ -1559,9 +1689,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-Settings-Themes figure.selected { - background-color: var(--color-primary-element); + background-color: var(--nc-color-primary-element); border-color: transparent; - color: var(--color-primary-text); + color: var(--nc-color-primary-element-text); } /* hide additional theme settings, as these are made via Nextcloud theming */ @@ -1589,7 +1719,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-Settings-Config th { - background-color: var(--color-background-dark); + background-color: var(--nc-color-background-dark); } #rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] { @@ -1614,8 +1744,8 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } ::-webkit-scrollbar-thumb { - background: var(--color-scrollbar); - border-radius: var(--border-radius-large); + background: var(--nc-color-scrollbar); + border-radius: var(--nc-border-radius-large); border: 2px solid transparent; background-clip: content-box; } @@ -1627,14 +1757,14 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar ::-webkit-resizer { border: 10px solid transparent; - border-radius: var(--border-radius); - border-bottom-color: var(--color-border-dark); - border-right-color: var(--color-border-dark); + border-radius: var(--nc-border-radius); + border-bottom-color: var(--nc-color-border-dark); + border-right-color: var(--nc-color-border-dark); } #rl-app::selection { - background-color: var(--color-primary-element); - color: var(--color-primary-text); + background-color: var(--nc-color-primary); + color: var(--nc-color-primary-text); } /* TODO: Improve popup layout and theming */ @@ -1643,17 +1773,17 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar */ #rl-app dialog { - background: var(--color-main-background); - color: var(--color-main-text); - border-radius: var(--border-radius-large); - filter: drop-shadow(0 1px 5px var(--color-box-shadow)); + background: var(--nc-color-main-background); + color: var(--nc-color-main-text); + border-radius: var(--nc-border-radius-large); + filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow)); box-shadow: none; - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app dialog > header, #rl-app dialog > footer { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app dialog > footer .btn+.btn, @@ -1676,25 +1806,25 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-PopupsLanguages label { - background-color: var(--color-background-dark) !important; - border-color: var(--color-border); - border-radius: var(--border-radius); + background-color: var(--nc-color-background-dark) !important; + border-color: var(--nc-color-border); + border-radius: var(--nc-border-radius); padding: 8px 15px; } #rl-app #V-PopupsLanguages label:hover { - border-color: var(--color-primary-element); + border-color: var(--nc-color-primary-element); background-color: unset; } #rl-app #V-PopupsLanguages label.user { - background-color: var(--color-main-background) !important; - color: var(--color-text-light); + background-color: var(--nc-color-main-background) !important; + color: var(--nc-color-text-light); } #rl-app #V-PopupsLanguages label.selected { - background-color: var(--color-primary-element-light) !important; - border-color: var(--color-primary-element); + background-color: var(--nc-color-primary-element-light) !important; + border-color: var(--nc-color-primary-element); } /* @@ -1716,7 +1846,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-PopupsCompose .b-header .error-to { - color: var(--color-error); + color: var(--nc-color-error); } #rl-app #V-PopupsCompose .pull-right>.btn, @@ -1730,16 +1860,16 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:hover, #rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:active { - background-color: var(--color-background-dark); + background-color: var(--nc-color-background-dark); } #rl-app #V-PopupsCompose .b-attachment-place { - border-color: var(--color-border); - background-color: var(--color-background-dark); + border-color: var(--nc-color-border); + background-color: var(--nc-color-background-dark); } #rl-app #V-PopupsCompose .b-attachment-place.dragAndDropOver { - border-color: var(--color-border); + border-color: var(--nc-color-border); } /* @@ -1764,7 +1894,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar mask-repeat: no-repeat; -webkit-mask-size: 30px; mask-size: 30px; - background-color: var(--color-main-text); + background-color: var(--nc-color-main-text); } #rl-app #V-PopupsNextcloudFiles { @@ -1805,12 +1935,12 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsNextcloudFiles li:not(:last-child), #rl-app #V-PopupsNextcloudFiles li details[open]>summary { - border-bottom: 1px solid var(--color-border); + border-bottom: 1px solid var(--nc-color-border); } #rl-app #V-PopupsNextcloudFiles li details[open]>summary { - background-color: var(--color-primary-light); - border-bottom-color: var(--color-primary-element-hover); + background-color: var(--nc-color-primary-element-light); + border-bottom-color: var(--nc-color-primary-element-hover); } #rl-app #V-PopupsNextcloudFiles li:hover { @@ -1820,7 +1950,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsNextcloudFiles li[data-icon]:hover, #rl-app #V-PopupsNextcloudFiles li details:not([open]):hover, #rl-app #V-PopupsNextcloudFiles li details[open]>summary:hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); } #rl-app #V-PopupsNextcloudFiles li details summary[data-icon] { @@ -1828,7 +1958,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before { - color: var(--color-primary); + color: var(--nc-color-primary); font-size: 20px; } @@ -1845,7 +1975,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 5px; display: flex; align-items: center !important; - border-bottom: solid 1px var(--color-border); + border-bottom: solid 1px var(--nc-color-border); } #rl-app #V-PopupsNextcloudCalendars li button { @@ -1861,7 +1991,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsContacts .b-list-toolbar, #rl-app #V-PopupsContacts .b-list-footer-toolbar, #rl-app #V-PopupsContacts .b-view-content-toolbar { - border-color: var(--color-border); + border-color: var(--nc-color-border); } #rl-app #V-PopupsContacts .b-list-toolbar { @@ -1887,40 +2017,40 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 2px 4px; max-height: unset; border-bottom: 0 !important; - border-radius: var(--border-radius); + border-radius: var(--nc-border-radius); } #rl-app #V-PopupsContacts .e-contact-item, #rl-app #V-PopupsContacts .e-contact-item.focused { - background-color: var(--color-background); - border-left-color: var(--color-border); + background-color: var(--nc-color-background); + border-left-color: var(--nc-color-border); } #rl-app #V-PopupsContacts .e-contact-item:hover, #rl-app #V-PopupsContacts .e-contact-item.focused:hover { - background-color: var(--color-background-hover); - border-left-color: var(--color-primary-light-hover); + background-color: var(--nc-color-background-hover); + border-left-color: var(--nc-color-primary-light-hover); } #rl-app #V-PopupsContacts .e-contact-item.selected, #rl-app #V-PopupsContacts .e-contact-item.selected:hover { - background-color: var(--color-primary-element-light); - border-left-color: var(--color-primary-element-light-text); + background-color: var(--nc-color-primary-light); + border-left-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked { background-color: unset; - border-left-color: var(--color-primary-light-text); + border-left-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked.focused { background-color: inherit; - border-left-color: var(--color-primary-element-light-text); + border-left-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked:hover, #rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover { - background-color: var(--color-background-hover); + background-color: var(--nc-color-background-hover); border-left-color: inherit; } @@ -1929,26 +2059,26 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar */ #rl-app .tabs > [id^=tab]:checked+label { - background-color: var(--color-main-background); - border-color: var(--color-primary-element); + background-color: var(--nc-color-main-background); + border-color: var(--nc-color-primary-element); border-bottom-color: transparent; } #rl-app .tabs > label { margin: 0 2px -1px 2px; border-radius: 0; - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); + border-top-left-radius: var(--nc-border-radius); + border-top-right-radius: var(--nc-border-radius); } #rl-app .tabs > label:hover { border-color: transparent; - border-bottom-color: var(--color-primary-element); - background-color: var(--color-background-hover) + border-bottom-color: var(--nc-color-primary-element); + background-color: var(--nc-color-background-hover) } #rl-app .tabs .tab-content { border-top: solid 1px; border-radius: 4px; - border-color: var(--color-primary-element); + border-color: var(--nc-color-primary-element); } \ No newline at end of file diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css deleted file mode 100644 index 9a49ad4e06..0000000000 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/variables.css +++ /dev/null @@ -1,165 +0,0 @@ -/** - * Nextcloud - SnappyMail mail plugin - * - * @author Nextcloud Team - * - * Based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss - * - * Theme variables for Nextcloud backwards compatibility! - * - * When using this theme as a standalone SnappyMail theme, - * this file will serve as a template for customization. - */ - -/* Default Nextcloud (v25) theme variables and colors */ -:root { - --color-main-background: #ffffff; - --color-main-background-not-plain: #0082c9; - --color-main-background-rgb: 255,255,255; - --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); - --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); - --filter-background-blur: blur(25px); - --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; - --color-background-hover: #f5f5f5; - --color-background-dark: #ededed; - --color-background-darker: #dbdbdb; - --color-placeholder-light: #e6e6e6; - --color-placeholder-dark: #cccccc; - --color-main-text: #222222; - --color-text-maxcontrast: #767676; - --color-text-maxcontrast-default: #767676; - --color-text-maxcontrast-background-blur: #646464; - --color-text-light: #222222; - --color-text-lighter: #767676; - --color-scrollbar: rgba(34,34,34, .15); - --color-error: #e9322d; - --color-error-rgb: 233,50,45; - --color-error-hover: #ed5a56; - --color-warning: #eca700; - --color-warning-rgb: 236,167,0; - --color-warning-hover: #efb832; - --color-success: #46ba61; - --color-success-rgb: 70,186,97; - --color-success-hover: #6ac780; - --color-loading-light: #cccccc; - --color-loading-dark: #444444; - --color-box-shadow-rgb: 77,77,77; - --color-box-shadow: rgba(var(--color-box-shadow-rgb), 0.5); - --color-border: #ededed; - --color-border-dark: #dbdbdb; - --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - --default-font-size: 15px; - --animation-quick: 100ms; - --animation-slow: 300ms; - --border-radius: 3px; - --border-radius-large: 10px; - --border-radius-pill: 100px; - --default-clickable-area: 44px; - --default-line-height: 24px; - --default-grid-baseline: 4px; - --header-height: 50px; - --navigation-width: 300px; - --sidebar-min-width: 300px; - --sidebar-max-width: 500px; - --list-min-width: 200px; - --list-max-width: 300px; - --header-menu-item-height: 44px; - --header-menu-profile-item-height: 66px; - --breakpoint-mobile: 1024px; - --primary-invert-if-bright: no; - --background-invert-if-dark: no; - --background-invert-if-bright: invert(100%); - --color-primary: #00639a; - --color-primary-default: #0082c9; - --color-primary-text: #ffffff; - --color-primary-hover: #3282ae; - --color-primary-light: #e5eff4; - --color-primary-light-text: #00273d; - --color-primary-light-hover: #dbe4e9; - --color-primary-text-dark: #ededed; - --color-primary-element: #00639a; - --color-primary-element-text: #ffffff; - --color-primary-element-hover: #3282ae; - --color-primary-element-light: #e5eff4; - --color-primary-element-light-text: #00273d; - --color-primary-element-light-hover: #dbe4e9; - --color-primary-element-text-dark: #ededed; - --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); -} - -@media (prefers-color-scheme: dark) { - :root { - --color-main-background: #171717; - --color-main-background-not-plain: #0082c9; - --color-main-background-rgb: 23,23,23; - --color-main-background-translucent: rgba(var(--color-main-background-rgb), .97); - --color-main-background-blur: rgba(var(--color-main-background-rgb), .8); - --filter-background-blur: blur(25px); - --gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%; - --color-background-hover: #212121; - --color-background-dark: #292929; - --color-background-darker: #3b3b3b; - --color-placeholder-light: #313131; - --color-placeholder-dark: #4a4a4a; - --color-main-text: #D8D8D8; - --color-text-maxcontrast: #8c8c8c; - --color-text-maxcontrast-default: #8c8c8c; - --color-text-maxcontrast-background-blur: #919191; - --color-text-light: #bfbfbf; - --color-text-lighter: #a5a5a5; - --color-scrollbar: #3d3d3d; - --color-error: #e9322d; - --color-error-rgb: 233,50,45; - --color-error-hover: #ed5a56; - --color-warning: #eca700; - --color-warning-rgb: 236,167,0; - --color-warning-hover: #efb832; - --color-success: #46ba61; - --color-success-rgb: 70,186,97; - --color-success-hover: #6ac780; - --color-loading-light: #777; - --color-loading-dark: #CCC; - --color-box-shadow-rgb: 0,0,0; - --color-box-shadow: #000000; - --color-border: #292929; - --color-border-dark: #3b3b3b; - --font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - --default-font-size: 15px; - --animation-quick: 100ms; - --animation-slow: 300ms; - --border-radius: 3px; - --border-radius-large: 10px; - --border-radius-pill: 100px; - --default-clickable-area: 44px; - --default-line-height: 24px; - --default-grid-baseline: 4px; - --header-height: 50px; - --navigation-width: 300px; - --sidebar-min-width: 300px; - --sidebar-max-width: 500px; - --list-min-width: 200px; - --list-max-width: 300px; - --header-menu-item-height: 44px; - --header-menu-profile-item-height: 66px; - --breakpoint-mobile: 1024px; - --primary-invert-if-bright: no; - --background-invert-if-dark: invert(100%); - --background-invert-if-bright: no; - --color-primary: #00639a; - --color-primary-default: #0082c9; - --color-primary-text: #ffffff; - --color-primary-hover: #04537f; - --color-primary-light: #141e24; - --color-primary-light-text: #99c0d6; - --color-primary-light-hover: #1d272d; - --color-primary-text-dark: #ededed; - --color-primary-element: #00639a; - --color-primary-element-text: #ffffff; - --color-primary-element-hover: #04537f; - --color-primary-element-light: #141e24; - --color-primary-element-light-text: #99c0d6; - --color-primary-element-light-hover: #1d272d; - --color-primary-element-text-dark: #ededed; - --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); - } -} \ No newline at end of file diff --git a/integrations/nextcloud/snappymail/js/snappymail.js b/integrations/nextcloud/snappymail/js/snappymail.js index 6cc3199701..38a915ab71 100644 --- a/integrations/nextcloud/snappymail/js/snappymail.js +++ b/integrations/nextcloud/snappymail/js/snappymail.js @@ -10,6 +10,7 @@ document.onreadystatechange = () => { if (document.readyState === 'complete') { watchIFrameTitle(); + passThemesToIFrame(); let form = document.querySelector('form.snappymail'); form && SnappyMailFormHelper(form); } @@ -17,7 +18,7 @@ document.onreadystatechange = () => { // Pass Nextcloud themes and theme attributes to SnappyMail on // first load and when the SnappyMail iframe is reloaded. -document.addEventListener('DOMContentLoaded', () => { +function passThemesToIFrame() { const iframe = document.getElementById('rliframe'); if (!iframe) return; @@ -32,7 +33,7 @@ document.addEventListener('DOMContentLoaded', () => { }); passThemes(iframe); -}); +} // Pass Nextcloud themes and theme attributes to SnappyMail. function passThemes(iframe) { From 454cc5a0c8921a532d22cfcc0f4112650258c23f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 12:54:53 +0000 Subject: [PATCH 111/161] chore: Improve theme selector --- .../nextcloud/snappymail/app/themes/Nextcloud25/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css index 55e51a1609..9a4f524b02 100644 --- a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css +++ b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css @@ -8,7 +8,7 @@ * Default Nextcloud (v25+) theme variables and colors * based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss */ -:not([data-theme-dark]) { +:not([data-themes~="dark"]) { --nc-color-main-background: var(--color-main-background, #ffffff); --nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); @@ -69,7 +69,7 @@ } @media (prefers-color-scheme: dark) { - :not([data-theme-light]) { + :not([data-themes~="light"]) { --nc-color-main-background: var(--color-main-background, #171717); --nc-color-main-background-rgb: var(--color-main-background-rgb, 23, 23, 23); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); From 2776e4c10a86aa3e1bf0b93ffddc626040d4a88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 14:02:13 +0000 Subject: [PATCH 112/161] chore: Update preview image --- .../app/themes/Nextcloud25/images/preview.png | Bin 8042 -> 28071 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png b/integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png index d1f82db8789628047c5cf794d1d949276d860712..4e57a882412fb1db2b5323e233125b620f7c3108 100644 GIT binary patch literal 28071 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 literal 8042 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 From 704dd518cbefd6eadd5443eaffd67b59c7443677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 14:03:13 +0000 Subject: [PATCH 113/161] chore: Move theme to global scope --- .../0.0.0/themes/NextcloudV25+}/images/preview.png | Bin .../v/0.0.0/themes/NextcloudV25+}/styles.css | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {integrations/nextcloud/snappymail/app/themes/Nextcloud25 => snappymail/v/0.0.0/themes/NextcloudV25+}/images/preview.png (100%) rename {integrations/nextcloud/snappymail/app/themes/Nextcloud25 => snappymail/v/0.0.0/themes/NextcloudV25+}/styles.css (100%) diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png b/snappymail/v/0.0.0/themes/NextcloudV25+/images/preview.png similarity index 100% rename from integrations/nextcloud/snappymail/app/themes/Nextcloud25/images/preview.png rename to snappymail/v/0.0.0/themes/NextcloudV25+/images/preview.png diff --git a/integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css similarity index 100% rename from integrations/nextcloud/snappymail/app/themes/Nextcloud25/styles.css rename to snappymail/v/0.0.0/themes/NextcloudV25+/styles.css From dbe01cb15e84f226550cbf697325fef01b8514bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 15:25:54 +0000 Subject: [PATCH 114/161] fix: Broken styles in RTL layout --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 76 ++++++++++++------- 1 file changed, 48 insertions(+), 28 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 9a4f524b02..6b75737245 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -165,7 +165,7 @@ html.rl-left-panel-disabled #rl-app #rl-left { } #rl-app hr { - border-bottom-color: var(--nc-color-border-dark); + border-color: var(--nc-color-border-dark); } #rl-app .resizer { @@ -647,26 +647,34 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { margin: 0 0.5px; } -#rl-app .btn-group .btn:first-of-type, -#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { +:not([dir="rtl"]) #rl-app .btn-group .btn:first-of-type, +:not([dir="rtl"]) #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { border-top-left-radius: var(--nc-border-radius-pill); border-bottom-left-radius: var(--nc-border-radius-pill); } -#rl-app .btn-group .btn:last-of-type, -#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { +:not([dir="rtl"]) #rl-app .btn-group .btn:last-of-type, +:not([dir="rtl"]) #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn:first-of-type, +[dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { border-top-right-radius: var(--nc-border-radius-pill); border-bottom-right-radius: var(--nc-border-radius-pill); } -#rl-app .btn-group .btn.fontastic:first-of-type, -#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { +:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:first-of-type, +:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn.fontastic:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { border-top-left-radius: var(--nc-border-radius-large); border-bottom-left-radius: var(--nc-border-radius-large); } -#rl-app .btn-group .btn.fontastic:last-of-type, -#rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { +:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:last-of-type, +:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { border-top-right-radius: var(--nc-border-radius-large); border-bottom-right-radius: var(--nc-border-radius-large) ; } @@ -726,14 +734,19 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { background-color: var(--nc-color-main-background); } -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after, +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { font-family: var(--nc-font-face); font-size: var(--nc-default-font-size); - position: absolute; margin-left: 15px; } -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { +:not([dir="rtl"]) #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { + position: absolute; +} + +:not([dir="rtl"]) #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { content: 'SnappyMail-Settings'; } @@ -1170,35 +1183,35 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app .messageListItem, #rl-app .messageListItem.focused { background-color: var(--nc-color-background); - border-left-color: var(--nc-color-border); + border-color: var(--nc-color-border); } #rl-app .messageListItem:hover, #rl-app .messageListItem.focused:hover { background-color: var(--nc-color-background-hover); - border-left-color: var(--nc-color-primary-light-hover); + border-color: var(--nc-color-primary-light-hover); } #rl-app .messageListItem.selected, #rl-app .messageListItem.selected:hover { background-color: var(--nc-color-primary-light) !important; - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text) !important; } #rl-app .messageListItem.unseen { background-color: unset; - border-left-color: var(--nc-color-primary); + border-color: var(--nc-color-primary); } #rl-app .messageListItem.unseen.focused, #rl-app .messageListItem.unseen.focused:hover { background-color: var(--nc-color-primary-light); - border-left-color: var(--nc-color-primary); + border-color: var(--nc-color-primary); } #rl-app .messageListItem.unseen:hover { background-color: var(--nc-color-background-hover); - border-left-color: var(--nc-color-primary-hover); + border-color: var(--nc-color-primary-hover); } #rl-app .messageListItem [data-unseen] { @@ -1215,18 +1228,18 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { #rl-app .messageListItem.checked { background-color: unset; - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text); } #rl-app .messageListItem.checked.focused { background-color: inherit; - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text); } #rl-app .messageListItem.checked:hover, #rl-app .messageListItem.checked.focused:hover { background-color: var(--nc-color-background-hover); - border-left-color: inherit; + border-color: inherit; } #rl-app .messageList .groupLabel { @@ -1598,7 +1611,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar background: unset; color: unset; text-shadow: none; - border-right-color: var(--nc-color-border); + border-color: var(--nc-color-border); } #rl-app #V-SystemDropDown #top-system-dropdown-id { @@ -1759,9 +1772,16 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border: 10px solid transparent; border-radius: var(--nc-border-radius); border-bottom-color: var(--nc-color-border-dark); +} + +html:not([dir="rtl"]) ::-webkit-resizer { border-right-color: var(--nc-color-border-dark); } +html[dir="rtl"] ::-webkit-resizer { + border-left-color: var(--nc-color-border-dark); +} + #rl-app::selection { background-color: var(--nc-color-primary); color: var(--nc-color-primary-text); @@ -2023,35 +2043,35 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar #rl-app #V-PopupsContacts .e-contact-item, #rl-app #V-PopupsContacts .e-contact-item.focused { background-color: var(--nc-color-background); - border-left-color: var(--nc-color-border); + border-color: var(--nc-color-border); } #rl-app #V-PopupsContacts .e-contact-item:hover, #rl-app #V-PopupsContacts .e-contact-item.focused:hover { background-color: var(--nc-color-background-hover); - border-left-color: var(--nc-color-primary-light-hover); + border-color: var(--nc-color-primary-light-hover); } #rl-app #V-PopupsContacts .e-contact-item.selected, #rl-app #V-PopupsContacts .e-contact-item.selected:hover { background-color: var(--nc-color-primary-light); - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked { background-color: unset; - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked.focused { background-color: inherit; - border-left-color: var(--nc-color-primary-light-text); + border-color: var(--nc-color-primary-light-text); } #rl-app #V-PopupsContacts .e-contact-item.checked:hover, #rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover { background-color: var(--nc-color-background-hover); - border-left-color: inherit; + border-color: inherit; } /* From 9831b23a5e88d570cb6b7707950d10ef857062c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 21:50:24 +0000 Subject: [PATCH 115/161] chore: Improve search-input-wrp --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 6b75737245..f5c736a9cf 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -474,12 +474,16 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { opacity: .1; } -#rl-app .b-folders input { - width: calc(100% - 10px); - margin: 5px; +#rl-app .b-folders .search-input-wrp { + width: calc(100% - 20px); + margin: 5px 10px; opacity: .7; } +#rl-app .b-folders .search-input-wrp input { + width: 100%; +} + #rl-app .b-footer.btn-toolbar.hide-mobile, #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { display: flex; @@ -853,6 +857,17 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f /* ? margin: 0 5px 0 0; */ } +#rl-app .search-input-wrp a { + position: absolute; + top: 2px; + right: 1px; + min-width: unset; + min-height: unset; + height: 32px; + font-size: 20px; + line-height: 30px; +} + /* * select */ @@ -1062,17 +1077,6 @@ input[type="checkbox"]:checked, max-width: unset; } -#rl-app .messageList .closeSearch { - position: absolute; - top: 2px; - right: 1px; - min-width: unset; - min-height: unset; - height: 32px; - font-size: 20px; - line-height: 30px; -} - #rl-app .messageList .checkboxCheckAll { margin: 0 12px; } From db2b630ed7aa537c637a9a8a25aafdc3ccde9346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 31 May 2023 22:01:22 +0000 Subject: [PATCH 116/161] chore: Improve threads badge margin --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index f5c736a9cf..339ceb9c80 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1165,6 +1165,7 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { color: var(--nc-color-text-light); border-color: var(--nc-color-text-light); padding: 0 4px; + margin-right: 5px; } #rl-app .messageListItem .threads-len:hover, From d1039cbcb778eddb8c2d17ace12b647df3fea686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 1 Jun 2023 07:15:36 +0000 Subject: [PATCH 117/161] fix: Too small messageList min-width --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 339ceb9c80..4a973c4fc3 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1052,7 +1052,7 @@ input[type="checkbox"]:checked, } #rl-app #V-MailMessageList .messageList { - min-width: 350px; + min-width: 360px; } #rl-app .thm-message-list-top-toolbar, From 933548dd7927054263b7fed374dcc81e2ed88bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 1 Jun 2023 07:31:56 +0000 Subject: [PATCH 118/161] chore: Improve folders text-overflow on disabled panel --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 4a973c4fc3..e2c630f666 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -468,6 +468,10 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { text-shadow: none; } +html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { + text-overflow: clip; +} + #rl-app .b-folders hr { border-top: solid var(--nc-color-main-text); border-radius: var(--nc-border-radius-pill); From ffb8fe4c1b293682eaccf135e7bc92a0fdec25bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 1 Jun 2023 16:42:18 +0000 Subject: [PATCH 119/161] fix: Light theme backdrop message color --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index e2c630f666..d94ac0708c 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1361,6 +1361,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-radius: var(--nc-border-radius-large); text-shadow: none; margin: 10px; + color: unset; } #rl-app .messageView .messageAssignedTags { From 135cf1d3dfdba106a29dbe7653598f77bac9096e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 4 Jun 2023 08:42:27 +0000 Subject: [PATCH 120/161] fix: RTL selector maybe causes issues with non-rtl styles in some browsers --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 56 ++++++++++++++----- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index d94ac0708c..9225c1d10c 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -8,7 +8,7 @@ * Default Nextcloud (v25+) theme variables and colors * based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss */ -:not([data-themes~="dark"]) { +body:not([data-themes~="dark"]) { --nc-color-main-background: var(--color-main-background, #ffffff); --nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); @@ -69,7 +69,7 @@ } @media (prefers-color-scheme: dark) { - :not([data-themes~="light"]) { + body:not([data-themes~="light"]) { --nc-color-main-background: var(--color-main-background, #171717); --nc-color-main-background-rgb: var(--color-main-background-rgb, 23, 23, 23); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); @@ -649,44 +649,61 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { } #rl-app .btn-group .btn, -#rl-app .btn-group button, #rl-app .btn-group button.btn { border-radius: 0; margin: 0 0.5px; } -:not([dir="rtl"]) #rl-app .btn-group .btn:first-of-type, -:not([dir="rtl"]) #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])), +#rl-app .btn-group .btn:first-of-type, +#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])), [dir="rtl"] #rl-app .btn-group .btn:last-of-type, [dir="rtl"] #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: 0; border-top-left-radius: var(--nc-border-radius-pill); border-bottom-left-radius: var(--nc-border-radius-pill); } -:not([dir="rtl"]) #rl-app .btn-group .btn:last-of-type, -:not([dir="rtl"]) #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])), +#rl-app .btn-group .btn:last-of-type, +#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])), [dir="rtl"] #rl-app .btn-group .btn:first-of-type, [dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { + border-radius: 0; border-top-right-radius: var(--nc-border-radius-pill); border-bottom-right-radius: var(--nc-border-radius-pill); } -:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:first-of-type, -:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])), +#rl-app .btn-group .btn:first-of-type:last-of-type, +#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn:first-of-type:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: var(--nc-border-radius-pill); +} + +#rl-app .btn-group .btn.fontastic:first-of-type, +#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])), [dir="rtl"] #rl-app .btn-group .btn.fontastic:last-of-type, [dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: 0; border-top-left-radius: var(--nc-border-radius-large); border-bottom-left-radius: var(--nc-border-radius-large); } -:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:last-of-type, -:not([dir="rtl"]) #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])), +#rl-app .btn-group .btn.fontastic:last-of-type, +#rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])), [dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type, [dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { + border-radius: 0; border-top-right-radius: var(--nc-border-radius-large); border-bottom-right-radius: var(--nc-border-radius-large) ; } +#rl-app .btn-group .btn.fontastic:first-of-type:last-of-type, +#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: var(--nc-border-radius-large); +} + #rl-app .btn.buttonCompose, #rl-app .b-folders .btn.buttonContacts, #rl-app .b-footer.btn-toolbar .btn { @@ -749,15 +766,23 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { margin-left: 15px; } -:not([dir="rtl"]) #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { position: absolute; } -:not([dir="rtl"]) #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { + position: unset; +} + +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, [dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { content: 'SnappyMail-Settings'; } +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { + content: unset; +} + #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { content: 'Create new folder'; } @@ -1784,11 +1809,12 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-bottom-color: var(--nc-color-border-dark); } -html:not([dir="rtl"]) ::-webkit-resizer { +::-webkit-resizer { border-right-color: var(--nc-color-border-dark); } -html[dir="rtl"] ::-webkit-resizer { +[dir="rtl"] ::-webkit-resizer { + border-right-color: transparent; border-left-color: var(--nc-color-border-dark); } From 6a6d836f9e1cd35e4396e22ccabc70607e8fbc32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 14:15:39 +0000 Subject: [PATCH 121/161] fix: Button group fallback styles --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 398 ++++++++++-------- 1 file changed, 232 insertions(+), 166 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 9225c1d10c..f5dc59043f 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -369,153 +369,6 @@ html.rl-left-panel-disabled #rl-app #rl-left { display: none; } -/* - * side panel - */ - -#rl-app #V-AdminPane>.b-toolbar, -#rl-app #V-SettingsMenu>.b-toolbar { - top: 0; - left: 0; - height: auto !important; - padding-top: calc(var(--nc-default-grid-baseline) * 2) !important; - padding-bottom: calc(var(--nc-default-grid-baseline) * 2) !important; - font-weight: bold; -} - -html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) { - width: 250px !important; -} - -#rl-app .b-folders .b-toolbar { - height: unset; - display: flex; - flex-direction: row; - padding: 8px; -} - -html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { - flex-direction: column; -} - -#rl-app #V-AdminMenu nav, -#rl-app #V-SettingsMenu nav, -#rl-app .b-folders .b-content { - padding: calc(var(--nc-default-grid-baseline) * 2); -} - -#rl-app .b-folders .b-content { - top: 60px; - bottom: 162px; -} - -#rl-app .b-folders .b-content.show-on-panel-disabled { - bottom: 56px; -} - -#rl-app #V-AdminMenu nav a, -#rl-app #V-AdminPane>.b-toolbar, -#rl-app #V-SettingsMenu nav a, -#rl-app #V-SettingsMenu>.b-toolbar, -#rl-app .b-folders li a.selectable { - margin: 2px; - padding: 0 2em 0 15px; - height: 38px; - line-height: 38px !important; - border-radius: var(--nc-border-radius-pill); - color: unset; - border: none; -} - -#rl-app #V-AdminMenu nav a, -#rl-app #V-AdminPane>.b-toolbar, -#rl-app #V-SettingsMenu nav a, -#rl-app #V-SettingsMenu>.b-toolbar { - height: 44px; - min-height: 44px; - line-height: 44px !important; -} - -#rl-app #V-AdminMenu nav a.selected, -#rl-app #V-SettingsMenu nav a.selected, -#rl-app .b-folders li a.selectable.selected { - color: unset; - background-color: var(--nc-color-primary-light); -} - -#rl-app #V-AdminMenu nav a:not(.selected):hover, -#rl-app #V-AdminMenu nav a:not(.selected):focus, -#rl-app #V-SettingsMenu nav a:not(.selected):hover, -#rl-app #V-SettingsMenu nav a:not(.selected):focus, -#rl-app .b-folders li a.selectable:not(.selected):hover, -#rl-app .b-folders li a.selectable:not(.selected):focus { - color: unset; - background-color: var(--nc-color-background-hover); -} - -#rl-app .b-folders .b-folders-system a[data-unread]::after, -#rl-app .b-folders .b-folders-user a[data-unread]::after { - display: block; - margin: 0 ; - padding: 2px 6px; - top: 50%; - transform: translateY(-50%); - - color: var(--nc-color-primary-element); - background-color: var(--nc-color-primary-element-light); - - font-size: 12px; - text-shadow: none; -} - -html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { - text-overflow: clip; -} - -#rl-app .b-folders hr { - border-top: solid var(--nc-color-main-text); - border-radius: var(--nc-border-radius-pill); - opacity: .1; -} - -#rl-app .b-folders .search-input-wrp { - width: calc(100% - 20px); - margin: 5px 10px; - opacity: .7; -} - -#rl-app .b-folders .search-input-wrp input { - width: 100%; -} - -#rl-app .b-footer.btn-toolbar.hide-mobile, -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { - display: flex; - flex-direction: column; - align-content: stretch; - justify-content: flex-start; - height: unset; - box-sizing: border-box; -} - -#rl-app #V-SettingsMenu .b-footer, -#rl-app .b-footer.btn-toolbar.hide-mobile, -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { - margin: 0; - padding: 0; - bottom: 0; -} - -#rl-app #V-SettingsMenu .b-footer, -#rl-app .b-footer.btn-toolbar { - overflow: unset; - padding: 3px; -} - -#rl-app .b-footer .btn[data-bind*="toggleLeftPanel"] { - width: unset !important; -} - /* * buttons */ @@ -648,65 +501,128 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { border-color: var(--nc-color-error-hover) !important; } -#rl-app .btn-group .btn, -#rl-app .btn-group button.btn { +#rl-app .btn-group .btn:nth-child(n+2 of :not([style*="display: none;"])):nth-last-child(n+2 of :not([style*="display: none;"])) { + border-radius: 0 !important; + margin: 0 0.5px; +} + +/* fallback */ +#rl-app .btn-group .btn:not(:first-of-type):not(:last-of-type), +#rl-app .btn-group button.btn:not(:first-of-type):not(:last-of-type) { border-radius: 0; margin: 0 0.5px; } +#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { + margin-right: 0.5px; +} + +/* fallback */ #rl-app .btn-group .btn:first-of-type, +#rl-app .btn-group button.btn:first-of-type { + margin-right: 0.5px; +} + +#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { + margin-left: 0.5px; +} + +/* fallback */ +#rl-app .btn-group .btn:last-of-type, +#rl-app .btn-group button.btn:last-of-type { + margin-left: 0.5px; +} + #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn:last-of-type, [dir="rtl"] #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: 0 !important; + border-top-left-radius: var(--nc-border-radius-pill) !important; + border-bottom-left-radius: var(--nc-border-radius-pill) !important; +} + +/* fallback */ +#rl-app .btn-group .btn:first-of-type, +[dir="rtl"] #rl-app .btn-group .btn:last-of-type { border-radius: 0; border-top-left-radius: var(--nc-border-radius-pill); border-bottom-left-radius: var(--nc-border-radius-pill); } -#rl-app .btn-group .btn:last-of-type, #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn:first-of-type, [dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { + border-radius: 0 !important; + border-top-right-radius: var(--nc-border-radius-pill) !important; + border-bottom-right-radius: var(--nc-border-radius-pill) !important; +} + +/* fallback */ +#rl-app .btn-group .btn:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn:first-of-type { border-radius: 0; border-top-right-radius: var(--nc-border-radius-pill); border-bottom-right-radius: var(--nc-border-radius-pill); } -#rl-app .btn-group .btn:first-of-type:last-of-type, #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn:first-of-type:last-of-type, [dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { - border-radius: var(--nc-border-radius-pill); + border-radius: var(--nc-border-radius-pill) !important; +} + +/* fallback */ +#rl-app .btn-group .btn:first-of-type:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn:first-of-type:last-of-type { + border-radius: var(--nc-border-radius-pill) !important; } -#rl-app .btn-group .btn.fontastic:first-of-type, #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn.fontastic:last-of-type, [dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: 0 !important; + border-top-left-radius: var(--nc-border-radius-large) !important; + border-bottom-left-radius: var(--nc-border-radius-large) !important; +} + +/* fallback */ +#rl-app .btn-group .btn.fontastic:first-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:last-of-type { border-radius: 0; border-top-left-radius: var(--nc-border-radius-large); border-bottom-left-radius: var(--nc-border-radius-large); } -#rl-app .btn-group .btn.fontastic:last-of-type, #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type, [dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) { + border-radius: 0 !important; + border-top-right-radius: var(--nc-border-radius-large) !important; + border-bottom-right-radius: var(--nc-border-radius-large) !important; +} + +/* fallback */ +#rl-app .btn-group .btn.fontastic:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type { border-radius: 0; border-top-right-radius: var(--nc-border-radius-large); - border-bottom-right-radius: var(--nc-border-radius-large) ; + border-bottom-right-radius: var(--nc-border-radius-large); } -#rl-app .btn-group .btn.fontastic:first-of-type:last-of-type, #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), -[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type:last-of-type, [dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { - border-radius: var(--nc-border-radius-large); + border-radius: var(--nc-border-radius-large) !important; +} + +/* fallback */ +#rl-app .btn-group .btn.fontastic:first-of-type:last-of-type, +[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type:last-of-type { + border-radius: var(--nc-border-radius-large) !important; +} + +/* fallback */ +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn { + border-radius: var(--nc-border-radius); } #rl-app .btn.buttonCompose, -#rl-app .b-folders .btn.buttonContacts, -#rl-app .b-footer.btn-toolbar .btn { +#rl-app .btn.buttonContacts, +#rl-app .b-footer.btn-toolbar .btn-group .btn { box-sizing: border-box; padding: 4px 14px; line-height: 36px; @@ -718,7 +634,6 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { margin: 3px !important; font-size: var(--nc-default-font-size); - border-radius: var(--nc-border-radius-pill) !important; } #rl-app .b-folders .btn.buttonCompose { @@ -1072,6 +987,157 @@ input[type="checkbox"]:checked, transform: unset; } +/* + * side panel + */ + +#rl-app #V-AdminPane>.b-toolbar, +#rl-app #V-SettingsMenu>.b-toolbar { + top: 0; + left: 0; + height: auto !important; + padding-top: calc(var(--nc-default-grid-baseline) * 2) !important; + padding-bottom: calc(var(--nc-default-grid-baseline) * 2) !important; + font-weight: bold; +} + +html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) { + width: 250px !important; +} + +#rl-app .b-folders .b-toolbar { + height: unset; + display: flex; + flex-direction: row; + padding: 8px; +} + +html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { + flex-direction: column; +} + +#rl-app #V-AdminMenu nav, +#rl-app #V-SettingsMenu nav, +#rl-app .b-folders .b-content { + padding: calc(var(--nc-default-grid-baseline) * 2); +} + +#rl-app .b-folders .b-content { + top: 60px; + bottom: 162px; +} + +#rl-app .b-folders .b-content.show-on-panel-disabled { + bottom: 56px; +} + +#rl-app #V-AdminMenu nav a, +#rl-app #V-AdminPane>.b-toolbar, +#rl-app #V-SettingsMenu nav a, +#rl-app #V-SettingsMenu>.b-toolbar, +#rl-app .b-folders li a.selectable { + margin: 2px; + padding: 0 2em 0 15px; + height: 38px; + line-height: 38px !important; + border-radius: var(--nc-border-radius-pill); + color: unset; + border: none; +} + +#rl-app #V-AdminMenu nav a, +#rl-app #V-AdminPane>.b-toolbar, +#rl-app #V-SettingsMenu nav a, +#rl-app #V-SettingsMenu>.b-toolbar { + height: 44px; + min-height: 44px; + line-height: 44px !important; +} + +#rl-app #V-AdminMenu nav a.selected, +#rl-app #V-SettingsMenu nav a.selected, +#rl-app .b-folders li a.selectable.selected { + color: unset; + background-color: var(--nc-color-primary-light); +} + +#rl-app #V-AdminMenu nav a:not(.selected):hover, +#rl-app #V-AdminMenu nav a:not(.selected):focus, +#rl-app #V-SettingsMenu nav a:not(.selected):hover, +#rl-app #V-SettingsMenu nav a:not(.selected):focus, +#rl-app .b-folders li a.selectable:not(.selected):hover, +#rl-app .b-folders li a.selectable:not(.selected):focus { + color: unset; + background-color: var(--nc-color-background-hover); +} + +#rl-app .b-folders .b-folders-system a[data-unread]::after, +#rl-app .b-folders .b-folders-user a[data-unread]::after { + display: block; + margin: 0; + padding: 2px 6px; + top: 50%; + transform: translateY(-50%); + + color: var(--nc-color-primary-element); + background-color: var(--nc-color-primary-element-light); + + font-size: 12px; + text-shadow: none; +} + +html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { + text-overflow: clip; +} + +#rl-app .b-folders hr { + border-top: solid var(--nc-color-main-text); + border-radius: var(--nc-border-radius-pill); + opacity: .1; +} + +#rl-app .b-folders .search-input-wrp { + width: calc(100% - 20px); + margin: 5px 10px; + opacity: .7; +} + +#rl-app .b-folders .search-input-wrp input { + width: 100%; +} + +#rl-app .b-footer.btn-toolbar.hide-mobile, +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { + display: flex; + flex-direction: column; + align-content: stretch; + justify-content: flex-start; + height: unset; + box-sizing: border-box; +} + +#rl-app #V-SettingsMenu .b-footer, +#rl-app .b-footer.btn-toolbar.hide-mobile, +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { + margin: 0; + padding: 0; + bottom: 0; +} + +#rl-app #V-SettingsMenu .b-footer, +#rl-app .b-footer.btn-toolbar { + overflow: unset; + padding: 3px; +} + +#rl-app #V-MailFolderList .b-footer .btn { + border-radius: var(--nc-border-radius-pill) !important; +} + +#rl-app .b-footer .btn[data-bind*="toggleLeftPanel"] { + width: unset !important; +} + /* * message list */ From 09f57db7533718968397d3a14131a15033a3cca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 15:20:03 +0000 Subject: [PATCH 122/161] fix: Button group fallback styles --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index f5dc59043f..94847117fa 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -616,7 +616,8 @@ html.rl-left-panel-disabled #rl-app #rl-left { } /* fallback */ -#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn { +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, +#rl-app #V-MailMessageView .btn-toolbar .btn-group .btn { border-radius: var(--nc-border-radius); } From 8416e4e1cda0bb50339c232f6fcf6dd91aa7452c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 18:34:47 +0000 Subject: [PATCH 123/161] refactor: Full restructure of styles file --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 1847 +++++++++-------- 1 file changed, 949 insertions(+), 898 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 94847117fa..7aef1366c3 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -8,7 +8,8 @@ * Default Nextcloud (v25+) theme variables and colors * based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss */ -body:not([data-themes~="dark"]) { +/* #region theme */ +:not([data-themes~="dark"]) { --nc-color-main-background: var(--color-main-background, #ffffff); --nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); @@ -69,7 +70,7 @@ body:not([data-themes~="dark"]) { } @media (prefers-color-scheme: dark) { - body:not([data-themes~="light"]) { + :not([data-themes~="light"]) { --nc-color-main-background: var(--color-main-background, #171717); --nc-color-main-background-rgb: var(--color-main-background-rgb, 23, 23, 23); --nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8)); @@ -129,196 +130,147 @@ body:not([data-themes~="dark"]) { --nc-color-primary-element-text-dark: var(--color-primary-element-text-dark, #ededed); } } +/* #endregion */ /* - * app layout changes, background & color + * Icons */ +/* #region icons */ -#rl-app { - color: var(--nc-color-main-text); - background-color: transparent; - font-family: var(--nc-font-face); - font-size: var(--nc-default-font-size); -} - -#rl-app #rl-left { - background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); - -webkit-backdrop-filter: var(--nc-filter-background-blur, none); - backdrop-filter: var(--nc-filter-background-blur, none); -} - -#rl-app #rl-left, -#rl-app #V-AdminPane>.b-toolbar { - width: 300px; -} - -html:not(.rl-left-panel-disabled) #rl-left { - max-width: var(--nc-sidebar-max-width); +#rl-app .iconcolor-green { + color: var(--nc-color-success) !important; } -html.rl-left-panel-disabled #rl-app #rl-left { - width: 65px !important; +#rl-app .iconcolor-red { + color: var(--nc-color-error) !important; } -#rl-app #rl-right { - background-color: var(--nc-color-main-background); +#rl-app i.fontastic { + line-height: unset; } -#rl-app hr { - border-color: var(--nc-color-border-dark); +#rl-app [data-icon]::before { + vertical-align: -10%; } -#rl-app .resizer { - opacity: 1; - background-color: unset; - border-right: solid 1px var(--nc-color-border); +#rl-app .drag-handle { + color: var(--nc-color-text-lighter); } -#rl-app .row { - margin-left: unset; -} +/* #endregion */ /* - * links + * Elements */ +/* #region elements */ + +/* #region link */ + :root { --link-color: var(--nc-color-primary-element-light-text); } -#rl-app a[target="_blank"], -#rl-app #messageItem .b-text-part a { +#rl-app a[target="_blank"] { color: var(--nc-color-primary-element-light-text); } #rl-app a[target="_blank"]:visited, -#rl-app a[target="_blank"]:active, -#rl-app #messageItem .b-text-part a:visited, -#rl-app #messageItem .b-text-part a:active { +#rl-app a[target="_blank"]:active { color: var(--nc-color-primary-element); } -/* - * error tips - */ +/* #endregion */ -#rl-app [data-rainloopErrorTip]::before, -#rl-app #V-PopupsPlugin .help-block span { - border: 1px solid var(--nc-color-border); - border-radius: var(--nc-border-radius); - box-shadow: 0 0 2px var(--nc-color-box-shadow); - background-color: var(--nc-color-background-dark); - font-size: 13px; - color: unset; - left: 10px; - right: unset; - padding: 5px; - margin: 7px; -} +/* #region scrollbar */ -#rl-app [data-rainloopErrorTip]::before { - color: var(--nc-color-error); - font-weight: 700; +::-webkit-scrollbar { + width: 12px; + height: 12px; } +::-webkit-scrollbar-thumb { + background: var(--nc-color-scrollbar); + border-radius: var(--nc-border-radius-large); + border: 2px solid transparent; + background-clip: content-box; +} -/* - * loading and login screen - */ - -#rl-app #rl-loading, -#rl-app #rl-loading-error, -#rl-app #V-Login { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 10px; +::-webkit-scrollbar-corner, +::-webkit-scrollbar-track-piece { + background-color: transparent; +} - top: unset; - position: unset; - min-width: unset; - max-width: unset; - transform: unset; - text-shadow: none; - transition: none; +/* #endregion */ - background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); - -webkit-backdrop-filter: var(--nc-filter-background-blur, none); - backdrop-filter: var(--nc-filter-background-blur, none); +/* #region resizer */ - color: var(--nc-color-main-text); - width: 100%; - height: 100%; +#rl-app .resizer { + opacity: 1; + background-color: unset; + border-right: solid 1px var(--nc-color-border); } -#rl-app .LoginView .descWrapper { - color: var(--nc-color-main-text); +::-webkit-resizer { + border: 10px solid transparent; + border-radius: var(--nc-border-radius); + border-bottom-color: var(--nc-color-border-dark); } -#rl-app .LoginView .alert { - position: unset; +::-webkit-resizer { + border-right-color: var(--nc-color-border-dark); } -#rl-app .LoginView form { - min-width: 250px; - max-width: 500px; - width: 90%; - - background-color: var(--nc-color-main-background); - border: unset; - border-radius: var(--nc-border-radius-large); - box-shadow: 0 0 10px var(--nc-color-box-shadow); - color: var(--nc-color-main-text); +[dir="rtl"] ::-webkit-resizer { + border-right-color: transparent; + border-left-color: var(--nc-color-border-dark); } -#rl-app .LoginView .controls > .fontastic:first-child { - padding: unset; - left: 10px; -} +/* #endregion */ -#rl-app .LoginView .controls span.fontastic { - user-select: none; -} +/* #region meter */ -#rl-app .LoginView .controls span.fontastic:active, -#rl-app .LoginView .controls span.fontastic:hover { - background: unset; +#rl-app meter::-webkit-meter-bar { + background-color: var(--nc-color-border-dark); + border-color: var(--nc-color-border-dark); + border-width: 2px; + height: 10px; } -#rl-app #rl-loading[hidden], -#rl-app #rl-loading-error[hidden], -#rl-app .LoginView .alert[hidden] { - display: none; -} +/* #endregion */ -/* - * icons - */ +/* #region horizontal rule */ -#rl-app .iconcolor-green { - color: var(--nc-color-success) !important; +#rl-app hr { + border-color: var(--nc-color-border-dark); } -#rl-app .iconcolor-red { - color: var(--nc-color-error) !important; -} +/* #endregion */ -#rl-app i.fontastic { - line-height: unset; -} +/* #region tooltip */ -#rl-app [data-icon]::before { - vertical-align: -10%; +#rl-app [data-rainloopErrorTip]::before, +#rl-app .help-block span { + border: 1px solid var(--nc-color-border); + border-radius: var(--nc-border-radius); + box-shadow: 0 0 2px var(--nc-color-box-shadow); + background-color: var(--nc-color-background-dark); + font-size: 13px; + color: unset; + left: 10px; + right: unset; + padding: 5px; + margin: 7px; } -#rl-app .drag-handle { - color: var(--nc-color-text-lighter); +#rl-app [data-rainloopErrorTip]::before { + color: var(--nc-color-error); + font-weight: 700; } -/* - * alerts - */ +/* #endregion */ + +/* #region alert */ #rl-app .alert { text-shadow: unset; @@ -369,13 +321,12 @@ html.rl-left-panel-disabled #rl-app #rl-left { display: none; } -/* - * buttons - */ +/* #endregion */ + +/* #region button */ #rl-app .btn, -#rl-app button, -#rl-app button.btn:not(.button-vue) { +#rl-app button { min-height: 36px; height: 36px; box-sizing: border-box; @@ -386,140 +337,152 @@ html.rl-left-panel-disabled #rl-app #rl-left { border: 1px solid var(--nc-color-border-dark) !important; border-radius: var(--nc-border-radius-pill); font-size: var(--nc-default-font-size); -} - -#rl-app .btn.fontastic { - border-radius: var(--nc-border-radius-large); -} - -#rl-app .btn.btn-thin { - padding-right: 9px; - padding-left: 9px; -} - -#rl-app .btn.btn-transparent { - background: unset !important; - border: unset !important; - opacity: 0.6; + text-shadow: none; + box-shadow: none; } #rl-app .btn:hover, #rl-app .btn:focus, #rl-app .btn:active, -#rl-app .btn.active { - outline: none; - opacity: unset; -} - - -#rl-app .btn.disabled, .btn[disabled], -#rl-app .btn.disabled:hover, .btn[disabled]:hover, -#rl-app .btn.disabled:focus, .btn[disabled]:focus, -#rl-app .btn.disabled:active, .btn[disabled]:active { - opacity: .5; - filter: saturate(0.7); -} - -#rl-app .btn:not(.disabled, [disabled]):hover, -#rl-app button:not(.disabled, [disabled]):hover, -#rl-app .btn:not(.disabled, [disabled]):focus, -#rl-app button:not(.disabled, [disabled]):focus { - border-color: var(--nc-color-primary-element) !important; -} - -#rl-app .btn:not(.disabled, [disabled]):active, -#rl-app button:not(.disabled, [disabled]):active, -#rl-app .btn:not(.disabled, [disabled]).active, -#rl-app button:not(.disabled, [disabled]).active { - background-color: var(--nc-color-main-background); - color: var(--nc-color-text-light); -} - -#rl-app .btn, -#rl-app button, #rl-app .btn.active, -#rl-app button.active, -#rl-app .btn:active, +#rl-app button:hover, +#rl-app button:focus, #rl-app button:active, -#rl-app .btn.disabled, -#rl-app button.disabled, -#rl-app .btn[disabled], -#rl-app button[disabled] { - text-shadow: none; - box-shadow: none; -} - -#rl-app .btn.buttonCompose { - font-weight: bold; - max-width: 100%; - box-sizing: content-box !important; +#rl-app button.active, +#rl-app span.fontastic:hover, +#rl-app span.fontastic:focus, +#rl-app span.fontastic:active { + outline: none; + opacity: unset; } -#rl-app .btn.buttonCompose:active { - color: var(--nc-color-primary-element-text-dark); +#rl-app .btn.fontastic, +#rl-app button.fontastic { + border-radius: var(--nc-border-radius-large); } -#rl-app button.btn.buttonLogin, -#rl-app .btn.btn-success { - color: var(--nc-color-primary-element-text); - background-color: var(--nc-color-primary-element); - border-color: var(--nc-color-primary-element) !important; +#rl-app .btn.btn-thin, +#rl-app button.btn-thin { + padding-right: 9px; + padding-left: 9px; } -#rl-app button.btn.buttonLogin:hover, -#rl-app .btn.btn-success:hover, -#rl-app button.btn.buttonLogin:focus, -#rl-app .btn.btn-success:focus { - color: var(--nc-color-primary-element-text); - background-color: var(--nc-color-primary-element-hover); - border-color: var(--nc-color-primary-element-hover) !important; +#rl-app .btn.btn-transparent, +#rl-app button.btn-transparent { + background: unset !important; + border: unset !important; + opacity: 0.6; } -#rl-app .btn.btn-warning { +#rl-app .btn.btn-warning, +#rl-app button.btn-warning { color: var(--nc-color-primary-element-text); background-color: var(--nc-color-warning); border-color: var(--nc-color-warning) !important; } #rl-app .btn.btn-warning:hover, -#rl-app .btn.btn-warning:focus { +#rl-app .btn.btn-warning:focus, +#rl-app button.btn-warning:hover, +#rl-app button.btn-warning:focus { color: var(--nc-color-primary-element-text); background-color: var(--nc-color-warning-hover); border-color: var(--nc-color-warning-hover) !important; } -#rl-app .btn.btn-danger { +#rl-app .btn.btn-danger, +#rl-app button.btn-danger { color: var(--nc-color-primary-element-text); background-color: var(--nc-color-error); border-color: var(--nc-color-error) !important; } #rl-app .btn.btn-danger:hover, -#rl-app .btn.btn-danger:focus { +#rl-app .btn.btn-danger:focus, +#rl-app button.btn-danger:hover, +#rl-app button.btn-danger:focus { color: var(--nc-color-primary-element-text); background-color: var(--nc-color-error-hover); border-color: var(--nc-color-error-hover) !important; } -#rl-app .btn-group .btn:nth-child(n+2 of :not([style*="display: none;"])):nth-last-child(n+2 of :not([style*="display: none;"])) { - border-radius: 0 !important; - margin: 0 0.5px; +#rl-app .btn.btn-success, +#rl-app button.btn-success, +#rl-app button.btn.buttonLogin { + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-primary-element); + border-color: var(--nc-color-primary-element) !important; } -/* fallback */ -#rl-app .btn-group .btn:not(:first-of-type):not(:last-of-type), -#rl-app .btn-group button.btn:not(:first-of-type):not(:last-of-type) { - border-radius: 0; - margin: 0 0.5px; -} +#rl-app .btn.btn-success:hover, +#rl-app .btn.btn-success:focus, +#rl-app button.btn-success:hover, +#rl-app button.btn-success:focus, +#rl-app button.btn.buttonLogin:hover, +#rl-app button.btn.buttonLogin:focus { + color: var(--nc-color-primary-element-text); + background-color: var(--nc-color-primary-element-hover); + border-color: var(--nc-color-primary-element-hover) !important; +} + +#rl-app span.fontastic { + padding: 6px; + border-radius: var(--nc-border-radius); +} + +#rl-app span.fontastic:hover { + background-color: var(--nc-color-background-hover); +} + +#rl-app span.fontastic:active { + background-color: var(--nc-color-primary-light); +} + +#rl-app .btn.disabled, .btn[disabled], +#rl-app .btn.disabled:hover, .btn[disabled]:hover, +#rl-app .btn.disabled:focus, .btn[disabled]:focus, +#rl-app .btn.disabled:active, .btn[disabled]:active, +#rl-app button.disabled, button[disabled], +#rl-app button.disabled:hover, button[disabled]:hover, +#rl-app button.disabled:focus, button[disabled]:focus, +#rl-app button.disabled:active, button[disabled]:active, +#rl-app span.fontastic.disabled, span.fontastic[disabled], +#rl-app span.fontastic.disabled:hover, span.fontastic[disabled]:hover, +#rl-app span.fontastic.disabled:focus, span.fontastic[disabled]:focus, +#rl-app span.fontastic.disabled:active, span.fontastic[disabled]:active { + opacity: .5; + filter: saturate(0.7); +} + +#rl-app .btn:not(.disabled, [disabled]):hover, +#rl-app .btn:not(.disabled, [disabled]):focus, +#rl-app button:not(.disabled, [disabled]):hover, +#rl-app button:not(.disabled, [disabled]):focus, +#rl-app span.fontastic:not(.disabled, [disabled]):hover, +#rl-app span.fontastic:not(.disabled, [disabled]):focus { + border-color: var(--nc-color-primary-element) !important; +} + +#rl-app .btn:not(.disabled, [disabled]):active, +#rl-app .btn:not(.disabled, [disabled]).active, +#rl-app button:not(.disabled, [disabled]):active, +#rl-app button:not(.disabled, [disabled]).active, +#rl-app span.fontastic:not(.disabled, [disabled]):active, +#rl-app span.fontastic:not(.disabled, [disabled]).active { + background-color: var(--nc-color-main-background); + color: var(--nc-color-text-light); +} + +/* #endregion */ + +/* #region button group */ #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) { margin-right: 0.5px; } /* fallback */ -#rl-app .btn-group .btn:first-of-type, -#rl-app .btn-group button.btn:first-of-type { +#rl-app .btn-group .btn:first-of-type { margin-right: 0.5px; } @@ -528,11 +491,22 @@ html.rl-left-panel-disabled #rl-app #rl-left { } /* fallback */ -#rl-app .btn-group .btn:last-of-type, -#rl-app .btn-group button.btn:last-of-type { +#rl-app .btn-group .btn:last-of-type { + margin-left: 0.5px; +} + +#rl-app .btn-group .btn:nth-child(n+2 of :not([style*="display: none;"])):nth-last-child(n+2 of :not([style*="display: none;"])) { + border-radius: 0 !important; + margin-right: 0.5px; margin-left: 0.5px; } +/* fallback */ +#rl-app .btn-group .btn:not(:first-of-type):not(:last-of-type) { + border-radius: 0; + margin: 0 0.5px; +} + #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])), [dir="rtl"] #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) { border-radius: 0 !important; @@ -615,150 +589,9 @@ html.rl-left-panel-disabled #rl-app #rl-left { border-radius: var(--nc-border-radius-large) !important; } -/* fallback */ -#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, -#rl-app #V-MailMessageView .btn-toolbar .btn-group .btn { - border-radius: var(--nc-border-radius); -} - -#rl-app .btn.buttonCompose, -#rl-app .btn.buttonContacts, -#rl-app .b-footer.btn-toolbar .btn-group .btn { - box-sizing: border-box; - padding: 4px 14px; - line-height: 36px; - height: 44px; - min-width: fit-content; - width: stretch; - width: -moz-available; - width: -webkit-fill-available; - margin: 3px !important; - - font-size: var(--nc-default-font-size); -} - -#rl-app .b-folders .btn.buttonCompose { - min-width: 16px; -} - -#rl-app .b-folders .btn.buttonContacts { - min-width: 44px; - width: 44px; -} - -@media screen and (min-width: 1000px) { - #rl-app .b-folders .btn.buttonContacts { - transition: none; - } -} - -#rl-app .b-footer.btn-toolbar .btn, -#rl-app #V-SettingsPane .btn-toolbar .btn { - background: transparent; - border: unset !important; -} - -#rl-app .b-footer.btn-toolbar .btn { - text-align: left; - font-size: 22px; - user-select: none; -} - -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { - width: -webkit-fill-available; - width: -moz-available; - width: fill-available; - overflow: hidden; -} - -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic { - background-color: var(--nc-color-main-background); -} - -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after, -[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { - font-family: var(--nc-font-face); - font-size: var(--nc-default-font-size); - margin-left: 15px; -} - -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { - position: absolute; -} - -[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { - position: unset; -} - -#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, -[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { - content: 'SnappyMail-Settings'; -} - -[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { - content: unset; -} - -#rl-app .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { - content: 'Create new folder'; -} - -html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:after, -html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { - content: ''; -} - -#rl-app .icon-folder-add::before, -#rl-app .icon-resize-in::before { - line-height: unset; -} - -#rl-app span.fontastic { - padding: 6px; - border-radius: var(--nc-border-radius); -} - -#rl-app span.fontastic:hover, -#rl-app .b-footer.btn-toolbar .btn:hover, -#rl-app .b-footer.btn-toolbar .btn.fontastic:hover, -#rl-app #V-SettingsPane .btn-toolbar .btn:hover { - background-color: var(--nc-color-background-hover); -} - -#rl-app span.fontastic:active, -#rl-app .b-footer.btn-toolbar .btn:active, -#rl-app .b-footer.btn-toolbar .btn.fontastic:active, -#rl-app #V-SettingsPane .btn-toolbar .btn:active { - background-color: var(--nc-color-primary-light); -} - -#rl-app span.fontastic:focus, -#rl-app .b-footer.btn-toolbar .btn:focus, -#rl-app .b-footer.btn-toolbar .btn.fontastic:focus, -#rl-app #V-SettingsPane .btn-toolbar .btn:focus { - outline: none; -} - -#rl-app #V-MailMessageList .btn-toolbar { - text-align: center; -} - -#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit { - padding: 4px 8px; - min-height: 28px; - height: 28px; - opacity: 0.8; -} +/* #endregion */ -#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:hover, -#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:focus, -#rl-app #V-MailMessageView .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:active { - opacity: unset; -} - -/* - * inputs - */ +/* #region input */ #rl-app input { box-shadow: none; @@ -794,9 +627,9 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f margin: 0; } -#rl-app input[type=number] { +#rl-app input[type=number] { -moz-appearance: textfield; - -webkit-appearance: textfield; + -webkit-appearance: textfield; appearance: textfield; margin: 0; /* ? margin: 0 5px 0 0; */ @@ -813,12 +646,81 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f line-height: 30px; } -/* - * select - */ +/* #endregion */ + +/* #region checkbox */ + +#rl-app .e-checkbox.material-design { + width: fit-content !important; + width: -moz-fit-content !important; + display: flex; + position: relative; + align-items: center; + user-select: none; + height: 44px; + border-radius: 44px; + padding: 0 14px; + margin: 0; +} + +#rl-app .e-checkbox.material-design:hover, +#rl-app .e-checkbox.material-design:focus-within { + background-color: var(--nc-color-primary-light); + outline: none; +} -#rl-app .emailaddresses, -#rl-app .select, #rl-app select { +#rl-app .e-checkbox.material-design:focus { + outline: none; +} + +#rl-app .e-checkbox input[type="checkbox"] { + display: none; +} + +input[type="checkbox"] { + background-color: transparent; + -webkit-appearance: none; + appearance: none; +} + +#rl-app .e-checkbox.material-design>div { + position: relative; + width: 18px; + top: 2px; +} + +#rl-app input[type="checkbox"], +#rl-app .e-checkbox.material-design input+div { + position: unset; + height: 18px !important; + width: 18px !important; + min-width: 18px !important; + flex-shrink: 0 !important; + border: 2px solid var(--nc-color-primary-element); + border-radius: 2px; + box-sizing: border-box; + animation: none; + transform: unset; +} + +#rl-app input[type="checkbox"]:checked, +#rl-app .e-checkbox.material-design input:checked+div { + --nc-svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); + -webkit-mask-image: var(--nc-svg-checked); + mask-image: var(--nc-svg-checked); + background: var(--nc-color-primary-element); + border-width: 0; + animation: none; + transform: unset; +} + +/* #endregion */ + +/* #region select */ + +#rl-app select, +#rl-app .select, +#rl-app .emailaddresses { padding: 8px 12px; font-size: var(--nc-default-font-size); color: var(--nc-color-main-text); @@ -831,23 +733,26 @@ html.rl-left-panel-disabled #rl-app .b-footer.btn-toolbar .btn-group .btn.icon-f box-sizing: border-box; } +#rl-app select:hover, +#rl-app select:active, +#rl-app select:focus, +#rl-app .select:hover, +#rl-app .select:active, +#rl-app .select:focus, #rl-app .emailaddresses:hover, #rl-app .emailaddresses:active, -#rl-app .emailaddresses:focus, -#rl-app .select:hover, #rl-app select:hover, -#rl-app .select:active, #rl-app select:active, -#rl-app .select:focus, #rl-app select:focus { +#rl-app .emailaddresses:focus { border-color: var(--nc-color-primary-element); } -select option { +#rl-app select option { background-color: var(--nc-color-background-dark); color: var(--nc-color-main-text); } -/* - * email address select - */ +/* #endregion */ + +/* #region select email address */ #rl-app .emailaddresses { display: inline-flex; @@ -875,123 +780,354 @@ select option { background-color: unset; } -#rl-app .emailaddresses li a { +#rl-app .emailaddresses li a { + position: unset; + color: var(--nc-color-main-text); +} + +/* #endregion */ + +/* #region textarea */ + +#rl-app .squire-toolbar { + height: 50px; + padding: 5px; + box-sizing: content-box; + border: none; +} + +#rl-app textarea, +#rl-app div[contenteditable], +#rl-app .squire-wysiwyg, +#rl-app .squire-plain { + padding: 8px 12px; + margin: unset; + font-size: var(--nc-default-font-size); + color: var(--nc-color-main-text); + background-color: unset; + outline: none; + border: 2px solid var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); +} + +#rl-app textarea:hover, +#rl-app textarea:active, +#rl-app textarea:focus, +#rl-app div[contenteditable=true]:hover, +#rl-app div[contenteditable=true]:active, +#rl-app div[contenteditable=true]:focus, +#rl-app .squire-wysiwyg:hover, +#rl-app .squire-wysiwyg:active, +#rl-app .squire-wysiwyg:focus, +#rl-app .squire-plain:hover, +#rl-app .squire-plain:active, +#rl-app .squire-plain:focus { + border-color: var(--nc-color-primary-element); +} + +/* #endregion */ + +/* #region dropdown */ + +#rl-app .dropdown.show { + box-shadow: none; +} + +#rl-app .dropdown-menu { + background-color: var(--nc-color-main-background); + filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow)); + border-radius: var(--nc-border-radius-large); + color: var(--nc-color-main-text); + padding: 4px; +} + +#rl-app .dropdown-menu a { + background-color: unset; + color: unset; + height: 22px; + line-height: 22px; + border-radius: 3px; + margin: 2px; + box-sizing: content-box; +} + +#rl-app .dropdown-menu li.disabled>a, +#rl-app .dropdown-menu li.disabled>a:hover, +#rl-app .dropdown-menu li.disabled>a:focus, +#rl-app .dropdown-menu li.disabled>a:active { + opacity: .5; + filter: saturate(0.7); +} + +#rl-app .dropdown-menu li:not(.disabled)>a:hover, +#rl-app .dropdown-menu li:not(.disabled)>a:focus { + background-color: var(--nc-color-background-hover); + color: unset; + opacity: unset; +} + +#rl-app .dropdown-menu li:not(.disabled)>a:active { + background-color: var(--nc-color-primary-element-light); +} + +#rl-app .dropdown-menu *+.dividerbar { + border-color: var(--nc-color-border); +} + +#rl-app .dropdown-menu::-webkit-scrollbar-track-piece { + background-color: inherit; + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; +} + +/* #endregion */ + +/* #region dropdown account */ + +#rl-app #V-SystemDropDown .btn-toolbar { + border: solid 1px var(--nc-color-border-dark); + border-radius: var(--nc-border-radius-large); + height: 36px; + padding: 2px; + display: flex; + flex-direction: row; + align-items: center; + box-sizing: content-box; +} + +#rl-app #V-SystemDropDown .accountPlace { + background: unset; + color: unset; + text-shadow: none; + border-color: var(--nc-color-border); +} + +#rl-app #V-SystemDropDown #top-system-dropdown-id { + background-color: unset; + border: unset !important; + border-radius: var(--nc-border-radius-large) !important; + height: 20px; +} + +#rl-app #V-SystemDropDown #top-system-dropdown-id:hover, +#rl-app #V-SystemDropDown #top-system-dropdown-id:focus { + background-color: var(--nc-color-background-hover); +} + +#rl-app #V-SystemDropDown #top-system-dropdown-id:active { + background-color: var(--nc-color-background-dark); +} + +/* #endregion */ + +/* #region tab */ + +#rl-app .tabs>[id^=tab]:checked+label { + background-color: var(--nc-color-main-background); + border-color: var(--nc-color-primary-element); + border-bottom-color: transparent; +} + +#rl-app .tabs>label { + margin: 0 2px -1px 2px; + border-radius: 0; + border-top-left-radius: var(--nc-border-radius); + border-top-right-radius: var(--nc-border-radius); +} + +#rl-app .tabs>label:hover { + border-color: transparent; + border-bottom-color: var(--nc-color-primary-element); + background-color: var(--nc-color-background-hover) +} + +#rl-app .tabs .tab-content { + border-top: solid 1px; + border-radius: 4px; + border-color: var(--nc-color-primary-element); +} + +/* #endregion */ + +/* #region table */ + +#rl-app .table td, +#rl-app .table th, +#rl-app .table-bordered { + border-color: var(--nc-color-border-dark); +} + +#rl-app .table-hover tbody tr:hover td, +#rl-app .table-hover tbody tr:hover th { + background-color: var(--nc-color-background-hover); +} + +#rl-app .table-striped tbody tr:nth-child(odd) td, +#rl-app .table-striped tbody tr:nth-child(odd) th { + background-color: var(--nc-color-background-dark); +} + +/* #endregion */ + +/* #region attachment */ + +#rl-app .attachmentItem { + background-color: var(--nc-color-background-dark); + border-radius: var(--nc-border-radius); + box-shadow: none; + padding: 2px; +} + +#rl-app .attachmentItem:hover, +#rl-app .attachmentItem:active { + background-color: var(--nc-color-background-darker); +} + +#rl-app .attachmentItem:focus { + outline: none; +} + +#rl-app .attachmentItem .iconProgress { + background-color: var(--nc-color-background-darker); +} + +#rl-app .attachmentItem .iconBG { + font-weight: 700; + line-height: 48px; + font-size: unset; + text-shadow: unset; +} + +#rl-app .attachmentItem .attachmentNameParent { + border-color: var(--nc-color-border-dark); +} + +#rl-app .attachmentItem .iconMain, +#rl-app .attachmentItem .iconPreview { + color: var(--nc-color-text-light); +} + +/* #endregion */ + +/* #endregion */ + +/* + * Views + */ + +/* #region views */ + +/* #region app */ + +#rl-app { + color: var(--nc-color-main-text); + background-color: transparent; + font-family: var(--nc-font-face); + font-size: var(--nc-default-font-size); +} + +#rl-app #rl-left { + background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); + -webkit-backdrop-filter: var(--nc-filter-background-blur, none); + backdrop-filter: var(--nc-filter-background-blur, none); + width: 300px; +} + +html:not(.rl-left-panel-disabled) #rl-left { + max-width: var(--nc-sidebar-max-width); +} + +html.rl-left-panel-disabled #rl-app #rl-left { + width: 65px !important; +} + +#rl-app #rl-right { + background-color: var(--nc-color-main-background); +} + +#rl-app::selection { + background-color: var(--nc-color-primary); + color: var(--nc-color-primary-text); +} + +/* #endregion */ + +/* #region login & loading */ + +#rl-app #V-Login, +#rl-app #rl-loading, +#rl-app #rl-loading-error { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 10px; + + top: unset; position: unset; - color: var(--nc-color-main-text); -} + min-width: unset; + max-width: unset; + transform: unset; + text-shadow: none; + transition: none; -/* - * textareas - */ + background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); + -webkit-backdrop-filter: var(--nc-filter-background-blur, none); + backdrop-filter: var(--nc-filter-background-blur, none); -#rl-app .squire-toolbar { - height: 50px; - padding: 5px; - box-sizing: content-box; - border: none; + color: var(--nc-color-main-text); + width: 100%; + height: 100%; } -#rl-app textarea, -#rl-app div[contenteditable], -#rl-app .squire-wysiwyg, -#rl-app .squire-plain { - padding: 8px 12px; - margin: unset; - font-size: var(--nc-default-font-size); +#rl-app .LoginView .descWrapper { color: var(--nc-color-main-text); - background-color: unset; - outline: none; - border: 2px solid var(--nc-color-border-dark); - border-radius: var(--nc-border-radius-large); } -#rl-app textarea:hover, -#rl-app div[contenteditable=true]:hover, -#rl-app .squire-wysiwyg:hover, -#rl-app .squire-plain:hover, -#rl-app textarea:active, -#rl-app div[contenteditable=true]:active, -#rl-app .squire-wysiwyg:active, -#rl-app .squire-plain:active, -#rl-app textarea:focus, -#rl-app div[contenteditable=true]:focus, -#rl-app .squire-wysiwyg:focus, -#rl-app .squire-plain:focus { - border-color: var(--nc-color-primary-element); +#rl-app .LoginView .alert { + position: unset; } -/* - * checkboxes - */ +#rl-app .LoginView form { + min-width: 250px; + max-width: 500px; + width: 90%; -#rl-app .e-component.e-checkbox.material-design { - width: fit-content !important; - width: -moz-fit-content !important; - display: flex; - position: relative; - align-items: center; - user-select: none; - height: 44px; - border-radius: 44px; - padding: 0 14px; - margin: 0; + background-color: var(--nc-color-main-background); + border: unset; + border-radius: var(--nc-border-radius-large); + box-shadow: 0 0 10px var(--nc-color-box-shadow); + color: var(--nc-color-main-text); } -#rl-app .e-component.e-checkbox.material-design:hover, -#rl-app .e-component.e-checkbox.material-design:focus-within { - background-color: var(--nc-color-primary-light); - outline: none; +#rl-app .LoginView .controls>.fontastic:first-child { + padding: unset; + left: 10px; } -#rl-app .e-component.e-checkbox.material-design:focus { - outline: none; +#rl-app .LoginView .controls span.fontastic { + user-select: none; } -#rl-app .e-component.e-checkbox input[type="checkbox"] { - display: none; +#rl-app .LoginView .controls span.fontastic:active, +#rl-app .LoginView .controls span.fontastic:hover { + background: unset; } -input[type="checkbox"] { - background-color: transparent; - -webkit-appearance: none; - appearance: none; +#rl-app #rl-loading[hidden], +#rl-app #rl-loading-error[hidden], +#rl-app .LoginView .alert[hidden] { + display: none; } -#rl-app .e-checkbox.material-design>div { - position: relative; - width: 18px; - top: 2px; -} +/* #endregion */ -input[type="checkbox"], -#rl-app .e-checkbox.material-design input+div { - position: unset; - height: 18px !important; - width: 18px !important; - min-width: 18px !important; - flex-shrink: 0 !important; - border: 2px solid var(--nc-color-primary-element); - border-radius: 2px; - box-sizing: border-box; - animation: none; - transform: unset; -} +/* #region side panel */ -input[type="checkbox"]:checked, -#rl-app .e-checkbox.material-design input:checked+div { - --nc-svg-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'><path d='M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z'></path></svg>"); - -webkit-mask-image: var(--nc-svg-checked); - mask-image: var(--nc-svg-checked); - background: var(--nc-color-primary-element); - border-width: 0; - animation: none; - transform: unset; +html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) { + width: 250px !important; } -/* - * side panel - */ - #rl-app #V-AdminPane>.b-toolbar, #rl-app #V-SettingsMenu>.b-toolbar { top: 0; @@ -1002,10 +1138,6 @@ input[type="checkbox"]:checked, font-weight: bold; } -html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) { - width: 250px !important; -} - #rl-app .b-folders .b-toolbar { height: unset; display: flex; @@ -1017,6 +1149,34 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar { flex-direction: column; } +#rl-app .b-folders .b-toolbar .btn.buttonCompose, +#rl-app .b-folders .b-toolbar .btn.buttonContacts, +#rl-app .b-footer .btn { + box-sizing: border-box; + padding: 4px 14px; + line-height: 36px; + height: 44px; + min-width: fit-content; + width: stretch; + width: -moz-available; + width: -webkit-fill-available; + margin: 3px !important; + + font-size: var(--nc-default-font-size); +} + +#rl-app .b-folders .b-toolbar .btn.buttonCompose { + min-width: 16px; + max-width: 100%; + font-weight: bold; + box-sizing: content-box !important; +} + +#rl-app .b-folders .b-toolbar .btn.buttonContacts { + width: 44px; + min-width: 44px; +} + #rl-app #V-AdminMenu nav, #rl-app #V-SettingsMenu nav, #rl-app .b-folders .b-content { @@ -1117,7 +1277,6 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { box-sizing: border-box; } -#rl-app #V-SettingsMenu .b-footer, #rl-app .b-footer.btn-toolbar.hide-mobile, #rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled { margin: 0; @@ -1125,34 +1284,147 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { bottom: 0; } -#rl-app #V-SettingsMenu .b-footer, #rl-app .b-footer.btn-toolbar { overflow: unset; padding: 3px; } -#rl-app #V-MailFolderList .b-footer .btn { +#rl-app .b-footer.btn-toolbar .btn { + background: transparent; + border: unset !important; +} + +#rl-app .b-footer.btn-toolbar .btn { + text-align: left; + font-size: 22px; + user-select: none; +} + +#rl-app .b-footer.btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { + border-radius: var(--nc-border-radius-pill) !important; +} + +/* fallback */ +#rl-app .b-footer.btn-toolbar .btn-group .btn, +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic { border-radius: var(--nc-border-radius-pill) !important; } -#rl-app .b-footer .btn[data-bind*="toggleLeftPanel"] { +#rl-app .b-footer.btn-toolbar .btn:hover, +#rl-app .b-footer.btn-toolbar .btn.fontastic:hover { + background-color: var(--nc-color-background-hover); +} + +#rl-app .b-footer.btn-toolbar .btn:active, +#rl-app .b-footer.btn-toolbar .btn.fontastic:active { + background-color: var(--nc-color-primary-light); +} + +#rl-app .b-footer.btn-toolbar .btn:focus, +#rl-app .b-footer.btn-toolbar .btn.fontastic:focus { + outline: none; +} + +#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn { + width: -webkit-fill-available; + width: -moz-available; + width: fill-available; + overflow: hidden; +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic { + background-color: var(--nc-color-main-background); +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after, +[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { + font-family: var(--nc-font-face); + font-size: var(--nc-default-font-size); + margin-left: 15px; +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { + position: absolute; +} + +[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after { + position: unset; +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, +[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { + content: 'SnappyMail-Settings'; +} + +[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { + content: unset; +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:before { + line-height: unset; +} + +#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { + content: 'Create new folder'; +} + +html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:after, +html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { + content: ''; +} + +#rl-app #V-MailFolderList .b-footer .btn[data-bind*="toggleLeftPanel"] { width: unset !important; } -/* - * message list - */ +/* #endregion */ + +/* #region message list & view */ + +#rl-app .messageList, +#rl-app .messageView { + height: calc(100% - 60px); + margin: 0 5px; + border: none; + box-shadow: none !important; + background: var(--nc-color-main-background); +} + +#rl-app #V-MailMessageList .btn-toolbar, +#rl-app #V-MailMessageView .btn-toolbar { + padding: 10px; +} + +/* fallback */ +#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, +#rl-app #V-MailMessageView .btn-toolbar .btn-group .btn { + border-radius: var(--nc-border-radius); +} + +/* #endregion */ + +/* #region message list */ #rl-app #V-MailMessageList { overflow: unset; } +#rl-app #V-MailMessageList .btn-toolbar { + text-align: center; +} + #rl-app #V-MailMessageList .messageList { min-width: 360px; } -#rl-app .thm-message-list-top-toolbar, -#rl-app .thm-message-list-bottom-toolbar { +html.sm-msgView-bottom #rl-app .messageList { + height: 35vh; +} + +#rl-app .messageList .second-toolbar, +#rl-app .messageList .b-footer { + border-color: var(--nc-color-border); background: unset !important; } @@ -1164,11 +1436,6 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { padding-bottom: 10px; } -#rl-app .messageList .second-toolbar, -#rl-app .messageList .b-footer { - border-color: var(--nc-color-border); -} - #rl-app .messageList .inputSearch { max-width: unset; } @@ -1243,6 +1510,16 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { color: var(--nc-color-text-lighter); } +#rl-app .messageList .groupLabel { + background-color: var(--nc-color-background-dark); + border-radius: var(--nc-border-radius); + margin: 2px 0; +} + +/* #endregion */ + +/* #region message list item */ + #rl-app .messageListItem .checkboxMessage { border-color: var(--nc-color-text-lighter); color: var(--nc-color-text-lighter); @@ -1343,12 +1620,6 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { border-color: inherit; } -#rl-app .messageList .groupLabel { - background-color: var(--nc-color-background-dark); - border-radius: var(--nc-border-radius); - margin: 2px 0; -} - #rl-app #messagesDragImage { padding: 5px 5px 5px 10px; color: var(--nc-color-text-lighter); @@ -1359,38 +1630,29 @@ html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll { min-width: unset; } -/* - * message view - */ +/* #endregion */ + +/* #region message view */ #rl-app #V-MailMessageView { bottom: 0; } -#rl-app #V-MailMessageList .btn-toolbar, -#rl-app #V-MailMessageView .btn-toolbar { - padding: 10px; -} - -#rl-app .messageList, -#rl-app .messageView { - height: calc(100% - 60px); - margin: 0 5px; - border: none; - box-shadow: none !important; - background: var(--nc-color-main-background); -} - -html.sm-msgView-bottom #rl-app .messageList { - height: 35vh; -} - html.sm-msgView-bottom #rl-app .messageView { height: 100%; } -html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar { - /* TODO Improve mobile experience */ +#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit { + padding: 4px 8px; + min-height: 28px; + height: 28px; + opacity: 0.8; +} + +#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:hover, +#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:focus, +#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:active { + opacity: unset; } #rl-app .messageView .b-message-view-desc, @@ -1402,13 +1664,6 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar color: var(--nc-color-error); } -#rl-app meter::-webkit-meter-bar { - background-color: var(--nc-color-border-dark); - border-color: var(--nc-color-border-dark); - border-width: 2px; - height: 10px; -} - #rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value { background-color: var(--nc-color-success); border-radius: var(--nc-border-radius-pill); @@ -1526,215 +1781,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 5px; } -/* - * attachment item - */ - -#rl-app .attachmentItem { - background-color: var(--nc-color-background-dark); - border-radius: var(--nc-border-radius); - box-shadow: none; - padding: 2px; -} - -#rl-app .attachmentItem:hover, -#rl-app .attachmentItem:active { - background-color: var(--nc-color-background-darker); -} - -#rl-app .attachmentItem:focus { - outline: none; -} - -#rl-app .attachmentItem .iconProgress { - background-color: var(--nc-color-background-darker); -} - -#rl-app .attachmentItem .iconBG { - font-weight: 700; - line-height: 48px; - font-size: unset; - text-shadow: unset; -} - -#rl-app .attachmentItem .attachmentNameParent { - border-color: var(--nc-color-border-dark); -} - -#rl-app .attachmentItem .iconMain, -#rl-app .attachmentItem .iconPreview { - color: var(--nc-color-text-light); -} - -/* - * message flags - */ - -:root { - --msgflag-\$label1-color: #ae2c35; - --msgflag-\$label1-color-hover: #e13a45; - --msgflag-\$label2-color: #cc9827; - --msgflag-\$label2-color-hover: #ffbf31; - --msgflag-\$label3-color: #005235; - --msgflag-\$label3-color-hover: #008557; - --msgflag-\$label4-color: #005cc4; - --msgflag-\$label4-color-hover: #0074f8; - --msgflag-\$label5-color: #5631c0; - --msgflag-\$label5-color-hover: #6d3ff3; - - --msgflag-\\flagged-color: #ffca32; -} - -#rl-app .msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); } -#rl-app .msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); } -#rl-app .msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); } -#rl-app .msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); } -#rl-app .msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); } - -#rl-app .msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; } -#rl-app .msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; } -#rl-app .msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; } -#rl-app .msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; } -#rl-app .msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; } - -#rl-app .msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); } -#rl-app .msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); } -#rl-app .msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); } -#rl-app .msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); } -#rl-app .msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); } - -#rl-app .msgflag-\$label1:not(.focused), #rl-app .msgflag-\$label1 .checkboxMessage, -#rl-app .msgflag-\$label2:not(.focused), #rl-app .msgflag-\$label2 .checkboxMessage, -#rl-app .msgflag-\$label3:not(.focused), #rl-app .msgflag-\$label3 .checkboxMessage, -#rl-app .msgflag-\$label4:not(.focused), #rl-app .msgflag-\$label4 .checkboxMessage, -#rl-app .msgflag-\$label5:not(.focused), #rl-app .msgflag-\$label5 .checkboxMessage { - background-color: unset; - color: unset; -} - -#rl-app .messageListItem.msgflag-\$label1:hover, -#rl-app .messageListItem.msgflag-\$label2:hover, -#rl-app .messageListItem.msgflag-\$label3:hover, -#rl-app .messageListItem.msgflag-\$label4:hover, -#rl-app .messageListItem.msgflag-\$label5:hover { - background-color: var(--nc-color-background-hover); -} - -#rl-app a.msgflag-\$label1, -#rl-app a.msgflag-\$label2, -#rl-app a.msgflag-\$label3, -#rl-app a.msgflag-\$label4, -#rl-app a.msgflag-\$label5 { - border-left: solid 5px; -} - -#rl-app .btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), -#rl-app .btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { - border-left: solid 5px transparent; -} - -#rl-app .b-folders .is-flagged .flag-icon::after, -#rl-app .messageListItem.hasFlaggedSubMessage .flagParent::after, -#rl-app .messageListItem.msgflag-\\flagged .flagParent::after { - color: var(--msgflag-\\flagged-color); -} - -/* - * dropdown menus - */ - -#rl-app .dropdown.show { - box-shadow: none; -} - -#rl-app .dropdown-menu { - background-color: var(--nc-color-main-background); - filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow)); - border-radius: var(--nc-border-radius-large); - color: var(--nc-color-main-text); - padding: 4px; -} - -#rl-app .dropdown-menu a { - background-color: unset; - color: unset; - height: 22px; - line-height: 22px; - border-radius: 3px; - margin: 2px; - box-sizing: content-box; -} - -#rl-app .dropdown-menu li.disabled > a, -#rl-app .dropdown-menu li.disabled > a:hover, -#rl-app .dropdown-menu li.disabled > a:focus, -#rl-app .dropdown-menu li.disabled > a:active { - opacity: .5; - filter: saturate(0.7); -} - -#rl-app .dropdown-menu li:not(.disabled) > a:hover, -#rl-app .dropdown-menu li:not(.disabled) > a:focus { - background-color: var(--nc-color-background-hover); - color: unset; - opacity: unset; -} - -#rl-app .dropdown-menu li:not(.disabled) > a:active { - background-color: var(--nc-color-primary-element-light); -} - -#rl-app .dropdown-menu *+.dividerbar { - border-color: var(--nc-color-border); -} - -#rl-app .dropdown-menu::-webkit-scrollbar-track-piece { - background-color: inherit; - border-top-right-radius: inherit; - border-bottom-right-radius: inherit; -} - -/* - * account selector - */ - -#rl-app #V-SystemDropDown .btn-toolbar.g-ui-user-select-none { - border: solid 1px var(--nc-color-border-dark); - border-radius: var(--nc-border-radius-large); - height: 36px; - padding: 2px; - display: flex; - flex-direction: row; - align-items: center; - box-sizing: content-box; -} - -#rl-app #V-SystemDropDown .accountPlace { - background: unset; - color: unset; - text-shadow: none; - border-color: var(--nc-color-border); -} - -#rl-app #V-SystemDropDown #top-system-dropdown-id { - background-color: unset; - border: unset !important; - border-radius: var(--nc-border-radius-large) !important; - height: 20px; -} - -#rl-app #V-SystemDropDown #top-system-dropdown-id:hover, -#rl-app #V-SystemDropDown #top-system-dropdown-id:focus { - background-color: var(--nc-color-background-hover); -} - -#rl-app #V-SystemDropDown #top-system-dropdown-id:active { - background-color: var(--nc-color-background-dark); -} +/* #endregion */ -/* - * settings - */ +/* #region settings */ #rl-app #V-SettingsPane { margin: 62px 0 8px 0; @@ -1748,6 +1797,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar padding: 8px; } +#rl-app .row { + margin-left: unset; +} + #rl-app .legend, #rl-app #V-AdminPane hr, #rl-app #V-SettingsPane hr { @@ -1762,27 +1815,11 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar } #rl-app .form-horizontal .control-group { - margin-bottom: 1em; -} - -#rl-app .control-group { - margin-bottom: 0.5em; -} - -#rl-app .table-bordered, -#rl-app .table td, -#rl-app .table th { - border-color: var(--nc-color-border-dark); -} - -#rl-app .table-hover tbody tr:hover td, -#rl-app .table-hover tbody tr:hover th { - background-color: var(--nc-color-background-hover); + margin-bottom: 1em; } -#rl-app .table-striped tbody tr:nth-child(odd) td, -#rl-app .table-striped tbody tr:nth-child(odd) th { - background-color: var(--nc-color-background-dark); +#rl-app .control-group { + margin-bottom: 0.5em; } #rl-app #V-Settings-Themes figure, @@ -1821,9 +1858,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar display: none !important; } -/* - * admin settings - */ +/* #endregion */ + +/* #region settings admin */ #rl-app #V-AdminPane { margin: 8px 0px; @@ -1833,6 +1870,10 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border: none; } +#rl-app #V-AdminPane>.b-toolbar { + width: 300px; +} + #rl-app #V-Settings-Config th { background-color: var(--nc-color-background-dark); } @@ -1841,7 +1882,7 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar align-self: self-start; } -#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] ~ div .alert.alert-info { +#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"]~div .alert.alert-info { margin-left: -130px; } @@ -1849,51 +1890,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin-left: 1rem; } -/* - * scrollbar - */ - -::-webkit-scrollbar { - width: 12px; - height: 12px; -} - -::-webkit-scrollbar-thumb { - background: var(--nc-color-scrollbar); - border-radius: var(--nc-border-radius-large); - border: 2px solid transparent; - background-clip: content-box; -} - -::-webkit-scrollbar-corner, -::-webkit-scrollbar-track-piece { - background-color: transparent; -} - -::-webkit-resizer { - border: 10px solid transparent; - border-radius: var(--nc-border-radius); - border-bottom-color: var(--nc-color-border-dark); -} - -::-webkit-resizer { - border-right-color: var(--nc-color-border-dark); -} - -[dir="rtl"] ::-webkit-resizer { - border-right-color: transparent; - border-left-color: var(--nc-color-border-dark); -} - -#rl-app::selection { - background-color: var(--nc-color-primary); - color: var(--nc-color-primary-text); -} +/* #endregion */ -/* TODO: Improve popup layout and theming */ -/* - * Popups - */ +/* #region popup */ #rl-app dialog { background: var(--nc-color-main-background); @@ -1904,13 +1903,13 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--nc-color-border); } -#rl-app dialog > header, -#rl-app dialog > footer { +#rl-app dialog>header, +#rl-app dialog>footer { border-color: var(--nc-color-border); } -#rl-app dialog > footer .btn+.btn, -#rl-app dialog > footer button+button { +#rl-app dialog>footer .btn+.btn, +#rl-app dialog>footer button+button { margin: 0 0 0 5px; } @@ -1950,9 +1949,80 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--nc-color-primary-element); } -/* - * compose - */ +/* #endregion */ + +/* #region popup contacts */ + +#rl-app #V-PopupsContacts .right, +#rl-app #V-PopupsContacts .b-list-toolbar, +#rl-app #V-PopupsContacts .b-list-footer-toolbar, +#rl-app #V-PopupsContacts .b-view-content-toolbar { + border-color: var(--nc-color-border); +} + +#rl-app #V-PopupsContacts .b-list-toolbar { + height: 55px; +} + +#rl-app #V-PopupsContacts .b-list-toolbar .e-search { + margin: 9px 5px; + width: calc(100% - 2*5px); +} + +#rl-app #V-PopupsContacts .b-view-content { + height: calc(100% - 72px); + margin-top: 20px; +} + +#rl-app #V-PopupsContacts .b-list-content { + height: calc(100% - 35px - 72px); +} + +#rl-app #V-PopupsContacts .e-contact-item { + padding: 4px; + margin: 2px 4px; + max-height: unset; + border-bottom: 0 !important; + border-radius: var(--nc-border-radius); +} + +#rl-app #V-PopupsContacts .e-contact-item, +#rl-app #V-PopupsContacts .e-contact-item.focused { + background-color: var(--nc-color-background); + border-color: var(--nc-color-border); +} + +#rl-app #V-PopupsContacts .e-contact-item:hover, +#rl-app #V-PopupsContacts .e-contact-item.focused:hover { + background-color: var(--nc-color-background-hover); + border-color: var(--nc-color-primary-light-hover); +} + +#rl-app #V-PopupsContacts .e-contact-item.selected, +#rl-app #V-PopupsContacts .e-contact-item.selected:hover { + background-color: var(--nc-color-primary-light); + border-color: var(--nc-color-primary-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked { + background-color: unset; + border-color: var(--nc-color-primary-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked.focused { + background-color: inherit; + border-color: var(--nc-color-primary-light-text); +} + +#rl-app #V-PopupsContacts .e-contact-item.checked:hover, +#rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover { + background-color: var(--nc-color-background-hover); + border-color: inherit; +} + +/* #endregion */ + +/* #region popup compose */ #rl-app #V-PopupsCompose header { background-color: unset; @@ -1995,9 +2065,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar border-color: var(--nc-color-border); } -/* - * nextcloud file picker - */ +/* #endregion */ + +/* #region popup nextcloud files */ #rl-app #V-PopupsCompose .btn[data-bind*="nextcloudAttach"] { font-size: 0; @@ -2090,9 +2160,9 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar margin: 5px 10px 5px 0; } -/* - * nextcloud calendar select - */ +/* #endregion */ + +/* #region popup nextcloud calendars */ #rl-app #V-PopupsNextcloudCalendars li { padding: 5px; @@ -2106,102 +2176,83 @@ html:not(.rl-mobile):not(.rl-no-preview-pane) #rl-app .messageView .top-toolbar align-self: center; } -/* - * contacts - */ - -#rl-app #V-PopupsContacts .right, -#rl-app #V-PopupsContacts .b-list-toolbar, -#rl-app #V-PopupsContacts .b-list-footer-toolbar, -#rl-app #V-PopupsContacts .b-view-content-toolbar { - border-color: var(--nc-color-border); -} +/* #endregion */ -#rl-app #V-PopupsContacts .b-list-toolbar { - height: 55px; -} +/* #endregion */ -#rl-app #V-PopupsContacts .b-list-toolbar .e-search { - margin: 9px 5px; - width: calc(100% - 2*5px); -} +/* + * Message Flags + */ -#rl-app #V-PopupsContacts .b-view-content { - height: calc(100% - 72px); - margin-top: 20px; -} +/* #region message flags */ -#rl-app #V-PopupsContacts .b-list-content { - height: calc(100% - 35px - 72px); -} +:root { + --msgflag-\$label1-color: #ae2c35; + --msgflag-\$label1-color-hover: #e13a45; + --msgflag-\$label2-color: #cc9827; + --msgflag-\$label2-color-hover: #ffbf31; + --msgflag-\$label3-color: #005235; + --msgflag-\$label3-color-hover: #008557; + --msgflag-\$label4-color: #005cc4; + --msgflag-\$label4-color-hover: #0074f8; + --msgflag-\$label5-color: #5631c0; + --msgflag-\$label5-color-hover: #6d3ff3; -#rl-app #V-PopupsContacts .e-contact-item { - padding: 4px; - margin: 2px 4px; - max-height: unset; - border-bottom: 0 !important; - border-radius: var(--nc-border-radius); + --msgflag-\\flagged-color: #ffca32; } -#rl-app #V-PopupsContacts .e-contact-item, -#rl-app #V-PopupsContacts .e-contact-item.focused { - background-color: var(--nc-color-background); - border-color: var(--nc-color-border); -} +#rl-app .msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); } +#rl-app .msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); } +#rl-app .msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); } +#rl-app .msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); } +#rl-app .msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); } -#rl-app #V-PopupsContacts .e-contact-item:hover, -#rl-app #V-PopupsContacts .e-contact-item.focused:hover { - background-color: var(--nc-color-background-hover); - border-color: var(--nc-color-primary-light-hover); -} +#rl-app .msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; } +#rl-app .msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; } +#rl-app .msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; } +#rl-app .msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; } +#rl-app .msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; } -#rl-app #V-PopupsContacts .e-contact-item.selected, -#rl-app #V-PopupsContacts .e-contact-item.selected:hover { - background-color: var(--nc-color-primary-light); - border-color: var(--nc-color-primary-light-text); -} +#rl-app .msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); } +#rl-app .msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); } +#rl-app .msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); } +#rl-app .msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); } +#rl-app .msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); } -#rl-app #V-PopupsContacts .e-contact-item.checked { +#rl-app .msgflag-\$label1:not(.focused), #rl-app .msgflag-\$label1 .checkboxMessage, +#rl-app .msgflag-\$label2:not(.focused), #rl-app .msgflag-\$label2 .checkboxMessage, +#rl-app .msgflag-\$label3:not(.focused), #rl-app .msgflag-\$label3 .checkboxMessage, +#rl-app .msgflag-\$label4:not(.focused), #rl-app .msgflag-\$label4 .checkboxMessage, +#rl-app .msgflag-\$label5:not(.focused), #rl-app .msgflag-\$label5 .checkboxMessage { background-color: unset; - border-color: var(--nc-color-primary-light-text); -} - -#rl-app #V-PopupsContacts .e-contact-item.checked.focused { - background-color: inherit; - border-color: var(--nc-color-primary-light-text); + color: unset; } -#rl-app #V-PopupsContacts .e-contact-item.checked:hover, -#rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover { +#rl-app .messageListItem.msgflag-\$label1:hover, +#rl-app .messageListItem.msgflag-\$label2:hover, +#rl-app .messageListItem.msgflag-\$label3:hover, +#rl-app .messageListItem.msgflag-\$label4:hover, +#rl-app .messageListItem.msgflag-\$label5:hover { background-color: var(--nc-color-background-hover); - border-color: inherit; } -/* - * tabs - */ - -#rl-app .tabs > [id^=tab]:checked+label { - background-color: var(--nc-color-main-background); - border-color: var(--nc-color-primary-element); - border-bottom-color: transparent; +#rl-app a.msgflag-\$label1, +#rl-app a.msgflag-\$label2, +#rl-app a.msgflag-\$label3, +#rl-app a.msgflag-\$label4, +#rl-app a.msgflag-\$label5 { + border-left: solid 5px; } -#rl-app .tabs > label { - margin: 0 2px -1px 2px; - border-radius: 0; - border-top-left-radius: var(--nc-border-radius); - border-top-right-radius: var(--nc-border-radius); +#rl-app .btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), +#rl-app .btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { + border-left: solid 5px transparent; } -#rl-app .tabs > label:hover { - border-color: transparent; - border-bottom-color: var(--nc-color-primary-element); - background-color: var(--nc-color-background-hover) +#rl-app .b-folders .is-flagged .flag-icon::after, +#rl-app .messageListItem.hasFlaggedSubMessage .flagParent::after, +#rl-app .messageListItem.msgflag-\\flagged .flagParent::after { + color: var(--msgflag-\\flagged-color); } -#rl-app .tabs .tab-content { - border-top: solid 1px; - border-radius: 4px; - border-color: var(--nc-color-primary-element); -} \ No newline at end of file +/* #endregion */ \ No newline at end of file From ebe952e005c52018abff721448bf90a22821654e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 18:36:24 +0000 Subject: [PATCH 124/161] chore: Adjust fallback border radius of grouped button --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 7aef1366c3..dd30908d60 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1399,7 +1399,7 @@ html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn /* fallback */ #rl-app #V-MailMessageList .btn-toolbar .btn-group .btn, #rl-app #V-MailMessageView .btn-toolbar .btn-group .btn { - border-radius: var(--nc-border-radius); + border-radius: var(--nc-border-radius-large); } /* #endregion */ From a25c43f3404ad6f998dc71f6a675cc7aba6fd8bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 18:38:36 +0000 Subject: [PATCH 125/161] chore: Change dropdown text align --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index dd30908d60..dfad18bd97 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -849,6 +849,7 @@ input[type="checkbox"] { border-radius: 3px; margin: 2px; box-sizing: content-box; + text-align: start; } #rl-app .dropdown-menu li.disabled>a, From 88a6ab3e1184eaef015c2c6f7c19c4ca446ca37f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 21:28:06 +0000 Subject: [PATCH 126/161] fix: Inconsistent buttons --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index dfad18bd97..c40b8da824 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -326,7 +326,8 @@ /* #region button */ #rl-app .btn, -#rl-app button { +#rl-app button, +#rl-app button.btn:not(.button-vue) { min-height: 36px; height: 36px; box-sizing: border-box; From c00a1e41d6402578bdbca367f935fcbe3c6700f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 21:50:17 +0000 Subject: [PATCH 127/161] chore: Improve message list toolbar on mobile --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index c40b8da824..ab789b460b 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1416,6 +1416,10 @@ html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn text-align: center; } +html.rl-mobile #rl-app #V-MailMessageList .btn-toolbar { + text-align: start; +} + #rl-app #V-MailMessageList .messageList { min-width: 360px; } From 2327e812a858478add8b9ea1416cdc5fe21e2b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Mon, 5 Jun 2023 22:11:52 +0000 Subject: [PATCH 128/161] fix: Input border color --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index ab789b460b..e93a9a36ae 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -598,12 +598,6 @@ box-shadow: none; } -#rl-app input:hover, -#rl-app input:active, -#rl-app input:focus { - border-color: var(--nc-color-primary-element); -} - #rl-app input:not([type="checkbox"]) { padding: 0 12px; font-size: var(--nc-default-font-size); @@ -615,6 +609,15 @@ border-radius: var(--nc-border-radius-large); } +#rl-app input:hover, +#rl-app input:active, +#rl-app input:focus, +#rl-app input:not([type="checkbox"]):hover, +#rl-app input:not([type="checkbox"]):active, +#rl-app input:not([type="checkbox"]):focus { + border-color: var(--nc-color-primary-element); +} + #rl-app input[type="search"]::-webkit-search-decoration, #rl-app input[type="search"]::-webkit-search-cancel-button, #rl-app input[type="search"]::-webkit-search-results-button, From c79f9ab2a07d70bd3edf087b3071abff9a99ff39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 6 Jun 2023 19:58:05 +0000 Subject: [PATCH 129/161] fix: Weird icon buttons --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index e93a9a36ae..effeb870a2 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -428,6 +428,7 @@ #rl-app span.fontastic { padding: 6px; + height: fit-content; border-radius: var(--nc-border-radius); } From b8b813e60510bcfc0269409ebe60d77a67e83e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 6 Jun 2023 20:10:58 +0000 Subject: [PATCH 130/161] chore: Use same styles for input and select elements --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 65 ++++++++----------- 1 file changed, 26 insertions(+), 39 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index effeb870a2..92fa780a4d 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -593,23 +593,32 @@ /* #endregion */ -/* #region input */ - -#rl-app input { - box-shadow: none; -} +/* #region input & select */ +#rl-app select, +#rl-app .select, +#rl-app .emailaddresses, #rl-app input:not([type="checkbox"]) { padding: 0 12px; font-size: var(--nc-default-font-size); color: var(--nc-color-main-text); background-color: unset; height: 36px; - outline: none; border: 2px solid var(--nc-color-border-dark); border-radius: var(--nc-border-radius-large); + line-height: 32px; + outline: none; } +#rl-app select:hover, +#rl-app select:active, +#rl-app select:focus, +#rl-app .select:hover, +#rl-app .select:active, +#rl-app .select:focus, +#rl-app .emailaddresses:hover, +#rl-app .emailaddresses:active, +#rl-app .emailaddresses:focus, #rl-app input:hover, #rl-app input:active, #rl-app input:focus, @@ -619,6 +628,14 @@ border-color: var(--nc-color-primary-element); } +/* #endregion */ + +/* #region input */ + +#rl-app input { + box-shadow: none; +} + #rl-app input[type="search"]::-webkit-search-decoration, #rl-app input[type="search"]::-webkit-search-cancel-button, #rl-app input[type="search"]::-webkit-search-results-button, @@ -723,33 +740,6 @@ input[type="checkbox"] { /* #region select */ -#rl-app select, -#rl-app .select, -#rl-app .emailaddresses { - padding: 8px 12px; - font-size: var(--nc-default-font-size); - color: var(--nc-color-main-text); - background-color: unset; - height: 44px; - outline: none; - border: 2px solid var(--nc-color-border-dark); - border-radius: var(--nc-border-radius-large); - line-height: 24px; - box-sizing: border-box; -} - -#rl-app select:hover, -#rl-app select:active, -#rl-app select:focus, -#rl-app .select:hover, -#rl-app .select:active, -#rl-app .select:focus, -#rl-app .emailaddresses:hover, -#rl-app .emailaddresses:active, -#rl-app .emailaddresses:focus { - border-color: var(--nc-color-primary-element); -} - #rl-app select option { background-color: var(--nc-color-background-dark); color: var(--nc-color-main-text); @@ -760,6 +750,9 @@ input[type="checkbox"] { /* #region select email address */ #rl-app .emailaddresses { + padding: 8px 12px; + height: 44px; + line-height: 24px; display: inline-flex; align-items: center; flex-wrap: wrap; @@ -1931,12 +1924,6 @@ html.sm-msgView-bottom #rl-app .messageView { border: none; } -#rl-app #V-PopupsDomain .domain-form .tab-content input, -#rl-app #V-PopupsDomain .domain-form .tab-content select { - height: 44px; - padding: 8px 12px; -} - #rl-app #V-PopupsLanguages label { background-color: var(--nc-color-background-dark) !important; border-color: var(--nc-color-border); From 0050a8f4ad631b802e4857d94607cca39d4eb628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Tue, 6 Jun 2023 20:24:05 +0000 Subject: [PATCH 131/161] fix: Dropdown coloring of select element --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 92fa780a4d..c0df3f4de9 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -740,8 +740,10 @@ input[type="checkbox"] { /* #region select */ -#rl-app select option { - background-color: var(--nc-color-background-dark); +#rl-app select option, +#rl-app select::-webkit-scrollbar-corner, +#rl-app select::-webkit-scrollbar-track-piece { + background-color: var(--nc-color-main-background); color: var(--nc-color-main-text); } From 819147246f9f200ef36d51710ff8af6381248a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 14 Jun 2023 20:11:01 +0000 Subject: [PATCH 132/161] fix: Tabs label overflow --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index c0df3f4de9..46f5e51abf 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -934,6 +934,7 @@ input[type="checkbox"] { border-radius: 0; border-top-left-radius: var(--nc-border-radius); border-top-right-radius: var(--nc-border-radius); + overflow-wrap: anywhere; } #rl-app .tabs>label:hover { From 75fb5170c1c7081534d51726a7f529c39b049d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 14 Jun 2023 20:33:10 +0000 Subject: [PATCH 133/161] fix: Mobile dropdown positioning --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 46f5e51abf..9b5504fcb6 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -881,6 +881,13 @@ input[type="checkbox"] { border-bottom-right-radius: inherit; } +.rl-left-panel-disabled #rl-app .dropdown-menu { + position: fixed; + top: auto; + left: auto; + right: 5px; +} + /* #endregion */ /* #region dropdown account */ @@ -1735,6 +1742,10 @@ html.sm-msgView-bottom #rl-app .messageView { border-color: var(--nc-color-border); } +.rl-left-panel-disabled #rl-app #messageItem .dropdown-menu { + position: absolute; +} + #rl-app #messageItem .readReceipt, #rl-app #messageItem .showImages { margin: 8px; From 5800905f01e605276929f611a8154df749495c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 14 Jun 2023 20:43:12 +0000 Subject: [PATCH 134/161] fix: Languages popup label margin --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 9b5504fcb6..46dc56184c 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1960,6 +1960,13 @@ html.sm-msgView-bottom #rl-app .messageView { border-color: var(--nc-color-primary-element); } +@media screen and (max-width: 480px) { + #rl-app #V-PopupsLanguages label { + margin-left: 0; + margin-right: 0; + } +} + /* #endregion */ /* #region popup contacts */ From 8470525f993e4c1cafee27e098299eff5415d8e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 14 Jun 2023 20:43:49 +0000 Subject: [PATCH 135/161] fix: OpenPgpImport popup textarea width --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 46dc56184c..4f7523474b 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1967,6 +1967,10 @@ html.sm-msgView-bottom #rl-app .messageView { } } +#rl-app #V-PopupsOpenPgpImport textarea { + width: 100%; +} + /* #endregion */ /* #region popup contacts */ From 2fdc9a2308ee6b7f1772b89cba6789fed6cb52b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Wed, 14 Jun 2023 20:49:38 +0000 Subject: [PATCH 136/161] fix: Mobile side panel border color --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 4f7523474b..055ca5e312 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1039,6 +1039,7 @@ input[type="checkbox"] { background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background)); -webkit-backdrop-filter: var(--nc-filter-background-blur, none); backdrop-filter: var(--nc-filter-background-blur, none); + border-color: var(--nc-color-border); width: 300px; } From d3609d04e4ca854731dcd2aaec84ae07379b640b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 09:26:56 +0000 Subject: [PATCH 137/161] fix: Broken Nextcloud menu list margin --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 055ca5e312..b7ecd3c167 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1060,6 +1060,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { color: var(--nc-color-primary-text); } +:not(#rl-app) ol, ul { + margin: unset; +} + /* #endregion */ /* #region login & loading */ From d0b00887b4fe95c3c261254a23dd37949b22d384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 11:38:24 +0000 Subject: [PATCH 138/161] chore: Improve admin settings mobile layout --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index b7ecd3c167..ccbfbe4e9a 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -956,6 +956,13 @@ input[type="checkbox"] { border-color: var(--nc-color-primary-element); } +@media screen and (max-width: 480px) { + #rl-app .tabs>label>i, + #rl-app .tabs>label::before { + display: none; + } +} + /* #endregion */ /* #region table */ @@ -1051,6 +1058,10 @@ html.rl-left-panel-disabled #rl-app #rl-left { width: 65px !important; } +html.rl-mobile.rl-left-panel-disabled #rl-app #rl-left { + width: 0px !important; +} + #rl-app #rl-right { background-color: var(--nc-color-main-background); } @@ -1886,7 +1897,7 @@ html.sm-msgView-bottom #rl-app .messageView { #rl-app #V-AdminPane { margin: 8px 0px; - height: calc(100% - 8px - 8px); + height: calc(100% - 2*8px); background-color: unset; box-shadow: none; border: none; @@ -1896,10 +1907,23 @@ html.sm-msgView-bottom #rl-app .messageView { width: 300px; } +html.rl-mobile #rl-app #V-AdminPane { + margin: 60px 0px 8px 0px; + height: calc(100% - 60px - 8px); +} + +html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { + width: unset; +} + #rl-app #V-Settings-Config th { background-color: var(--nc-color-background-dark); } +#rl-app #V-Settings-Config em { + word-break: break-word; +} + #rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] { align-self: self-start; } @@ -1912,6 +1936,33 @@ html.sm-msgView-bottom #rl-app .messageView { margin-left: 1rem; } +@media screen and (max-width: 1024px) { + #rl-app #V-AdminPane table { + width: 100%; + } + + #rl-app #V-AdminPane [class*="span"] { + width: unset; + } +} + +@media screen and (max-width: 480px) { + #rl-app #V-Settings-Config .table { + border-collapse: collapse; + } + + #rl-app #V-Settings-Config .table tr { + border-top: 10px solid transparent; + } + + #rl-app #V-Settings-Config .table td, + #rl-app #V-Settings-Config .table th { + display: block; + border-style: solid; + border-width: 1px 0px; + } +} + /* #endregion */ /* #region popup */ @@ -1970,6 +2021,11 @@ html.sm-msgView-bottom #rl-app .messageView { margin-left: 0; margin-right: 0; } + + #rl-app dialog .modal-body { + padding-left: 0; + padding-right: 0; + } } #rl-app #V-PopupsOpenPgpImport textarea { From 1ccef6cb2627c507c36e5617aa7ca409374d5aec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 15:48:51 +0000 Subject: [PATCH 139/161] fix: Mobile popup padding --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index ccbfbe4e9a..47248c910e 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2022,9 +2022,11 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { margin-right: 0; } - #rl-app dialog .modal-body { + #rl-app #V-PopupsKeyboardShortcutsHelp .modal-body, + #rl-app #V-PopupsDomain .modal-body { padding-left: 0; padding-right: 0; + overflow-x: hidden; } } From 3fedf8a05326feb918c4e3d15cba474a4f7742d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 16:39:44 +0000 Subject: [PATCH 140/161] chore: Improve mobile placement of checkboxes in AdvancedSearch popup --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 47248c910e..737e6d9ca5 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2017,6 +2017,10 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } @media screen and (max-width: 480px) { + #rl-app #V-PopupsAdvancedSearch .e-component.e-checkbox { + margin-left: -100%; + } + #rl-app #V-PopupsLanguages label { margin-left: 0; margin-right: 0; From 6310e9a39de774de3db5117a8fc279da057a307b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 16:49:25 +0000 Subject: [PATCH 141/161] chore: Add compose popup attachments-count badge --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 737e6d9ca5..3b15d4384d 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2154,6 +2154,14 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { border-color: var(--nc-color-border); } +#rl-app #V-PopupsCompose .tabs label[for="tab-attachments"] b { + padding: 2px 6px; + border-radius: 1em; + color: var(--nc-color-primary-element); + background-color: var(--nc-color-primary-element-light); + font-size: 12px; +} + /* #endregion */ /* #region popup nextcloud files */ From e515163a901acb4b1fdd9ce28091ac86d00fa56d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Thu, 15 Jun 2023 16:53:33 +0000 Subject: [PATCH 142/161] chore: Remove admin settings toolbar text-shadow --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 3b15d4384d..91be3c638a 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1905,6 +1905,7 @@ html.sm-msgView-bottom #rl-app .messageView { #rl-app #V-AdminPane>.b-toolbar { width: 300px; + text-shadow: none; } html.rl-mobile #rl-app #V-AdminPane { From c9c0d0d88865ae94278d48d397f0e3ab98d1e995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 16 Jun 2023 20:01:36 +0000 Subject: [PATCH 143/161] chore: Improve mobile layout of contact popup --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 91be3c638a..f8abf04214 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2060,12 +2060,22 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } #rl-app #V-PopupsContacts .b-view-content { - height: calc(100% - 72px); margin-top: 20px; + height: calc(100% - 72px); + overflow: hidden; } #rl-app #V-PopupsContacts .b-list-content { height: calc(100% - 35px - 72px); + border-bottom: 1px solid var(--nc-color-border); +} + +#rl-app #V-PopupsContacts .tabs { + height: 100%; +} + +#rl-app #V-PopupsContacts .tab-content { + overflow: auto; } #rl-app #V-PopupsContacts .e-contact-item { @@ -2110,6 +2120,40 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { border-color: inherit; } +@media screen and (max-width: 799px) { + .form-horizontal .control-group>label { + text-align: right; + } +} + +@media screen and (max-width: 480px) { + #rl-app #V-PopupsContacts .modal-body { + flex-direction: column; + } + + #rl-app #V-PopupsContacts .left { + max-width: unset; + height: 40%; + } + + #rl-app #V-PopupsContacts .b-list-footer-toolbar { + display: none; + } + + #rl-app #V-PopupsContacts .b-list-content { + height: calc(100% - 55px); + } + + #rl-app #V-PopupsContacts .right { + height: 60%; + border-left: unset; + } + + #rl-app #V-PopupsContacts .control-group { + margin-right: 1em; + } +} + /* #endregion */ /* #region popup compose */ From 7fa19917ffa6d4efc62b29a27b17b9f093fbc483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 16 Jun 2023 20:03:52 +0000 Subject: [PATCH 144/161] fix: Contact popup coloring --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index f8abf04214..94f1ac7bfc 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2070,6 +2070,10 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { border-bottom: 1px solid var(--nc-color-border); } +#rl-app #V-PopupsContacts .b-list-content .listClear { + box-shadow: none; +} + #rl-app #V-PopupsContacts .tabs { height: 100%; } From 26547f48b67bd5b848c1cdcc81185a005a326fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Fri, 16 Jun 2023 20:16:02 +0000 Subject: [PATCH 145/161] fix: Contact popup border --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 94f1ac7bfc..238c974c29 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2067,7 +2067,6 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { #rl-app #V-PopupsContacts .b-list-content { height: calc(100% - 35px - 72px); - border-bottom: 1px solid var(--nc-color-border); } #rl-app #V-PopupsContacts .b-list-content .listClear { @@ -2146,6 +2145,7 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { #rl-app #V-PopupsContacts .b-list-content { height: calc(100% - 55px); + border-bottom: 1px solid var(--nc-color-border); } #rl-app #V-PopupsContacts .right { From 5cd879484acb860b804078117997faf018fc673a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Jun 2023 16:19:52 +0000 Subject: [PATCH 146/161] fix: Emailaddresses input width on mobile --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 238c974c29..127ae78a3d 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -785,6 +785,13 @@ input[type="checkbox"] { color: var(--nc-color-main-text); } +@media screen and (max-width: 480px) { + #rl-app .emailaddresses input[type="text"] { + width: unset !important; + min-width: unset; + } +} + /* #endregion */ /* #region textarea */ From d197636eda45feec57c067649398d84f509d12ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Jun 2023 18:29:57 +0000 Subject: [PATCH 147/161] fix: Mobile dropdown positioning --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 127ae78a3d..b376da6992 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -888,11 +888,11 @@ input[type="checkbox"] { border-bottom-right-radius: inherit; } -.rl-left-panel-disabled #rl-app .dropdown-menu { +.rl-left-panel-disabled #rl-app .dropdown-menu:not(.right-edge) { position: fixed; top: auto; - left: auto; - right: 5px; + left: 5px; + right: auto; } /* #endregion */ From 92098cb60f5a943efe9b1b1d739e37c619e7d6de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Jun 2023 18:51:33 +0000 Subject: [PATCH 148/161] chore: Improve highlight folder row keyframe --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index b376da6992..edb7bb3cb8 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2408,4 +2408,26 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { color: var(--msgflag-\\flagged-color); } +/* #endregion */ + +/* + * Keyframes + */ + +/* #region keyframes */ + +@keyframes highlight-folder-row { + 0% { + transform: scale(1) + } + + 50% { + transform: scale(.95) + } + + 100% { + transform: scale(1) + } +} + /* #endregion */ \ No newline at end of file From 72ba59e95b27a9c47c4b07fbfd4b711a625c4596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Jun 2023 18:56:24 +0000 Subject: [PATCH 149/161] refactor: Cleanup --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index edb7bb3cb8..744a0a50d2 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1082,6 +1082,26 @@ html.rl-mobile.rl-left-panel-disabled #rl-app #rl-left { margin: unset; } +#rl-app .control-group { + margin-bottom: 0.5em; +} + +#rl-app .form-horizontal .control-group { + display: flex; + align-items: center; + margin-left: 0; +} + +#rl-app .form-horizontal .control-group { + margin-bottom: 1em; +} + +@media screen and (max-width: 799px) { + #rl-app .form-horizontal .control-group>label { + text-align: right; + } +} + /* #endregion */ /* #region login & loading */ @@ -1848,20 +1868,6 @@ html.sm-msgView-bottom #rl-app .messageView { border-color: var(--nc-color-border); } -#rl-app .form-horizontal .control-group { - display: flex; - align-items: center; - margin-left: 0; -} - -#rl-app .form-horizontal .control-group { - margin-bottom: 1em; -} - -#rl-app .control-group { - margin-bottom: 0.5em; -} - #rl-app #V-Settings-Themes figure, #rl-app #V-Settings-Themes img { border-radius: var(--nc-border-radius-large); @@ -2131,12 +2137,6 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } @media screen and (max-width: 799px) { - .form-horizontal .control-group>label { - text-align: right; - } -} - -@media screen and (max-width: 480px) { #rl-app #V-PopupsContacts .modal-body { flex-direction: column; } From 534a87b254efd2ff05f9e57ab391435380b59c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 17 Jun 2023 19:38:19 +0000 Subject: [PATCH 150/161] chore: Add tablet layout (wip) --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 744a0a50d2..978bf2e7f3 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2430,4 +2430,64 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } } +/* #endregion */ + +/* + * TODO: Tablet Layout + */ + +/* #region (todo) tablet layout */ + +@media screen and (min-width: 800px) and (max-width: 1024px) { + html.sm-msgView-side #rl-app #rl-right { + flex-direction: column; + } + + html.sm-msgView-side #rl-app #V-MailMessageList { + height: unset; + width: unset; + } + + html.sm-msgView-side #rl-app #V-MailMessageList .resizer { + /* ? vertical resize not working in side view */ + display: none; + } + + html.sm-msgView-side #rl-app #V-MailMessageList .messageList { + height: 35vh; + max-height: 50vh; + min-height: 200px; + width: unset !important; + max-width: unset; + overflow: auto; + resize: vertical; + } + + html.sm-msgView-side #rl-app #V-MailMessageView .top-toolbar { + display: none; + } + + html.sm-msgView-side #rl-app .messageView { + height: 100%; + } + + #rl-app #rl-left { + width: 250px; + } + + html:not(.rl-left-panel-disabled) #rl-left { + max-width: calc(var(--nc-sidebar-max-width) / 2); + } + + #rl-app #V-SystemDropDown .accountPlace { + display: none; + } +} + +@media screen and (min-width: 1024px) { + html.sm-msgView-side #rl-app #V-MailMessageList .messageList { + height: calc(100% - 60px) !important; + } +} + /* #endregion */ \ No newline at end of file From 71c99dad5ab16610391556a0d764960c4800d310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Jun 2023 19:56:03 +0000 Subject: [PATCH 151/161] chore: Rework emailaddresses select --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 90 ++++++++++++++----- 1 file changed, 69 insertions(+), 21 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 978bf2e7f3..52a7ed0bf1 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -9,6 +9,18 @@ * based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss */ /* #region theme */ + +:root { + --nc-vs-selected-bg: var(--vs-selected-bg, var(--nc-color-background-dark)); + --nc-vs-selected-color: var(--vs-selected-color, var(--nc-color-main-text)); + --nc-vs-border-radius: var(--vs-border-radius, var(--nc-border-radius-large)); + --nc-vs-controls-color: var(--vs-controls-color, var(--nc-color-text-maxcontrast)); + --nc-vs-line-height: var(--vs-line-height, var(--nc-default-line-height)); + --nc-vs-search-input-bg: var(--vs-search-input-bg, var(--nc-color-main-background)); + --nc-vs-search-input-color: var(--vs-search-input-color, var(--nc-color-main-text)); + --nc-vs-font-size: var(--vs-font-size, var(--nc-default-font-size)); +} + :not([data-themes~="dark"]) { --nc-color-main-background: var(--color-main-background, #ffffff); --nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255); @@ -22,6 +34,7 @@ --nc-color-main-text: var(--color-main-text, #222222); --nc-color-text-light: var(--color-text-light, #222222); --nc-color-text-lighter: var(--color-text-lighter, #767676); + --nc-color-text-maxcontrast: var(--color-text-maxcontrast, #767676); --nc-color-scrollbar: var(--color-scrollbar, rgba(34, 34, 34, .15)); --nc-color-error: var(--color-error, #e9322d); --nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45); @@ -38,8 +51,10 @@ --nc-color-box-shadow: var(--color-box-shadow, rgba(var(--nc-color-box-shadow-rgb), 0.5)); --nc-color-border: var(--color-border, #ededed); --nc-color-border-dark: var(--color-border-dark, #dbdbdb); + --nc-color-border-maxcontrast: var(--color-border-maxcontrast, #949494); --nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'); --nc-default-font-size: var(--default-font-size, 15px); + --nc-default-line-height: var(--default-line-height, 24px); --nc-animation-quick: var(--animation-quick, 100ms); --nc-animation-slow: var(--animation-slow, 300ms); --nc-border-radius: var(--border-radius, 3px); @@ -83,6 +98,7 @@ --nc-color-main-text: var(--color-main-text, #D8D8D8); --nc-color-text-light: var(--color-text-light, #bfbfbf); --nc-color-text-lighter: var(--color-text-lighter, #a5a5a5); + --nc-color-text-maxcontrast: var(--color-text-maxcontrast, #8c8c8c); --nc-color-scrollbar: var(--color-scrollbar, #3d3d3d); --nc-color-error: var(--color-error, #e9322d); --nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45); @@ -99,8 +115,10 @@ --nc-color-box-shadow: var(--color-box-shadow, #000000); --nc-color-border: var(--color-border, #292929); --nc-color-border-dark: var(--color-border-dark, #3b3b3b); + --nc-color-border-maxcontrast: var(--color-border-maxcontrast, #646464); --nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'); --nc-default-font-size: var(--default-font-size, 15px); + --nc-default-line-height: var(--default-line-height, 24px); --nc-animation-quick: var(--animation-quick, 100ms); --nc-animation-slow: var(--animation-slow, 300ms); --nc-border-radius: var(--border-radius, 3px); @@ -752,43 +770,73 @@ input[type="checkbox"] { /* #region select email address */ #rl-app .emailaddresses { - padding: 8px 12px; - height: 44px; - line-height: 24px; - display: inline-flex; - align-items: center; + display: flex; flex-wrap: wrap; - gap: 5px; - /* max-height: padding*2 [top & bottom] + gap*(lines + 1) + li-height*lines [= li-height + li-padding*2 + li-border*2 ] */ - max-height: calc(8px*2 + 5px*3 + 26px*2); - height: auto; + align-items: center; + padding: 0 0 4px; width: 100%; + height: auto; + min-height: 44px; + max-height: calc(44px*2); + line-height: var(--nc-vs-line-height); + background-color: var(--nc-vs-search-input-bg); + white-space: normal; } #rl-app .emailaddresses.emailaddresses-focused { border: 2px solid var(--nc-color-primary-element); } +#rl-app .emailaddresses li { + margin: 4px 2px 0; +} + +#rl-app .emailaddresses li.emailaddresses-input>input[type="text"], +#rl-app .emailaddresses li.emailaddresses-input>input[type="text"]:focus, +#rl-app .emailaddresses li.emailaddresses-input>input[type="text"]:hover { + padding: 0 7px; + height: 36px; + max-width: 390px; + color: var(--nc-vs-search-input-color); + font-size: var(--nc-vs-font-size); + line-height: var(--nc-vs-line-height); +} + #rl-app .emailaddresses li[draggable] { - line-height: 20px; - padding: 2px 5px; - color: var(--nc-color-main-text); - border: 1px solid var(--nc-color-border-dark); - border-radius: var(--nc-border-radius); - margin: 0; + display: flex; + align-items: center; + padding: 0 0.5em; + min-height: 36px; + line-height: var(--nc-vs-line-height); + color: var(--nc-vs-selected-color); + border: 0; + border-radius: var(--nc-vs-border-radius); + background-color: var(--nc-vs-selected-bg); box-shadow: none; - background-color: unset; } -#rl-app .emailaddresses li a { +#rl-app .emailaddresses li[draggable]>span { + max-width: calc(100vw - 140px); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#rl-app .emailaddresses li[draggable]>a.ficon { position: unset; - color: var(--nc-color-main-text); + color: transparent; + text-shadow: 0 0 0 var(--nc-vs-controls-color); + background: none; + border: 0; + cursor: pointer; + display: inline-flex; + margin-left: 4px; + padding: 0; } @media screen and (max-width: 480px) { - #rl-app .emailaddresses input[type="text"] { - width: unset !important; - min-width: unset; + #rl-app .emailaddresses li.emailaddresses-input>input[type="text"] { + max-width: calc(100vw - 116px) !important; } } From 0d20305a27f80288e0e699d0a317aaad12489ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sun, 18 Jun 2023 19:59:33 +0000 Subject: [PATCH 152/161] chore: Update input & select styles from upstream nextcloud --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 52a7ed0bf1..8f80293a81 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -622,7 +622,7 @@ color: var(--nc-color-main-text); background-color: unset; height: 36px; - border: 2px solid var(--nc-color-border-dark); + border: 2px solid var(--nc-color-border-maxcontrast); border-radius: var(--nc-border-radius-large); line-height: 32px; outline: none; From 7c2e456ab08c6f68e0b19a607170df3bccda095b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 1 Jul 2023 13:47:14 +0000 Subject: [PATCH 153/161] revert: Tablet layout parts --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 32 ------------------- 1 file changed, 32 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 8f80293a81..0031014f93 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2487,38 +2487,6 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { /* #region (todo) tablet layout */ @media screen and (min-width: 800px) and (max-width: 1024px) { - html.sm-msgView-side #rl-app #rl-right { - flex-direction: column; - } - - html.sm-msgView-side #rl-app #V-MailMessageList { - height: unset; - width: unset; - } - - html.sm-msgView-side #rl-app #V-MailMessageList .resizer { - /* ? vertical resize not working in side view */ - display: none; - } - - html.sm-msgView-side #rl-app #V-MailMessageList .messageList { - height: 35vh; - max-height: 50vh; - min-height: 200px; - width: unset !important; - max-width: unset; - overflow: auto; - resize: vertical; - } - - html.sm-msgView-side #rl-app #V-MailMessageView .top-toolbar { - display: none; - } - - html.sm-msgView-side #rl-app .messageView { - height: 100%; - } - #rl-app #rl-left { width: 250px; } From 009428c72f2e942924edd19fbed63992f71d4471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 1 Jul 2023 14:19:09 +0000 Subject: [PATCH 154/161] fix: Side panel footer buttons in RTL layout --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 0031014f93..bae01327c7 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1401,13 +1401,17 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { } #rl-app .b-footer.btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])), +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) { border-radius: var(--nc-border-radius-pill) !important; } /* fallback */ #rl-app .b-footer.btn-toolbar .btn-group .btn, -#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic { +#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic, +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn, +[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic { border-radius: var(--nc-border-radius-pill) !important; } @@ -1470,7 +1474,8 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { } html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:after, -html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { +html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after, +html.rl-left-panel-disabled[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:before { content: ''; } From 87215506feb6b55ec15499057de356ea4749dabc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 1 Jul 2023 14:53:40 +0000 Subject: [PATCH 155/161] refactor: Cleanup --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index bae01327c7..127ce85848 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2463,33 +2463,13 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { /* #endregion */ -/* - * Keyframes - */ - -/* #region keyframes */ - -@keyframes highlight-folder-row { - 0% { - transform: scale(1) - } - - 50% { - transform: scale(.95) - } - - 100% { - transform: scale(1) - } -} - /* #endregion */ /* - * TODO: Tablet Layout + * Tablet Layout */ -/* #region (todo) tablet layout */ +/* #region tablet layout */ @media screen and (min-width: 800px) and (max-width: 1024px) { #rl-app #rl-left { @@ -2511,4 +2491,24 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } } -/* #endregion */ \ No newline at end of file +/* #endregion */ + +/* + * Keyframes + */ + +/* #region keyframes */ + +@keyframes highlight-folder-row { + 0% { + transform: scale(1) + } + + 50% { + transform: scale(.95) + } + + 100% { + transform: scale(1) + } +} \ No newline at end of file From a2814e19c3d21d6689e20b4d23d1af43e63e3825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=20Hamp=C3=B6lz?= <rene_git@hampoelz.net> Date: Sat, 1 Jul 2023 15:37:59 +0000 Subject: [PATCH 156/161] chore: Add fallback variables --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 127ce85848..df6c79a11d 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -11,6 +11,9 @@ /* #region theme */ :root { + --border-color: var(--nc-color-border); + --dialog-border-clr: var(--nc-color-border); + --nc-vs-selected-bg: var(--vs-selected-bg, var(--nc-color-background-dark)); --nc-vs-selected-color: var(--vs-selected-color, var(--nc-color-main-text)); --nc-vs-border-radius: var(--vs-border-radius, var(--nc-border-radius-large)); @@ -259,6 +262,10 @@ /* #region horizontal rule */ +:root { + --hr-color: var(--nc-color-border-dark); +} + #rl-app hr { border-color: var(--nc-color-border-dark); } From af37b2b2027815fb81d6e382420edcc3c4da4e9a Mon Sep 17 00:00:00 2001 From: hampoelz <rene_git@hampoelz.net> Date: Thu, 27 Jul 2023 08:49:58 +0000 Subject: [PATCH 157/161] fix: Text overflow in sidebar menu items --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index df6c79a11d..f5d144007b 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1466,6 +1466,9 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, [dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { content: 'SnappyMail-Settings'; + width: inherit; + overflow: hidden; + text-overflow: ellipsis; } [dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after { @@ -1478,6 +1481,9 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after { content: 'Create new folder'; + width: inherit; + overflow: hidden; + text-overflow: ellipsis; } html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:after, From a667b4631657cd055e518b61a0d3ef0c6c25c1b0 Mon Sep 17 00:00:00 2001 From: hampoelz <rene_git@hampoelz.net> Date: Thu, 27 Jul 2023 08:51:10 +0000 Subject: [PATCH 158/161] chore: Rename sidebar menu item --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index f5d144007b..b56e932595 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -1465,7 +1465,7 @@ html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable { #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after, [dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before { - content: 'SnappyMail-Settings'; + content: 'Folder-Settings'; width: inherit; overflow: hidden; text-overflow: ellipsis; From 0e0d8c89624ea81d217eda16e01197d11a415f91 Mon Sep 17 00:00:00 2001 From: hampoelz <rene_git@hampoelz.net> Date: Thu, 27 Jul 2023 08:59:26 +0000 Subject: [PATCH 159/161] fix: Message flags default color in dropdown --- snappymail/v/0.0.0/themes/NextcloudV25+/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index b56e932595..2023386aa8 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2465,7 +2465,7 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { #rl-app .btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5), #rl-app .btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) { - border-left: solid 5px transparent; + border-left: solid 5px gray; } #rl-app .b-folders .is-flagged .flag-icon::after, From bbd100c544e0f5a0f26b4f3cefba42e76fc8ec48 Mon Sep 17 00:00:00 2001 From: hampoelz <rene_git@hampoelz.net> Date: Fri, 4 Aug 2023 11:40:42 +0000 Subject: [PATCH 160/161] chore: Add slight contrast to message list toolbar --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index 2023386aa8..d4471ab985 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -954,6 +954,10 @@ input[type="checkbox"] { /* #region dropdown account */ +#rl-app #V-SystemDropDown { + margin: 2px 5px 0 5px; +} + #rl-app #V-SystemDropDown .btn-toolbar { border: solid 1px var(--nc-color-border-dark); border-radius: var(--nc-border-radius-large); @@ -1502,7 +1506,7 @@ html.rl-left-panel-disabled[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-t #rl-app .messageList, #rl-app .messageView { - height: calc(100% - 60px); + height: calc(100% - 65px); margin: 0 5px; border: none; box-shadow: none !important; @@ -1512,6 +1516,7 @@ html.rl-left-panel-disabled[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-t #rl-app #V-MailMessageList .btn-toolbar, #rl-app #V-MailMessageView .btn-toolbar { padding: 10px; + margin-top: 5px; } /* fallback */ @@ -1529,15 +1534,22 @@ html.rl-left-panel-disabled[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-t } #rl-app #V-MailMessageList .btn-toolbar { + background: var(--nc-color-primary-light); + border-radius: var(--nc-border-radius-large); + margin: 5px 5px 0 5px; text-align: center; } +#rl-app #V-MailMessageList .btn-toolbar .btn:not(.btn-success) { + background: var(--nc-color-main-background); +} + html.rl-mobile #rl-app #V-MailMessageList .btn-toolbar { text-align: start; } #rl-app #V-MailMessageList .messageList { - min-width: 360px; + min-width: 370px; } html.sm-msgView-bottom #rl-app .messageList { @@ -2498,12 +2510,6 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { } } -@media screen and (min-width: 1024px) { - html.sm-msgView-side #rl-app #V-MailMessageList .messageList { - height: calc(100% - 60px) !important; - } -} - /* #endregion */ /* From 7fc268e5187ae599e6256a5952dfd8e9fbc39fbf Mon Sep 17 00:00:00 2001 From: hampoelz <rene_git@hampoelz.net> Date: Sun, 13 Aug 2023 10:20:15 +0000 Subject: [PATCH 161/161] fix: avatar size and alignment --- .../v/0.0.0/themes/NextcloudV25+/styles.css | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css index d4471ab985..808925808e 100644 --- a/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css +++ b/snappymail/v/0.0.0/themes/NextcloudV25+/styles.css @@ -2411,6 +2411,24 @@ html.rl-mobile #rl-app #V-AdminPane>.b-toolbar { /* #endregion */ +/* + * Extensions + */ + +/* #region extensions */ + +/* #region avatars */ + +#rl-app .messageCheckbox .fromPic { + margin: -5px 0 -9px 8px; + height: 32px; + width: 32px; +} + +/* #endregion */ + +/* #endregion */ + /* * Message Flags */