microblog/app/scss/main.scss

551 lines
8.4 KiB
SCSS
Raw Normal View History

2022-07-01 17:35:34 +00:00
$font-stack: Helvetica, sans-serif;
2022-07-14 13:33:40 +00:00
$background: #ddd;
2022-07-14 14:31:16 +00:00
$light-background: #e6e6e6;
2022-07-14 13:33:40 +00:00
$text-color: #111;
$primary-color: #1d781d;
$secondary-color: #781D78;
2022-07-03 20:01:47 +00:00
$form-background-color: #ccc;
2022-07-14 16:40:38 +00:00
$form-text-color: #333;
2022-07-14 13:33:40 +00:00
$muted-color: #555; // solarized comment text
2022-07-29 19:26:19 +00:00
$primary-button-text-color: #fff;
2022-08-04 17:10:57 +00:00
$code-highlight-background: #f0f0f0;
2022-07-01 17:35:34 +00:00
2022-07-04 18:49:23 +00:00
// Load custom theme
2022-07-29 19:01:45 +00:00
@import "theme.scss";
2022-07-09 06:15:33 +00:00
2022-08-22 16:50:20 +00:00
.primary-color {
color: $primary-color;
}
2022-08-29 19:42:54 +00:00
#admin {
.admin-menu {
margin-bottom: 30px;
padding: 0 20px;
}
}
.empty-state {
padding: 20px;
}
.public-top-menu {
margin: 30px 0 0 0;
}
.width-95 {
width: 95%;
}
.bold {
font-weight: bold;
}
.admin-new {
textarea {
font-size: 1.2em;
width: 95%;
}
}
.show-more-wrapper {
.p-summary {
display: inline-block;
}
label {
margin-left: 5px;
}
.show-more-state {
display: none;
}
.show-more-state ~ .obj-content {
margin-top: 0;
}
.show-more-state:checked ~ .obj-content {
display: none;
}
}
.sensitive-attachment {
display: inline-block;
.sensitive-attachment-state {
display: none;
}
.sensitive-attachment-state:checked ~ .sensitive-attachment-box div {
display:none;
}
.sensitive-attachment-box {
position: relative;
div {
position: absolute;
width: 100%;
height: 100%;
z-index: 10;
backdrop-filter: blur(2em);
}
}
}
2022-08-03 17:53:55 +00:00
blockquote {
border-left: 3px solid $secondary-color;
margin-left: 0;
padding-left: 1.5em;
}
.muted {
color: $muted-color;
}
2022-07-09 06:15:33 +00:00
.light-background {
background: $light-background;
}
2022-07-04 18:49:23 +00:00
2022-07-01 17:35:34 +00:00
2022-06-22 18:11:22 +00:00
body {
2022-07-01 17:35:34 +00:00
font-family: $font-stack;
font-size: 20px;
line-height: 32px;
background: $background;
2022-07-03 20:01:47 +00:00
color: $text-color;
2022-07-01 17:35:34 +00:00
margin: 0;
padding: 0;
display: flex;
min-height: 100vh;
flex-direction: column;
}
a {
2022-07-14 16:40:38 +00:00
text-decoration: none;
2022-07-01 17:35:34 +00:00
}
2022-07-12 17:52:29 +00:00
2022-08-10 06:58:18 +00:00
dl {
display: flex;
dt {
width: 200px;
flex: 0 0 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
dd {
flex: 1 1 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
p {
display: inline;
}
}
}
2022-07-03 20:42:14 +00:00
.shared-header {
2022-07-12 17:52:29 +00:00
margin-left: 20px;
margin-top: 30px;
margin-bottom: -20px;
strong {
color: $primary-color;
}
2022-08-27 07:14:16 +00:00
span {
color: $muted-color;
}
2022-07-03 20:42:14 +00:00
}
2022-07-12 17:52:29 +00:00
div.highlight {
2022-08-04 17:10:57 +00:00
background: $code-highlight-background;
2022-07-14 17:05:45 +00:00
padding: 0 10px;
2022-07-12 17:52:29 +00:00
overflow: auto;
display: block;
2022-07-12 20:24:15 +00:00
margin: 20px 0;
2022-07-03 20:42:14 +00:00
}
2022-07-12 17:52:29 +00:00
2022-07-09 06:15:33 +00:00
.box {
padding: 0 20px;
}
2022-07-01 17:35:34 +00:00
code, pre {
2022-07-03 20:01:47 +00:00
color: $secondary-color; // #cb4b16; // #268bd2; // #2aa198;
2022-07-03 20:42:14 +00:00
font-family: monospace;
2022-07-01 17:35:34 +00:00
}
2022-07-14 16:40:38 +00:00
2022-07-03 20:01:47 +00:00
.form {
input, select, textarea {
font-size: 20px;
border: 0;
padding: 5px;
background: $form-background-color;
color: $form-text-color;
&:focus {
outline: 1px solid $secondary-color;
}
}
input[type=submit] {
font-size: 20px;
outline: none;
background: $primary-color;
2022-07-29 19:26:19 +00:00
color: $primary-button-text-color;
2022-07-14 16:40:38 +00:00
padding: 5px 12px;
cursor: pointer;
2022-07-03 20:01:47 +00:00
}
}
2022-07-14 16:40:38 +00:00
2022-07-01 17:35:34 +00:00
header {
2022-07-09 06:15:33 +00:00
padding: 0 20px;
2022-07-01 17:35:34 +00:00
.title {
font-size: 1.3em;
text-decoration: none;
.handle {
font-size: 0.85em;
2022-07-03 20:01:47 +00:00
color: $muted-color;
2022-07-01 17:35:34 +00:00
}
}
.counter {
2022-07-03 20:01:47 +00:00
color: $muted-color;
2022-07-01 17:35:34 +00:00
}
2022-07-29 19:35:02 +00:00
.summary {
a:hover {
text-decoration: underline;
}
}
2022-07-01 17:35:34 +00:00
}
a {
2022-07-03 20:01:47 +00:00
color: $primary-color;
&:hover {
color: $secondary-color;
}
2022-06-22 18:11:22 +00:00
}
#main {
2022-09-20 18:00:35 +00:00
display: flex;
2022-06-22 18:11:22 +00:00
flex: 1;
}
main {
2022-07-01 17:35:34 +00:00
width: 100%;
2022-07-09 06:15:33 +00:00
max-width: 1000px;
2022-07-01 17:35:34 +00:00
margin: 30px auto;
2022-06-22 18:11:22 +00:00
}
2022-08-28 15:36:58 +00:00
2022-09-20 18:00:35 +00:00
.main-flex {
display: flex;
flex: 1;
}
2022-08-28 15:36:58 +00:00
.centered {
display: flex;
2022-09-20 18:00:35 +00:00
flex: 1;
2022-08-28 15:36:58 +00:00
justify-content: center;
align-items: center;
2022-09-20 18:00:35 +00:00
div {
display: block;
}
2022-08-28 15:36:58 +00:00
}
2022-06-22 18:11:22 +00:00
footer {
2022-08-24 19:18:30 +00:00
width: 100%;
max-width: 1000px;
margin: 20px auto;
color: $muted-color;
p {
margin: 0;
}
2022-07-01 17:35:34 +00:00
}
2022-08-26 05:43:39 +00:00
.tiny-actor-icon {
max-width: 24px;
max-height: 24px;
position: relative;
top: 5px;
}
2022-07-01 17:35:34 +00:00
.actor-box {
display: flex;
column-gap: 20px;
2022-07-09 06:15:33 +00:00
margin:10px 0;
2022-07-01 17:35:34 +00:00
.icon-box {
flex: 0 0 50px;
}
.actor-handle {
font-size: 0.85em;
line-height: 1em;
2022-07-03 20:01:47 +00:00
color: $muted-color;
2022-07-01 17:35:34 +00:00
}
.actor-icon {
max-width: 50px;
}
2022-06-22 18:11:22 +00:00
}
2022-07-25 20:51:53 +00:00
#articles {
list-style-type: none;
margin: 30px 0;
padding: 0 20px;
li {
display: block;
2022-08-29 19:42:54 +00:00
span {
padding-right:10px;
}
2022-07-25 20:51:53 +00:00
}
}
2022-06-22 18:11:22 +00:00
#notifications, #followers, #following {
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
li {
2022-07-05 06:14:50 +00:00
display: block;
2022-06-22 18:11:22 +00:00
}
}
2022-07-15 18:01:55 +00:00
@mixin admin-button() {
font-size: 20px;
line-height: 32px;
font-family: $font-stack;
background: $form-background-color;
color: $form-text-color;
border: 1px solid $background;
padding: 8px 10px 5px 10px;
cursor: pointer;
&:hover {
border: 1px solid $form-text-color;
}
}
.show-sensitive-btn, .show-more-btn, .label-btn {
2022-07-15 18:01:55 +00:00
@include admin-button;
padding: 10px 5px;
2022-07-15 18:01:55 +00:00
margin: 20px 0;
}
2022-08-29 19:42:54 +00:00
.show-hide-sensitive-btn {
display:inline-block;
}
.no-margin-top {
margin-top: 0;
}
.float-right {
float: right;
}
ul.poll-items {
list-style-type: none;
padding: 0;
li {
display: block;
p {
margin: 20px 0 10px 0;
.poll-vote {
padding-left: 20px;
}
}
.poll-bar {
width:100%;height:20px;
line {
stroke: $secondary-color;
stroke-width: 20px;
}
}
}
}
.attachment-wrapper {
.attachment-item {
margin-top: 20px;
}
img.attachment {
margin: 0;
}
a.attachment {
display: inline-block;
margin-bottom: 15px;
}
audio.attachment {
width: 480px;
}
}
2022-07-03 20:42:14 +00:00
nav {
2022-07-14 16:40:38 +00:00
form {
margin: 15px 0;
}
input[type=submit], button {
2022-07-15 18:01:55 +00:00
@include admin-button;
2022-07-14 16:40:38 +00:00
}
2022-07-03 20:42:14 +00:00
}
2022-06-22 18:11:22 +00:00
nav.flexbox {
ul {
display: flex;
2022-07-01 17:35:34 +00:00
flex-wrap: wrap;
2022-06-22 18:11:22 +00:00
align-items: center;
list-style-type: none;
margin: 0;
padding: 0;
}
ul li {
margin-right: 20px;
&:last-child {
margin-right: 0px;
}
}
2022-09-21 19:00:17 +00:00
a:not(.label-btn) {
2022-07-14 16:40:38 +00:00
color: $primary-color;
2022-07-01 17:35:34 +00:00
text-decoration: none;
2022-07-14 16:40:38 +00:00
&:hover, &:active {
color: $secondary-color;
text-decoration: underline;
}
2022-07-01 17:35:34 +00:00
}
2022-09-21 19:00:17 +00:00
a.active:not(.label-btn) {
2022-07-04 19:13:04 +00:00
color: $secondary-color;
2022-06-22 18:11:22 +00:00
font-weight: bold;
}
}
2022-09-21 19:00:17 +00:00
// after nav.flexbox to override default behavior
a.label-btn {
color: $form-text-color;
&:hover {
text-decoration: none;
color: $form-text-color;
}
}
2022-07-09 06:15:33 +00:00
.ap-object {
margin: 15px 0;
padding: 20px;
nav {
color: $muted-color;
}
.in-reply-to {
display: inline;
color: $muted-color;
}
2022-07-14 16:40:38 +00:00
.e-content, .activity-og-meta {
a:hover {
text-decoration: underline;
2022-07-09 06:15:33 +00:00
}
}
.activity-attachment {
2022-08-29 19:42:54 +00:00
margin: 30px 0 20px 0;
2022-07-09 06:15:33 +00:00
img, audio, video {
width: 100%;
max-width: 740px;
}
2022-07-07 18:37:16 +00:00
}
2022-07-14 13:16:58 +00:00
img.inline-img {
2022-07-14 13:33:40 +00:00
display: block;
2022-07-14 13:16:58 +00:00
max-width: 740px;
}
2022-07-07 18:37:16 +00:00
}
2022-08-29 19:42:54 +00:00
.activity-og-meta {
display: flex;
column-gap: 20px;
margin: 20px 0;
img {
max-width: 200px;
max-height: 100px;
}
small {
display: block;
}
}
2022-07-09 06:15:33 +00:00
.ap-object-expanded {
border: 2px dashed $secondary-color;
}
2022-06-22 18:11:22 +00:00
2022-07-26 16:51:20 +00:00
.error-box {
color: $secondary-color;
}
2022-06-25 08:20:07 +00:00
.actor-action {
margin-top:20px;
2022-07-09 06:15:33 +00:00
margin-bottom:-20px;
padding: 0 20px;
2022-06-25 08:20:07 +00:00
span {
2022-07-03 20:01:47 +00:00
color: $muted-color;
2022-06-25 08:20:07 +00:00
}
2022-11-20 09:13:17 +00:00
span.new {
color: $secondary-color;
}
2022-06-25 08:20:07 +00:00
}
2022-07-03 20:01:47 +00:00
.actor-metadata {
color: $muted-color;
}
2022-06-27 18:55:44 +00:00
.emoji, .custom-emoji {
max-width: 25px;
}
2022-08-29 19:42:54 +00:00
.indieauth-box {
display: flex;
column-gap: 20px;
.indieauth-logo {
flex: initial;
width: 100px;
img {
max-width: 100px;
}
}
.indieauth-details {
flex: 1;
div {
padding-left: 20px;
a {
font-size: 1.2em;
font-weight: 600;
}
}
}
}
.public-interactions {
display: flex;
column-gap: 20px;
flex-wrap: wrap;
margin-top: 20px;
.interactions-block {
flex: 0 1 30%;
max-width: 50%;
.facepile-wrapper {
display: flex;
column-gap: 20px;
row-gap: 20px;
flex-wrap: wrap;
margin-top: 20px;
a {
height: 50px;
img {
max-width: 50px;
}
}
.and-x-more {
display: inline-block;
align-self: center;
}
}
}
}
.error-title {
a {
text-decoration: underline;
}
}
.ap-place {
h3 {
display: inline;
font-weight: normal;
}
h3::after {
content: ': ';
}
}
2022-11-19 07:12:33 +00:00
.margin-top-20 {
margin-top: 20px;
}