thelounge/client/css/style.css

2487 lines
46 KiB
CSS
Raw Normal View History

2015-04-14 21:13:38 +02:00
@font-face {
font-family: "FontAwesome";
font-weight: normal;
font-style: normal;
2016-10-09 11:05:42 +02:00
src:
url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff");
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
html,
body {
height: 100%;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
body {
2014-09-10 17:56:19 +02:00
background: #455164;
2014-08-15 15:52:14 +02:00
color: #222;
2017-09-18 12:32:52 +02:00
font: 16px -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
2014-08-15 15:52:14 +02:00
margin: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
touch-action: none;
/**
* Disable pull-to-refresh on mobile that conflicts with scrolling the message list.
* See http://stackoverflow.com/a/29313685/1935861
*/
overflow-y: hidden;
2014-08-15 15:52:14 +02:00
}
a,
a:hover,
a:focus {
color: #50a656;
}
2014-08-15 15:52:14 +02:00
a {
transition: opacity 0.2s;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
a:hover {
text-decoration: none;
opacity: 0.8;
2014-08-15 15:52:14 +02:00
}
/**
* From Normalize. See https://github.com/thelounge/thelounge/pull/1217
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
2014-08-15 15:52:14 +02:00
h1,
h2,
h3 {
2014-08-15 15:52:14 +02:00
font: inherit;
line-height: inherit;
margin: 0;
}
2014-08-15 15:52:14 +02:00
input {
outline: 0;
}
button {
2014-08-15 15:52:14 +02:00
border: none;
background: none;
margin: 0;
outline: none;
padding: 0;
}
code,
kbd,
pre,
.irc-monospace,
textarea#user-specified-css-input {
font-family: Consolas, Menlo, Monaco, "Lucida Console", "DejaVu Sans Mono", "Courier New", monospace;
}
code,
.irc-monospace {
font-size: 12px;
padding: 2px 4px;
color: #e74c3c;
background-color: #f9f2f4;
border-radius: 2px;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border-radius: 4px;
}
kbd {
display: inline-block;
font-size: 11px;
line-height: 10px;
padding: 3px 5px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb;
}
2014-08-15 15:52:14 +02:00
.btn {
border: 2px solid #84ce88;
border-radius: 3px;
color: #84ce88;
display: inline-block;
font-size: 12px;
font-weight: bold;
2014-08-15 15:52:14 +02:00
letter-spacing: 1px;
margin-bottom: 10px;
padding: 9px 17px;
text-transform: uppercase;
transition: background 0.2s, border-color 0.2s, color 0.2s;
2014-08-15 15:52:14 +02:00
word-spacing: 3px;
2017-07-12 08:54:32 +02:00
cursor: pointer; /* This is useful for `<button>` elements */
2014-08-15 15:52:14 +02:00
}
.btn-small {
padding: 5px 13px;
}
2014-08-15 15:52:14 +02:00
.btn:disabled,
.btn:hover,
.btn:focus {
2014-08-15 15:52:14 +02:00
background: #84ce88;
color: #fff;
2017-07-12 08:54:32 +02:00
opacity: 1;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
.btn:active {
box-shadow: none;
opacity: 0.8;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
.btn:disabled {
opacity: 0.6;
2014-08-15 15:52:14 +02:00
}
.btn-sm {
padding: 4px 8px;
border-width: 1px;
letter-spacing: 0;
word-spacing: 0;
text-transform: none;
}
2014-08-15 15:52:14 +02:00
.container {
margin: 80px auto;
max-width: 480px;
touch-action: pan-y;
2014-08-15 15:52:14 +02:00
}
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
#help .container,
#changelog .container {
max-width: 600px;
}
2014-08-15 15:52:14 +02:00
::-moz-placeholder {
color: rgba(0, 0, 0, 0.35);
2014-08-15 15:52:14 +02:00
opacity: 1;
}
2014-08-15 15:52:14 +02:00
::-webkit-input-placeholder {
color: rgba(0, 0, 0, 0.35);
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
:-ms-input-placeholder {
color: rgba(0, 0, 0, 0.35) !important;
2014-08-15 15:52:14 +02:00
}
2017-08-26 18:36:18 +02:00
#js-copy-hack,
#loading pre,
#help,
#windows .header .title,
#windows .header .topic,
#chat .messages {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
cursor: text;
}
2017-08-26 18:36:18 +02:00
#js-copy-hack {
position: absolute;
left: -999999px;
}
#chat #js-copy-hack .condensed:not(.closed) .msg,
#chat #js-copy-hack > .msg {
display: block;
}
/* Icons */
#viewport .lt::before,
#viewport .rt::before,
#chat button.menu::before,
#sidebar .chan::before,
#chat .title::before,
#footer .icon,
#chat .count::before,
#settings .extra-help,
#settings #play::before,
#form #submit::before,
#chat .away .from::before,
#chat .back .from::before,
#chat .invite .from::before,
#chat .join .from::before,
#chat .kick .from::before,
#chat .part .from::before,
#chat .quit .from::before,
#chat .topic .from::before,
#chat .mode .from::before,
#chat .ctcp .from::before,
#chat .whois .from::before,
#chat .nick .from::before,
#chat .action .from::before,
#chat .toggle-button::after,
#version-checker::before,
.context-menu-item::before,
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
#help .website-link::before,
#help .documentation-link::before,
#help .report-issue-link::before,
#nick button::before,
#image-viewer .previous-image-btn::before,
#image-viewer .next-image-btn::before {
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit; /* Can't have font-size inherit on line above, so need to override */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#viewport .lt::before { content: "\f0c9"; /* http://fontawesome.io/icon/bars/ */ }
#viewport .rt::before { content: "\f0c0"; /* http://fontawesome.io/icon/users/ */ }
#chat button.menu::before { content: "\f142"; /* http://fontawesome.io/icon/ellipsis-v/ */ }
.context-menu-join::before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ }
.context-menu-user::before { content: "\f007"; /* http://fontawesome.io/icon/user/ */ }
.context-menu-close::before { content: "\f00d"; /* http://fontawesome.io/icon/times/ */ }
.context-menu-list::before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ }
.context-menu-action-whois::before { content: "\f05a"; /* http://fontawesome.io/icon/info-circle/ */ }
.context-menu-action-kick::before { content: "\f05e"; /* http://fontawesome.io/icon/ban/ */ }
2017-12-10 00:03:15 +01:00
.context-menu-network::before,
#sidebar .chan.lobby::before,
#chat .lobby .title::before { content: "\f0a0"; /* http://fontawesome.io/icon/hdd-o/ */ }
#sidebar .not-secure .chan.lobby::before {
content: "\f09c"; /* https://fontawesome.com/v4.7.0/icon/unlock/ */
}
#sidebar .not-connected .chan.lobby::before {
content: "\f127"; /* https://fontawesome.com/v4.7.0/icon/chain-broken/ TODO v5: unlink */
}
.context-menu-query::before,
.context-menu-action-query::before,
#sidebar .chan.query::before,
#chat .query .title::before { content: "\f0e5"; /* http://fontawesome.io/icon/comment-o/ */ }
.context-menu-chan::before,
#sidebar .chan.channel::before,
#chat .channel .title::before { content: "\f086"; /* http://fontawesome.io/icon/comments/ */ }
#sidebar .chan.special::before,
#chat .special .title::before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ }
#footer .sign-in::before { content: "\f023"; /* http://fontawesome.io/icon/lock/ */ }
#footer .connect::before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ }
#footer .settings::before { content: "\f013"; /* http://fontawesome.io/icon/cog/ */ }
#footer .help::before { content: "\f059"; /* http://fontawesome.io/icon/question/ */ }
#footer .sign-out::before { content: "\f011"; /* http://fontawesome.io/icon/power-off/ */ }
#form #submit::before { content: "\f1d8"; /* http://fontawesome.io/icon/paper-plane/ */ }
#chat .away .from::before,
#chat .back .from::before {
content: "\f017"; /* http://fontawesome.io/icon/clock-o/ */
color: #7f8c8d;
}
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
#help .website-link::before,
#help .documentation-link::before,
#help .report-issue-link::before,
#chat .toggle-button {
display: inline-block;
margin-right: 5px;
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
/* These 2 directives are loosely taken from .fa-fw */
width: 1.35em;
text-align: center;
}
#help .website-link::before { content: "\f0ac"; /* http://fontawesome.io/icon/globe/ */ }
#help .documentation-link::before { content: "\f19d"; /* http://fontawesome.io/icon/graduation-cap/ */ }
#help .report-issue-link::before { content: "\f188"; /* http://fontawesome.io/icon/bug/ */ }
2017-08-15 11:44:29 +02:00
.session-list strong {
display: block;
}
.session-list p {
margin-bottom: 10px;
}
#chat .invite .from::before {
content: "\f003"; /* http://fontawesome.io/icon/envelope-o/ */
color: #2ecc40;
}
#chat .part .from::before,
#chat .quit .from::before {
content: "\f08b"; /* http://fontawesome.io/icon/sign-out/ */
color: #ff4136;
display: inline-block;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
#chat .topic .from::before {
content: "\f0a1"; /* http://fontawesome.io/icon/bullhorn/ */
color: #2ecc40;
}
#chat .mode .from::before {
content: "\f05a"; /* http://fontawesome.io/icon/info-circle/ */
color: #2ecc40;
}
#chat .ctcp .from::before {
content: "\f0f6"; /* http://fontawesome.io/icon/file-text-o/ */
}
#chat .whois .from::before {
content: "\f007"; /* http://fontawesome.io/icon/user/ */
color: #2ecc40;
}
#chat .nick .from::before {
content: "\f007"; /* http://fontawesome.io/icon/user/ */
color: #2ecc40;
}
#chat .join .from::before {
content: "\f090"; /* http://fontawesome.io/icon/sign-in/ */
color: #2ecc40;
}
#chat .kick .from::before {
content: "\f05e"; /* http://fontawesome.io/icon/ban/ */
color: #ff4136;
}
#chat .action .from::before {
content: "\f005"; /* http://fontawesome.io/icon/star/ */
}
#chat .toggle-button {
2017-11-26 13:28:33 +01:00
display: inline-block;
transition: opacity 0.2s, transform 0.2s;
/* These 2 directives are loosely taken from .fa-fw */
width: 1.35em;
text-align: center;
}
#chat .toggle-button::after {
content: "\f0da"; /* http://fontawesome.io/icon/caret-right/ */
}
#chat .count::before {
color: #cfcfcf;
content: "\f002"; /* http://fontawesome.io/icon/search/ */
position: absolute;
right: 18px;
font-size: 14px;
line-height: 50px;
}
#settings .extra-help::before {
content: "\f059"; /* http://fontawesome.io/icon/question-circle/ */
}
#settings #play::before {
content: "\f028"; /* http://fontawesome.io/icon/volume-up/ */
margin-right: 9px;
}
#set-nick::before {
content: "\f040"; /* http://fontawesome.io/icon/pencil/ */
}
#submit-nick::before {
content: "\f00c"; /* http://fontawesome.io/icon/check/ */
}
#cancel-nick::before {
content: "\f00d"; /* http://fontawesome.io/icon/times/ */
}
#image-viewer .previous-image-btn::before {
content: "\f104"; /* http://fontawesome.io/icon/angle-left/ */
}
#image-viewer .next-image-btn::before {
content: "\f105"; /* http://fontawesome.io/icon/angle-right/ */
}
/* End icons */
2014-08-15 15:52:14 +02:00
#wrap {
height: 100%;
overflow: hidden;
}
2017-07-09 03:17:03 +02:00
#chat button,
#form button,
#chat .user {
transition: opacity 0.2s;
2017-07-09 03:17:03 +02:00
}
#chat button:hover,
#form button:hover {
opacity: 0.6;
2017-07-09 03:17:03 +02:00
}
2014-09-10 23:43:56 +02:00
#viewport .lt,
2016-03-19 19:20:11 +01:00
#viewport .rt,
#chat button.menu {
2014-09-10 23:43:56 +02:00
color: #ccc;
display: none;
float: left;
font-size: 14px;
line-height: 1;
2014-09-10 23:43:56 +02:00
height: 36px;
margin: 6px 12px 0 -12px;
width: 36px;
}
#viewport .lt {
position: relative;
}
/* Notification dot on the top right corner of the menu icon */
#viewport .lt::after {
content: "";
position: absolute;
top: 9px;
right: 7px;
background-color: #e74c3c;
width: 10px;
height: 10px;
border-radius: 50%;
border: 2px solid white;
opacity: 0;
transition: opacity 0.2s;
}
#viewport .lt.notified::after {
opacity: 1;
}
#viewport .rt-tooltip {
float: right;
}
2014-09-10 23:43:56 +02:00
#viewport .rt {
2014-10-10 21:21:40 +02:00
display: block;
2016-03-19 19:20:11 +01:00
margin: 6px -12px 0 0;
}
#chat button.menu {
display: block;
float: right;
margin: 6px -8px 0 12px;
2014-09-10 23:43:56 +02:00
}
2014-10-10 21:21:40 +02:00
#viewport.rt #chat .sidebar {
right: -180px;
2014-10-10 21:21:40 +02:00
}
2014-08-15 15:52:14 +02:00
#sidebar {
2017-11-08 17:01:35 +01:00
bottom: 45px;
2014-08-15 15:52:14 +02:00
left: 0;
overflow: auto;
overflow-x: hidden;
2014-08-15 15:52:14 +02:00
-webkit-overflow-scrolling: touch;
position: absolute;
top: 0;
width: 220px;
}
#viewport.menu-open #sidebar {
will-change: transform;
}
#sidebar .chan,
#sidebar .sign-out,
#sidebar .empty {
2014-08-29 22:54:11 +02:00
color: #99a2b4;
2014-08-15 15:52:14 +02:00
font-size: 14px;
}
#sidebar button,
#sidebar .chan,
#sidebar .sign-out {
cursor: pointer;
}
2014-08-15 15:52:14 +02:00
#sidebar button:hover,
#sidebar .chan:hover,
2014-08-15 15:52:14 +02:00
#sidebar .active {
color: #fff;
}
2014-08-15 15:52:14 +02:00
#sidebar .networks {
padding-top: 20px;
touch-action: pan-y;
2014-09-20 01:12:17 +02:00
}
2014-09-20 01:12:17 +02:00
#sidebar .networks:empty {
padding: 0;
2014-08-15 15:52:14 +02:00
}
2014-09-24 01:05:07 +02:00
#sidebar .network,
#sidebar .network-placeholder {
margin-bottom: 30px;
touch-action: pan-y;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#sidebar .empty {
line-height: 1.6;
padding: 40px 20px;
2014-08-15 15:52:14 +02:00
text-align: center;
}
2014-09-24 01:05:07 +02:00
#sidebar .chan,
#sidebar .chan-placeholder {
2014-08-15 15:52:14 +02:00
display: block;
padding: 8px 25px;
transition: color 0.2s;
width: 100%;
2014-09-24 01:05:07 +02:00
}
#sidebar .chan.lobby {
2014-08-15 15:52:14 +02:00
color: #84ce88;
font-size: 15px;
font-weight: bold;
}
#sidebar .chan.lobby:hover,
#sidebar .chan.lobby.active {
2014-08-15 15:52:14 +02:00
color: #c0f8c3;
}
#sidebar .not-secure .chan.lobby {
color: #f39c12;
}
#sidebar .not-secure .chan.lobby:hover,
#sidebar .not-secure .chan.lobby.active {
color: #f8c572;
}
#sidebar .not-connected .chan.lobby {
color: #e74c3c;
}
#sidebar .not-connected .chan.lobby:hover,
#sidebar .not-connected .chan.lobby.active {
color: #f1978e;
}
#sidebar .chan::before,
#chat .title::before {
2014-09-30 20:00:23 +02:00
margin-right: 12px;
2014-08-29 22:54:11 +02:00
}
#sidebar .chan::before {
float: left;
line-height: 18px;
2016-02-21 02:28:45 +01:00
}
#chat .title::before {
2014-09-30 20:00:23 +02:00
margin-top: 17px;
2014-08-29 22:54:11 +02:00
}
2016-02-21 02:28:45 +01:00
#sidebar .chan .name {
position: relative;
z-index: 0;
display: block;
overflow: hidden;
white-space: nowrap;
margin-right: 5px;
}
#sidebar .chan .name::after {
2016-02-21 02:28:45 +01:00
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 20px;
background: linear-gradient(to right, rgba(69, 81, 100, 0) 0%, rgba(69, 81, 100, 1) 100%);
content: " ";
}
#sidebar .badge,
#sidebar .add-channel,
#sidebar .close {
float: right;
margin-left: 5px;
margin-right: -5px;
}
2014-08-15 15:52:14 +02:00
#sidebar .badge {
background: rgba(255, 255, 255, 0.06);
2014-08-15 15:52:14 +02:00
border-radius: 3px;
color: #afb6c0;
font-size: 10px;
margin-top: 1px;
padding: 3px 6px;
transition: background-color 0.2s, color 0.2s;
2014-08-15 15:52:14 +02:00
}
#sidebar .badge:empty {
display: none;
}
2014-08-15 15:52:14 +02:00
#sidebar .badge.highlight {
background: #fff;
color: #49505a;
}
#sidebar .close-tooltip {
float: right;
}
#sidebar .leave,
2014-08-15 15:52:14 +02:00
#sidebar .close {
width: 18px;
height: 18px;
display: none;
transition: opacity 0.2s, background-color 0.2s;
2016-02-15 11:03:37 +01:00
}
#sidebar .leave::before,
#sidebar .close::before {
font-size: 20px;
font-weight: normal;
2016-02-15 11:03:37 +01:00
display: inline-block;
line-height: 16px;
2016-02-15 11:03:37 +01:00
text-align: center;
content: "×";
color: #fff;
2014-08-15 15:52:14 +02:00
}
2016-02-15 11:03:37 +01:00
#sidebar .lobby .add-channel {
border-radius: 3px;
width: 18px;
height: 18px;
opacity: 0.4;
transition: opacity 0.2s, background-color 0.2s, transform 0.2s;
}
#sidebar .lobby .add-channel::before {
font-size: 20px;
font-weight: normal;
display: inline-block;
line-height: 16px;
text-align: center;
content: "+";
color: #fff;
}
#sidebar .lobby .add-channel:hover {
opacity: 1;
}
#sidebar .lobby .add-channel.opened {
/* translateZ(0) enables hardware acceleration, this is to avoid jittering when animating */
transform: rotate(45deg) translateZ(0);
}
#sidebar .chan.active .close {
opacity: 0.4;
display: unset;
}
#sidebar .chan.active .leave:hover,
#sidebar .chan.active .close:hover {
opacity: 1;
2014-08-15 15:52:14 +02:00
}
2014-09-20 01:12:17 +02:00
#sidebar .tse-scrollbar {
top: 2px;
right: 3px;
}
2014-08-15 15:52:14 +02:00
#footer {
background: rgba(0, 0, 0, 0.06);
bottom: 0;
height: 45px;
left: 0;
font-size: 14px;
line-height: 45px;
2014-09-20 01:12:17 +02:00
position: absolute;
2014-08-15 15:52:14 +02:00
text-align: center;
width: 220px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#footer button.active {
2014-09-20 01:12:17 +02:00
color: #fff;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#footer .icon {
2014-09-10 17:56:19 +02:00
color: #9ca5b4;
2014-08-15 15:52:14 +02:00
display: inline-block;
line-height: 34px;
padding: 0 12px;
transition: color 0.2s;
2017-07-09 03:17:03 +02:00
}
#footer .icon:hover {
color: #fff;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
.signed-out #footer .sign-in {
display: inline-block;
}
2014-08-15 15:52:14 +02:00
.signed-out #footer .connect,
.signed-out #footer .sign-out {
display: none;
}
2014-08-15 15:52:14 +02:00
.public #footer .sign-in,
.public #footer .sign-out {
display: none;
}
2014-08-15 15:52:14 +02:00
#footer .sign-in {
display: none;
}
2014-08-15 15:52:14 +02:00
#main {
bottom: 0;
2014-08-15 15:52:14 +02:00
left: 220px;
position: absolute;
right: 0;
top: 0;
2016-09-21 06:26:22 +02:00
display: -webkit-flex;
display: flex;
2016-09-21 06:26:22 +02:00
-webkit-flex-direction: column;
flex-direction: column;
2014-08-15 15:52:14 +02:00
}
.signed-out #main {
left: 0; /* Hide the sidebar when user is signed out */
}
2014-08-15 15:52:14 +02:00
#header {
display: none;
height: 40px;
position: absolute;
top: 0;
width: 100%;
}
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
#windows li,
2017-08-15 11:44:29 +02:00
#windows p,
2017-07-10 21:47:03 +02:00
#windows label,
#settings .error {
font-size: 14px;
}
.input {
background-color: white;
2014-08-15 15:52:14 +02:00
border: 1px solid #cdd3da;
2014-08-16 02:05:37 +02:00
border-radius: 2px;
2014-08-15 15:52:14 +02:00
color: #222;
font-size: 14px;
margin: 2px 0;
margin-bottom: 10px;
2014-08-15 15:52:14 +02:00
outline: 0;
padding: 8px 10px;
transition: border-color 0.2s;
2014-08-15 15:52:14 +02:00
width: 100%;
}
2017-12-27 21:31:21 +01:00
.input:disabled {
background-color: #ddd;
}
.input:not(:disabled):hover,
.input:not(:disabled):focus {
border-color: #79838c;
}
#windows select.input {
height: 35px;
}
#user-specified-css-input {
resize: vertical;
}
2014-08-15 15:52:14 +02:00
#windows .window {
background: #fff;
bottom: 0;
display: none;
left: 0;
position: absolute;
right: 0;
top: 0;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
2014-08-15 15:52:14 +02:00
#windows .window h1 {
font-size: 36px;
2014-08-15 15:52:14 +02:00
}
2014-09-10 17:56:19 +02:00
#windows .window h2 {
border-bottom: 1px solid #7f8c8d;
2014-09-10 17:56:19 +02:00
color: #7f8c8d;
font-size: 22px;
margin: 30px 0 10px;
padding-bottom: 7px;
}
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
#windows .window h2 small {
color: inherit;
line-height: 30px;
}
#windows .window h3 {
color: #7f8c8d;
font-size: 18px;
margin: 20px 0 10px;
}
2014-08-15 15:52:14 +02:00
#windows .active {
display: block;
}
#windows .header {
2014-08-15 15:52:14 +02:00
border-bottom: 1px solid #e7e7e7;
line-height: 48px;
2014-08-15 15:52:14 +02:00
height: 48px;
padding: 0 20px;
overflow: hidden;
2014-08-15 15:52:14 +02:00
}
#windows .header .title {
2017-05-09 11:39:15 +02:00
font-size: 15px;
2014-08-15 15:52:14 +02:00
}
#windows .header .topic {
2014-08-15 15:52:14 +02:00
color: #777;
margin-left: 8px;
2016-03-22 17:04:34 +01:00
word-break: break-all;
2014-08-15 15:52:14 +02:00
}
#windows .window .header {
display: none;
}
2016-07-06 01:23:46 +02:00
#chat-container,
#chat .chan {
position: absolute;
top: 0;
2016-07-06 01:23:46 +02:00
right: 0;
bottom: 0;
left: 0;
}
#windows #chat-container.active {
2016-09-21 06:26:22 +02:00
display: -webkit-flex;
2016-07-06 01:23:46 +02:00
display: flex;
2016-09-21 06:26:22 +02:00
-webkit-flex-direction: column;
2016-07-06 01:23:46 +02:00
flex-direction: column;
}
#chat {
position: relative;
overflow: hidden;
2016-09-21 06:26:22 +02:00
-webkit-flex: 1;
2016-07-06 01:23:46 +02:00
flex: 1;
}
#chat .chan {
display: none;
}
#chat .chan.active {
display: block;
}
2017-06-22 22:08:36 +02:00
#chat .condensed {
flex-wrap: wrap;
}
#chat .condensed .content {
flex: 1;
}
/* Ensures expanded status messages always take up the full width */
#chat .condensed .msg {
flex-basis: 100%;
}
#chat .condensed-summary .content {
display: block;
cursor: pointer;
transition: opacity 0.2s;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#chat .condensed-summary {
display: none;
}
#chat.condensed-status-messages .condensed-summary {
display: flex;
}
2017-09-13 07:36:11 +02:00
#chat .condensed-summary .content:hover {
opacity: 0.6;
}
#chat .condensed-summary .toggle-button:hover {
opacity: 1;
2017-06-22 22:08:36 +02:00
}
#chat.condensed-status-messages .condensed.closed .msg {
2017-06-22 22:08:36 +02:00
display: none;
}
#chat .condensed-summary .time {
visibility: hidden;
}
2017-09-18 12:32:52 +02:00
#windows #form .input,
#windows .header .topic,
.messages .msg,
.sidebar {
font-size: 14px;
2015-04-16 10:07:13 +02:00
line-height: 1.4;
}
2016-07-06 01:23:46 +02:00
#windows #chat .header {
display: block;
}
2014-08-15 15:52:14 +02:00
#chat .chat,
#chat .sidebar {
2016-07-06 01:23:46 +02:00
top: 48px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .chat {
bottom: 0;
left: 0;
right: 0;
2014-08-15 15:52:14 +02:00
overflow: auto;
will-change: transform, scroll-position;
2014-08-15 15:52:14 +02:00
-webkit-overflow-scrolling: touch;
position: absolute;
2017-12-01 11:41:26 +01:00
display: flex;
flex-direction: column;
}
#chat .channel .chat {
2014-08-15 15:52:14 +02:00
right: 180px;
}
#viewport.rt .chat {
right: 0;
}
2014-08-15 15:52:14 +02:00
#chat .sidebar {
background: #fff;
border-left: 1px solid #e7e7e7;
bottom: 0;
position: absolute;
right: 0;
width: 180px;
transition: right 0.4s;
touch-action: pan-y;
2014-08-15 15:52:14 +02:00
}
/**
* Toggled via JavaScript
*/
#sidebar .join-form {
display: none;
}
#sidebar .join-form .input {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: 5px;
margin-bottom: 5px;
width: 80%;
}
#sidebar .join-form .btn {
display: block;
width: 80%;
margin: auto;
}
#sidebar .add-channel-tooltip {
float: right;
}
2014-08-15 15:52:14 +02:00
#chat .show-more {
2014-09-28 23:51:24 +02:00
display: none;
padding: 10px;
2016-05-13 12:23:05 +02:00
padding-bottom: 0;
2014-08-15 15:52:14 +02:00
width: 100%;
}
2014-09-28 23:51:24 +02:00
#chat .show-more-button {
background: #f4f4f4;
background-image: linear-gradient(#f4f4f4, #ececec);
border: 1px solid #d7d7d7;
border-bottom-color: #b7b7b7;
border-radius: 2px;
color: #555;
font-size: 12px;
2014-09-28 23:51:24 +02:00
height: 34px;
line-height: 0;
width: 100%;
}
2014-09-28 23:51:24 +02:00
#chat .show-more-button:hover {
2014-09-19 22:24:11 +02:00
opacity: 1;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .messages {
2016-02-28 00:22:52 +01:00
padding: 10px 0;
touch-action: pan-y;
}
#chat .chan:not(.special) .messages {
2017-12-01 11:41:26 +01:00
margin-top: auto;
}
#chat .msg {
2016-07-04 23:57:49 +02:00
word-wrap: break-word;
word-break: break-word; /* Webkit-specific */
display: flex;
align-items: flex-start;
position: relative;
2014-08-15 15:52:14 +02:00
}
2016-07-04 23:57:49 +02:00
#chat .unread-marker {
position: relative;
text-align: center;
margin: 0 10px;
z-index: 0;
font-weight: bold;
font-size: 12px;
2014-08-15 15:52:14 +02:00
}
#chat .unread-marker::before {
2016-07-04 23:57:49 +02:00
position: absolute;
z-index: -1;
content: "";
left: 0;
right: 0;
top: 50%;
border-top: 1px solid rgba(231, 76, 60, 0.5);
2016-07-04 23:57:49 +02:00
}
#chat .unread-marker-text::before {
2016-07-04 23:57:49 +02:00
content: "New messages";
background-color: white;
color: rgba(231, 76, 60, 0.5);
2016-07-04 23:57:49 +02:00
padding: 0 10px;
2016-05-13 12:23:05 +02:00
}
#chat .unread-marker:last-child {
display: none;
2014-08-15 15:52:14 +02:00
}
2016-10-03 20:03:19 +02:00
#chat .date-marker {
position: relative;
text-align: center;
margin: 0 10px;
z-index: 0;
font-weight: bold;
font-size: 12px;
}
#chat .date-marker::before {
2016-10-03 20:03:19 +02:00
position: absolute;
z-index: -1;
content: "";
left: 0;
right: 0;
top: 50%;
border-top: 1px solid rgba(0, 107, 59, 0.5);
2016-10-03 20:03:19 +02:00
}
#chat .date-marker-text::before {
content: attr(data-label);
2016-10-03 20:03:19 +02:00
background-color: white;
color: rgba(0, 107, 59, 0.5);
2016-10-03 20:03:19 +02:00
padding: 0 10px;
}
2016-03-05 23:20:45 +01:00
.inline-channel {
cursor: pointer;
}
2016-03-05 23:20:45 +01:00
.inline-channel:hover {
opacity: 0.6;
}
2014-08-15 15:52:14 +02:00
#chat .time,
#chat .from,
#chat .content {
padding: 3px 0;
flex: 0 0 auto;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .time {
2014-09-26 01:51:53 +02:00
color: #ddd;
2017-05-06 20:44:57 +02:00
padding-left: 10px;
width: 55px;
}
#chat.show-seconds .time {
width: 75px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .from {
color: #b1c3ce;
padding-right: 10px;
text-align: right;
width: 134px;
2017-05-11 02:17:27 +02:00
overflow: hidden;
white-space: nowrap;
position: relative;
}
#chat .content {
flex: 1 1 auto;
min-width: 0;
2017-11-26 13:28:33 +01:00
padding-left: 10px;
padding-right: 6px;
border-left: 1px solid #f6f6f6;
overflow: hidden; /* Prevents Zalgo text to expand beyond messages */
2014-08-15 15:52:14 +02:00
}
#loading a,
#chat .special .time,
#chat .special .from {
display: none;
}
#chat .special .date-marker-container,
#chat .special .unread-marker {
display: none;
}
#chat .special table th {
word-break: normal;
}
/* Nicknames */
#chat .user {
cursor: pointer;
color: #50a656;
}
#chat .user:hover {
opacity: 0.6;
}
#chat.colored-nicks .user.color-1 { color: #1396cf; }
#chat.colored-nicks .user.color-2 { color: #ffcf89; }
#chat.colored-nicks .user.color-3 { color: #00dc5f; }
#chat.colored-nicks .user.color-4 { color: #ff5bc8; }
#chat.colored-nicks .user.color-5 { color: #ff0e1b; }
#chat.colored-nicks .user.color-6 { color: #000094; }
#chat.colored-nicks .user.color-7 { color: #006441; }
#chat.colored-nicks .user.color-8 { color: #00566e; }
#chat.colored-nicks .user.color-9 { color: #ff0078; }
#chat.colored-nicks .user.color-10 { color: #15d5a3; }
#chat.colored-nicks .user.color-11 { color: #006b3b; }
#chat.colored-nicks .user.color-12 { color: #00c5ba; }
#chat.colored-nicks .user.color-13 { color: #00465b; }
#chat.colored-nicks .user.color-14 { color: #ffafce; }
#chat.colored-nicks .user.color-15 { color: #ff3b12; }
#chat.colored-nicks .user.color-16 { color: #16cc6a; }
#chat.colored-nicks .user.color-17 { color: #ff0072; }
#chat.colored-nicks .user.color-18 { color: #ff5877; }
#chat.colored-nicks .user.color-19 { color: #ff1753; }
#chat.colored-nicks .user.color-20 { color: #007a56; }
#chat.colored-nicks .user.color-21 { color: #095092; }
#chat.colored-nicks .user.color-22 { color: #000bde; }
#chat.colored-nicks .user.color-23 { color: #00bca9; }
#chat.colored-nicks .user.color-24 { color: #00367d; }
#chat.colored-nicks .user.color-25 { color: #009ec4; }
#chat.colored-nicks .user.color-26 { color: #006119; }
#chat.colored-nicks .user.color-27 { color: #008bb8; }
#chat.colored-nicks .user.color-28 { color: #469c00; }
#chat.colored-nicks .user.color-29 { color: #ff0f95; }
#chat.colored-nicks .user.color-30 { color: #ff7615; }
#chat.colored-nicks .user.color-31 { color: #ff4846; }
#chat.colored-nicks .user.color-32 { color: #ff199b; }
2014-09-14 20:49:42 +02:00
#chat .self .text {
color: #999;
}
#chat .msg.channel_list_loading .text {
color: #999;
font-style: italic;
padding-left: 20px;
}
#chat .msg.channel_list_truncated .text {
color: #f00;
padding-left: 20px;
}
2017-04-22 14:51:21 +02:00
#chat table.channel-list,
#chat table.ban-list {
margin: 5px 10px;
width: calc(100% - 30px);
}
#chat table.channel-list th,
2017-04-22 14:51:21 +02:00
#chat table.ban-list th,
#chat table.channel-list td,
#chat table.ban-list td {
padding: 5px;
vertical-align: top;
border-bottom: #eee 1px solid;
}
#chat table.channel-list .channel {
width: 80px;
}
#chat table.channel-list .channel,
2017-04-22 14:51:21 +02:00
#chat table.channel-list .topic,
#chat table.ban-list .hostmask,
#chat table.ban-list .banned_by,
#chat table.ban-list .banned_at {
text-align: left;
}
#chat table.channel-list .users {
text-align: center;
width: 50px;
}
#chat table.channel-list td.channel .inline-channel {
color: #428bca;
}
#chat table.channel-list td {
color: #555;
}
#chat.hide-status-messages .condensed,
2017-06-22 22:08:36 +02:00
#chat.hide-motd .motd {
2014-09-10 22:08:32 +02:00
display: none !important;
}
2016-02-12 12:24:13 +01:00
2017-06-22 22:08:36 +02:00
#chat .condensed .content,
#chat .away .content,
#chat .back .content,
#chat .join .content,
#chat .kick .content,
#chat .mode .content,
#chat .nick .content,
#chat .part .content,
#chat .quit .content,
#chat .topic .content,
#chat .topic_set_by .content {
color: #999;
}
#chat .action .from,
2016-01-23 15:39:54 +01:00
#chat .action .text,
#chat .action .user {
color: #f39c12;
2016-01-23 15:39:54 +01:00
}
2016-01-23 15:39:54 +01:00
#chat .notice .time,
#chat .notice .text,
#chat .chan .notice .user {
color: #0074d9 !important;
2016-01-23 15:39:54 +01:00
}
#chat .notice .user::before {
2016-01-23 15:39:54 +01:00
content: "Notice: ";
2014-08-15 15:52:14 +02:00
}
2016-01-23 15:39:54 +01:00
#chat .error,
#chat .error .from,
#chat .channel .highlight .from,
#chat .channel .highlight .text,
#chat .channel .highlight .user {
color: #f00;
}
#chat .toggle-button.opened, /* Thumbnail toggle */
#chat .msg.condensed:not(.closed) .toggle-button { /* Expanded status message toggle */
transform: rotate(90deg);
}
2014-09-27 21:17:05 +02:00
#chat .toggle-content {
background: #f5f5f5;
border-radius: 2px;
display: none;
color: #222;
max-width: 100%;
margin: 0;
margin-top: 6px;
overflow: hidden;
2014-09-27 21:17:05 +02:00
}
2017-12-28 22:31:19 +01:00
#chat .toggle-type-error {
background: transparent;
}
2014-09-27 21:17:05 +02:00
#chat .toggle-content img {
max-width: 100%;
max-height: 128px;
2014-09-27 22:39:14 +02:00
display: block;
}
#chat .prefetch-error {
display: none;
}
#chat .toggle-content .thumb {
max-width: 48px;
max-height: 38px;
}
#chat .toggle-thumbnail {
padding: 6px;
}
#chat .toggle-text {
padding: 6px;
min-width: 0;
display: flex;
flex-direction: column;
white-space: nowrap;
color: inherit;
}
#chat .toggle-text:not(:first-child) {
padding-left: 0;
}
#chat .toggle-content .head,
#chat .toggle-content .body {
text-overflow: ellipsis;
overflow: hidden;
color: inherit;
2014-09-27 22:39:14 +02:00
}
#chat .toggle-content .head {
font-weight: bold;
}
2014-09-27 22:39:14 +02:00
#chat .toggle-content .body {
color: #999;
}
2014-09-27 22:39:14 +02:00
#chat .toggle-content.show {
display: inline-flex !important;
2014-08-16 21:49:28 +02:00
}
2017-12-06 23:27:35 +01:00
#chat audio {
width: 600px;
max-width: 100%;
}
/* Do not display an empty div when there are no previews. Useful for example in
part/quit messages where we don't load previews (adds a blank line otherwise) */
#chat .preview:empty {
display: none;
}
2014-08-15 15:52:14 +02:00
#chat .count {
2014-09-10 17:56:19 +02:00
background: #fafafa;
2014-08-15 15:52:14 +02:00
height: 48px;
left: 0;
position: absolute;
right: 0;
top: 0;
}
2014-08-15 15:52:14 +02:00
#chat .search {
color: #222;
border: 0;
background: none;
font: inherit;
outline: 0;
padding: 18px 16px;
position: relative;
width: 100%;
}
2014-08-15 15:52:14 +02:00
#chat .names {
bottom: 0;
overflow: auto;
overflow-x: hidden;
will-change: transform, scroll-position;
2014-08-15 15:52:14 +02:00
-webkit-overflow-scrolling: touch;
2014-10-04 21:47:27 +02:00
padding-bottom: 10px;
2014-08-15 15:52:14 +02:00
position: absolute;
top: 48px;
width: 100%;
touch-action: pan-y;
2014-08-15 15:52:14 +02:00
}
#chat .names-filtered {
display: none;
}
#chat .names .user {
2014-08-15 15:52:14 +02:00
display: block;
2014-08-19 01:54:14 +02:00
line-height: 1.6;
2014-10-04 21:47:27 +02:00
padding: 0 16px;
white-space: nowrap;
2014-08-15 15:52:14 +02:00
}
#chat .user-mode::before {
2014-10-04 21:47:27 +02:00
content: "";
border-bottom: 1px solid #eee;
display: block;
line-height: 1.6;
padding: 12px 16px 10px;
margin-bottom: 10px;
}
#chat .user-mode.owner::before {
2014-10-04 21:47:27 +02:00
content: "Owners";
}
#chat .user-mode.admin::before {
2014-10-04 21:47:27 +02:00
content: "Administrators";
}
#chat .user-mode.op::before {
2014-10-04 21:47:27 +02:00
content: "Operators";
}
#chat .user-mode.half-op::before {
content: "Half-Operators";
}
#chat .user-mode.voice::before {
2014-10-04 21:47:27 +02:00
content: "Voiced";
}
#chat .user-mode.normal::before {
2014-10-04 21:47:27 +02:00
content: "Users";
}
#chat .user-mode-search::before {
content: "Search Results";
}
#loading {
font-size: 14px;
z-index: 1;
}
#loading p {
2014-08-15 15:52:14 +02:00
margin-top: 10px;
}
#loading-slow,
#loading-reload {
display: none;
}
#loading-reload {
margin-top: 15px;
}
#loading summary {
outline: none;
cursor: pointer;
}
#loading pre {
white-space: normal;
}
#sign-in label {
display: block;
margin-top: 10px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#sign-in .btn {
margin-top: 25px;
}
2014-08-15 15:52:14 +02:00
#sign-in .error {
color: #e74c3c;
margin-top: 1em;
}
2014-08-15 15:52:14 +02:00
#connect label {
display: block;
margin-top: 11px;
2014-08-15 15:52:14 +02:00
}
#connect .port::before {
2014-08-15 15:52:14 +02:00
content: ":";
margin: 9px 0 0 -17px;
2014-08-15 15:52:14 +02:00
position: absolute;
}
2014-09-10 17:56:19 +02:00
#connect .tls {
float: left;
margin-top: 6px;
2014-09-10 17:56:19 +02:00
}
2014-09-10 17:56:19 +02:00
#connect .tls input {
float: left;
margin: 3px 10px 0 0;
}
2014-08-15 15:52:14 +02:00
#connect .btn {
2014-09-10 17:56:19 +02:00
float: left;
margin-top: 30px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#settings .opt {
display: block;
padding: 5px 0 5px 1px;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#settings .opt input {
margin-right: 6px;
2014-08-15 15:52:14 +02:00
}
#settings .extra-help,
2014-08-15 15:52:14 +02:00
#settings #play {
color: #7f8c8d;
}
#settings .extra-help {
cursor: help;
}
#settings h2 .extra-help {
font-size: 0.8em;
}
#settings #play {
font-size: 14px;
transition: opacity 0.2s;
}
2014-08-15 15:52:14 +02:00
#settings #play:hover {
opacity: 0.8;
2014-08-15 15:52:14 +02:00
}
#settings #change-password .error,
#settings #change-password .success {
margin-bottom: 1em;
}
#settings #change-password .error {
color: #e74c3c;
}
#settings #change-password .success {
color: #2ecc40;
}
#settings .error {
color: #e74c3c;
margin-top: 0.2em;
}
#help .help-item {
display: table-row;
font-size: 14px;
}
#help .help-item .subject,
#help .help-item .description {
display: table-cell;
padding-bottom: 15px;
}
#help .help-item .subject {
white-space: nowrap;
padding-right: 15px;
}
#help .help-item .description p {
margin-bottom: 0;
}
2017-09-19 11:18:54 +02:00
.is-apple #help .key-all,
#help .key-apple {
display: none;
}
.is-apple #help .key-apple {
display: inline-block;
}
2017-12-17 15:28:30 +01:00
.whois {
display: -ms-grid; /* Edge 15- */
display: grid;
-ms-grid-template-columns: max-content auto;
grid-template-columns: max-content auto;
margin: 0;
}
.whois dt {
-ms-grid-column-start: 1;
grid-column-start: 1;
margin-right: 20px;
}
.whois dd {
-ms-grid-column-start: 2;
grid-column-start: 2;
}
.changelog-text {
line-height: 1.5;
}
.changelog-text p {
margin-bottom: 16px;
}
.window#changelog h3 {
font-size: 20px;
border-bottom: 1px solid #7f8c8d;
color: #7f8c8d;
margin: 30px 0 10px;
padding-bottom: 7px;
}
#version-checker {
display: flex;
align-items: center;
padding: 10px;
margin-bottom: 16px;
border-radius: 2px;
transition: color 0.2s, background-color 0.2s;
}
#version-checker p,
#version-checker button {
margin-bottom: 0;
}
#version-checker p {
flex: 1;
padding-top: 6px;
padding-bottom: 6px;
}
#version-checker::before {
margin-left: 6px;
margin-right: 12px;
font-size: 1.2em;
}
#version-checker.loading {
background-color: #d9edf7;
color: #31708f;
}
#version-checker.loading::before {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
content: "\f250"; /* http://fontawesome.io/icon/hourglass-o/ */
}
#version-checker.new-version {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
color: #8a6d3b;
background-color: #fcf8e3;
}
#version-checker.new-version::before {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
content: "\f087"; /* http://fontawesome.io/icon/thumbs-o-up/ */
}
#version-checker.error {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
color: #a94442;
background-color: #f2dede;
}
#version-checker.error::before {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
content: "\f06a"; /* http://fontawesome.io/icon/exclamation-circle/ */
}
#version-checker.up-to-date {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
background-color: #dff0d8;
color: #3c763d;
}
#version-checker.up-to-date #check-now {
/* "Check now" button is hidden until data expires */
display: none;
}
#version-checker.up-to-date::before {
Improve UI of the About section and changelog viewer - Keep consistent width between the Help page and Changelog (which is already different from other windows 😠) - Add icons to the About links - Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client - Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right - Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice. - Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage. - Change icon, animate background color when getting response from GitHub to avoid flashing. - Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item. - Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!). - Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state - Added a button to go back to the Help window - Fixed links to releases - Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused... - Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available". - Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots). - Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-23 04:40:41 +01:00
content: "\f00c"; /* http://fontawesome.io/icon/check/ */
}
2014-08-15 15:52:14 +02:00
#form {
2014-09-27 02:21:14 +02:00
background: #eee;
border-top: 1px solid #ddd;
2016-09-21 06:26:22 +02:00
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
2016-07-06 01:23:46 +02:00
padding: 5px;
2014-08-15 15:52:14 +02:00
}
2016-07-06 01:23:46 +02:00
#windows #form .input {
border: 1px solid #ddd;
border-radius: 2px;
2016-07-06 01:23:46 +02:00
margin: 0;
padding: 0;
background: white;
2016-09-21 06:26:22 +02:00
display: -webkit-flex;
display: flex;
2016-09-21 06:26:22 +02:00
-webkit-align-items: flex-end;
align-items: flex-end;
2014-09-21 17:21:26 +02:00
}
#connection-error {
2017-08-28 17:03:27 +02:00
font-size: 12px;
line-height: 36px;
font-weight: bold;
letter-spacing: 1px;
word-spacing: 3px;
text-transform: uppercase;
background: #e74c3c;
color: #fff;
text-align: center;
display: none;
}
#connection-error.shown {
display: block;
}
[contenteditable]:focus {
outline: none;
}
[contenteditable="true"] {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
cursor: text;
}
/* Nick editor */
2014-09-26 01:51:53 +02:00
#form #nick {
background: #f6f6f6;
2014-09-27 02:21:14 +02:00
color: #666;
2014-09-26 01:51:53 +02:00
font: inherit;
font-size: 13px;
margin: 4px;
line-height: 22px;
2014-09-26 01:51:53 +02:00
height: 24px;
padding-left: 9px;
padding-right: 5px;
border-radius: 2px;
2016-09-21 06:26:22 +02:00
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
border: 1px solid transparent;
transition: border-color 0.2s;
2014-09-26 01:51:53 +02:00
}
#form #nick-value {
padding-right: 5px;
}
#form #nick.editable {
border-color: black;
}
#nick button#set-nick,
#nick button#submit-nick,
#nick button#cancel-nick {
color: #aaa;
width: 18px;
}
#nick.editable button#set-nick,
2016-08-03 07:06:58 +02:00
#nick.editable #set-nick-tooltip,
#nick button#submit-nick,
2016-08-03 07:06:58 +02:00
#nick:not(.editable) #save-nick-tooltip,
#nick button#cancel-nick,
#nick:not(.editable) #cancel-nick-tooltip {
display: none;
}
#nick.editable button#submit-nick,
#nick.editable button#cancel-nick {
display: inline-block;
}
/* End nick editor */
2014-09-26 01:51:53 +02:00
#form #input {
background: transparent;
border: none;
2014-09-26 01:51:53 +02:00
font: inherit;
min-height: 19px; /* Required when computing input height at char deletion */
height: 19px;
max-height: 95px; /* min-height/height x number of lines maximum */
2017-05-09 11:39:15 +02:00
line-height: 1.4;
2014-09-26 01:51:53 +02:00
outline: none;
margin: 5px;
padding: 0;
resize: none;
2016-09-21 06:26:22 +02:00
-webkit-flex: 1 0 auto;
flex: 1 0 auto;
align-self: center;
touch-action: pan-y;
2014-09-26 01:51:53 +02:00
}
2014-08-15 15:52:14 +02:00
#form #submit {
2016-03-11 07:44:09 +01:00
color: #9ca5b4;
font-size: 14px;
height: 32px;
transition: opacity 0.2s;
width: 32px;
2016-09-21 06:26:22 +02:00
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
2016-03-11 07:44:09 +01:00
}
2016-02-12 12:34:10 +01:00
#context-menu-container {
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
background: transparent;
}
#context-menu,
.textcomplete-menu {
2016-02-12 12:34:10 +01:00
position: absolute;
list-style: none;
margin: 0;
padding: 0;
min-width: 160px;
font-size: 14px;
background-color: #fff;
box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
2016-02-12 12:34:10 +01:00
}
.context-menu-divider {
height: 1px;
margin: 6px 0;
background-color: rgba(0, 0, 0, 0.1);
2016-02-12 12:34:10 +01:00
}
.context-menu-item,
.textcomplete-item {
2016-02-12 12:34:10 +01:00
cursor: pointer;
display: block;
padding: 4px 8px;
2016-02-12 12:34:10 +01:00
color: #333;
margin-top: 6px;
margin-bottom: 6px;
2017-08-23 16:19:04 +02:00
line-height: 1.4;
transition: background-color 0.2s;
2016-02-12 12:34:10 +01:00
}
.context-menu-item:hover,
.textcomplete-item:hover,
.textcomplete-menu .active {
2016-02-12 12:34:10 +01:00
background-color: #f6f6f6;
transition: none;
2016-02-12 12:34:10 +01:00
}
.context-menu-item::before,
.textcomplete-item::before {
2016-02-12 12:34:10 +01:00
width: 20px;
display: inline-block;
}
.textcomplete-item a {
color: #333;
}
.textcomplete-item a:hover {
opacity: 1;
}
2017-08-23 16:19:04 +02:00
.emoji {
display: inline-block;
font-size: 1.4em;
vertical-align: bottom;
line-height: 1;
}
.topic .emoji {
vertical-align: middle;
}
.textcomplete-item .emoji {
2017-08-23 16:19:04 +02:00
width: 32px;
text-align: center;
}
.textcomplete-item .irc-bg {
display: block;
}
2014-10-11 01:11:57 +02:00
/**
2014-12-11 04:35:17 +01:00
* IRC Message Styling
* Colours are credit to http://clrs.cc/
*/
.irc-fg0 { color: #fff; }
.irc-fg1 { color: #000; }
.irc-fg2 { color: #001f3f; }
.irc-fg3 { color: #2ecc40; }
.irc-fg4 { color: #ff4136; }
.irc-fg5 { color: #85144b; }
.irc-fg6 { color: #b10dc9; }
.irc-fg7 { color: #ff851b; }
.irc-fg8 { color: #ffdc00; }
.irc-fg9 { color: #01ff70; }
.irc-fg10 { color: #39cccc; }
.irc-fg11 { color: #7fdbff; }
.irc-fg12 { color: #0074d9; }
.irc-fg13 { color: #f012be; }
.irc-fg14 { color: #aaa; }
.irc-fg15 { color: #ddd; }
.irc-bg0 { background: #fff; }
.irc-bg1 { background: #000; }
.irc-bg2 { background: #001f3f; }
.irc-bg3 { background: #2ecc40; }
.irc-bg4 { background: #ff4136; }
.irc-bg5 { background: #85144b; }
.irc-bg6 { background: #b10dc9; }
.irc-bg7 { background: #ff851b; }
.irc-bg8 { background: #ffdc00; }
.irc-bg9 { background: #01ff70; }
.irc-bg10 { background: #39cccc; }
.irc-bg11 { background: #7fdbff; }
.irc-bg12 { background: #0074d9; }
.irc-bg13 { background: #f012be; }
.irc-bg14 { background: #aaa; }
.irc-bg15 { background: #ddd; }
2014-10-11 01:11:57 +02:00
2017-12-12 19:14:05 +01:00
/* https://modern.ircdocs.horse/formatting.html#colors-16-98 */
.irc-fg16 { color: #470000; }
.irc-fg17 { color: #472100; }
.irc-fg18 { color: #474700; }
.irc-fg19 { color: #324700; }
.irc-fg20 { color: #004700; }
.irc-fg21 { color: #00472c; }
.irc-fg22 { color: #004747; }
.irc-fg23 { color: #002747; }
.irc-fg24 { color: #000047; }
.irc-fg25 { color: #2e0047; }
.irc-fg26 { color: #470047; }
.irc-fg27 { color: #47002a; }
.irc-fg28 { color: #740000; }
.irc-fg29 { color: #743a00; }
.irc-fg30 { color: #747400; }
.irc-fg31 { color: #517400; }
.irc-fg32 { color: #007400; }
.irc-fg33 { color: #007449; }
.irc-fg34 { color: #007474; }
.irc-fg35 { color: #004074; }
.irc-fg36 { color: #000074; }
.irc-fg37 { color: #4b0074; }
.irc-fg38 { color: #740074; }
.irc-fg39 { color: #740045; }
.irc-fg40 { color: #b50000; }
.irc-fg41 { color: #b56300; }
.irc-fg42 { color: #b5b500; }
.irc-fg43 { color: #7db500; }
.irc-fg44 { color: #00b500; }
.irc-fg45 { color: #00b571; }
.irc-fg46 { color: #00b5b5; }
.irc-fg47 { color: #0063b5; }
.irc-fg48 { color: #0000b5; }
.irc-fg49 { color: #7500b5; }
.irc-fg50 { color: #b500b5; }
.irc-fg51 { color: #b5006b; }
.irc-fg52 { color: #f00; }
2017-12-12 19:14:05 +01:00
.irc-fg53 { color: #ff8c00; }
.irc-fg54 { color: #ff0; }
2017-12-12 19:14:05 +01:00
.irc-fg55 { color: #b2ff00; }
.irc-fg56 { color: #0f0; }
2017-12-12 19:14:05 +01:00
.irc-fg57 { color: #00ffa0; }
.irc-fg58 { color: #0ff; }
2017-12-12 19:14:05 +01:00
.irc-fg59 { color: #008cff; }
.irc-fg60 { color: #00f; }
2017-12-12 19:14:05 +01:00
.irc-fg61 { color: #a500ff; }
.irc-fg62 { color: #f0f; }
2017-12-12 19:14:05 +01:00
.irc-fg63 { color: #ff0098; }
.irc-fg64 { color: #ff5959; }
.irc-fg65 { color: #ffb459; }
.irc-fg66 { color: #ffff71; }
.irc-fg67 { color: #cfff60; }
.irc-fg68 { color: #6fff6f; }
.irc-fg69 { color: #65ffc9; }
.irc-fg70 { color: #6dffff; }
.irc-fg71 { color: #59b4ff; }
.irc-fg72 { color: #5959ff; }
.irc-fg73 { color: #c459ff; }
.irc-fg74 { color: #f6f; }
2017-12-12 19:14:05 +01:00
.irc-fg75 { color: #ff59bc; }
.irc-fg76 { color: #ff9c9c; }
.irc-fg77 { color: #ffd39c; }
.irc-fg78 { color: #ffff9c; }
.irc-fg79 { color: #e2ff9c; }
.irc-fg80 { color: #9cff9c; }
.irc-fg81 { color: #9cffdb; }
.irc-fg82 { color: #9cffff; }
.irc-fg83 { color: #9cd3ff; }
.irc-fg84 { color: #9c9cff; }
.irc-fg85 { color: #dc9cff; }
.irc-fg86 { color: #ff9cff; }
.irc-fg87 { color: #ff94d3; }
.irc-fg88 { color: #000; }
2017-12-12 19:14:05 +01:00
.irc-fg89 { color: #131313; }
.irc-fg90 { color: #282828; }
.irc-fg91 { color: #363636; }
.irc-fg92 { color: #4d4d4d; }
.irc-fg93 { color: #656565; }
.irc-fg94 { color: #818181; }
.irc-fg95 { color: #9f9f9f; }
.irc-fg96 { color: #bcbcbc; }
.irc-fg97 { color: #e2e2e2; }
.irc-fg98 { color: #fff; }
2017-12-12 19:14:05 +01:00
.irc-bg16 { background-color: #470000; }
.irc-bg17 { background-color: #472100; }
.irc-bg18 { background-color: #474700; }
.irc-bg19 { background-color: #324700; }
.irc-bg20 { background-color: #004700; }
.irc-bg21 { background-color: #00472c; }
.irc-bg22 { background-color: #004747; }
.irc-bg23 { background-color: #002747; }
.irc-bg24 { background-color: #000047; }
.irc-bg25 { background-color: #2e0047; }
.irc-bg26 { background-color: #470047; }
.irc-bg27 { background-color: #47002a; }
.irc-bg28 { background-color: #740000; }
.irc-bg29 { background-color: #743a00; }
.irc-bg30 { background-color: #747400; }
.irc-bg31 { background-color: #517400; }
.irc-bg32 { background-color: #007400; }
.irc-bg33 { background-color: #007449; }
.irc-bg34 { background-color: #007474; }
.irc-bg35 { background-color: #004074; }
.irc-bg36 { background-color: #000074; }
.irc-bg37 { background-color: #4b0074; }
.irc-bg38 { background-color: #740074; }
.irc-bg39 { background-color: #740045; }
.irc-bg40 { background-color: #b50000; }
.irc-bg41 { background-color: #b56300; }
.irc-bg42 { background-color: #b5b500; }
.irc-bg43 { background-color: #7db500; }
.irc-bg44 { background-color: #00b500; }
.irc-bg45 { background-color: #00b571; }
.irc-bg46 { background-color: #00b5b5; }
.irc-bg47 { background-color: #0063b5; }
.irc-bg48 { background-color: #0000b5; }
.irc-bg49 { background-color: #7500b5; }
.irc-bg50 { background-color: #b500b5; }
.irc-bg51 { background-color: #b5006b; }
.irc-bg52 { background-color: #f00; }
2017-12-12 19:14:05 +01:00
.irc-bg53 { background-color: #ff8c00; }
.irc-bg54 { background-color: #ff0; }
2017-12-12 19:14:05 +01:00
.irc-bg55 { background-color: #b2ff00; }
.irc-bg56 { background-color: #0f0; }
2017-12-12 19:14:05 +01:00
.irc-bg57 { background-color: #00ffa0; }
.irc-bg58 { background-color: #0ff; }
2017-12-12 19:14:05 +01:00
.irc-bg59 { background-color: #008cff; }
.irc-bg60 { background-color: #00f; }
2017-12-12 19:14:05 +01:00
.irc-bg61 { background-color: #a500ff; }
.irc-bg62 { background-color: #f0f; }
2017-12-12 19:14:05 +01:00
.irc-bg63 { background-color: #ff0098; }
.irc-bg64 { background-color: #ff5959; }
.irc-bg65 { background-color: #ffb459; }
.irc-bg66 { background-color: #ffff71; }
.irc-bg67 { background-color: #cfff60; }
.irc-bg68 { background-color: #6fff6f; }
.irc-bg69 { background-color: #65ffc9; }
.irc-bg70 { background-color: #6dffff; }
.irc-bg71 { background-color: #59b4ff; }
.irc-bg72 { background-color: #5959ff; }
.irc-bg73 { background-color: #c459ff; }
.irc-bg74 { background-color: #f6f; }
2017-12-12 19:14:05 +01:00
.irc-bg75 { background-color: #ff59bc; }
.irc-bg76 { background-color: #ff9c9c; }
.irc-bg77 { background-color: #ffd39c; }
.irc-bg78 { background-color: #ffff9c; }
.irc-bg79 { background-color: #e2ff9c; }
.irc-bg80 { background-color: #9cff9c; }
.irc-bg81 { background-color: #9cffdb; }
.irc-bg82 { background-color: #9cffff; }
.irc-bg83 { background-color: #9cd3ff; }
.irc-bg84 { background-color: #9c9cff; }
.irc-bg85 { background-color: #dc9cff; }
.irc-bg86 { background-color: #ff9cff; }
.irc-bg87 { background-color: #ff94d3; }
.irc-bg88 { background-color: #000; }
2017-12-12 19:14:05 +01:00
.irc-bg89 { background-color: #131313; }
.irc-bg90 { background-color: #282828; }
.irc-bg91 { background-color: #363636; }
.irc-bg92 { background-color: #4d4d4d; }
.irc-bg93 { background-color: #656565; }
.irc-bg94 { background-color: #818181; }
.irc-bg95 { background-color: #9f9f9f; }
.irc-bg96 { background-color: #bcbcbc; }
.irc-bg97 { background-color: #e2e2e2; }
.irc-bg98 { background-color: #fff; }
2017-12-12 19:14:05 +01:00
.irc-bold {
font-weight: bold;
}
.irc-underline {
text-decoration: underline;
}
.irc-strikethrough {
text-decoration: line-through;
}
.irc-italic {
font-style: italic;
}
.tooltipped::after {
font-size: 12px;
}
2017-05-11 02:17:27 +02:00
@media (min-width: 480px) {
/* Fade out for long usernames */
#chat .from {
padding-left: 10px;
}
#chat .from::after {
2017-05-11 02:17:27 +02:00
position: absolute;
right: 0;
2017-06-22 21:05:13 +02:00
bottom: 0;
2017-05-11 02:17:27 +02:00
width: 10px;
height: 100%;
background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 1) 100%);
2017-05-11 02:17:27 +02:00
content: " ";
}
/* End fade out for long usernames */
}
2014-08-15 15:52:14 +02:00
@media (max-width: 768px) {
/**
* TODO Replace this with `@media (hover: hover)` when Firefox supports it
* See:
* - http://stackoverflow.com/a/28058919/1935861
* - http://caniuse.com/#feat=css-media-interaction
* - https://www.w3.org/TR/mediaqueries-4/
* - https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover
*/
.tooltipped-no-touch:hover::before,
.tooltipped-no-touch:hover::after {
visibility: hidden;
opacity: 0;
}
.container {
margin-top: 60px !important;
}
#sidebar button,
#sidebar .chan,
#sidebar .sign-out,
#sidebar .empty,
#windows label,
#windows .header .topic,
#settings .error,
#help .help-item,
#loading,
#context-menu,
#form #input,
.textcomplete-menu,
.messages .msg {
font-size: 15px;
}
#viewport {
height: 100%;
transition: transform 160ms, -webkit-transform 160ms;
-webkit-transform: translateZ(0);
transform: translateZ(0);
}
#viewport.menu-open {
-webkit-transform: translate3d(220px, 0, 0);
transform: translate3d(220px, 0, 0);
}
#viewport.menu-dragging {
transition: none !important;
}
#viewport.menu-open .messages {
pointer-events: none;
}
#sidebar,
2014-09-20 01:12:17 +02:00
#footer {
left: -220px;
2014-09-20 01:12:17 +02:00
}
#sidebar .empty::before {
2014-08-15 15:52:14 +02:00
margin-top: 0;
}
2014-08-15 15:52:14 +02:00
#main {
left: 0;
2014-08-15 15:52:14 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .chat {
right: 0;
}
2014-09-10 23:43:56 +02:00
#viewport .lt,
#viewport .channel .rt {
2014-08-15 15:52:14 +02:00
display: block;
}
#windows .window .header {
display: block;
}
#chat .channel .chat {
right: 0;
}
2014-08-15 15:52:14 +02:00
#chat .sidebar {
right: -180px;
}
#viewport.rt #chat .sidebar {
right: 0;
2016-06-12 04:16:17 +02:00
}
#chat .title::before {
display: none;
2016-06-12 04:16:17 +02:00
}
}
@media (max-width: 479px) {
2014-09-10 17:56:19 +02:00
.container {
2017-10-18 22:00:18 +02:00
margin: 10px 0 !important;
}
#connect .tls {
margin: 20px 0;
}
#windows .input {
margin-bottom: 2px;
2014-09-10 17:56:19 +02:00
}
2014-08-15 15:52:14 +02:00
#chat .messages {
display: block;
padding: 5px 10px;
}
2014-08-15 15:52:14 +02:00
#chat .msg {
display: block;
padding: 2px 0;
}
#chat .time,
2014-08-15 15:52:14 +02:00
#chat .from,
#chat .content {
2014-08-15 15:52:14 +02:00
border: 0;
display: inline;
padding: 0;
}
2016-05-13 12:23:05 +02:00
#chat .condensed-summary .time,
#chat .condensed-summary .from {
display: none;
}
#chat .date-marker,
2016-07-04 23:57:49 +02:00
#chat .unread-marker {
margin: 0;
2016-05-13 12:23:05 +02:00
}
#help .help-item .subject {
display: inline-block;
padding-bottom: 4px;
}
#help .help-item .description {
display: block;
}
2014-08-15 15:52:14 +02:00
}
2014-09-15 19:41:23 +02:00
2016-01-18 18:49:23 +01:00
::-webkit-scrollbar {
width: 8px;
background-color: rgba(0, 0, 0, 0);
2016-01-18 18:49:23 +01:00
}
2016-01-18 18:49:23 +01:00
::-webkit-scrollbar:hover {
background-color: rgba(0, 0, 0, 0.09);
2016-01-18 18:49:23 +01:00
}
2016-01-18 18:49:23 +01:00
::-webkit-scrollbar-thumb:vertical {
background: rgba(0, 0, 0, 0.5);
2016-01-18 18:49:23 +01:00
border-radius: 100px;
}
::-webkit-scrollbar-thumb:vertical:active {
background: rgba(0, 0, 0, 0.6);
}
/* Image viewer */
#image-viewer,
#image-viewer .close-btn {
/* Vertically and horizontally center stuff */
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#image-viewer {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: black;
visibility: hidden;
opacity: 0;
transition: opacity 0.2s, visibility 0.2s;
z-index: 999;
}
#image-viewer.opened {
visibility: visible;
opacity: 1;
}
#image-viewer .close-btn,
#image-viewer .previous-image-btn,
#image-viewer .next-image-btn {
position: fixed;
top: 0;
width: 2em;
font-size: 36px;
color: white;
opacity: 0.6;
transition: 0.2s opacity;
}
#image-viewer .close-btn {
right: 0;
height: 2em;
z-index: 1002;
}
#image-viewer .close-btn::before {
content: "×";
}
#image-viewer .previous-image-btn,
#image-viewer .next-image-btn {
bottom: 0;
z-index: 1001;
}
#image-viewer .previous-image-btn {
left: 0;
}
#image-viewer .next-image-btn {
right: 0;
}
#image-viewer .close-btn:hover,
#image-viewer .previous-image-btn:hover,
#image-viewer .next-image-btn:hover {
opacity: 1;
}
#image-viewer .image-link {
margin: 10px;
}
#image-viewer .image-link:hover {
opacity: 1;
}
#image-viewer .image-link img {
max-width: 100%;
/* Top/Bottom margins + button height + image/button margin */
max-height: calc(100vh - 2 * 10px - 37px - 10px);
/* Checkered background for transparent images */
background-position: 0 0, 10px 10px;
background-size: 20px 20px;
background-image:
linear-gradient(45deg, #eee 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, #eee 75%, #eee 100%),
linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%);
}
#image-viewer .open-btn {
margin: 0 auto 10px;
}
/* Correctly handle multiple successive whitespace characters.
For example: user has quit ( ===> L O L <=== ) */
#windows .header .topic,
#chat .message .text,
#chat .motd .text,
#chat .notice .text,
#chat .ctcp-message,
#chat .part-reason,
#chat .quit-reason,
#chat .new-topic,
#chat .action .text,
#chat table.channel-list .topic {
white-space: pre-wrap;
}