Gitea-Modern/misskey/mk-tweaks.user.css

937 lines
19 KiB
CSS
Raw Normal View History

2021-11-26 16:07:45 +00:00
/***
!!! MAKE SURE TO ADD YOUR INSTANCE DOMAIN IN THE APPLIES TO SECTION BELOW !!!
***/
/* ==UserStyle==
@name Misskey Tweaks
@version 1.0.8
@description A collection of tweaks aimed at making Misskey less cluttered!
@updateURL https://codeberg.org/Freeplay/CSS-Styles/raw/branch/main/Misskey/mk-tweaks.user.css
@preprocessor stylus
-- AUTHOR STUFF --
@namespace Freeplay
@author Freeplay (https://freeplay.codeberg.page/)
@homepageURL https://codeberg.org/Freeplay/CSS-Styles
@supportURL https://codeberg.org/Freeplay/CSS-Styles/issues
@var text warn "!! REFRESH AFTER CHANGING SETTINGS !!" '"OKAY!!"'
@var checkbox header "↔Move header aside" 1
@var checkbox bg "🔲Better Wallpaper Support" 1
@var checkbox posts "💬Better Posts Layout" 1
@var checkbox profile "👤Better Profile Page" 1
@var checkbox sidebar "📇Better Sidebar" 1
@var checkbox mentions "🏓Readable Mentions" 1
@var checkbox font "🇦Superior Local Font (Segoe UI)" 1
@var checkbox fixes "🔧Other Minor Fixes" 1
@var checkbox compose "🖊Better Compose" 1
==/UserStyle== */
@-moz-document domain("misskey.to"), domain("misskey.ai") {
if font {
html {
font-family: "Segoe UI", sans-serif;
}
}
if sidebar {
/*** Better Sidebar ***/
.sidebar {
display: flex;
flex-direction: column;
.nav {
position: sticky;
top: 0;
border-right: .5px solid var(--divider);
min-height: 100vh !important;
max-height: 100vh !important;
overflow: clip auto;
& > div {
height: auto !important;
background: none !important;
flex: none !important;
position: relative !important;
overflow: visible !important;
}
}
button:not(.post):not(.gradate) {
position: relative !important;
background: none !important;
box-shadow: none !important;
backdrop-filter: none !important;
}
& > div:last-child:not(.iconOnly), .nav > div {
display: flex;
flex-direction: column;
min-height: calc(100vh - 20px);
& > a, & > button:not(.account):not(.post) {
flex-grow: 1;
display: flex !important;
align-items: center !important;
align-content: center;
font-size: 100% !important;
max-height: 55px;
span {
font-size: inherit !important;
}
&::before {
content: unset !important;
}
}
}
}
}
if bg {
.mk-app.wallpaper {
background: none !important;
&::before {
content: "";
position: fixed;
inset: 0px;
background-color: var(--bg);
opacity: .85;
pointer-events: none;
z-index: -1;
}
.sidebar {
z-index: 3;
.nav {
border-right-color: transparent;
}
}
.contents {
background: none !important;
}
main {
overflow: visible !important;
position: relative;
background: none !important;
border-color: transparent !important;
--bg: transparent;
--X17: transparent;
// --panel: transparent;
.tl {
overflow: visible;
}
.fdidabkb + div > div > div > div {
overflow: visible;
position: relative;
min-height: calc(100vh - 50px);
backdrop-filter: blur(10px);
&::before, &::after {
content: "";
position: absolute;
top: -9999px;
bottom: 0;
right: 100%;
left: -100vw;
background-color: rgba(0,0,0,0.2);
pointer-events: none !important;
z-index: -1;
box-shadow: 0 100vw 0 rgba(0,0,0,0.2);
}
&::after {
right: 0;
background: none;
box-shadow: 100vw 100vh 0 rgba(0,0,0,0.2);
}
}
.notes, ._block, ._card, ._panel, .elsfgstc, .fcuexfpr, .qtqtichx, .narrow {
background: none !important;
border-radius: 0 !important;
}
}
.widgets {
border: 0 !important;
background: none !important;
}
.post {
background: none !important;
}
.widgets .widget, div.tab, .widget header, .ukygtjoj > header {
background: none !important;
&::before, header::before {
content: "";
position: absolute;
inset: 0;
background: var(--panel);
opacity: .7 !important;
z-index: -1;
pointer-events: none;
}
&::after {
content: "";
position: absolute;
inset: 0;
backdrop-filter: blur(10px);
z-index: -2;
pointer-events: none;
}
&.tab {
padding-inline: 6px !important;
}
._panel, .elsfgstc, header {
background: none !important;
}
& > header::before {
opacity: .5;
backdrop-filter: blur(10px);
}
}
.collapsed {
border-radius: var(--radius) !important;
}
}
}
/*** MOBILE ***/
if mobile {
.mk-app.isMobile {
main.main.main {
--margin: 0px;
margin-top: 50vh !important;
&::before, &::after {
content: unset !important;
}
[style="padding: 12px;"] {
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
._block {
border-radius: 0 !important;
}
}
}
.fdidabkb {
position: fixed;
top: unset;
bottom: 65px;
left: 10px;
right: 10px;
width: unset !important;
border-radius: var(--radius);
border: 0;
padding-left: 20px;
z-index: 1001;
--height: 50px;
.titleContainer {
margin-left: 0;
.icon {
margin-left: 0 !important;
}
.title {
margin: 0;
display: flex;
align-items: flex-end;
flex-grow: 1;
margin-right: 10px;
}
}
}
& > .buttons {
padding: 0 !important;
background: linear-gradient(transparent, var(--bg)) !important;
height: 120px;
align-items: flex-end;
border: 0 !important;
backdrop-filter: none !important;
button {
margin: 0 !important;
background: none !important;
height: 70px !important;
i {
font-size: 18px !important;
}
}
}
& > .ccczpooj {
animation: none !important;
}
._popup {
position: fixed;
bottom: 0;
left: 0;
right: 0;
top: unset !important;
max-height: 400px;
overflow-y: scroll;
scrollbar-width: none;
border-radius: var(--radius) var(--radius) 0 0 !important;
animation: none !important;
button {
padding: 12px 16px;
}
}
}
}
/*** HEADER ***/
/* MOVE ASIDE */
if header {
@media only screen and (min-width: 1201px) {
.columns > .main, main .content > div {
overflow: visible !important;
.fdidabkb:not(.slim) {
display: contents !important;
& > div {
height: 50px !important;
}
.titleContainer {
position: sticky;
top: var(--stickyTop,0);
z-index: 1000;
margin-left: calc(100% + 17px) !important;
margin-bottom: -50px !important;
width: 300px;
padding-left: 15px;
box-sizing: border-box;
background-color: var(--panelHeaderBg);
border-radius: 0 0 var(--radius) var(--radius);
.avatar {
margin-left: 0 !important;
}
.title {
white-space: nowrap;
}
}
.tabs {
height: 60px !important;
margin-left: 0;
margin-top: 10px !important;
display: flex;
justify-content: center;
font-size: .9em !important;
button::after {
content: unset !important;
}
&:empty {
height: 20px !important;
}
}
.right {
position: sticky;
top: var(--stickyTop,0);
margin-left: auto !important;
margin-right: -312px !important;
margin-top: -75px !important;
margin-bottom: 9px !important;
z-index: 1001;
width: max-content;
max-width: 150px;
background-color: var(--panelHeaderBg);
&::before {
content: "";
position: absolute;
right: 100%;
top: 0;
bottom: 0;
width: 40px;
background: linear-gradient(to left, var(-panelHeaderBg), transparent);
}
}
}
}
.widgets > div[style^="position: sticky"] > div:first-child {
padding-top: 50px !important;
}
}
}
/** TIMELINE **/
/* POST */
if posts {
.noGap > :not(:last-child) {
// border: 0 !important;
}
.renote[tabindex], .note._block {
display: flex;
flex-direction: column;
}
.renote > div {
position: relative !important;
}
.renote > .renote {
margin-left: 50px;
padding: 10px !important;
padding-bottom: 0 !important;
margin-bottom: -.2em;
position: relative !important;
color: var(--text) !important;
font-weight: 600;
font-size: .8em;
opacity: .6;
z-index: 2;
// width: max-content;
max-width: 100%;
.avatar, .info time {
display: none !important;
}
& ~ .article {
margin-top: calc(-1em - 25px) !important;
padding-top: calc(1em + 25px) !important;
}
}
.article, .reply, .reply-to, .reply-to-more {
padding: 12px !important;
position: relative !important;
opacity: 1 !important;
transition: background-color .2s;
font-size: 1em !important;
&:hover, &:focus-within, ._isolated &.article {
background-color: var(--listItemHoverBg);
}
.avatar {
img {
border-radius: 25% !important;
}
}
.username, .created-at {
opacity: .6 !important;
}
// Make full post clickable, while still allowing clicking link's n' stuff.
.created-at::before {
content: "";
position: absolute;
inset: 0;
left: 0px;
}
.text {
z-index: 2 !important;
span {
position: relative;
z-index: 2;
}
}
button:not(.fade), a:not(.created-at):not(.avatar), .files {
position: relative !important;
z-index: 3 !important;
}
.cover + .text {
position: absolute !important;
}
.fas, .fas::before {
z-index: 3 !important;
}
button.fade {
z-index: 3;
}
.avatar {
z-index: 2 !important;
}
.ticker {
height: 25px !important;
position: absolute;
bottom: 10px;
right: 10px;
border-radius: 100px;
z-index: 2;
overflow: visible;
img {
width: 25px !important;
height: 25px !important;
}
span {
position: absolute;
right: 100%;
height: 25px !important;
white-space: nowrap;
// font-weight: 500 !important;
display: inline-flex;
// margin-right: 4px;
align-items: center;
background: inherit;
font-size: .7em !important;
padding: 0px 8px;
border-radius: 4px;
transform: scale(.9) translateX(5%);
opacity: 0;
pointer-events: none;
transition: transform .1s, opacity .1s;
}
&:hover {
span {
transform: none;
opacity: 1;
}
}
}
.text, .body, .content {
pointer-events: none;
max-height: 9999px;
transition: mask .2s, max-height 2s;
*:not(div):not(blockquotes) {
pointer-events: all !important;
}
}
.content.collapsed {
.text {
mask: linear-gradient(black, black, rgba(0,0,0,0.5), transparent);
max-height: 150px;
}
.fade {
background: none !important;
}
}
// Reply Button
a.reply {
display: none;
}
&.article {
padding-bottom: 5px !important;
.avatar {
transform: scale(.9) !important;
}
.header {
margin-bottom: .2em;
}
.files {
margin-top: .7em;
}
.footer {
margin-top: .1em;
}
}
&:not(.reply-to), ._isolated & {
.cw > ._button {
display: block;
width: 100% !important;
background: none;
color: inherit;
padding: 10px;
// border-radius: var(--radius);
font-size: .9em;
margin-left: -85px;
width: calc(100% + 100px) !important;
transition: background .2s;
text-align: left;
padding-left: 85px;
&:hover {
background-color: var(--listItemHoverBg);
}
}
.avatar {
margin-right: 10px !important;
}
.poll {
font-size: .9em !important;
margin-top: 1em;
ul > li {
padding: 8px 12px !important;
font-weight: 700;
span {
display: flex;
align-items: center;
.votes {
margin-left: auto;
// font-weight: 500;
opacity: .7;
}
}
.backdrop {
border-radius: 4px;
}
}
}
}
._isolated & {
&.article {
padding: 20px !important;
padding-bottom: 5px !important;
& > header > .avatar {
margin-right: -5px !important;
}
.text {
font-size: 1.3em !important;
}
.gird-container {
&::before {
content: unset;
}
& > div {
position: relative !important;
max-height: 80vh;
}
}
time {
position: relative;
}
}
&.reply-to, &.reply-to-more {
padding: 14px 18px !important;
border-bottom: 1px solid var(--divider);
}
&.children, &.article + .reply {
&.children {
padding-right: 0 !important;
padding-bottom: 0 !important;
background: none !important;
}
}
details {
display: contents;
summary {
display: none;
}
}
}
:not(._isolated) > &.reply-to {
&::before {
content: "";
position: absolute;
right: 100%;
margin-right: -15px;
margin-top: 2px;
border-top-left-radius: 12px;
top: 50%;
height: 200%;
width: 41px;
border-top: 4px solid currentColor;
border-left: 4px solid currentColor;
opacity: .5;
}
&, .widgets & {
display: flex;
flex-grow: 1;
padding-bottom: 0 !important;
background: none !important;
margin-bottom: 5px !important;
position: relative !important;
z-index: 2 !important;
margin-left: 70px !important;
font-size: .8em !important;
opacity: .8 !important;
&:hover {
opacity: 1 !important;
}
& ~ .article {
margin-top: calc(-1em - 25px) !important;
padding-top: calc(1em + 25px) !important;
}
& ~ .renote, & ~ .info {
margin-bottom: -.7em !important;
order: -1 !important;
}
& ~ .renote ~ .article {
margin-top: calc(-3em - 30px) !important;
padding-top: calc(3em + 30px) !important;
}
.main {
flex-grow: 1;
}
.avatar {
height: 1.2em !important;
width: 1.2em !important;
}
.name {
max-width: 20%;
z-index: 4 !important;
}
.cw {
display: flex !important;
}
.body, header {
display: contents;
.content {
display: flex;
flex-grow: 1;
}
.username {
display: none;
}
.info {
margin-left: 1em;
order: 2;
z-index: 3;
}
.text {
display: flex;
width: 0;
// overflow: hidden;
white-space: nowrap;
flex-grow: 1 !important;
}
.reply {
margin: 0 .5em !important;
padding: 0 !important;
}
span, summary {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 1rem !important;
font-size: 1em !important;
[href^="/@"] {
margin: -1em 0 !important;
}
br {
display: none;
& + a {
margin-left: .2em;
}
}
img {
height: 1rem !important;
width: 1rem !important;
}
}
summary {
margin-left: 10px;
}
}
}
}
.widget & {
.avatar {
width: 1.2rem !important;
height: 1.2rem !important;
position: relative !important;
top: 0 !important;
}
& > .main {
margin-left: -1.8rem;
.header {
margin-left: 1.6rem;
}
}
&.reply-to.reply-to {
margin-left: 3.4rem !important;
&::before {
// content: unset;
margin-top: 4px;
border-width: 3px;
margin-right: 1rem !important;
width: 1rem;
height: 1.5em;
}
}
}
}
}
if profile {
.narrow {
position: relative;
}
.profile {
margin-bottom: var(--margin);
.banner {
background-color: transparent !important;
}
.description {
margin-top: 30px !important;
padding: 24px !important;
text-align: left !important;
}
.status {
position: absolute;
top: 250px;
left: 144px;
padding: 0px !important;
a {
padding: 12px;
b {
margin-right: .5em;
line-height: 1em !important;
display: inline !important;
}
span {
opacity: .8;
font-size: 1em !important;
}
}
}
.fields {
display: flex;
flex-wrap: wrap;
padding: 0 24px !important;
border: 0 !important;
padding-bottom: 24px !important;
.field {
background-color: var(--panelHighlight);
border-radius: 1em;
margin: 0 .5em .5em 0 !important;
font-size: .9em;
& > * {
padding: 6px 10px;
}
.name {
width: auto !important;
}
.value {
width: auto !important;
padding-left: 0;
a[rel*="nofollow"] {
margin: -6px -10px;
margin-left: 0;
padding: 6px 10px;
display: flex;
position: relative;
&::before {
content: "";
position: absolute;
inset: 0;
background-color: var(--link);
border-radius: var(--radius);
opacity: .1;
}
.fa-external-link-square-alt {
display: none;
}
}
}
}
&.system {
margin-top: -24px;
padding-top: 1em !important;
padding-bottom: .5em !important;
.field {
background: none;
opacity: .8;
max-width: 300px !important;
font-size: 1em;
padding-right: 10px !important;
& > * {
padding: 0;
&.name {
min-width: max-content;
padding-right: .4rem;
font-weight: 500 !important;
font-size: 0;
i {
font-size: .9rem;
}
}
}
}
}
}
& ~ .contents {
position: relative;
}
& ~ .contents > div > ._panel {
& {
.content.omitted {
& > div {
padding-inline: 0;
}
.stream {
display: flex;
overflow-x: auto;
// scroll-snap-type: x mandatory;
scroll-padding: 24px;
padding-left: 24px;
scrollbar-color: transparent transparent;
mask: linear-gradient(to right, black calc(100% - 400px), rgba(0,0,0,0.4), transparent);
a {
min-width: max-content;
scroll-snap-align: start;
height: 100px;
}
}
button.fade {
background: linear-gradient(to right, transparent, var(--panel));
background: none;
top: 0;
bottom: 0;
right: 0;
left: unset;
height: unset;
width: auto;
padding: 24px;
}
}
.content:not(.omitted) {
padding: 0 14px !important;
padding: 0 !important;
padding-top: 14px !important;
& > div {
padding: 0;
}
.stream {
display: flex;
flex-wrap: wrap;
a {
flex-grow: 1;
height: auto;
max-height: 60vh;
border-radius: 0;
}
}
.empty { display: none; }
}
}
}
}
}
if mentions {
a[href^="/@"][style^="background:"] {
color: inherit !important;
padding: .15em .35em;
padding-left: .2em;
margin: -.15em 0;
img {
height: 1.3em !important;
width: 1.3em !important;
}
span {
opacity: 1 !important;
}
}
}
if fixes {
// Block Headers
header._button {
padding: 0 15px !important;
}
// Add rounded corners to sticky headers
.mk-app:not(.wallpaper) .tab[style*="--stickyTop:"] {
margin-bottom: 0 !important;
&::after, &::before {
content: "";
position: absolute;
top: 100%;
width: calc(var(--radius) * 2);
height: calc(var(--radius) * 2);;
border-top-left-radius: var(--radius);
box-shadow: -4px -4px 0 var(--bg);
}
&::after {
right: 0;
box-shadow: 4px -4px 0 var(--bg);
border-top-left-radius: 0;
border-top-right-radius: var(--radius);
}
}
}
}