Highlight boost button if boosted!

This commit is contained in:
Freeplay 2023-06-03 12:57:51 -04:00
parent 0a7730e376
commit aaf19045ee
3 changed files with 27 additions and 10 deletions

View file

@ -821,6 +821,10 @@ defineExpose({
color: var(--fgHighlighted); color: var(--fgHighlighted);
} }
> i {
display: inline !important;
}
> .count { > .count {
display: inline; display: inline;
margin: 0 0 0 8px; margin: 0 0 0 8px;

View file

@ -506,6 +506,10 @@ function noteClick(e) {
color: var(--fgHighlighted); color: var(--fgHighlighted);
} }
> i {
display: inline !important;
}
> .count { > .count {
display: inline; display: inline;
margin: 0 0 0 8px; margin: 0 0 0 8px;

View file

@ -4,6 +4,7 @@
ref="buttonRef" ref="buttonRef"
v-tooltip.noDelay.bottom="i18n.ts.renote" v-tooltip.noDelay.bottom="i18n.ts.renote"
class="button _button canRenote" class="button _button canRenote"
:class="{ renoted: hasRenotedBefore }"
@click="renote(false, $event)" @click="renote(false, $event)"
> >
<i class="ph-repeat ph-bold ph-lg"></i> <i class="ph-repeat ph-bold ph-lg"></i>
@ -64,17 +65,18 @@ useTooltip(buttonRef, async (showing) => {
); );
}); });
const renote = async (viaKeyboard = false, ev?: MouseEvent) => { let hasRenotedBefore = $ref(false);
os.api("notes/renotes", {
noteId: props.note.id,
userId: $i.id,
limit: 1,
}).then((res) => {
hasRenotedBefore = res.length > 0;
});
const renote = (viaKeyboard = false, ev?: MouseEvent) => {
pleaseLogin(); pleaseLogin();
const renotes = await os.api("notes/renotes", {
noteId: props.note.id,
userId: $i.id,
limit: 1,
});
const hasRenotedBefore = renotes.length > 0;
let buttonActions: Array<MenuItem> = []; let buttonActions: Array<MenuItem> = [];
if (props.note.visibility === "public") { if (props.note.visibility === "public") {
@ -88,6 +90,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
renoteId: props.note.id, renoteId: props.note.id,
visibility: "public", visibility: "public",
}); });
hasRenotedBefore = true;
const el = const el =
ev && ev &&
((ev.currentTarget ?? ev.target) as ((ev.currentTarget ?? ev.target) as
@ -114,6 +117,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
renoteId: props.note.id, renoteId: props.note.id,
visibility: "home", visibility: "home",
}); });
hasRenotedBefore = true;
const el = const el =
ev && ev &&
((ev.currentTarget ?? ev.target) as ((ev.currentTarget ?? ev.target) as
@ -141,6 +145,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
visibility: "specified", visibility: "specified",
visibleUserIds: props.note.visibleUserIds, visibleUserIds: props.note.visibleUserIds,
}); });
hasRenotedBefore = true;
const el = const el =
ev && ev &&
((ev.currentTarget ?? ev.target) as ((ev.currentTarget ?? ev.target) as
@ -165,6 +170,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
renoteId: props.note.id, renoteId: props.note.id,
visibility: "followers", visibility: "followers",
}); });
hasRenotedBefore = true;
const el = const el =
ev && ev &&
((ev.currentTarget ?? ev.target) as ((ev.currentTarget ?? ev.target) as
@ -202,6 +208,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
localOnly: true, localOnly: true,
} }
); );
hasRenotedBefore = true;
const el = const el =
ev && ev &&
((ev.currentTarget ?? ev.target) as ((ev.currentTarget ?? ev.target) as
@ -240,6 +247,7 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
os.api("notes/unrenote", { os.api("notes/unrenote", {
noteId: props.note.id, noteId: props.note.id,
}); });
hasRenotedBefore = false;
}, },
}); });
} }
@ -253,7 +261,8 @@ const renote = async (viaKeyboard = false, ev?: MouseEvent) => {
cursor: default; cursor: default;
} }
&.renoted { &.renoted {
background: var(--accent); color: var(--accent) !important;
opacity: 1 !important;
} }
} }
</style> </style>