942 lines
20 KiB
CSS
942 lines
20 KiB
CSS
:root {
|
|
--color-twitter-text-gray: #536171;
|
|
--color-twitter-blue: #1b95e0; /* hsl(203, 78%, 49%) */
|
|
--color-twitter-blue-light: #7cc5f6; /* hsl(204, 87%, 73%) */
|
|
--color-twitter-blue-extra-light: hsl(204, 95%, 92%);
|
|
--color-twitter-off-white: #f7f9f9; /* hsl(180, 14%, 97%) */
|
|
--color-twitter-off-white-dark: #dae5e5; /* hsl(180, 17%, 88%) */
|
|
--color-outline-gray: #dcdcdc;
|
|
--color-twitter-text-gray: #536471;
|
|
|
|
--color-twitter-danger-red: #f4212e; /* hsl(356, 91%, 54%) */
|
|
--color-twitter-danger-red2: #de1b28; /* hsl(356, 78%, 49%) */
|
|
--color-twitter-danger-red2-light: #f67e86; /* hsl(356, 87%, 73%) */
|
|
--color-twitter-danger-red2-hover: #f2a6aa; /* hsl(357, 75%, 80%);*/
|
|
--color-space-purple: #a49bfd;
|
|
--color-space-purple-outline: #6452fc;
|
|
/*
|
|
const QColor COLOR_OUTLINE_GRAY = QColor(220, 220, 220);
|
|
const QColor COLOR_TWITTER_BLUE = QColor(27, 149, 224);
|
|
const QColor COLOR_TWITTER_BLUE_LIGHT = QColor(124,197,246);
|
|
const QColor COLOR_TWITTER_OFF_WHITE = QColor(247,249,249);
|
|
const QColor COLOR_TWITTER_OFF_WHITE_DARK = QColor(218,229,229);
|
|
const QColor COLOR_TWITTER_TEXT_GRAY = QColor(83, 100, 113);
|
|
|
|
const QColor COLOR_BACKGROUND_GREEN = QColor(40, 205, 50);
|
|
|
|
const QColor COLOR_RED = QColor(255, 0, 0);
|
|
|
|
const QColor COLOR_SPACE_PURPLE = QColor(164, 155, 253);
|
|
const QColor COLOR_SPACE_PURPLE_OUTLINE = QColor(100, 82, 252);
|
|
*/
|
|
}
|
|
|
|
html {
|
|
/* Force scrollbar, even when it fits on 1 page. Prevents viewport from resizing -> flickering / stuff moving btw page loads */
|
|
overflow-y: scroll;
|
|
}
|
|
body {
|
|
margin: 0 30%;
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-right-style: solid;
|
|
border-left-style: solid;
|
|
border-width: 1px;
|
|
min-height: 100vh;
|
|
|
|
font-family: "Titillium Web";
|
|
}
|
|
main {
|
|
padding-top: 4em;
|
|
}
|
|
input, select {
|
|
font-family: inherit;
|
|
font-size: 1em;
|
|
padding: 0.2em 0.6em;
|
|
box-sizing: border-box;
|
|
border-radius: 0.5em;
|
|
}
|
|
|
|
h1 {
|
|
margin: 0.5em 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.server-error-msg {
|
|
position: fixed;
|
|
margin: 6em 0;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: 1;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
}
|
|
.server-error-msg .error-msg-container {
|
|
width: 30%;
|
|
background-color: #fee;
|
|
border: 1px solid red;
|
|
border-radius: 1em;
|
|
padding: 1em;
|
|
color: red;
|
|
text-align: center;
|
|
}
|
|
|
|
ul.inline-dotted-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
}
|
|
ul.inline-dotted-list li {
|
|
display: inline;
|
|
}
|
|
ul.inline-dotted-list li:after {
|
|
content: " ⋅";
|
|
}
|
|
ul.inline-dotted-list li:last-child:after {
|
|
content: "";
|
|
}
|
|
|
|
.tweet {
|
|
padding: 0 1.5em;
|
|
position: relative;
|
|
z-index: 0; /* Dunno why, but without it, hovering a tweet with a Poll hides the poll fill bars */
|
|
}
|
|
:not(#focused-tweet) > .tweet:hover:not(:has(.tweet:hover)) {
|
|
background-color: var(--color-twitter-off-white);
|
|
}
|
|
:not(#focused-tweet) > .tweet {
|
|
cursor: pointer;
|
|
}
|
|
.htmx-spinner-container {
|
|
display: none;
|
|
z-index: 2; /* On top of the search bar, which is z-index of 1 */
|
|
}
|
|
.htmx-request > .htmx-spinner-container {
|
|
display: revert;
|
|
font-size: 3em;
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.htmx-spinner-container .htmx-spinner-background {
|
|
opacity: 0.3;
|
|
background-color: #7cc5f6;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
.htmx-spinner-container .htmx-spinner {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%,-50%);
|
|
|
|
/* https://codepen.io/sosuke/pen/Pjoqqp */
|
|
filter: invert(54%) sepia(17%) saturate(4210%) hue-rotate(176deg) brightness(89%) contrast(98%);
|
|
}
|
|
|
|
.quoted-tweet {
|
|
margin: 1em 0;
|
|
}
|
|
|
|
.rounded-gray-outline {
|
|
outline-color: lightgray;
|
|
outline-style: solid;
|
|
outline-width: 1px;
|
|
}
|
|
.rounded-gray-outline, .rounded-gray-outline > .tweet {
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.profile-banner-image {
|
|
width: 100%;
|
|
}
|
|
|
|
.unstyled-link {
|
|
text-decoration: none;
|
|
color: inherit;
|
|
}
|
|
|
|
.author-info {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.author-info a {
|
|
line-height: 0;
|
|
}
|
|
|
|
.author-info, .tweet .text {
|
|
cursor: default;
|
|
}
|
|
|
|
.circle-outline {
|
|
display: flex;
|
|
border-radius: 50%;
|
|
outline: 1px solid #777;
|
|
margin: 0 0.4em;
|
|
font-size: 0.8em;
|
|
padding: 0.2em;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.name-and-handle {
|
|
padding: 0 0.6em !important; /* !important to make the ".quick-link .span" rule in the login button not overrule it */
|
|
}
|
|
|
|
.display-name {
|
|
font-weight: bold;
|
|
white-space: nowrap;
|
|
}
|
|
.handle {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
|
|
.tweet-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.reply-mentions-container {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: default;
|
|
flex-grow: 1;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
.reply-mentions {
|
|
padding: 0 0.5em;
|
|
}
|
|
|
|
.replying-to-label {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
a.entity {
|
|
text-decoration: none;
|
|
color: var(--color-twitter-blue);
|
|
}
|
|
|
|
.tweet .text, .dm-message-text-container .text {
|
|
display: block;
|
|
margin-bottom: 0.4em;
|
|
margin-top: 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.dm-message-text-container .text:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
#focused-tweet .text {
|
|
font-size: 1.4em;
|
|
}
|
|
#focused-tweet .quoted-tweet .text {
|
|
font-size: unset;
|
|
}
|
|
.tweet-content video {
|
|
max-width: 100%;
|
|
max-height: 40em;
|
|
}
|
|
.embedded-link {
|
|
padding: 1.3em;
|
|
margin-top: 1em;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--color-twitter-off-white);
|
|
}
|
|
img.embedded-link-preview {
|
|
border-radius: 1em;
|
|
max-width: 100%;
|
|
}
|
|
.embedded-link-description {
|
|
color: var(--color-twitter-text-gray);
|
|
font-size: 0.8em;
|
|
margin: 0;
|
|
}
|
|
h3 {
|
|
margin: 0.5em 0;
|
|
}
|
|
.embedded-link-domain-container {
|
|
margin-top: 0.2em
|
|
}
|
|
.embedded-link-domain {
|
|
margin-left: 0.3em;
|
|
}
|
|
.thread-parent-tweet:first-child, #focused-tweet:first-child {
|
|
padding-top: 1em;
|
|
}
|
|
.thread-parent-tweet .vertical-reply-line-container,
|
|
.reply-chain .vertical-reply-line-container {
|
|
width: 3em;
|
|
margin-right: 0.5em;
|
|
}
|
|
.thread-parent-tweet .vertical-reply-line:not(.quoted-tweet .vertical-reply-line),
|
|
.reply-chain > :not(:last-child) .vertical-reply-line:not(.quoted-tweet .vertical-reply-line) {
|
|
width: 2px;
|
|
background-color: var(--color-twitter-off-white-dark);
|
|
flex-grow: 1;
|
|
margin: auto;
|
|
}
|
|
|
|
.profile-image {
|
|
border-radius: 50%;
|
|
width: 3em;
|
|
height: 3em;
|
|
display: inline;
|
|
border: 0.1em solid var(--color-outline-gray);
|
|
}
|
|
|
|
.user-header {
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
}
|
|
.user-header .author-info {
|
|
font-size: 1.3em;
|
|
padding: 1em;
|
|
}
|
|
.user-header .profile-image {
|
|
width: 8em;
|
|
height: 8em;
|
|
}
|
|
.tabs-container {
|
|
outline: 1px solid var(--color-outline-gray);
|
|
}
|
|
.tabs-container a.tab {
|
|
flex-grow: 1;
|
|
text-align: center;
|
|
font-size: 1.1em;
|
|
font-weight: bold;
|
|
color: var(--color-twitter-text-gray);
|
|
padding: 0.8em;
|
|
}
|
|
.tabs-container a.tab.active-tab {
|
|
color: var(--color-twitter-blue);
|
|
border-bottom: 0.2em solid var(--color-twitter-blue);
|
|
}
|
|
.tabs-container a.tab:hover {
|
|
color: var(--color-twitter-blue);
|
|
}
|
|
|
|
.row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.row.spread {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.vertical-reply-line-container {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-self: stretch;
|
|
width: 1em; /* will be overridden by, e.g., parent-thread properties */
|
|
}
|
|
.vertical-container-1 {
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
}
|
|
|
|
.posted-at-container {
|
|
flex-grow: 1;
|
|
min-width: 5em;
|
|
}
|
|
p.posted-at {
|
|
float: right;
|
|
color: var(--color-twitter-text-gray);
|
|
font-size: 0.875em;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.interactions-bar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
margin: 0.5em 0;
|
|
}
|
|
.interaction-stat {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
}
|
|
.interaction-stat span {
|
|
line-height: 1.5em;
|
|
padding: 0 0.5em;
|
|
}
|
|
.interactions-bar .dummy {
|
|
flex-grow: 5;
|
|
}
|
|
|
|
#focused-tweet {
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
padding-bottom: 0.5em;
|
|
}
|
|
|
|
|
|
.reply-chain {
|
|
margin-top: 1em;
|
|
}
|
|
.reply-chain > :last-child {
|
|
padding-bottom: 1em;
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
}
|
|
.nav-sidebar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: fixed;
|
|
transform: translate(-100%, 0);
|
|
font-size: 1.4em;
|
|
}
|
|
ul.quick-links {
|
|
display: flex;
|
|
flex-direction: column;
|
|
list-style: none;
|
|
align-items: flex-start;
|
|
padding: 0 2em;
|
|
}
|
|
.quick-link {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
padding: 0.5em;
|
|
margin: 0.2em;
|
|
border-radius: 100em; /* any large amount, just don't use % because then it makes an ellipse */
|
|
cursor: pointer;
|
|
}
|
|
.quick-link:hover {
|
|
background-color: var(--color-twitter-blue-light);
|
|
}
|
|
.quick-link:active {
|
|
transform: translate(0.1em, 0.1em);
|
|
background-color: var(--color-twitter-blue);
|
|
}
|
|
/* TODO: "quick-link" is really more of a button */
|
|
.quick-link.danger {
|
|
background-color: var(--color-twitter-danger-red2);
|
|
}
|
|
.quick-link.danger:hover {
|
|
background-color: var(--color-twitter-danger-red2-light);
|
|
}
|
|
.quick-link.danger:active {
|
|
background-color: var(--color-twitter-danger-red2);
|
|
}
|
|
|
|
.quick-link span {
|
|
padding: 0 0.3em;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.followers-count, .following-count {
|
|
font-weight: bold;
|
|
}
|
|
.followers-label, .following-label {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
.bio-info-with-icon {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 0.3em;
|
|
}
|
|
.user-header-info-container {
|
|
padding: 2em;
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
}
|
|
.timeline .tweet, .quoted-tweet .tweet {
|
|
padding-top: 0.8em;
|
|
padding-bottom: 0.8em;
|
|
}
|
|
.timeline > .tweet {
|
|
/* not for nested (i.e., quoted) tweets */
|
|
border-bottom: 1px solid var(--color-twitter-off-white-dark);
|
|
}
|
|
|
|
.timeline .timeline-bottom-container {
|
|
text-align: center;
|
|
font-size: 1.2em;
|
|
padding: 1em 0;
|
|
}
|
|
.timeline .timeline-bottom-container .eof-indicator {
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
.timeline .timeline-bottom-container .show-more {
|
|
padding: 0em 0.8em;
|
|
display: inline-block;
|
|
border: 2px solid var(--color-twitter-blue);
|
|
color: var(--color-twitter-text-gray);
|
|
font-size: 0.9em;
|
|
}
|
|
.timeline .timeline-bottom-container .show-more:not(:hover):not(:active) {
|
|
background-color: var(--color-twitter-blue-extra-light);
|
|
}
|
|
|
|
.top-bar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
height: 4em;
|
|
padding: 0.5em 1em;
|
|
gap: 1em;
|
|
border: 1px solid var(--color-outline-gray);
|
|
position: fixed;
|
|
background-color: white;
|
|
width: 40%;
|
|
left: 30%;
|
|
box-sizing: border-box;
|
|
z-index: 1;
|
|
}
|
|
|
|
.back-button {
|
|
flex-grow: 0;
|
|
border-radius: 50%;
|
|
border: 2px solid black;
|
|
width: 2em;
|
|
position: relative;
|
|
height: 2em;
|
|
box-sizing: border-box;
|
|
cursor: pointer;
|
|
}
|
|
|
|
img.svg-icon {
|
|
width: 1.5em;
|
|
height: auto;
|
|
}
|
|
|
|
svg {
|
|
width: 1.5em;
|
|
}
|
|
.back-button img {
|
|
color: rgb(239, 243, 244);
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
.top-bar form {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
}
|
|
#search-bar {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.login {
|
|
width: 60%;
|
|
margin: 20% auto;
|
|
}
|
|
.login-form input {
|
|
width: 100%;
|
|
border-radius: 0.5em;
|
|
|
|
padding: 0.5em 0.6em;
|
|
}
|
|
.login-form .error {
|
|
color: #C0392B;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.login-form .error + input {
|
|
border-color: #C0392B;
|
|
border-width: 2px;
|
|
}
|
|
|
|
.field-container {
|
|
padding: 0.5em 0;
|
|
}
|
|
.submit-container {
|
|
text-align: right;
|
|
}
|
|
input[type="submit"] {
|
|
background-color: var(--color-twitter-blue-light);
|
|
width: 10em;
|
|
padding: 1em;
|
|
border-radius: 1em;
|
|
font-size: 1em;
|
|
cursor: pointer;
|
|
}
|
|
.change-session-form select {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
#logged-in-user-info {
|
|
font-size: 0.8em;
|
|
margin-top: 1em;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.quick-link .author-info {
|
|
pointer-events: none;
|
|
}
|
|
.retweet-info-container {
|
|
margin-left: 3.5em;
|
|
display: flex;
|
|
align-items: center;
|
|
opacity: 0.8;
|
|
}
|
|
.retweet-info-container .svg-icon {
|
|
width: 1.2em; /* override default from .svg-icon of 1.5em */
|
|
opacity: 0.6;
|
|
margin-right: 0.3em;
|
|
}
|
|
.retweeted-by-label {
|
|
margin: 0 0.2em;
|
|
}
|
|
|
|
.user-bio {
|
|
margin: 1.5em 0;
|
|
}
|
|
|
|
.followers-followees-container {
|
|
margin-top: 1em;
|
|
gap: 4em;
|
|
}
|
|
.followers-followees-container .spacer {
|
|
flex-grow: 1;
|
|
}
|
|
.user-feed-buttons-container, .tweet-buttons-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.tweet-buttons-container .quick-link {
|
|
margin: 0;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.poll {
|
|
padding: 1em;
|
|
}
|
|
.poll-choice {
|
|
position: relative;
|
|
margin: 0.3em 0;
|
|
}
|
|
.poll-fill-bar {
|
|
position: absolute;
|
|
height: 100%;
|
|
z-index: -1;
|
|
background-color: var(--color-twitter-off-white-dark);
|
|
}
|
|
.poll-fill-bar.poll-winner {
|
|
background-color: var(--color-twitter-blue-light);
|
|
}
|
|
.poll-info-container {
|
|
width: 100%;
|
|
line-height: 2em;
|
|
margin: 0 0.5em;
|
|
}
|
|
.poll-choice-label {
|
|
width: 50%;
|
|
}
|
|
.poll-choice-votes {
|
|
width: 50%;
|
|
}
|
|
.poll-metadata {
|
|
color: var(--color-twitter-text-gray);
|
|
margin: 0;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.space {
|
|
outline: 1px solid var(--color-space-purple-outline);
|
|
background-color: var(--color-space-purple);
|
|
border-radius: 1.5em;
|
|
padding: 1.5em;
|
|
}
|
|
.space-title {
|
|
padding-top: 0.5em;
|
|
}
|
|
.space .host-label {
|
|
color: var(--color-space-purple-outline);
|
|
}
|
|
.space-date {
|
|
color: var(--color-space-purple-outline);
|
|
font-size: 0.8em;
|
|
}
|
|
.space-info-list {
|
|
padding: 0;
|
|
}
|
|
.space .layout-spacer {
|
|
flex-grow: 1;
|
|
}
|
|
ul.space-participants-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
ul.space-participants-list li {
|
|
padding: 0.5em 0;
|
|
display: inline-block;
|
|
width: 24%;
|
|
}
|
|
.space-participants-list .author-info {
|
|
font-size: 0.9em;
|
|
line-height: 1.2em;
|
|
}
|
|
.space-participants-list .author-info .profile-image {
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.tombstone {
|
|
outline: 1px solid var(--color-outline-gray);
|
|
background-color: var(--color-twitter-off-white);
|
|
padding: 0.5em 1em;
|
|
border-radius: 0.5em;
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
.tweet-image {
|
|
max-width: 95%;
|
|
max-height: 30em;
|
|
width: auto;
|
|
height: auto;
|
|
}
|
|
.tweet video {
|
|
max-height: 25em;
|
|
}
|
|
.like-icon {
|
|
cursor: pointer;
|
|
}
|
|
.like-icon.liked, .like-icon:hover {
|
|
filter: invert(20%) sepia(97%) saturate(4383%) hue-rotate(321deg) brightness(101%) contrast(95%);
|
|
}
|
|
|
|
.users-list-previews {
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-top-style: double;
|
|
border-width: 4px;
|
|
}
|
|
|
|
.users-list-preview {
|
|
padding: 0.5em 1em;
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-bottom-style: solid;
|
|
border-width: 1px;
|
|
}
|
|
.users-list-preview .list-info-container{
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 1.5em;
|
|
cursor: pointer;
|
|
}
|
|
.users-list-preview .list-info-container span.num-users {
|
|
margin-left: 1em;
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
.users-list-preview .list-info-container .first-N-profile-images {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
margin-left: 1.5em;
|
|
}
|
|
.users-list-preview .list-info-container .first-N-profile-images a {
|
|
margin-right: -1.2em;
|
|
line-height: 0; /* TODO: This is duplicated from `.author-info a` and possibly others */
|
|
}
|
|
|
|
.users-list-preview .list-info-container .first-N-profile-images .ellipsis {
|
|
margin-left: 1.5em;
|
|
}
|
|
|
|
.users-list-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-top-style: double;
|
|
border-width: 4px;
|
|
}
|
|
.users-list-container .author-info .profile-image {
|
|
width: 4em;
|
|
height: 4em;
|
|
}
|
|
.users-list-container .user {
|
|
border-color: var(--color-twitter-off-white-dark);
|
|
border-bottom-style: solid;
|
|
border-width: 1px;
|
|
padding: 1em;
|
|
}
|
|
.users-list-container .user p.bio {
|
|
margin: 0 5.3em;
|
|
font-size: 0.9em;
|
|
color: var(--color-twitter-text-gray);
|
|
}
|
|
|
|
.add-users-container {
|
|
padding: 1em;
|
|
text-align: center;
|
|
}
|
|
|
|
.sort-order-container {
|
|
padding: 1em 1em 1em 3em;
|
|
margin-bottom: -0.5em;
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
}
|
|
.sort-order-container select {
|
|
text-transform: capitalize;
|
|
margin: 0 1em;
|
|
}
|
|
.sort-order-container .sort-order-label {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.chats-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
|
|
/** Setup to allow the two panes to scroll independently **/
|
|
height: 100vh;
|
|
padding-top: 4em;
|
|
margin-top: -4em;
|
|
box-sizing: border-box;
|
|
}
|
|
.chats-container .chat-list {
|
|
flex-basis: 0;
|
|
flex-grow: 4;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: scroll;
|
|
}
|
|
.chats-container .chat-list .chat {
|
|
border-bottom: 1px solid var(--color-outline-gray);
|
|
padding: 1em 1em 0 1em;
|
|
box-sizing: border-box;
|
|
cursor: pointer;
|
|
}
|
|
.chats-container .chat-list .chat.active-chat {
|
|
color: var(--color-twitter-blue);
|
|
border-left: 0.2em solid var(--color-twitter-blue);
|
|
background-color: var(--color-twitter-off-white);
|
|
}
|
|
.chats-container .chat-list .chat.active-chat .profile-image{
|
|
box-shadow: 0 0 1em 0em var(--color-twitter-blue);
|
|
}
|
|
.chats-container .chat-list .chat .chat-preview-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.chats-container .chat-list .chat .chat-preview-header .posted-at {
|
|
margin: 0;
|
|
}
|
|
.chats-container .chat-list .chat .groupchat-profile-image-container {
|
|
display: flex;
|
|
}
|
|
.chats-container .chat-list .chat .groupchat-profile-image-container .display-name {
|
|
padding: 0.6em;
|
|
font-style: italic;
|
|
}
|
|
.chats-container .chat-list .chat .chat-preview {
|
|
font-size: 0.9em;
|
|
color: var(--color-twitter-text-gray);
|
|
padding: 0 1em;
|
|
border-left: 1px solid var(--color-outline-gray);
|
|
}
|
|
.chats-container #chat-view {
|
|
flex-basis: 0;
|
|
flex-grow: 7;
|
|
border-left: 1px solid var(--color-outline-gray);
|
|
padding: 0.5em;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.chats-container #chat-view .chat-messages {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.chats-container #chat-view .our-message {
|
|
align-items: flex-end;
|
|
}
|
|
.dm-message-and-reacts-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin: 1em 0;
|
|
}
|
|
.dm-message-text-container {
|
|
display: inline-block;
|
|
padding: 1em;
|
|
background-color: #ddd;
|
|
border-radius: 1em;
|
|
margin: 0;
|
|
}
|
|
.our-message .dm-message-text-container {
|
|
background-color: var(--color-twitter-blue-light);
|
|
}
|
|
.sender-profile-image-container {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
}
|
|
.sender-profile-image-container a {
|
|
line-height: 0; /* TODO: This is redundant with ".author-info a" rule above */
|
|
}
|
|
.dm-message-container {
|
|
display: flex;
|
|
align-items: stretch;
|
|
gap: 0.5em;
|
|
}
|
|
.our-message .dm-message-container {
|
|
flex-direction: row-reverse;
|
|
}
|
|
.dm-message-reactions {
|
|
display: flex;
|
|
padding: 0 4em;
|
|
cursor: default;
|
|
}
|
|
.our-message .dm-message-reactions {
|
|
flex-direction: row-reverse;
|
|
}
|
|
.dm-message-and-reacts-container p.posted-at {
|
|
margin: 0 4.5em;
|
|
}
|
|
.dm-message-content-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
max-width: 80%;
|
|
}
|
|
.our-message .dm-message-content-container {
|
|
align-items: flex-end;
|
|
}
|
|
.dm-message-content-container .tweet-preview {
|
|
border-radius: 1em;
|
|
border: 1px solid var(--color-outline-gray);
|
|
max-width: 100%;
|
|
}
|
|
.dm-message-content-container .replying-to-container {
|
|
background-color: #f0f0f0f0;
|
|
border-radius: 1em 1em 1em 0em;
|
|
padding: 0.5em 1.2em 2em 1.2em;
|
|
margin: 0 0 -2em 0.2em;
|
|
font-size: 0.9em;
|
|
}
|
|
.our-message .dm-message-content-container .replying-to-container {
|
|
border-radius: 1em 1em 0em 1em;
|
|
margin: 0 0.2em -2em;
|
|
}
|
|
.dm-message-content-container .replying-to-label {
|
|
font-size: 0.8em;
|
|
display: flex;
|
|
gap: 0.2em;
|
|
}
|
|
.dm-message-content-container .replying-to-label img.svg-icon {
|
|
width: 1em;
|
|
}
|
|
.dm-composer-container {
|
|
padding-top: 0.5em;
|
|
border-top: 1px solid var(--color-outline-gray);
|
|
/* position: absolute;
|
|
bottom: 1em;
|
|
right: 0.5em;
|
|
left: 0.5em;*/
|
|
}
|
|
.dm-composer-container form {
|
|
display: flex;
|
|
}
|
|
#composer {
|
|
flex-grow: 1;
|
|
border: 1px solid #ccc;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
padding: 1px 6px;
|
|
max-height: 10em;
|
|
overflow-y: auto; /* scrollbar only if needed */
|
|
}
|