diff --git a/packages/client/src/components/MkInstanceTicker.vue b/packages/client/src/components/MkInstanceTicker.vue index 7ed836cd8a86..dbf66724ba76 100644 --- a/packages/client/src/components/MkInstanceTicker.vue +++ b/packages/client/src/components/MkInstanceTicker.vue @@ -1,15 +1,16 @@ @@ -54,41 +61,53 @@ const tickerColor = { .hpaizdrt { background: var(--ticker-bg, #777777); color: var(--ticker-fg, #ffffff); - width: auto; - height: 1.1rem; - border-radius: 4px; overflow: hidden; > .icon { - width: auto; - height: 100%; + aspect-ratio: 1 / 1; } > .name { - margin-left: 4px; - line-height: 1.1rem; font-size: 0.9em; vertical-align: top; font-weight: bold; } - &.vertical { + &.normal { + width: auto; + height: 1.1rem; + border-radius: 4px; + overflow: hidden; + > .icon { + width: auto; + height: 100%; + } + > .name { + margin-left: 4px; + line-height: 1.1rem; + } + } + + &.leftedge { position: absolute; top: 0; left: 0; + display: grid; + gap: 4px; + grid-template-rows: auto 1fr; width: 14px; height: 100%; border-radius: 0; > .icon { + display: block; width: 100%; - height: auto; } > .name { - display: inline-block; - height: calc(100% - 14px); - margin-left: 0; + display: block; + width: 100%; + height: 100%; line-height: 14px; writing-mode: vertical-lr; white-space: nowrap; @@ -96,5 +115,78 @@ const tickerColor = { overflow: hidden; } } + + &.rightedge { + @extend .leftedge; + left: auto; + right: 0; + } + + &.bottomright { + --ticker-bg-deg: 135deg; + pointer-events: none; + user-select: none; + position: absolute; + z-index: -1; + inset: 0; + padding: 6px; + display: flex; + gap: 4px; + flex-direction: column; + justify-content: flex-end; + align-items: flex-end; + background: linear-gradient( + var(--ticker-bg-deg), + rgba(var(--ticker-bg-rgb), 0.35), + rgba(var(--ticker-bg-rgb), 0.35) 3em, + rgba(0, 0, 0, 0) 3em, + rgba(0, 0, 0, 0) calc(100% - 3em), + rgba(var(--ticker-bg-rgb), 0.35) calc(100% - 3em), + rgba(var(--ticker-bg-rgb), 0.35) 100% + ); + color: #fff; + text-shadow: /* 0.866 ≈ sin(60deg) */ + 1px 0 1px #000, + 0.866px 0.5px 1px #000, + 0.5px 0.866px 1px #000, + 0 1px 1px #000, + -0.5px 0.866px 1px #000, + -0.866px 0.5px 1px #000, + -1px 0 1px #000, + -0.866px -0.5px 1px #000, + -0.5px -0.866px 1px #000, + 0 -1px 1px #000, + 0.5px -0.866px 1px #000, + 0.866px -0.5px 1px #000; + + > .icon { + display: block; + height: 2em; + opacity: 0.8; + } + + > .name { + display: block; + max-width: 100%; + margin: -4px; // text-shadow + padding: 4px; // text-shadow + line-height: 1; + opacity: 0.7; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + text-align: end; + } + } + + &.bottomleft { + @extend .bottomright; + --ticker-bg-deg: -135deg; + align-items: flex-start; + + > .name { + text-align: start; + } + } } diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue index 455af2145120..75c1f1573083 100644 --- a/packages/client/src/components/MkNote.vue +++ b/packages/client/src/components/MkNote.vue @@ -35,7 +35,7 @@
- +

diff --git a/packages/client/src/components/MkNoteDetailed.vue b/packages/client/src/components/MkNoteDetailed.vue index 2fbdb4a7c2f7..23aaf81f6fc7 100644 --- a/packages/client/src/components/MkNoteDetailed.vue +++ b/packages/client/src/components/MkNoteDetailed.vue @@ -43,7 +43,7 @@

- +
diff --git a/packages/client/src/pages/settings/akatsukey-settings.vue b/packages/client/src/pages/settings/akatsukey-settings.vue index b61614248ef3..8b6477c3ef43 100644 --- a/packages/client/src/pages/settings/akatsukey-settings.vue +++ b/packages/client/src/pages/settings/akatsukey-settings.vue @@ -1,19 +1,31 @@ - +