2014-09-29 12:43:32 -07:00
|
|
|
/*
|
2014-11-16 13:13:20 -07:00
|
|
|
// Copyright (C) 2014 The Syncthing Authors.
|
2014-09-29 12:43:32 -07:00
|
|
|
//
|
2015-03-07 13:36:35 -07:00
|
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
2017-02-08 23:52:18 -07:00
|
|
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
2015-03-07 13:36:35 -07:00
|
|
|
|
2014-09-29 12:43:32 -07:00
|
|
|
*/
|
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
body {
|
|
|
|
padding-bottom: 70px;
|
2018-12-26 15:05:20 -07:00
|
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
h1, h2, h3, h4, h5 {
|
2018-12-26 15:05:20 -07:00
|
|
|
font-family: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
2015-08-27 12:28:07 -07:00
|
|
|
line-height: 1.25;
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
ul+h5 {
|
|
|
|
margin-top: 1.5em;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
gui: Add warning when JavaScript is disabled in Web browser (fixes #7099) (#7102)
When using a Web browser with JavaScript either disabled or unavailable,
show a warning to let the user know that the Web GUI requires JS in
order to operate.
To achieve this, add a <div> that wraps both the navbar and the main
content, and then move the CSS class ng-cloak from the <html> element to
that <div>. This way, only the JavaScript-dependent part is hidden when
JS is unavailable, and not the whole website, as it is the case right
now. Then, add a <noscript> element right at the start of the <body>
element, so that the warning is also shown right away in text-based Web
browsers. The <noscript> element includes a stripped down version of the
navbar showing only the Syncthing logo, and then a container with the
warning itself. Lastly, leave the footer untouched and always visible,
because it does not rely on JavaScript at all.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
Co-authored-by: Jakob Borg <jakob@kastelo.net>
2020-11-09 01:15:22 -07:00
|
|
|
.content {
|
2015-10-03 03:18:19 -07:00
|
|
|
margin-bottom: 50px;
|
|
|
|
}
|
|
|
|
|
2014-12-05 10:44:38 -07:00
|
|
|
.panel-progress {
|
|
|
|
height: 3px;
|
|
|
|
left: 0;
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
2014-11-28 08:16:32 -07:00
|
|
|
.checkbox {
|
|
|
|
margin-top: 0px;
|
2014-10-14 18:16:01 -07:00
|
|
|
}
|
|
|
|
|
2015-01-07 02:27:17 -07:00
|
|
|
.checkbox input[type="checkbox"], .radio input[type="radio"] {
|
|
|
|
float: none; /* issue #1197 */
|
|
|
|
}
|
|
|
|
|
2014-11-30 14:47:21 -07:00
|
|
|
.popover {
|
|
|
|
max-width: none;
|
2015-10-03 03:18:19 -07:00
|
|
|
min-width: 250px;
|
2014-11-30 14:47:21 -07:00
|
|
|
}
|
|
|
|
|
2016-03-26 17:43:07 -07:00
|
|
|
.tooltip {
|
2016-03-16 07:55:29 -07:00
|
|
|
word-wrap:break-word;
|
|
|
|
}
|
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.text-monospace {
|
|
|
|
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.table-condensed>thead>tr>th, .table-condensed>tbody>tr>th, .table-condensed>tfoot>tr>th, .table-condensed>thead>tr>td, .table-condensed>tbody>tr>td, .table-condensed>tfoot>tr>td {
|
|
|
|
border-top: none;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.logo {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
top: -5px;
|
|
|
|
position: relative;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.list-no-bullet {
|
2016-03-26 17:43:07 -07:00
|
|
|
list-style-type: none;
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.li-column {
|
|
|
|
display: inline-block;
|
|
|
|
min-width: 7em;
|
|
|
|
margin-right: 1em;
|
|
|
|
padding: 1px 4px;
|
|
|
|
margin: 2px 2px;
|
|
|
|
}
|
|
|
|
.li-column span.data {
|
|
|
|
margin-left: 0.5em;
|
|
|
|
min-width: 10em;
|
|
|
|
text-align: right;
|
|
|
|
display: inline-block;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.ng-cloak {
|
|
|
|
display: none !important;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.table th {
|
|
|
|
white-space: nowrap;
|
|
|
|
font-weight: 400;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.table td {
|
2016-06-16 23:54:33 -07:00
|
|
|
/*padding-left: 20px !important;*/
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
.table td.small-data {
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
2014-09-03 23:53:28 -07:00
|
|
|
|
2017-05-16 01:56:54 -07:00
|
|
|
/* Removing text decoration on anchor link hover pull request: #4135 */
|
|
|
|
.table td.small-data span a:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
table.table-condensed {
|
|
|
|
table-layout: fixed;
|
|
|
|
}
|
2017-03-18 04:43:24 -07:00
|
|
|
|
|
|
|
table.table-dynamic {
|
|
|
|
word-wrap: break-word;
|
|
|
|
word-break: break-all;
|
|
|
|
}
|
|
|
|
|
2014-09-08 10:54:11 -07:00
|
|
|
table.table-condensed td {
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
2016-03-10 08:54:33 -07:00
|
|
|
|
2016-03-11 02:48:46 -07:00
|
|
|
table.table-condensed td.no-overflow-ellipse {
|
|
|
|
white-space: normal;
|
|
|
|
}
|
|
|
|
|
2019-04-18 09:35:44 -07:00
|
|
|
table.table-auto {
|
|
|
|
table-layout: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
table.table-auto th {
|
|
|
|
width: 1px;
|
|
|
|
}
|
|
|
|
|
|
|
|
table.table-auto td {
|
|
|
|
max-width: 0px;
|
|
|
|
}
|
|
|
|
|
2020-05-02 10:34:28 -07:00
|
|
|
/* Wrap long file paths to prevent text overflow. See issue #6268. */
|
|
|
|
.file-path {
|
|
|
|
word-break: break-all;
|
|
|
|
}
|
|
|
|
|
2016-03-26 17:43:07 -07:00
|
|
|
.folder-advanced {
|
2016-03-10 08:54:33 -07:00
|
|
|
padding: 1rem;
|
|
|
|
margin-bottom: 15px;
|
|
|
|
}
|
|
|
|
|
2016-03-26 17:43:07 -07:00
|
|
|
.folder-advanced-toggle {
|
2016-03-10 08:54:33 -07:00
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
.folder-advanced-toggle .collapse,
|
2016-03-26 17:43:07 -07:00
|
|
|
.folder-advanced-toggle.collapsed .expand {
|
2016-03-10 08:54:33 -07:00
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.folder-advanced-toggle.collapsed .collapse,
|
|
|
|
.folder-advanced-toggle .expand{
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2016-06-01 23:08:18 -07:00
|
|
|
*[language-select] > .dropdown-menu {
|
|
|
|
width: 450px;
|
|
|
|
}
|
|
|
|
|
|
|
|
*[language-select] > .dropdown-menu > li {
|
|
|
|
float: left;
|
|
|
|
width: 50%;
|
|
|
|
}
|
|
|
|
|
|
|
|
*[language-select] > .dropdown-menu > li > a {
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
2016-04-02 01:31:16 -07:00
|
|
|
.nav>li{
|
|
|
|
float: left;
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
|
|
|
.navbar-right {
|
|
|
|
/* to align with panel */
|
|
|
|
padding-right: 15px;
|
2016-06-01 23:08:18 -07:00
|
|
|
float: right;
|
2014-09-08 10:54:11 -07:00
|
|
|
}
|
2014-09-10 02:27:21 -07:00
|
|
|
|
|
|
|
.panel-body .table-condensed {
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
2014-09-22 05:04:20 -07:00
|
|
|
|
|
|
|
.dl-horizontal.dl-narrow dt {
|
|
|
|
width: 40px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.dl-horizontal.dl-narrow dd {
|
|
|
|
margin-left: 60px;
|
|
|
|
}
|
2014-11-16 16:18:59 -07:00
|
|
|
|
2016-05-30 01:18:09 -07:00
|
|
|
/**
|
2016-06-02 16:21:19 -07:00
|
|
|
* Panel, Model and Accordion Title bars
|
2016-05-30 01:18:09 -07:00
|
|
|
*/
|
|
|
|
|
2016-06-02 16:21:19 -07:00
|
|
|
.panel-icon {
|
2016-06-01 23:08:18 -07:00
|
|
|
float: left;
|
2016-05-30 01:18:09 -07:00
|
|
|
margin-right: 15px;
|
2016-06-02 16:21:19 -07:00
|
|
|
margin-top: 0.125em;
|
|
|
|
margin-bottom: 0.125em;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.modal-title .panel-icon {
|
|
|
|
margin-top: 0.25em;
|
|
|
|
margin-bottom: 0.25em;
|
2016-05-30 01:18:09 -07:00
|
|
|
}
|
|
|
|
|
2016-06-08 08:55:44 -07:00
|
|
|
button.panel-heading {
|
2016-05-30 01:18:09 -07:00
|
|
|
display: block;
|
|
|
|
position: relative;
|
2016-06-08 08:55:44 -07:00
|
|
|
width: 100%;
|
|
|
|
text-align: left;
|
|
|
|
border-top-width: 0;
|
|
|
|
border-left-width: 0;
|
|
|
|
border-right-width: 0;
|
2016-06-16 23:59:07 -07:00
|
|
|
border-radius: 0 !important;
|
2016-05-30 01:18:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.panel-heading .panel-title-text {
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
overflow: hidden;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
|
|
|
|
.panel-heading .panel-status {
|
|
|
|
margin-left:15px;
|
|
|
|
}
|
|
|
|
|
|
|
|
identicon {
|
|
|
|
width: 1em;
|
|
|
|
height: 1em;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.identicon {
|
|
|
|
width: 1em;
|
|
|
|
height: 1em;
|
2020-07-16 10:49:48 -07:00
|
|
|
shape-rendering: crispEdges;
|
2016-05-30 01:18:09 -07:00
|
|
|
}
|
|
|
|
|
2017-03-30 23:32:54 -07:00
|
|
|
a.toggler {
|
|
|
|
color: inherit;
|
|
|
|
}
|
|
|
|
a.toggler:hover {
|
|
|
|
border-bottom: 1px dashed;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
2016-06-02 12:03:18 -07:00
|
|
|
|
2019-11-13 07:14:00 -07:00
|
|
|
/**
|
2019-11-19 14:01:21 -07:00
|
|
|
* Panel padding decrease
|
2019-11-13 07:14:00 -07:00
|
|
|
*/
|
|
|
|
|
|
|
|
.panel-collapse .panel-body {
|
|
|
|
padding: 5px;
|
|
|
|
}
|
|
|
|
|
2014-11-16 16:18:59 -07:00
|
|
|
/**
|
|
|
|
* Progress bars with centered text
|
|
|
|
*/
|
|
|
|
|
|
|
|
.progress {
|
|
|
|
margin-bottom: 0px;
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
|
|
|
.progress span.frontal {
|
|
|
|
text-align: center;
|
|
|
|
position: absolute;
|
|
|
|
display: block;
|
|
|
|
width: 100%;
|
|
|
|
}
|
2014-11-30 12:49:49 -07:00
|
|
|
|
|
|
|
.three-columns {
|
|
|
|
-webkit-column-count: 3;
|
|
|
|
-moz-column-count: 3;
|
|
|
|
column-count: 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
.two-columns {
|
|
|
|
-webkit-column-count: 2;
|
|
|
|
-moz-column-count: 2;
|
|
|
|
column-count: 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.three-columns li, ul.two-columns li {
|
|
|
|
padding-left: 0.5em;
|
|
|
|
text-indent: -0.5em;
|
|
|
|
}
|
2015-01-10 10:02:27 -07:00
|
|
|
|
2016-11-23 10:03:43 -07:00
|
|
|
.navbar-fixed-bottom {
|
|
|
|
z-index: 980;
|
|
|
|
}
|
|
|
|
|
2015-01-10 10:02:27 -07:00
|
|
|
/** Footer nav on small devices **/
|
2015-12-23 20:17:50 -07:00
|
|
|
@media (max-width: 1199px) {
|
2016-03-17 09:39:50 -07:00
|
|
|
/* Stay at the end of the page, with space reserved for the footer
|
|
|
|
usually taking up two rows. */
|
|
|
|
|
|
|
|
html {
|
|
|
|
position: relative;
|
|
|
|
min-height: 100%;
|
|
|
|
}
|
|
|
|
|
2015-01-10 10:02:27 -07:00
|
|
|
body {
|
2016-03-17 09:39:50 -07:00
|
|
|
padding-bottom: 60px;
|
2015-01-10 10:02:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.navbar-fixed-bottom {
|
2016-03-17 09:39:50 -07:00
|
|
|
position: absolute;
|
2015-01-10 10:02:27 -07:00
|
|
|
}
|
2015-03-07 13:36:35 -07:00
|
|
|
}
|
2016-03-17 09:39:50 -07:00
|
|
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
/* Layout after the normal contents, as this is when the footer switches
|
|
|
|
to a vertical layout. */
|
|
|
|
|
|
|
|
body {
|
|
|
|
padding-bottom: 0px;
|
|
|
|
}
|
|
|
|
|
2016-06-02 16:21:19 -07:00
|
|
|
.navbar-brand {
|
|
|
|
margin: 3.25px -15px;
|
|
|
|
}
|
|
|
|
|
2016-03-17 09:39:50 -07:00
|
|
|
.navbar-fixed-bottom {
|
|
|
|
position: relative;
|
|
|
|
}
|
2016-04-02 01:31:16 -07:00
|
|
|
|
2016-06-01 23:08:18 -07:00
|
|
|
.navbar-nav .open .dropdown-menu {
|
|
|
|
position: absolute;
|
|
|
|
left: auto;
|
|
|
|
right: 0;
|
|
|
|
background-color: #ffffff;
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
|
|
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
|
|
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
|
|
|
border-radius: 2px;
|
2016-04-02 01:31:16 -07:00
|
|
|
}
|
|
|
|
|
2016-06-01 23:08:18 -07:00
|
|
|
*[language-select] {
|
|
|
|
position: static !important;
|
2016-04-02 01:31:16 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
*[language-select] > .dropdown-menu {
|
2016-06-01 23:08:18 -07:00
|
|
|
margin-left: 15px;
|
|
|
|
margin-right: 15px;
|
|
|
|
margin-top: -12px !important;
|
|
|
|
max-width: 450px;
|
|
|
|
height: 265px;
|
|
|
|
overflow-y: scroll;
|
2016-04-02 01:31:16 -07:00
|
|
|
}
|
|
|
|
|
2016-06-01 23:08:18 -07:00
|
|
|
table.table-condensed td {
|
|
|
|
/* for mobile phones to allow linebreaks in long repro folder/shared with
|
|
|
|
* columns. */
|
|
|
|
white-space: normal;
|
2016-04-02 01:31:16 -07:00
|
|
|
}
|
2019-11-23 05:25:25 -07:00
|
|
|
|
|
|
|
.two-columns {
|
|
|
|
-webkit-column-count: 1;
|
|
|
|
-moz-column-count: 1;
|
|
|
|
column-count: 1;
|
|
|
|
}
|
2016-04-02 01:31:16 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
@media (max-width:479px) {
|
|
|
|
|
|
|
|
nav .dropdown-toggle {
|
|
|
|
font-size: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.navbar-nav .open .dropdown-menu > li > a {
|
|
|
|
padding: 12px 15px 12px 25px;
|
|
|
|
}
|
|
|
|
|
2016-06-01 23:08:18 -07:00
|
|
|
.navbar-fixed-bottom li {
|
|
|
|
width: 100%;
|
|
|
|
}
|
2017-03-18 04:43:24 -07:00
|
|
|
}
|
2017-12-07 00:08:24 -07:00
|
|
|
|
|
|
|
.tab-content {
|
|
|
|
padding-top: 10px;
|
|
|
|
}
|
2018-01-01 07:39:23 -07:00
|
|
|
|
|
|
|
.fancytree-ext-table {
|
|
|
|
width: 100% !important;
|
|
|
|
}
|
2019-06-17 05:24:45 -07:00
|
|
|
|
|
|
|
@media (max-width: 419px) {
|
|
|
|
/* the selectors are build to target only the content of folder and device
|
|
|
|
panels as it would "destroy" e.g. out of sync or recent changes listings */
|
|
|
|
div[id^='device-'].panel-collapse table,
|
|
|
|
div[id^='folder-'].panel-collapse table,
|
|
|
|
div[id^='device-'].panel-collapse tbody,
|
|
|
|
div[id^='folder-'].panel-collapse tbody,
|
|
|
|
div[id^='device-'].panel-collapse tr,
|
|
|
|
div[id^='folder-'].panel-collapse tr {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
div[id^='device-'].panel-collapse th,
|
|
|
|
div[id^='folder-'].panel-collapse th,
|
|
|
|
div[id^='device-'].panel-collapse td,
|
|
|
|
div[id^='folder-'].panel-collapse td {
|
|
|
|
display: block;
|
|
|
|
max-width: 100%;
|
|
|
|
width: 100%;
|
|
|
|
}
|
2019-11-19 14:01:21 -07:00
|
|
|
|
2019-06-17 05:24:45 -07:00
|
|
|
/* all buttons, except panel headings, get bottom margin, as they won't fit
|
|
|
|
beside each other anymore */
|
|
|
|
.btn:not(.panel-heading),
|
|
|
|
/* this "+"-selector is needed to override some bootstrap defaults */
|
|
|
|
.btn:not(.panel-heading) + .btn:not(.panel-heading) {
|
|
|
|
margin-bottom: 1rem;
|
|
|
|
}
|
2019-11-13 07:14:00 -07:00
|
|
|
}
|