forked from AkkomaGang/akkoma-fe
283 lines
4.8 KiB
SCSS
283 lines
4.8 KiB
SCSS
@import '../../_variables.scss';
|
|
|
|
.Attachment {
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
position: relative;
|
|
align-self: flex-start;
|
|
line-height: 0;
|
|
height: 100%;
|
|
border-style: solid;
|
|
border-width: 1px;
|
|
border-radius: $fallback--attachmentRadius;
|
|
border-radius: var(--attachmentRadius, $fallback--attachmentRadius);
|
|
border-color: $fallback--border;
|
|
border-color: var(--border, $fallback--border);
|
|
|
|
.attachment-wrapper {
|
|
flex: 1 1 auto;
|
|
height: 200px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.description-container {
|
|
flex: 0 1 0;
|
|
display: flex;
|
|
padding-top: 0.5em;
|
|
z-index: 1;
|
|
max-height: 50%;
|
|
|
|
p {
|
|
flex: 1;
|
|
text-align: center;
|
|
line-height: 1.5;
|
|
padding: 0.5em;
|
|
margin: 0;
|
|
white-space: pre-line;
|
|
word-break: break-word;
|
|
text-overflow: ellipsis;
|
|
overflow: scroll;
|
|
}
|
|
|
|
&.-static {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
padding-top: 0;
|
|
background: var(--popover);
|
|
box-shadow: var(--popupShadow);
|
|
}
|
|
}
|
|
|
|
.description-field {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
box-sizing: content-box;
|
|
overflow: hidden;
|
|
transition: min-height 200ms 100ms;
|
|
|
|
padding-bottom: var(--_padding);
|
|
height: calc(var(--post-line-height) * 1em);
|
|
min-height: calc(var(--post-line-height) * 1em);
|
|
resize: none;
|
|
|
|
&.scrollable-form {
|
|
overflow-y: auto;
|
|
}
|
|
}
|
|
|
|
& .placeholder-container,
|
|
& .image-container,
|
|
& .audio-container,
|
|
& .video-container,
|
|
& .flash-container,
|
|
& .oembed-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.image-container {
|
|
.image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
& .flash-container,
|
|
& .video-container {
|
|
& .flash,
|
|
& video {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
align-self: center;
|
|
}
|
|
}
|
|
|
|
.audio-container {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
|
|
audio {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.placeholder-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding-top: 0.5em;
|
|
}
|
|
|
|
|
|
.play-icon {
|
|
position: absolute;
|
|
font-size: 64px;
|
|
top: calc(50% - 32px);
|
|
left: calc(50% - 32px);
|
|
color: rgba(255, 255, 255, 0.75);
|
|
text-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
|
|
|
|
&::before {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.attachment-buttons {
|
|
display: flex;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
margin-top: 0.5em;
|
|
margin-right: 0.5em;
|
|
z-index: 1;
|
|
|
|
.attachment-button {
|
|
padding: 0;
|
|
border-radius: $fallback--tooltipRadius;
|
|
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
|
|
text-align: center;
|
|
width: 2em;
|
|
height: 2em;
|
|
margin-left: 0.5em;
|
|
font-size: 1.25em;
|
|
// TODO: theming? hard to theme with unknown background image color
|
|
background: rgba(230, 230, 230, 0.7);
|
|
|
|
.svg-inline--fa {
|
|
color: rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
&:hover .svg-inline--fa {
|
|
color: rgba(0, 0, 0, 0.9);
|
|
}
|
|
}
|
|
}
|
|
|
|
.oembed-container {
|
|
line-height: 1.2em;
|
|
flex: 1 0 100%;
|
|
width: 100%;
|
|
margin-right: 15px;
|
|
display: flex;
|
|
|
|
img {
|
|
width: 100%;
|
|
}
|
|
|
|
.image {
|
|
flex: 1;
|
|
img {
|
|
border: 0px;
|
|
border-radius: 5px;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
}
|
|
|
|
.text {
|
|
flex: 2;
|
|
margin: 8px;
|
|
word-break: break-all;
|
|
h1 {
|
|
font-size: 1rem;
|
|
margin: 0px;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.-size-small {
|
|
.play-icon {
|
|
zoom: 0.5;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.attachment-buttons {
|
|
zoom: 0.7;
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
&.-editable {
|
|
padding: 0.5em;
|
|
|
|
& .description-container,
|
|
& .attachment-buttons {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
&.-placeholder {
|
|
display: inline-block;
|
|
color: $fallback--link;
|
|
color: var(--postLink, $fallback--link);
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
height: auto;
|
|
line-height: 1.5;
|
|
|
|
&:not(.-editable) {
|
|
border: none;
|
|
}
|
|
|
|
&.-editable {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: baseline;
|
|
|
|
& .description-container,
|
|
& .attachment-buttons {
|
|
margin: 0;
|
|
padding: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.description-container {
|
|
flex: 1;
|
|
padding-left: 0.5em;
|
|
}
|
|
|
|
.attachment-buttons {
|
|
order: 99;
|
|
align-self: center;
|
|
}
|
|
}
|
|
|
|
a {
|
|
display: inline-block;
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
svg {
|
|
color: inherit;
|
|
}
|
|
}
|
|
|
|
&.-loading {
|
|
cursor: progress;
|
|
}
|
|
|
|
&.-contain-fit {
|
|
img,
|
|
canvas {
|
|
object-fit: contain;
|
|
}
|
|
}
|
|
|
|
&.-cover-fit {
|
|
img,
|
|
canvas {
|
|
object-fit: cover;
|
|
}
|
|
}
|
|
}
|