Drop bootstrap .well and .pull-left

Reduce bootstrap .pull-right usage
This commit is contained in:
djmaze 2021-11-09 00:53:42 +01:00
parent d64cfb96ad
commit 99c72ad9e6
29 changed files with 348 additions and 391 deletions

View file

@ -15,7 +15,6 @@
@import "../../vendors/bootstrap/less/button-groups.less";
@import "../../vendors/bootstrap/less/alerts.less";
@import "../../vendors/bootstrap/less/utilities.less";
@import "../../vendors/bootstrap/less/wells.less";
@import "_FontasticToBoot.less";
@import "_BootstrapFix.less";

View file

@ -10,33 +10,32 @@
opacity: 0.5;
}
}
.b-admin-packages-list-table {
table {
width: 700px;
.package-img {
font-size: 12px;
margin-right: 2px;
div:first-child {
display: flex;
}
}
.package-name {
flex-grow: 1;
}
.package-name.core {
font-weight: bold;
}
.package-desc {
color: #999;
font-size: 12px;
opacity: 0.7;
}
.package-release, .package-actions {
td + td {
text-align: center;
}
.package-actions {
vertical-align: middle;
}
.package-configure, .package-active {
a {
cursor: pointer;
margin-right: 1em;
}

View file

@ -16,8 +16,6 @@
transition: left 0.3s ease-out, right 0.3s ease-out;
}
@media screen and (min-width: 1000px) {
html.rl-started-trigger .LoginView {
/*transform: scale(1.1);*/
transform: translateY(-20px);
@ -36,9 +34,3 @@
.LoginView {
transition: all 0.3s ease-out;
}
.button-delete-transitions {
transition: all 0.2s linear;
}
}

View file

@ -76,6 +76,7 @@ textarea + .settings-save-trigger {
}
.button-confirm-delete {
transition: all 0.2s linear;
white-space: nowrap;
}
.button-confirm-delete:not(.delete-access) {

View file

@ -12,10 +12,6 @@
@media screen and (min-width: 1000px) {
.button-delete-transitions {
transition: all 0.2s linear;
}
.b-folders li .anim-action-class {
animation: highlight-folder-row 0.5s linear;
}

View file

@ -31,6 +31,7 @@ html.rl-no-preview-pane {
flex-direction: column;
.b-footer {
display: flex;
flex-shrink: 0;
padding: 7px;
@ -51,6 +52,11 @@ html.rl-no-preview-pane {
}
}
.b-footer nav {
flex-grow: 1;
text-align: right;
}
.btn.buttonMoreSearch {
font-size: 11px;
padding-left: 8px;
@ -58,6 +64,7 @@ html.rl-no-preview-pane {
}
.second-toolbar {
display: flex;
flex-shrink: 0;
padding: 10px 8px 10px 11px;
white-space: nowrap;
@ -68,26 +75,35 @@ html.rl-no-preview-pane {
border-top-right-radius: @rlMainBorderRadius;
border-top-left-radius: @rlMainBorderRadius;
border-bottom: 1px solid #bbb;
}
.checkboxCheckAll {
cursor: pointer;
vertical-align: middle
margin: 0.5em 0.5em 0 0;
}
.input-append {
margin-left: 14px;
.search-input-wrp {
flex-grow: 1;
position: relative;
text-align: right;
width: calc(100% - 30px);
.close-input-wrp {
width: 90%;
min-width: 200px;
max-width: 300px;
}
.inputSearch {
display: inline-block;
max-width: 300px;
width: 100%;
}
.closeSearch {
position: absolute;
right: 0;
top: 5px;
margin: 0 7px;
z-index: 100;
vertical-align: middle;
opacity: .4;
&:hover {
opacity: .6;
}
}

View file

@ -80,10 +80,6 @@
border-radius: @rlMainBorderRadius;
}
html.rl-mobile #rl-settings-subscreen > * {
margin-right: 15px;
}
.firefox-drag #rl-settings-subscreen,
.firefox-drag .modal-body {
overflow: hidden;

View file

@ -26,10 +26,10 @@
}
td + td {
width: 150px;
text-align: right;
}
td + td + td {
width: 1%;
width: 1em;
}
.delete {

View file

@ -10,6 +10,7 @@
}
td + td {
white-space: nowrap;
width: 1em;
}

View file

@ -93,7 +93,7 @@
blockquote {
border: 0;
border-left: solid 2px #444;
border-left: 2px solid #444;
margin: 5px 0 5px 5px;
padding-left: 5px;
}

View file

@ -59,25 +59,3 @@ label.inline, span.inline {
}
}
}
.close-input-wrp {
display: inline-block;
position: relative;
input {
padding-right: 15px;
}
.close {
position: absolute;
right: 0;
top: 5px;
margin: 0 7px;
z-index: 100;
vertical-align: middle;
opacity: .4;
&:hover {
opacity: .6;
}
}
}

View file

@ -1,5 +1,4 @@
<div class="b-settings-two-factor">
<div class="form-horizontal">
<div class="b-settings-two-factor form-horizontal">
<div class="legend" data-i18n="POPUPS_TWO_FACTOR_CFG/LEGEND_TWO_FACTOR_AUTH"></div>
<div class="form-horizontal">
<div class="control-group" data-bind="visible: twoFactorStatus">
@ -72,7 +71,7 @@
</div>
</div>
<a class="btn pull-left" data-bind="visible: lock, click: logout">
<a class="btn" data-bind="visible: lock, click: logout">
<i class="fontastic"></i>
<span data-i18n="GLOBAL/LOGOUT"></span>
</a>
@ -91,4 +90,3 @@
</a>
-->
</div>
</div>

View file

@ -294,7 +294,7 @@ trait UserAuth
$this->ClearSignMeData($oAccount);
$uuid = \SnappyMail\UUID::generate();
$salt = \sha1(\microtime(true));
$salt = \sha1(\random_bytes(16));
Utils::SetCookie(self::AUTH_SIGN_ME_TOKEN_KEY,
Utils::EncodeKeyValuesQ(array(
'e' => $oAccount->Email(),

View file

@ -30,7 +30,7 @@
<span class="domain-alias" data-bind="if: alias">(alias)</span>
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oDomain) { $root.deleteDomain(oDomain); }"
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oDomain) { $root.deleteDomain(oDomain); }"
data-i18n="TAB_DOMAINS/DELETE_ARE_YOU_SURE"></a>
</td>
<td>

View file

@ -101,7 +101,7 @@
<span data-bind="saveTrigger: attachmentLimitTrigger"></span>
<br />
<br />
<span class="well" data-bind="visible: '' !== uploadDataDesc">
<span class="alert alert-info" data-bind="visible: '' !== uploadDataDesc">
<b>PHP:</b>
&nbsp;
<span data-bind="text: uploadDataDesc"></span>

View file

@ -8,7 +8,7 @@
<!-- ko text: packages.error() --><!-- /ko -->
</div>
<div class="alert" style="margin-top: 10px;" data-bind="visible: '' !== packagesError()">
<div class="alert" style="margin-top: 10px;" data-bind="visible: packagesError()">
<button type="button" class="close" data-bind="click: function () { packagesError('') }">×</button>
<span data-bind="text: packagesError"></span>
</div>
@ -20,7 +20,7 @@
<br />
<div data-bind="visible: 0 < packagesAvailableForUpdate().length">
<div data-bind="visible: packagesAvailableForUpdate().length">
<div class="legend">
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>&nbsp;
(<span data-bind="text: packagesAvailableForUpdate().length"></span>)
@ -29,13 +29,13 @@
<br />
</div>
<div id="packages-installed" data-bind="visible: 0 < packagesCurrent().length, css: {'disabled': !enabledPlugins()}">
<div id="packages-installed" data-bind="visible: packagesCurrent().length, css: {'disabled': !enabledPlugins()}">
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_INSTALLED_PACKAGES"></div>
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesCurrent} }"></div>
<br />
</div>
<div data-bind="visible: 0 < packagesAvailableForInstallation().length">
<div data-bind="visible: packagesAvailableForInstallation().length">
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_INSTALLATION"></div>
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesAvailableForInstallation} }"></div>
<br />

View file

@ -1,4 +1,4 @@
<table class="table table-hover table-bordered b-admin-packages-list-table" data-bind="i18nUpdate: f">
<table class="table table-hover table-bordered" data-bind="i18nUpdate: f">
<colgroup>
<col />
<col style="width: 100px" />
@ -7,17 +7,19 @@
<tbody data-bind="foreach: f">
<tr data-bind="css: {'disabled': !enabled() }">
<td>
<div>
<span class="package-name" data-bind="text: name"></span>
<span class="package-installed pull-right" data-bind="text: installed"></span>
<span class="package-active pull-right fontastic" data-bind="visible: installed, text: enabled() ? '☑' : '☐'"></span>
<span class="package-configure pull-right fontastic" data-bind="visible: installed"></span>
<a class="package-configure fontastic" data-bind="visible: installed"></a>
<a class="package-active fontastic" data-bind="visible: installed, text: enabled() ? '☑' : '☐'"></a>
<span class="package-installed" data-bind="text: installed"></span>
</div>
<div class="package-desc" data-bind="text: desc"></div>
</td>
<td class="package-version" data-bind="text: version"></td>
<td class="package-actions">
<i class="icon-download e-action button-download" data-bind="visible: !loading() && canBeUpdated, click: function () { $root.installPackage($data); }"></i>
<td data-bind="text: version"></td>
<td>
<a class="icon-download button-download" data-bind="visible: !loading() && canBeUpdated, click: function () { $root.installPackage($data); }"></a>
&nbsp;
<i class="fontastic e-action button-delete" data-bind="visible: !loading() && canBeDeleted, click: function () { $root.deletePackage($data); }">🗑</i>
<a class="fontastic button-delete" data-bind="visible: !loading() && canBeDeleted, click: function () { $root.deletePackage($data); }">🗑</a>
<i class="icon-spinner" data-bind="visible: loading"></i>
</td>
</tr>

View file

@ -1,4 +1,3 @@
<div data-bind="css: {'domain-edit': edit}">
<header>
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
<h3 data-bind="text: headerText"></h3>
@ -187,7 +186,7 @@
</form>
</div>
<footer>
<a class="btn button-test-connection pull-left" data-bind="command: testConnectionCommand, css: {
<a class="btn button-test-connection" data-bind="command: testConnectionCommand, css: {
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}"></i>
@ -206,4 +205,3 @@
<span data-i18n="POPUPS_DOMAIN/BUTTON_ADD"></span>
</a>
</footer>
</div>

View file

@ -9,7 +9,7 @@
</header>
<div class="modal-body">
<form class="form-horizontal plugin-form" action="#/" onsubmit="return false;">
<div class="well" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
<div class="alert alert-info" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
<div class="alert" data-bind="visible: '' !== saveError()">
<button type="button" class="close" data-bind="click: function () { saveError('') }">×</button>
<span data-bind="text: saveError"></span>

View file

@ -153,19 +153,17 @@
<div class="messageList g-ui-user-select-none" data-bind="css: {'hideMessageListCheckbox': !useCheckboxesInList() }">
<div class="second-toolbar thm-message-list-top-toolbar">
<div class="form-inline">
<i class="checkboxCheckAll fontastic" data-bind="text: checkAll() ? (isIncompleteChecked() ? '▣' : '☑') : '☐'"></i>
<div class="input-append" data-bind="visible: allowSearch">
<div class="close-input-wrp">
<a class="close" data-bind="click: cancelSearch, visible: '' !== messageListSearchDesc()">×</a>
<input type="search" class="span4 inputSearch" tabindex="-1" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
<!-- ko if: allowSearch -->
<div class="search-input-wrp">
<input type="search" class="inputSearch" tabindex="-1" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
<a class="closeSearch" data-bind="click: cancelSearch, visible: messageListSearchDesc()">×</a>
</div>
<a class="btn buttonMoreSearch" data-bind="visible: allowSearchAdv, click: advancedSearchClick"></a>
</div>
</div>
<!-- /ko -->
</div>
<div class="b-content" data-bind="initDom: dragOverBodyArea">
<div class="listThreadUidDesc" data-bind="visible: 0 < messageListEndThreadUid(), click: cancelThreadUid">
<div class="listThreadUidDesc" data-bind="visible: messageListEndThreadUid(), click: cancelThreadUid">
<i class="fontastic"></i>
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
</div>
@ -224,13 +222,11 @@
<div id="messagesDragImage"><span class="text"></span>&nbsp;<i class="icon-mail"></i></div>
</div>
<div class="b-footer thm-message-list-bottom-toolbar">
<!-- ko if: 0 < userUsageProc() -->
<!-- ko if: userUsageProc() -->
<span data-bind="attr: { title: quotaTooltip() }" class="e-quota">
<!-- ko text: userUsageProc --><!-- /ko -->%
</span>
<!-- /ko -->
<div class="pull-right">
<!-- ko template: { name: 'Paginator', data: messageListPaginator } --><!-- /ko -->
</div>
</div>
</div>

View file

@ -11,7 +11,7 @@
<a class="close" data-bind="click: tryToClosePopup" data-i18n="[title]GLOBAL/CANCEL">×</a>
<a class="minimize-custom" data-bind="click: skipCommand" data-i18n="[title]COMPOSE/BUTTON_MINIMIZE"></a>
<a class="btn btn-danger button-delete button-delete-transitions" data-bind="command: deleteCommand">
<a class="btn btn-danger button-delete" data-bind="command: deleteCommand">
<i class="fontastic">🗑</i>
</a>
<span class="saved-text hide-mobile" data-bind="text: savedTimeText"></span>
@ -124,8 +124,8 @@
</tr>
<tr>
<td></td>
<td>
<div class="btn-group pull-left">
<td style="display:flex">
<div class="btn-group" style="flex-grow:1">
<button type="button" class="btn" data-bind="click: function () { attachmentsPlace(false); },
css: { 'active': !attachmentsPlace() }">
<i class="icon-file-text"></i>
@ -140,7 +140,7 @@
<i data-bind="css: { 'icon-attachment': 0 === attachmentsInProcessCount(), 'icon-spinner': 0 < attachmentsInProcessCount()}"></i>
</button>
</div>
<div class="btn-group pull-right">
<div class="btn-group">
<a class="btn"
style="padding-left: 10px; padding-right: 10px;"
data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton" data-i18n="[title]COMPOSE/ATTACH_FILES">

View file

@ -45,7 +45,7 @@
<col style="width: 16px" />
<col />
<col style="width: 140px" />
<col style="width: 1%" />
<col style="width: 1em" />
</colgroup>
<tbody data-bind="foreach: filters">
<tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }">
@ -57,7 +57,7 @@
<span class="filter-sub-name" data-bind="text: nameSub()"></span>
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>

View file

@ -16,7 +16,7 @@
<span class="account-name" data-bind="text: email"></span>
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oAccount) { $root.deleteAccount(oAccount); }"
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oAccount) { $root.deleteAccount(oAccount); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>
@ -42,7 +42,7 @@
<span class="identity-default" data-bind="visible: 0 === $index()" data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }"
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>

View file

@ -15,7 +15,7 @@
<col style="width: 30px" />
<col />
<col style="width: 140px" />
<col style="width: 1%" />
<col style="width: 1em" />
</colgroup>
<tbody data-bind="foreach: scripts">
<tr class="script-item">
@ -24,7 +24,7 @@
</td>
<td class="e-action" class="script-name" data-bind="text: name()"></td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oScript) { $root.deleteScript(oScript); }"
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oScript) { $root.deleteScript(oScript); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>

View file

@ -6,10 +6,10 @@
data-bind="value: nameForEdit, visible: edited, hasfocus: edited, onEnter: function () { $root.folderEditOnEnter($data); }, onEsc: function () { $root.folderEditOnEsc($data); }" />
&nbsp;
<span class="folder-system-name" data-bind="text: manageFolderSystemName, visible: isSystemFolder"></span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: $root.deleteFolder"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER">
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: $root.deleteFolder"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
<span class="delete-folder e-action fontastic" data-bind="visible: canBeDeleted() && !deleteAccess(), click: $root.folderForDeletion">🗑</span>
</td>
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER">

View file

@ -30,7 +30,7 @@
<span class="open-pgp-key-user" data-bind="foreach: users">
<div class="open-pgp-key-user-address" data-bind="text: $data"></div>
</span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(openPgpKey) { $root.deleteOpenPgpKey(openPgpKey); }"
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(openPgpKey) { $root.deleteOpenPgpKey(openPgpKey); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>
@ -47,7 +47,7 @@
<span data-bind="text: $data"></span> (<span class="open-pgp-key-id" data-bind="text: $parent.id"></span>)
</div>
</span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }"
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }"
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
</td>
<td>

View file

@ -71,11 +71,11 @@
border-top-color: var(--main-color);
}
.well,
#rl-popups > dialog,
#rl-settings-subscreen,
.messageList,
.messageView,
.alert-info,
#V-PopupsCompose .b-attachment-place {
background-color: #000;
border-color: #555;

View file

@ -7,9 +7,6 @@
.pull-right {
float: right;
}
.pull-left {
float: left;
}
// Toggling content
.show {

View file

@ -1,12 +0,0 @@
//
// Wells
// --------------------------------------------------
// Base class
.well {
background-color: @wellBackground;
border: 1px solid darken(@wellBackground, 7%);
border-radius: 4px;
padding: 9px;
}