();
diff --git a/packages/client/src/components/MkSubNoteContent.vue b/packages/client/src/components/MkSubNoteContent.vue
index 0c766de307..a85aef3a36 100644
--- a/packages/client/src/components/MkSubNoteContent.vue
+++ b/packages/client/src/components/MkSubNoteContent.vue
@@ -2,7 +2,8 @@
@@ -16,6 +17,7 @@
!note.replyId
"
:to="`/notes/${note.renoteId}`"
+ v-tooltip="i18n.ts.jumpToReply"
class="reply-icon"
@click.stop
>
@@ -66,7 +68,9 @@
@@ -135,6 +139,7 @@
{{ i18n.ts._mfm.play }}
diff --git a/packages/client/src/components/MkTab.vue b/packages/client/src/components/MkTab.vue
index de3ef290b7..1f89c8ad07 100644
--- a/packages/client/src/components/MkTab.vue
+++ b/packages/client/src/components/MkTab.vue
@@ -6,6 +6,9 @@ export default defineComponent({
modelValue: {
required: true,
},
+ style: {
+ required: false,
+ },
},
render() {
const options = this.$slots.default();
@@ -13,22 +16,21 @@ export default defineComponent({
return h(
"div",
{
- class: "pxhvhrfw",
+ class: [
+ "pxhvhrfw",
+ { chips: this.style === "chips" },
+ ],
+ role: "tablist",
},
options.map((option) =>
withDirectives(
h(
"button",
{
- class: [
- "_button",
- {
- active:
- this.modelValue === option.props?.value,
- },
- ],
+ class: "_button",
+ role: "tab",
key: option.key,
- disabled: this.modelValue === option.props?.value,
+ 'aria-selected': this.modelValue === option.props?.value ? "true" : "false",
onClick: () => {
this.$emit(
"update:modelValue",
@@ -64,12 +66,12 @@ export default defineComponent({
cursor: default;
}
- &.active {
+ &[aria-selected="true"] {
color: var(--accent);
- background: var(--accentedBg);
+ background: var(--accentedBg) !important;
}
- &:not(.active):hover {
+ &:not([aria-selected="true"]):hover {
color: var(--fgHighlighted);
background: var(--panelHighlight);
}
@@ -83,6 +85,26 @@ export default defineComponent({
}
}
+ &.chips {
+ padding: 12px 32px;
+ font-size: .85em;
+ overflow-x: auto;
+ > button {
+ display: flex;
+ gap: 6px;
+ align-items: center;
+ flex: unset;
+ margin: 0;
+ margin-right: 8px;
+ padding: .5em 1em;
+ border-radius: 100px;
+ background: var(--buttonBg);
+ > i {
+ margin-top: -.1em;
+ }
+ }
+ }
+
&.max-width_500px {
font-size: 80%;
diff --git a/packages/client/src/components/MkUserCardMini.vue b/packages/client/src/components/MkUserCardMini.vue
index 9d97e24841..908882ec30 100644
--- a/packages/client/src/components/MkUserCardMini.vue
+++ b/packages/client/src/components/MkUserCardMini.vue
@@ -1,9 +1,11 @@
-
-