dispatch/client/css/style.css

894 lines
12 KiB
CSS
Raw Normal View History

2015-01-17 01:37:21 +00:00
* {
2015-12-28 23:34:32 +00:00
margin: 0;
padding: 0;
box-sizing: border-box;
2015-01-17 01:37:21 +00:00
}
body {
2016-01-22 19:08:16 +00:00
font-family: Roboto Mono, monospace;
2015-12-28 23:34:32 +00:00
background: #f0f0f0;
2018-10-15 06:56:17 +00:00
color: #222;
2015-01-17 01:37:21 +00:00
}
2018-04-05 23:46:22 +00:00
h1,
h2,
h3,
h4,
h5,
h6 {
2016-01-11 20:04:57 +00:00
font-family: Montserrat, sans-serif;
}
input {
2016-01-22 19:08:16 +00:00
font: 16px Roboto Mono, monospace;
2015-12-28 23:34:32 +00:00
border: none;
outline: none;
2018-10-06 06:09:29 +00:00
background: #fff;
2018-10-15 06:56:17 +00:00
color: #222;
}
2018-05-25 02:12:02 +00:00
input::-ms-clear {
display: none;
}
input,
textarea {
border-radius: 0;
appearance: none;
}
button {
2018-05-25 02:12:02 +00:00
width: 100%;
height: 50px;
background: #6bb758;
color: #fff;
2015-12-28 23:34:32 +00:00
font: 16px Montserrat, sans-serif;
border: none;
outline: none;
2018-05-25 02:12:02 +00:00
user-select: none;
2015-12-28 23:34:32 +00:00
cursor: pointer;
}
2018-05-25 02:12:02 +00:00
button:hover {
background: #7bbf6a;
}
button:active {
background: #6bb758;
}
2018-10-15 06:56:17 +00:00
label {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.checkbox {
display: flex;
align-items: center;
user-select: none;
cursor: pointer;
}
.checkbox.top-label {
flex-direction: column;
}
.checkbox input {
2018-06-10 19:25:58 +00:00
position: absolute;
2018-08-10 19:30:44 +00:00
left: -99999px;
2018-06-20 15:31:59 +00:00
opacity: 0;
2018-06-10 19:25:58 +00:00
}
2018-10-15 06:56:17 +00:00
.checkbox span {
2018-06-10 19:25:58 +00:00
width: 20px;
height: 20px;
border: 2px solid #777;
position: relative;
}
2018-10-15 06:56:17 +00:00
.checkbox:not(.top-label) span {
margin-right: 10px;
}
.checkbox input:checked + span {
2018-06-10 19:25:58 +00:00
background: #6bb758;
border-color: #6bb758;
}
2018-10-15 06:56:17 +00:00
.checkbox input:checked + span:before {
2018-08-12 21:19:17 +00:00
content: '';
2018-06-10 19:25:58 +00:00
width: 5px;
height: 10px;
2018-08-12 21:19:17 +00:00
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
2018-06-10 19:25:58 +00:00
position: absolute;
2018-08-12 21:19:17 +00:00
color: #fff;
2018-06-10 19:25:58 +00:00
transform: rotate(45deg);
left: 4px;
}
2015-01-17 01:37:21 +00:00
p {
2015-12-28 23:34:32 +00:00
line-height: 1.5;
2015-01-17 01:37:21 +00:00
}
2018-04-05 23:46:22 +00:00
i[class^='icon-']:before,
i[class*=' icon-']:before {
2015-12-28 23:34:32 +00:00
margin: 0;
2015-02-16 20:53:01 +00:00
}
2018-05-25 02:12:02 +00:00
::selection {
background: #ddd;
color: #000;
}
.success {
2018-04-05 23:46:22 +00:00
color: #6bb758 !important;
}
.error {
2018-04-05 23:46:22 +00:00
color: #f6546a !important;
}
2018-05-16 03:02:48 +00:00
.textinput {
display: block;
position: relative;
}
.textinput input {
2018-05-25 02:12:02 +00:00
padding: 25px 15px 10px;
2018-05-16 03:02:48 +00:00
}
.textinput span {
position: absolute;
top: 0;
left: 0;
pointer-events: none;
2018-05-25 02:12:02 +00:00
user-select: none;
2018-05-16 03:02:48 +00:00
transform: translateZ(0);
transition: all 0.2s, color 0s;
2018-05-16 03:02:48 +00:00
color: #777;
}
.textinput-1 {
font: 12px 'Montserrat', sans-serif;
margin: 15px;
opacity: 0;
transform: translateY(10px);
}
.textinput input:focus + .textinput-1,
.textinput-1.value {
opacity: 1;
transform: translateY(0);
}
.textinput-2 {
margin: 22.5px 15px;
}
.textinput input:focus + .textinput-1 + .textinput-2,
.textinput-2.value {
opacity: 0;
transform: translateY(10px);
}
.form-error {
font-family: 'Montserrat', sans-serif;
background: #f6546a;
color: #fff;
padding: 6px 15px;
font-size: 14px;
}
2017-05-29 04:16:24 +00:00
.wrap {
2015-12-28 23:34:32 +00:00
position: fixed;
2017-05-29 04:16:24 +00:00
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
}
.app-info {
width: 100%;
font-family: Montserrat, sans-serif;
2018-11-06 10:13:32 +00:00
background: #6bb758;
2018-04-05 23:46:22 +00:00
color: #fff;
2017-05-29 04:16:24 +00:00
text-align: center;
2018-11-06 10:13:32 +00:00
padding: 15px;
}
.app-info-error {
background: #f6546a;
2017-05-29 04:16:24 +00:00
}
.app-container {
position: relative;
flex: 1;
}
.tablist {
position: absolute;
2015-12-28 23:34:32 +00:00
left: 0;
top: 0;
bottom: 0;
width: 200px;
background: #222;
2018-04-05 23:46:22 +00:00
color: #fff;
2015-12-28 23:34:32 +00:00
font-family: Montserrat, sans-serif;
2018-04-05 23:46:22 +00:00
transition: transform 0.2s;
2018-05-25 02:12:02 +00:00
user-select: none;
2015-01-17 01:37:21 +00:00
}
.tab-container {
2015-12-28 23:34:32 +00:00
position: absolute;
2018-10-06 23:13:58 +00:00
top: 0;
2015-12-28 23:34:32 +00:00
bottom: 50px;
width: 100%;
overflow: auto;
}
2015-01-17 01:37:21 +00:00
.tablist p {
height: 30px;
2015-12-28 23:34:32 +00:00
padding: 3px 15px;
2016-01-13 17:53:54 +00:00
padding-right: 10px;
2015-12-28 23:34:32 +00:00
cursor: pointer;
2015-01-17 01:37:21 +00:00
}
.tablist p:last-child {
2015-12-28 23:34:32 +00:00
margin-bottom: 10px;
}
2015-01-17 01:37:21 +00:00
.tablist p:hover {
2015-12-28 23:34:32 +00:00
background: #111;
}
.tablist p.selected {
2015-12-28 23:34:32 +00:00
padding-left: 10px;
2018-04-05 23:46:22 +00:00
border-left: 5px solid #6bb758;
}
2016-01-13 17:53:54 +00:00
.tab-content {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tab-server {
2016-01-13 17:53:54 +00:00
display: flex;
align-items: center;
2015-12-28 23:34:32 +00:00
color: #999;
margin-top: 10px !important;
}
2016-01-13 17:53:54 +00:00
.tab-server .tab-content {
flex: 1;
margin-right: 5px;
}
2017-05-22 01:49:37 +00:00
.tab-label {
margin-top: 10px;
margin-left: 15px;
margin-bottom: 5px;
font-size: 12px;
color: #999;
2016-01-13 17:53:54 +00:00
}
.side-buttons {
2018-10-06 23:13:58 +00:00
display: flex;
2017-05-29 04:16:24 +00:00
position: absolute;
2015-12-28 23:34:32 +00:00
bottom: 0;
height: 50px;
width: 200px;
text-align: center;
2018-10-06 23:13:58 +00:00
border-top: 1px solid #1d1d1d;
}
.side-buttons i {
2018-10-06 23:13:58 +00:00
flex: 100%;
2015-12-28 23:34:32 +00:00
color: #999;
line-height: 50px;
cursor: pointer;
2018-10-06 23:13:58 +00:00
font-size: 18px;
border-left: 1px solid #1d1d1d;
}
2018-10-06 23:13:58 +00:00
.side-buttons button {
font-size: 24px;
}
.side-buttons i:hover {
2018-04-05 23:46:22 +00:00
color: #ccc;
background: #1d1d1d;
2015-01-17 01:37:21 +00:00
}
2015-06-09 22:24:14 +00:00
.main-container {
2017-05-29 04:16:24 +00:00
position: absolute;
2015-12-28 23:34:32 +00:00
left: 200px;
top: 0;
bottom: 0;
right: 0;
2018-04-05 23:46:22 +00:00
transition: left 0.2s, transform 0.2s;
2015-06-09 22:24:14 +00:00
}
.connect {
2015-12-28 23:34:32 +00:00
display: flex;
justify-content: center;
2018-05-06 19:36:05 +00:00
align-items: center;
2015-12-28 23:34:32 +00:00
position: absolute;
top: 0;
width: 100%;
bottom: 0;
2016-01-25 00:01:37 +00:00
overflow: auto;
}
2018-04-05 23:46:22 +00:00
.connect .navicon,
.settings .navicon {
2017-05-29 04:16:24 +00:00
position: fixed;
2015-12-28 23:34:32 +00:00
top: 0;
left: 0;
2015-06-09 22:24:14 +00:00
}
2016-01-25 00:01:37 +00:00
.connect-form {
2018-05-16 03:02:48 +00:00
margin: auto 20px;
2016-01-25 00:01:37 +00:00
padding-top: 20px;
2018-05-16 03:02:48 +00:00
width: 350px;
text-align: center;
2016-01-25 00:01:37 +00:00
}
.connect-form h1 {
text-align: center;
2015-12-28 23:34:32 +00:00
margin-bottom: 15px;
}
.connect-details {
color: #999;
2015-12-28 23:34:32 +00:00
text-align: center;
margin-bottom: 15px;
}
.connect-details h2 {
color: #6bb758;
}
.connect-form input {
2018-05-16 03:02:48 +00:00
margin-top: 5px;
2018-05-25 02:12:02 +00:00
width: 100%;
}
2018-05-25 02:12:02 +00:00
input[type='number'] {
appearance: textfield;
}
2018-05-25 02:12:02 +00:00
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin: 0;
}
2018-05-25 02:12:02 +00:00
.connect-form label {
user-select: none;
cursor: default;
}
2018-05-25 02:12:02 +00:00
.connect-form button {
margin-bottom: 20px;
}
2018-05-16 03:02:48 +00:00
.connect-form-address {
display: flex;
}
.connect-form-address .textinput:nth-child(1) {
flex: 1;
}
.connect-form-address .textinput:nth-child(2) {
width: 65px;
}
.connect-form-address input {
padding-right: 0;
}
.connect-form-address label {
margin-top: 5px;
font: 12px 'Montserrat', sans-serif;
padding: 10px;
padding-bottom: 0;
text-align: center;
background: #fff;
color: #777;
}
.connect-form i {
2018-05-16 03:02:48 +00:00
display: block;
2015-12-28 23:34:32 +00:00
cursor: pointer;
color: #999;
2018-05-16 03:02:48 +00:00
text-align: center;
2015-12-28 23:34:32 +00:00
font-size: 24px;
2018-05-16 03:02:48 +00:00
padding: 5px 0;
}
.connect-form i:hover {
2018-05-16 03:02:48 +00:00
color: #666;
}
.chat-title-bar {
2015-12-28 23:34:32 +00:00
font-family: Montserrat, sans-serif;
position: absolute;
left: 0;
top: 0;
right: 0;
height: 50px;
line-height: 50px;
2018-04-05 23:46:22 +00:00
border-bottom: 1px solid #ddd;
2015-12-28 23:34:32 +00:00
display: flex;
font-size: 20px;
}
.chat-channel .chat-title-bar {
2015-12-28 23:34:32 +00:00
right: 200px;
}
2015-06-09 22:24:14 +00:00
.navicon {
2015-12-28 23:34:32 +00:00
display: none;
padding: 0 15px;
line-height: 50px;
font-size: 20px;
cursor: pointer;
2015-06-09 22:24:14 +00:00
}
.chat-title-bar i {
2015-12-28 23:34:32 +00:00
padding: 0 15px;
cursor: pointer;
}
.chat-server .icon-search {
2015-12-28 23:34:32 +00:00
display: none;
}
2018-04-05 23:46:22 +00:00
.chat-server .userlist,
.chat-private .userlist {
display: none;
}
2018-04-05 23:46:22 +00:00
.chat-server .userlist-bar,
.chat-private .userlist-bar {
2015-12-28 23:34:32 +00:00
display: none;
}
.button-leave {
2018-04-05 23:46:22 +00:00
border-left: 1px solid #ddd;
}
.button-leave:hover {
2018-04-05 23:46:22 +00:00
background: #ddd;
}
2016-01-11 22:31:06 +00:00
.button-userlist {
display: none;
2018-04-05 23:46:22 +00:00
border-left: 1px solid #ddd;
2016-01-11 22:31:06 +00:00
}
2018-04-05 23:46:22 +00:00
.chat-server .button-userlist,
.chat-private .button-userlist {
2016-01-11 22:31:06 +00:00
display: none;
}
.chat-title {
2018-05-25 02:12:02 +00:00
margin-left: 10px;
padding: 0 5px;
font: 24px Montserrat, sans-serif;
2018-10-15 06:56:17 +00:00
font-weight: 700;
color: #222;
2015-12-28 23:34:32 +00:00
white-space: nowrap;
line-height: 50px;
}
2018-05-06 19:36:05 +00:00
.chat-server .chat-title {
2018-05-25 02:12:02 +00:00
cursor: pointer;
}
input.chat-title {
background: none;
cursor: text !important;
2018-05-06 19:36:05 +00:00
}
.chat-topic-wrap {
2015-12-28 23:34:32 +00:00
flex: 1;
position: relative;
margin: 0 15px;
}
.chat-topic {
2015-12-28 23:34:32 +00:00
position: absolute;
width: 100%;
2017-07-02 22:04:10 +00:00
top: 3px;
2015-12-28 23:34:32 +00:00
font-size: 16px;
color: #999;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.chat-topic a {
2015-12-28 23:34:32 +00:00
color: #999;
text-decoration: none;
}
.chat-topic a:hover {
2015-12-28 23:34:32 +00:00
text-decoration: underline;
}
.userlist-bar {
2015-12-28 23:34:32 +00:00
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 50px;
2018-04-05 23:46:22 +00:00
border-left: 1px solid #ddd;
border-bottom: 1px solid #ddd;
2015-12-28 23:34:32 +00:00
line-height: 50px;
text-align: center;
padding: 0 15px;
font-family: Montserrat, sans-serif;
}
.userlist-bar i {
2015-12-28 23:34:32 +00:00
margin-right: 3px;
}
.search {
2015-12-28 23:34:32 +00:00
display: none;
position: absolute;
left: 0;
top: 50px;
bottom: 50px;
right: 200px;
2016-01-11 22:31:06 +00:00
z-index: 3;
2015-12-28 23:34:32 +00:00
background: #f0f0f0;
}
2015-06-09 23:17:24 +00:00
.chat-server .search {
2015-12-28 23:34:32 +00:00
display: none;
2015-06-09 23:17:24 +00:00
}
.chat-private .search {
2015-12-28 23:34:32 +00:00
right: 0;
}
2016-01-18 02:21:58 +00:00
.search-input-wrap {
display: flex;
2015-12-28 23:34:32 +00:00
width: 100%;
2018-04-05 23:46:22 +00:00
background: #fff;
border-bottom: 1px solid #ddd;
}
2016-01-18 02:21:58 +00:00
.search i {
padding: 15px;
2018-04-05 23:46:22 +00:00
color: #ddd;
2016-01-18 02:21:58 +00:00
}
.search-input {
flex: 1;
padding: 15px;
padding-left: 0;
}
.search-results {
2015-12-28 23:34:32 +00:00
position: absolute;
top: 50px;
bottom: 0;
width: 100%;
overflow: auto;
padding: 10px 15px;
}
2016-01-22 23:41:35 +00:00
.search-result:not(:last-child) {
margin-bottom: 5px;
}
.messagebox {
2015-12-28 23:34:32 +00:00
position: absolute;
left: 0;
top: 50px;
bottom: 50px;
right: 0;
z-index: 1;
2016-02-16 21:43:25 +00:00
overflow: hidden;
2015-01-17 01:37:21 +00:00
}
.chat-channel .messagebox {
2015-12-28 23:34:32 +00:00
right: 200px;
}
2017-05-02 21:21:25 +00:00
.messagebox-top-indicator {
color: #999;
height: 100px;
text-align: center;
padding-top: 40px;
}
.messagebox-window {
2016-02-16 21:43:25 +00:00
overflow-x: hidden !important;
overflow-y: scroll !important;
}
.message {
padding: 4px 15px;
}
.message-info {
2015-12-28 23:34:32 +00:00
color: #999;
}
.message-error {
2018-04-05 23:46:22 +00:00
color: #f6546a;
}
.message-prompt {
font-weight: 700;
font-style: italic;
2018-04-05 23:46:22 +00:00
color: #6bb758;
}
2015-02-03 23:55:41 +00:00
.message-action {
2018-04-05 23:46:22 +00:00
color: #ff6698;
2015-02-03 23:55:41 +00:00
}
.message-time {
font-style: normal;
font-weight: 400;
2015-12-28 23:34:32 +00:00
color: #999;
}
.message-sender {
2016-01-22 23:41:35 +00:00
font-weight: 700;
2018-04-05 23:46:22 +00:00
color: #6bb758;
2015-12-28 23:34:32 +00:00
cursor: pointer;
}
2017-05-16 06:38:43 +00:00
.message a {
text-decoration: none;
2018-04-05 23:46:22 +00:00
color: #0066ff;
2017-05-16 06:38:43 +00:00
}
.message a:hover {
text-decoration: underline;
}
.message-input-wrap {
2015-12-28 23:34:32 +00:00
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 50px;
z-index: 1;
2017-05-15 20:51:21 +00:00
display: flex;
2018-04-05 23:46:22 +00:00
border-top: 1px solid #ddd;
background: #fff;
2017-05-15 20:51:21 +00:00
}
.message-input-nick {
display: block;
2017-05-15 20:51:21 +00:00
margin: 10px;
line-height: 30px;
height: 30px;
padding: 0 10px;
2018-05-25 02:12:02 +00:00
background: #6bb758;
2018-04-05 23:46:22 +00:00
color: #fff;
font-family: Montserrat, sans-serif !important;
2017-05-15 20:51:21 +00:00
margin-right: 0;
2018-05-25 02:12:02 +00:00
cursor: pointer;
}
input.message-input-nick {
cursor: text;
}
input.message-input-nick.invalid {
background: #f6546a;
}
.message-input {
2017-05-15 20:51:21 +00:00
flex: 1;
2015-12-28 23:34:32 +00:00
width: 100%;
height: 100%;
2017-05-15 20:51:21 +00:00
padding: 0 15px;
}
2015-01-17 01:37:21 +00:00
.userlist {
2015-12-28 23:34:32 +00:00
position: absolute;
top: 50px;
bottom: 50px;
right: 0;
width: 200px;
2018-04-05 23:46:22 +00:00
border-left: 1px solid #ddd;
2016-01-11 22:31:06 +00:00
background: #f0f0f0;
z-index: 2;
2018-04-05 23:46:22 +00:00
transition: transform 0.2s;
2015-02-05 01:14:24 +00:00
}
2015-01-30 01:34:28 +00:00
.userlist p {
2015-12-28 23:34:32 +00:00
padding: 0px 15px;
cursor: pointer;
2015-01-30 01:34:28 +00:00
}
.userlist p:hover {
2018-04-05 23:46:22 +00:00
background: #ddd;
2015-06-09 22:24:14 +00:00
}
2018-10-15 06:56:17 +00:00
.settings-container {
display: flex;
justify-content: center;
2018-05-06 19:36:05 +00:00
overflow: auto;
2018-10-15 06:56:17 +00:00
height: 100%;
2016-01-11 20:04:57 +00:00
}
2018-10-15 06:56:17 +00:00
.settings {
flex: 1;
max-width: 692px;
text-align: center;
2018-10-15 06:56:17 +00:00
}
.settings-section {
border: 1px solid #ddd;
padding: 15px;
margin: 0 20px;
margin-bottom: 20px;
text-align: left;
2018-10-15 06:56:17 +00:00
}
.settings .checkbox {
margin-top: 15px;
2016-01-11 20:04:57 +00:00
}
.settings h1 {
2018-10-15 06:56:17 +00:00
text-align: center;
2016-01-11 20:04:57 +00:00
margin: 20px;
}
.settings h2 {
2018-10-15 06:56:17 +00:00
font-weight: 700;
color: #222;
2016-01-11 20:04:57 +00:00
}
.settings button {
width: 200px;
}
.settings .error {
2018-10-15 06:56:17 +00:00
margin-top: 15px;
2018-04-05 23:46:22 +00:00
color: #f6546a;
2018-10-15 06:56:17 +00:00
text-align: center;
2016-01-11 20:04:57 +00:00
}
.input-file {
2018-04-05 23:46:22 +00:00
color: #fff;
2016-01-11 20:04:57 +00:00
background: #222 !important;
padding: 10px;
width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
2018-10-15 06:56:17 +00:00
.settings-file {
text-align: center;
display: inline-block;
margin-top: 15px;
margin-right: 10px;
}
.button-install {
padding: 0 15px;
width: auto !important;
margin: 20px;
margin-top: 0;
}
.button-install h2 {
color: #fff;
}
2018-10-15 06:56:17 +00:00
@media (max-width: 906px) {
.settings-file {
display: block;
margin-right: 0;
}
.settings-button {
margin-top: 10px;
}
}
.settings-file p {
margin-bottom: 5px;
color: #999;
}
.settings-cert {
text-align: center;
}
.suspense-fallback {
display: flex;
align-items: center;
justify-content: center;
font: 700 64px 'Montserrat', sans-serif;
height: 100%;
color: #ddd;
}
2015-06-09 22:24:14 +00:00
@media (max-width: 600px) {
2015-12-28 23:34:32 +00:00
.tablist {
width: 200px;
transform: translateX(-200px);
}
.main-container {
transform: translateX(0);
left: 0;
}
.navicon {
display: inline-block;
}
.main-container.off-canvas {
transform: translateX(200px);
}
.tablist.off-canvas {
transform: translateX(0);
}
.chat-title {
margin-left: 0;
}
2016-01-11 22:31:06 +00:00
2017-07-02 22:04:10 +00:00
.chat-topic {
font-size: 12px;
}
2016-01-11 22:31:06 +00:00
.userlist-bar {
display: none;
}
.userlist {
transform: translateX(200px);
}
.userlist.off-canvas {
transform: translateX(0);
}
2018-04-05 23:46:22 +00:00
.chat-channel .chat-title-bar,
.chat-channel .messagebox {
2016-01-11 22:31:06 +00:00
right: 0;
}
.button-userlist {
display: inline-block;
}
.search {
right: 0;
}
2016-01-25 00:01:37 +00:00
.connect-form {
width: 100%;
margin: auto 50px;
max-width: 400px;
}
2018-10-15 06:56:17 +00:00
.settings-section {
margin-left: 50px;
}
.button-install {
margin-left: 50px;
}
2015-12-11 23:33:05 +00:00
}