Add files via upload
This commit is contained in:
parent
0329a1b3b4
commit
5b1812a49f
9 changed files with 132 additions and 58 deletions
19
deps/bootstrap.min.css
vendored
19
deps/bootstrap.min.css
vendored
|
@ -347,7 +347,7 @@ pre code{font-size:inherit;color:inherit;word-break:normal}
|
|||
.offset-xl-11{margin-left:91.666667%}
|
||||
}
|
||||
.table{width:100%;margin-bottom:1rem;color:#212529}
|
||||
.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}
|
||||
.table td,.table th{padding:.75rem;vertical-align:top;}
|
||||
.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}
|
||||
.table tbody+tbody{border-top:2px solid #dee2e6}
|
||||
.table-sm td,.table-sm th{padding:.3rem}
|
||||
|
@ -399,20 +399,9 @@ pre code{font-size:inherit;color:inherit;word-break:normal}
|
|||
.table-dark.table-bordered{border:0}
|
||||
.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}
|
||||
.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}
|
||||
@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||||
.table-responsive-sm>.table-bordered{border:0}
|
||||
}
|
||||
@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||||
.table-responsive-md>.table-bordered{border:0}
|
||||
}
|
||||
@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||||
.table-responsive-lg>.table-bordered{border:0}
|
||||
}
|
||||
@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||||
.table-responsive-xl>.table-bordered{border:0}
|
||||
}
|
||||
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||||
.table-responsive>.table-bordered{border:0}
|
||||
|
||||
|
||||
|
||||
.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
|
||||
@media (prefers-reduced-motion:reduce){.form-control{transition:none}
|
||||
}
|
||||
|
|
|
@ -14,8 +14,7 @@
|
|||
"additional_logo_types": ["dark", "small", "small-dark"]
|
||||
},
|
||||
"meta": {
|
||||
"viewport": "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0",
|
||||
"theme-color": "#f4f4f4",
|
||||
"msapplication-navbutton-color": "#f4f4f4"
|
||||
"viewport": "width=device-width, initial-scale=1.0, shrink-to-fit=no, maximum-scale=1.0",
|
||||
"theme-color": "#ffffff"
|
||||
}
|
||||
}
|
||||
|
|
32
styles/styles.min.css
vendored
32
styles/styles.min.css
vendored
|
@ -18,6 +18,15 @@ html.dark-mode {
|
|||
}
|
||||
|
||||
|
||||
|
||||
fieldset:nth-of-type(1) legend {
|
||||
display:none;
|
||||
}
|
||||
|
||||
#pluginlist td{
|
||||
padding:2px 10px
|
||||
}
|
||||
|
||||
.insummary{
|
||||
opacity:.5;
|
||||
padding:5px;
|
||||
|
@ -934,11 +943,18 @@ vertical-align:top;
|
|||
float:initial !important;
|
||||
}
|
||||
|
||||
#mailtoolbar{
|
||||
margin-top:-25px;
|
||||
}
|
||||
|
||||
#mailtoolbar a{
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.header-headers td.date{
|
||||
position:absolute;
|
||||
right:20px;
|
||||
}
|
||||
|
||||
html.layout-normal #mailtoolbar span,
|
||||
html.layout-small #mailtoolbar span{
|
||||
|
@ -3669,6 +3685,7 @@ color: var(--font2);
|
|||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
color: #2c363a;
|
||||
padding: 0 .5rem;
|
||||
}
|
||||
|
||||
|
||||
|
@ -3770,11 +3787,6 @@ html.layout-small td.selection {
|
|||
opacity: 0.4;
|
||||
}
|
||||
|
||||
html:not(.touch) .listing li > a,
|
||||
html:not(.touch) .listing tbody tr > td:first-child,
|
||||
html:not(.touch) .listing:not(.withselection) tbody tr > td.selection + td {
|
||||
}
|
||||
|
||||
html:not(.touch) .listing li > a:focus,
|
||||
html:not(.touch) .listing.focus tbody tr.focused > td:first-child,
|
||||
html:not(.touch) .listing.focus:not(.withselection) tbody tr.focused > td.selection + td {
|
||||
|
@ -3851,9 +3863,10 @@ ul.listing.simplelist li {
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
html.touch .listing tbody td,
|
||||
html.touch .listing:not(.toolbar) li {
|
||||
line-height: 47px;
|
||||
|
||||
html:not(.layout-large) .listing tbody td,
|
||||
html:not(.layout-large) .listing:not(.toolbar) li {
|
||||
line-height: 44px;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
|
@ -6750,7 +6763,8 @@ body.task-error-login #layout #layout-content > .header{
|
|||
#message-header .header-content {
|
||||
min-height: 4rem;
|
||||
flex: 1;
|
||||
max-width: 200px;
|
||||
width: calc(100vw - 230px);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -36,6 +36,22 @@
|
|||
<div id="compose-options" class="formcontent" role="region" aria-labelledby="aria-label-composeoptions">
|
||||
<h2 id="aria-label-composeoptions" class="voice"><roundcube:label name="arialabelcomposeoptions" /></h2>
|
||||
<roundcube:container name="composeoptions" id="compose-options" />
|
||||
|
||||
<div class="form-group row form-check">
|
||||
<label for="fromButton" class="col-form-label col-6"><roundcube:label name="from" /></label>
|
||||
<div class="col-6 form-check">
|
||||
<input name="fromButton" id="fromButton" tabindex="2" class="form-check-input" value="1" type="checkbox" onchange="click_from_button(this)" disabled>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row form-check">
|
||||
<label for="compose-priority2022" class="col-form-label col-6"><span style="color:#f88;font-weight:bold;font-size:16px;">! </span> High Importance</label>
|
||||
<div class="col-6 form-check">
|
||||
<input name="_dsn" id="compose-priority2022" tabindex="2" class="form-check-input" value="1" type="checkbox" onchange="define_priority(this)">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<roundcube:if condition="!in_array('mdn_default', (array)config:dont_override)" />
|
||||
<div class="form-group row form-check">
|
||||
<label for="compose-mdn" class="col-form-label col-6"><roundcube:label name="returnreceipt" /></label>
|
||||
|
@ -52,25 +68,20 @@
|
|||
</div>
|
||||
</div>
|
||||
<roundcube:endif />
|
||||
<div class="form-group row">
|
||||
<div class="form-group row" style="display:none">
|
||||
<label for="compose-priority" class="col-form-label col-6"><roundcube:label name="priority" /></label>
|
||||
<div class="col-6">
|
||||
<roundcube:object name="prioritySelector" id="compose-priority" noform="true" tabindex="2" class="custom-select" />
|
||||
</div>
|
||||
</div>
|
||||
<roundcube:if condition="!config:no_save_sent_messages" />
|
||||
<div class="form-group row">
|
||||
<label for="compose-store-target" class="col-form-label col-6"><roundcube:label name="savesentmessagein" /></label>
|
||||
<div class="col-6">
|
||||
<roundcube:object name="storetarget" id="compose-store-target" noform="true" tabindex="2" class="custom-select" />
|
||||
</div>
|
||||
</div>
|
||||
<roundcube:endif />
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="layout-content" class="listbox selected" role="main">
|
||||
<div id="layout-content" class="listbox selected" role="main" ondrag="log('a')" dragover="log('b')" dragenter="log('c')" drop="log('d')">
|
||||
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
|
||||
<div class="header">
|
||||
|
||||
|
@ -127,6 +138,11 @@
|
|||
<!-- message headers -->
|
||||
<div id="compose-headers" role="region" aria-labelledby="aria-label-composeheaders">
|
||||
<h2 id="aria-label-composeheaders" class="voice"><roundcube:label name="arialabelmessageheaders" /></h2>
|
||||
|
||||
<table style="width:100%"><tr><td class="hide_small" style=" width: 1%;vertical-align:middle">
|
||||
<roundcube:button command="send" class="btn btn-primary send" label="send" tabindex="1" data-content-button="true" style="height: 50px; padding-right: 12px;"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="compose-headers">
|
||||
<div id="compose_from" class="form-group row">
|
||||
<label for="_from" class="col-2 col-form-label"><roundcube:label name="from" /></label>
|
||||
|
@ -216,6 +232,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
<!-- message compose body -->
|
||||
<div id="composebodycontainer">
|
||||
|
@ -226,12 +243,6 @@
|
|||
<roundcube:endif />
|
||||
</div>
|
||||
</form>
|
||||
<div class="formbuttons">
|
||||
<roundcube:button command="send" class="btn btn-primary send" label="send" tabindex="1" data-content-button="true" />
|
||||
<div class="float-right">
|
||||
<roundcube:button command="extwin" type="link" label="openinextwin" data-hidden="small" class="button icon btn btn-link extwin" data-tabindex="1" condition="!env:extwin" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<roundcube:add_label name="choosefiles" />
|
||||
<roundcube:object name="doctype" value="html5" />
|
||||
<roundcube:if condition="!env:framed || env:extwin" />
|
||||
<html>
|
||||
<html class="layout-small">
|
||||
<roundcube:else />
|
||||
<html class="iframe">
|
||||
<roundcube:endif />
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div id="layout-sidebar" class="listbox<roundcube:exp expression="!request:_action ? ' selected' : ''"/>" role="navigation" aria-labelledby="aria-label-settingstabs">
|
||||
<div class="header">
|
||||
|
||||
<a style="width:40px;font-size: 1.75rem;height: 58px;text-decoration:none;text-align:center;" href="./?_task=mail"><i class="sebicon backicon"></i></a>
|
||||
<a style="width:40px;font-size: 1.75rem;height: 58px;text-decoration:none;text-align:center;" href="./?_task=mail"><i class="sebicon backicon" style="font-size:1.75rem"></i></a>
|
||||
<span id="aria-label-settingstabs" class="header-title"><roundcube:label name="settings" /></span>
|
||||
</div>
|
||||
<div class="scroller">
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<h1 class="voice"><roundcube:label name="mail" /></h1>
|
||||
|
||||
<!-- folders list -->
|
||||
<div id="layout-sidebar" class="listbox" role="navigation" aria-labelledby="aria-label-folderlist">
|
||||
<div id="layout-sidebar" class="listbox hidden" role="navigation" aria-labelledby="aria-label-folderlist">
|
||||
|
||||
<span class="header-title username" style="padding: 0 10px;"></span>
|
||||
|
||||
|
@ -135,7 +135,7 @@
|
|||
</div>
|
||||
|
||||
<!-- message preview -->
|
||||
<div id="layout-content">
|
||||
<div id="layout-content" class="hidden">
|
||||
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
|
||||
|
||||
<div class="header_back">
|
||||
|
|
82
ui.min.js
vendored
82
ui.min.js
vendored
|
@ -19,7 +19,6 @@ warn = function() { return Function.prototype.bind.call(console.warn, console
|
|||
error = function() { return Function.prototype.bind.call(console.error, console);}();
|
||||
|
||||
|
||||
|
||||
"use strict";
|
||||
|
||||
function rcube_elastic_ui()
|
||||
|
@ -102,6 +101,8 @@ function rcube_elastic_ui()
|
|||
// Detect screen size/mode
|
||||
screen_mode();
|
||||
|
||||
screen_resize_html() //prevent ugly blinking on phone
|
||||
|
||||
// Initialize layout
|
||||
layout_init();
|
||||
|
||||
|
@ -749,7 +750,24 @@ if(rcmail.env.action=="preview")
|
|||
$('#compose-options').prepend(this)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//From button
|
||||
var fromButton = rcmail.get_cookie('fromButton');
|
||||
|
||||
if(fromButton==null) // if no pref in cookie
|
||||
{
|
||||
fromButton=true;
|
||||
if(_from.options.length==1) //by default, show nothing if there is only 1 address
|
||||
fromButton = "false";
|
||||
}
|
||||
if(fromButton=="false")
|
||||
$('#compose_from').hide();
|
||||
else
|
||||
$('#fromButton').prop( "checked", true );
|
||||
}
|
||||
|
||||
$('#fromButton').prop( "disabled", false );
|
||||
|
||||
// In compose/preview window we do not provide "Back" button, instead
|
||||
// we modify the "Mail" button in the task menu to act like it (i.e. calls 'list' command)
|
||||
|
@ -768,6 +786,7 @@ if(rcmail.env.action=="preview")
|
|||
|
||||
// restore headers view to last state
|
||||
//headers_show();
|
||||
elastic2022_change_mailheader()
|
||||
}
|
||||
}
|
||||
else if (rcmail.task == 'settings') {
|
||||
|
@ -869,14 +888,17 @@ if(rcmail.env.action=="preview")
|
|||
$('.click_change_theme').removeClass('dark').addClass('light').find('span')
|
||||
$('.sebicon_contrast_txt').text(rcmail.gettext('lightmode'));
|
||||
$('html').addClass('dark-mode');
|
||||
$('meta[name="theme-color"]').attr('content', '#1A1C1E')
|
||||
}
|
||||
else {
|
||||
$('#taskmenu a.theme').removeClass('light').addClass('dark').find('span').text(rcmail.gettext('darkmode'));
|
||||
$('.click_change_theme').removeClass('light').addClass('dark').find('span')
|
||||
$('.sebicon_contrast_txt').text(rcmail.gettext('darkmode'));
|
||||
$('html').removeClass('dark-mode');
|
||||
$('meta[name="theme-color"]').attr('content', '#ffffff')
|
||||
}
|
||||
|
||||
|
||||
screen_logo(mode);
|
||||
$('iframe').each(switch_iframe_color_mode);
|
||||
};
|
||||
|
@ -4650,9 +4672,9 @@ function scroll_mailbymail(e)
|
|||
var scrollTop=mlc.scrollTop
|
||||
|
||||
//find first shown tr
|
||||
var trs=messagelist.querySelectorAll('tr')
|
||||
var trs=messagelist.querySelectorAll('tr:not([style*="display:none"])')
|
||||
for(var i=1;i<trs.length;i++)
|
||||
if(scrollTop<=trs[i].offsetTop)
|
||||
if(trs[i].style.display!="none" && scrollTop<=trs[i].offsetTop)
|
||||
break;
|
||||
|
||||
if(trs[i].offsetTop-scrollTop>15 && e.deltaY>0) i--;
|
||||
|
@ -4728,9 +4750,7 @@ if(parent.rcmail.env.archive_folder) // Archive plugin
|
|||
li_prev.parentElement.insertBefore(li,li_prev);
|
||||
|
||||
//small
|
||||
log('show')
|
||||
parent.document.getElementById("header_topmenu_archive").style.display="inline-block"
|
||||
log(parent.document.getElementById("header_topmenu_archive"))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5239,13 +5259,9 @@ function go_PWA()
|
|||
var href = window.location.href
|
||||
var url = href.substring(0, href.lastIndexOf('/')) + "/";
|
||||
|
||||
var theme_color = "#ffffff"
|
||||
if($('HTML')[0].classList.contains('dark-mode'))
|
||||
theme_color = "#000000"
|
||||
|
||||
var myDynamicManifest = {
|
||||
"name": "Rouncube",
|
||||
theme_color: theme_color,
|
||||
"theme_color": $('meta[name="theme-color"]').attr('content'),
|
||||
"start_url": url,
|
||||
"icons": [{
|
||||
"src": url+"/skins/elastic2022/images/rc192x192.png",
|
||||
|
@ -5309,3 +5325,49 @@ function plugin_switchIdent_addCbElastic2022($sw) {
|
|||
return false;
|
||||
}
|
||||
|
||||
function elastic2022_change_mailheader()
|
||||
{
|
||||
var trdate = $('.header-headers .date')[0].closest('tr')
|
||||
|
||||
trdate.querySelector('.header-title').style.visibility="hidden"
|
||||
trdate.parentElement.appendChild(trdate); // move date to last line
|
||||
|
||||
var fromhref = $('.header-headers .from .adr a')[0].href
|
||||
|
||||
var replyto = $('.header-headers .replyto')
|
||||
|
||||
if(replyto.length) // delete replyTo if same as "from"
|
||||
{
|
||||
var replytohref = replyto[0].querySelector('a').href
|
||||
|
||||
if(replytohref==fromhref)
|
||||
{
|
||||
replyto.parent().hide()
|
||||
}
|
||||
}
|
||||
|
||||
var sender = $('.header-headers .sender')
|
||||
|
||||
if(sender.length) // delete sender if same as "from"
|
||||
{
|
||||
var senderhrefhref = replyto[0].querySelector('a').href
|
||||
|
||||
if(senderhrefhref==fromhref)
|
||||
{
|
||||
sender.parent().hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function click_from_button(e)
|
||||
{
|
||||
if(e.disabled) return;
|
||||
|
||||
var ischecked = e.checked
|
||||
|
||||
rcmail.set_cookie('fromButton', ischecked, false);
|
||||
|
||||
if(ischecked) $('#compose_from').show();
|
||||
else $('#compose_from').hide();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue