mirror of
https://github.com/cheeaun/phanpy.git
synced 2024-12-23 19:00:15 +03:00
420 lines
8.3 KiB
CSS
420 lines
8.3 KiB
CSS
|
/* REBLOG + REPLY-TO */
|
||
|
|
||
|
.status-reblog {
|
||
|
background: linear-gradient(to bottom right, var(
|
||
|
--reblog-faded-color
|
||
|
), transparent 160px);
|
||
|
}
|
||
|
.status-reply-to {
|
||
|
background: linear-gradient(to bottom right, var(
|
||
|
--reply-to-faded-color
|
||
|
), transparent 160px);
|
||
|
}
|
||
|
.status-reblog .status-reply-to {
|
||
|
background: linear-gradient(to top left, var(
|
||
|
--reply-to-faded-color
|
||
|
), transparent 160px);
|
||
|
}
|
||
|
|
||
|
/* STATUS PRE META */
|
||
|
|
||
|
.status-pre-meta {
|
||
|
line-height: 1.5;
|
||
|
padding: 8px 16px 0;
|
||
|
opacity: 0.75;
|
||
|
font-size: smaller;
|
||
|
vertical-align: middle;
|
||
|
}
|
||
|
.status-pre-meta .icon {
|
||
|
color: var(--reblog-color);
|
||
|
vertical-align: middle;
|
||
|
margin-right: 4px;
|
||
|
}
|
||
|
|
||
|
/* STATUS */
|
||
|
|
||
|
.status {
|
||
|
display: flex;
|
||
|
padding: 16px 16px 20px;
|
||
|
line-height: 1.5;
|
||
|
align-items: flex-start;
|
||
|
}
|
||
|
.status.large {
|
||
|
padding-bottom: 8px;
|
||
|
}
|
||
|
.status-pre-meta + .status {
|
||
|
padding-top: 8px;
|
||
|
}
|
||
|
.status.small {
|
||
|
font-size: 95%;
|
||
|
}
|
||
|
.status.skeleton {
|
||
|
color: var(--outline-color);
|
||
|
}
|
||
|
|
||
|
.status.skeleton > .avatar {
|
||
|
background-color: var(--outline-color);
|
||
|
}
|
||
|
.indirect .status {
|
||
|
padding-left: 57px;
|
||
|
}
|
||
|
.indirect .status > .avatar {
|
||
|
width: 25px !important;
|
||
|
height: 25px !important;
|
||
|
}
|
||
|
|
||
|
.status:not(.small) .container {
|
||
|
padding-left: 16px;
|
||
|
flex-grow: 1;
|
||
|
min-width: 0;
|
||
|
}
|
||
|
|
||
|
.status.large > .container > .meta {
|
||
|
display: flex;
|
||
|
gap: 8px;
|
||
|
min-height: 50px;
|
||
|
justify-content: space-between;
|
||
|
}
|
||
|
.status > .container > .meta .arrow {
|
||
|
color: var(--reply-to-color);
|
||
|
vertical-align: middle;
|
||
|
}
|
||
|
.status > .container > .meta .time {
|
||
|
color: inherit;
|
||
|
text-align: end;
|
||
|
opacity: 0.5;
|
||
|
text-decoration: none;
|
||
|
flex-shrink: 0;
|
||
|
margin-left: 4px;
|
||
|
white-space: nowrap;
|
||
|
}
|
||
|
.status > .container > .meta a.time:hover {
|
||
|
text-decoration: underline;
|
||
|
}
|
||
|
.status > .container > .meta .reply-to {
|
||
|
opacity: 0.5;
|
||
|
font-size: smaller;
|
||
|
}
|
||
|
|
||
|
.status.large .content-container {
|
||
|
margin-left: calc(-50px - 16px);
|
||
|
background-image: linear-gradient(to bottom, transparent, var(--bg-color) 10px, var(--bg-color));
|
||
|
padding-top: 10px;
|
||
|
padding-bottom: 10px;
|
||
|
}
|
||
|
|
||
|
.status .content-container.has-spoiler .spoiler {
|
||
|
margin: 8px 0;
|
||
|
font-size: 90%;
|
||
|
outline: 1px dashed var(--button-bg-color);
|
||
|
display: flex;
|
||
|
gap: 8px;
|
||
|
align-items: center;
|
||
|
}
|
||
|
.status .content-container.has-spoiler .spoiler ~ * {
|
||
|
filter: blur(6px) invert(.5);
|
||
|
pointer-events: none;
|
||
|
transition: filter .5s;
|
||
|
user-select: none;
|
||
|
}
|
||
|
.status .content-container.has-spoiler .spoiler ~ .content ~ * {
|
||
|
opacity: .5;
|
||
|
}
|
||
|
.status .content-container.show-spoiler .spoiler {
|
||
|
outline-style: dotted;
|
||
|
}
|
||
|
.status .content-container.show-spoiler .spoiler ~ * {
|
||
|
filter: none;
|
||
|
pointer-events: auto;
|
||
|
user-select: auto;
|
||
|
}
|
||
|
.status .content-container.has-spoiler .spoiler ~ .content ~ * {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
|
||
|
.status .content {
|
||
|
margin-top: 8px;
|
||
|
}
|
||
|
.status .content p {
|
||
|
margin-block: .75em;
|
||
|
}
|
||
|
.status .content p:first-child {
|
||
|
margin-block-start: 0;
|
||
|
}
|
||
|
.status .content p:last-child {
|
||
|
margin-block-end: 0;
|
||
|
}
|
||
|
.status .content .invisible {
|
||
|
display: none;
|
||
|
}
|
||
|
.status .content .ellipsis::after {
|
||
|
content: '…';
|
||
|
}
|
||
|
.status.large .content {
|
||
|
font-size: 150%;
|
||
|
}
|
||
|
.status.large .poll,
|
||
|
.status.large .actions {
|
||
|
font-size: 125%;
|
||
|
}
|
||
|
|
||
|
/* MEDIA */
|
||
|
|
||
|
.status .media-container {
|
||
|
margin-top: 8px;
|
||
|
display: flex;
|
||
|
flex-wrap: wrap;
|
||
|
gap: 8px;
|
||
|
flex-direction: row;
|
||
|
}
|
||
|
.status .media {
|
||
|
flex-grow: 1;
|
||
|
flex-basis: calc(50% - 8px);
|
||
|
border-radius: 8px;
|
||
|
overflow: hidden;
|
||
|
max-height: 160px;
|
||
|
outline: 1px solid var(--outline-color);
|
||
|
}
|
||
|
.status .media:hover {
|
||
|
outline-color: var(--outline-hover-color);
|
||
|
}
|
||
|
.status .media.block {
|
||
|
flex-basis: 100%;
|
||
|
max-height: auto;
|
||
|
}
|
||
|
.status .media :is(img, video) {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
object-fit: cover;
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
@keyframes position-object {
|
||
|
0% {
|
||
|
object-position: 50% 50%;
|
||
|
}
|
||
|
25% {
|
||
|
object-position: 0% 0%;
|
||
|
}
|
||
|
75% {
|
||
|
object-position: 100% 100%;
|
||
|
}
|
||
|
100% {
|
||
|
object-position: 50% 50%;
|
||
|
}
|
||
|
}
|
||
|
.status .media img:hover {
|
||
|
animation: position-object 5s ease-in-out 1s infinite;
|
||
|
}
|
||
|
.status .media video {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
object-fit: contain;
|
||
|
}
|
||
|
.status .media-video {
|
||
|
position: relative;
|
||
|
}
|
||
|
.status .media-video:after {
|
||
|
/* show play icon */
|
||
|
content: '';
|
||
|
position: absolute;
|
||
|
top: 50%;
|
||
|
left: 50%;
|
||
|
transform: translate(-50%, -50%);
|
||
|
width: 0;
|
||
|
height: 0;
|
||
|
border-style: solid;
|
||
|
border-width: 15px 0 15px 26.0px;
|
||
|
border-color: transparent transparent transparent var(--text-color);
|
||
|
pointer-events: none;
|
||
|
filter: drop-shadow(0 0 10px var(--bg-color)) drop-shadow(0 0 10px var(--bg-color)) drop-shadow(0 0 10px var(--bg-color)) drop-shadow(0 0 10px var(--bg-color)) drop-shadow(0 0 10px var(--bg-color));
|
||
|
opacity: 0.75;
|
||
|
}
|
||
|
.status .media-video:hover:after {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
.status .media-gif video {
|
||
|
object-fit: cover;
|
||
|
}
|
||
|
.status .media-audio {
|
||
|
outline: 0;
|
||
|
}
|
||
|
.status .media-audio audio {
|
||
|
width: 100%;
|
||
|
}
|
||
|
|
||
|
/* CARD */
|
||
|
|
||
|
.card {
|
||
|
display: flex;
|
||
|
margin-top: 8px;
|
||
|
border-radius: 8px;
|
||
|
outline: 1px solid var(--outline-color);
|
||
|
overflow: hidden;
|
||
|
gap: 8px;
|
||
|
color: inherit;
|
||
|
align-items: center;
|
||
|
background: var(--bg-color);
|
||
|
}
|
||
|
.card .image {
|
||
|
min-width: 120px;
|
||
|
max-width: 160px;
|
||
|
height: auto;
|
||
|
min-height: 120px;
|
||
|
max-height: 160px;
|
||
|
object-fit: cover;
|
||
|
outline: 1px solid var(--outline-color);
|
||
|
}
|
||
|
.card:hover .image {
|
||
|
animation: position-object 5s ease-in-out 1s infinite;
|
||
|
}
|
||
|
.card p {
|
||
|
margin: 0;
|
||
|
}
|
||
|
.card .meta-container {
|
||
|
padding: 4px;
|
||
|
}
|
||
|
.card .title {
|
||
|
font-weight: normal;
|
||
|
text-overflow: ellipsis;
|
||
|
overflow: hidden;
|
||
|
display: -webkit-box;
|
||
|
display: box;
|
||
|
-webkit-box-orient: vertical;
|
||
|
box-orient: vertical;
|
||
|
-webkit-line-clamp: 2;
|
||
|
line-clamp: 2;
|
||
|
}
|
||
|
.card .meta {
|
||
|
font-size: smaller;
|
||
|
opacity: 0.75;
|
||
|
margin: 0;
|
||
|
}
|
||
|
.card .meta.domain {
|
||
|
opacity: 1;
|
||
|
color: var(--link-color);
|
||
|
}
|
||
|
a.card {
|
||
|
text-decoration: none;
|
||
|
transition: opacity 0.2s ease-in-out;
|
||
|
}
|
||
|
a.card:hover {
|
||
|
outline: 1px solid var(--outline-hover-color);
|
||
|
}
|
||
|
.card.video {
|
||
|
max-width: 320px;
|
||
|
max-height: 320px;
|
||
|
}
|
||
|
.card.video iframe {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
}
|
||
|
|
||
|
/* POLLS */
|
||
|
|
||
|
.poll-option {
|
||
|
margin-top: 8px;
|
||
|
padding: 8px;
|
||
|
display: flex;
|
||
|
gap: 8px;
|
||
|
justify-content: space-between;
|
||
|
background-image: linear-gradient(to right, var(--link-faded-color), var(--link-faded-color) var(--percentage), transparent var(--percentage), transparent);
|
||
|
border-radius: 8px;
|
||
|
outline: 1px solid rgba(128, 128, 128, .1);
|
||
|
align-items: center;
|
||
|
}
|
||
|
.poll-label {
|
||
|
width: 100%;
|
||
|
display: flex;
|
||
|
gap: 8px;
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
.poll-vote-button {
|
||
|
margin-top: 8px;
|
||
|
}
|
||
|
.poll-meta {
|
||
|
margin: 8px 0;
|
||
|
}
|
||
|
|
||
|
/* ACTIONS */
|
||
|
|
||
|
.status .actions {
|
||
|
margin-left: -8px; /* visual balance */
|
||
|
padding-top: 16px;
|
||
|
display: flex;
|
||
|
gap: 8px;
|
||
|
justify-content: space-between;
|
||
|
}
|
||
|
.status.large .actions {
|
||
|
/* margin-left: -12px; */
|
||
|
padding-top: 8px;
|
||
|
padding-bottom: 16px;
|
||
|
margin-left: calc(-50px - 16px);
|
||
|
background-image: linear-gradient(to bottom, var(--bg-color), var(--bg-color) calc(100% - 10px), transparent);
|
||
|
}
|
||
|
.status .actions > * {
|
||
|
opacity: .5;
|
||
|
transition: opacity 0.2s ease-in-out;
|
||
|
}
|
||
|
.status:hover .actions > * {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
.status .actions > button {
|
||
|
min-height: 40px;
|
||
|
min-width: 40px;
|
||
|
padding: 0 8px;
|
||
|
}
|
||
|
.status .actions > button.plain {
|
||
|
color: var(--text-insignificant-color);
|
||
|
}
|
||
|
.status .actions > button.plain:hover {
|
||
|
color: var(--link-color);
|
||
|
background-color: var(--button-plain-bg-hover-color);
|
||
|
}
|
||
|
.status .actions > button.plain.reblog-button:hover {
|
||
|
color: var(--reblog-color);
|
||
|
}
|
||
|
.status .actions > button.plain.reblog-button.reblogged {
|
||
|
color: var(--reblog-color);
|
||
|
outline: 1.5px solid var(--reblog-color);
|
||
|
}
|
||
|
.status .actions > button.plain.favourite-button:hover {
|
||
|
color: var(--favourite-color);
|
||
|
}
|
||
|
.status .actions > button.plain.favourite-button.favourited {
|
||
|
color: var(--favourite-color);
|
||
|
outline: 1.5px solid var(--favourite-color);
|
||
|
}
|
||
|
.status .actions > button.plain.bookmark-button.bookmarked {
|
||
|
color: var(--link-color);
|
||
|
outline: 1.5px solid var(--link-color);
|
||
|
}
|
||
|
|
||
|
/* ENHANCED CONTENT */
|
||
|
|
||
|
.status .content pre {
|
||
|
border-radius: 8px;
|
||
|
padding: 8px;
|
||
|
margin: 8px 0;
|
||
|
overflow: auto;
|
||
|
width: 100%;
|
||
|
font-size: 90%;
|
||
|
outline: 1px solid var(--outline-color);
|
||
|
background: linear-gradient(to bottom right, var(
|
||
|
--bg-faded-color
|
||
|
), transparent 160px);
|
||
|
}
|
||
|
|
||
|
/* MISC */
|
||
|
|
||
|
.status-aside {
|
||
|
padding: 0 16px 16px 80px;
|
||
|
color: var(--text-insignificant-color);
|
||
|
}
|
||
|
|
||
|
.shortcode-emoji {
|
||
|
width: 1.2em;
|
||
|
height: 1.2em;
|
||
|
vertical-align: middle;
|
||
|
object-fit: contain;
|
||
|
}
|