diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
| commit | 9384f5399da39e53855beb8e7f8ded1aa56bf72e (patch) | |
| tree | ce5959571a981b9c4047da3c7b3fd080aa44222c /packages/client/src/components/MkRenoteButton.vue | |
| parent | wip: retention for dashboard (diff) | |
| download | misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2 misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip | |
rename: client -> frontend
Diffstat (limited to 'packages/client/src/components/MkRenoteButton.vue')
| -rw-r--r-- | packages/client/src/components/MkRenoteButton.vue | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/packages/client/src/components/MkRenoteButton.vue b/packages/client/src/components/MkRenoteButton.vue deleted file mode 100644 index e0b1eaafc9..0000000000 --- a/packages/client/src/components/MkRenoteButton.vue +++ /dev/null @@ -1,99 +0,0 @@ -<template> -<button - v-if="canRenote" - ref="buttonRef" - class="eddddedb _button canRenote" - @click="renote()" -> - <i class="ti ti-repeat"></i> - <p v-if="count > 0" class="count">{{ count }}</p> -</button> -<button v-else class="eddddedb _button"> - <i class="ti ti-ban"></i> -</button> -</template> - -<script lang="ts" setup> -import { computed, ref } from 'vue'; -import * as misskey from 'misskey-js'; -import XDetails from '@/components/MkUsersTooltip.vue'; -import { pleaseLogin } from '@/scripts/please-login'; -import * as os from '@/os'; -import { $i } from '@/account'; -import { useTooltip } from '@/scripts/use-tooltip'; -import { i18n } from '@/i18n'; - -const props = defineProps<{ - note: misskey.entities.Note; - count: number; -}>(); - -const buttonRef = ref<HTMLElement>(); - -const canRenote = computed(() => ['public', 'home'].includes(props.note.visibility) || props.note.userId === $i.id); - -useTooltip(buttonRef, async (showing) => { - const renotes = await os.api('notes/renotes', { - noteId: props.note.id, - limit: 11, - }); - - const users = renotes.map(x => x.user); - - if (users.length < 1) return; - - os.popup(XDetails, { - showing, - users, - count: props.count, - targetElement: buttonRef.value, - }, {}, 'closed'); -}); - -const renote = (viaKeyboard = false) => { - pleaseLogin(); - os.popupMenu([{ - text: i18n.ts.renote, - icon: 'ti ti-repeat', - action: () => { - os.api('notes/create', { - renoteId: props.note.id, - }); - }, - }, { - text: i18n.ts.quote, - icon: 'ti ti-quote', - action: () => { - os.post({ - renote: props.note, - }); - }, - }], buttonRef.value, { - viaKeyboard, - }); -}; -</script> - -<style lang="scss" scoped> -.eddddedb { - display: inline-block; - height: 32px; - margin: 2px; - padding: 0 6px; - border-radius: 4px; - - &:not(.canRenote) { - cursor: default; - } - - &.renoted { - background: var(--accent); - } - - > .count { - display: inline; - margin-left: 8px; - opacity: 0.7; - } -} -</style> |