diff --git a/src/views/Sidebar/components/FriendsSidebar.vue b/src/views/Sidebar/components/FriendsSidebar.vue index b8521898..7a0f29f5 100644 --- a/src/views/Sidebar/components/FriendsSidebar.vue +++ b/src/views/Sidebar/components/FriendsSidebar.vue @@ -147,12 +147,18 @@ v-if="item.row.friend.state === 'online'" @click="friendRequestInvite(item.row.friend)"> {{ t('dialog.user.actions.request_invite') }} + + + {{ t('dialog.user.actions.invite') }} + + + import { computed, nextTick, onMounted, reactive, ref, watch } from 'vue'; - import { ChevronDown, User } from 'lucide-vue-next'; + import { ChevronDown, Clock, User } from 'lucide-vue-next'; import { storeToRefs } from 'pinia'; import { toast } from 'vue-sonner'; import { useI18n } from 'vue-i18n'; @@ -205,6 +211,7 @@ ContextMenuContent, ContextMenuItem, ContextMenuSeparator, + ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, @@ -225,6 +232,7 @@ import { getFriendsSortFunction, isRealInstance } from '../../../shared/utils'; import { instanceRequest, notificationRequest, queryRequest, userRequest } from '../../../api'; import { useInviteChecks } from '../../../composables/useInviteChecks'; + import { isActionRecent, recordRecentAction } from '../../../composables/useRecentActions'; import { useUserDisplay } from '../../../composables/useUserDisplay'; import { getFriendsLocations } from '../../../shared/utils/location.js'; import { parseLocation } from '../../../shared/utils'; @@ -793,6 +801,7 @@ */ function friendRequestInvite(friend) { notificationRequest.sendRequestInvite({ platform: 'standalonewindows' }, friend.id).then(() => { + recordRecentAction(friend.id, 'Request Invite'); toast.success('Request invite sent'); }); } @@ -817,6 +826,7 @@ friend.id ) .then(() => { + recordRecentAction(friend.id, 'Invite'); toast.success(t('message.invite.sent')); }); }); diff --git a/src/views/Sidebar/components/__tests__/FriendsSidebar.test.js b/src/views/Sidebar/components/__tests__/FriendsSidebar.test.js index adfa88dc..e303caf3 100644 --- a/src/views/Sidebar/components/__tests__/FriendsSidebar.test.js +++ b/src/views/Sidebar/components/__tests__/FriendsSidebar.test.js @@ -180,6 +180,7 @@ vi.mock('../../../../components/ui/context-menu', () => ({ '' }, ContextMenuSeparator: { template: '
' }, + ContextMenuShortcut: { template: '' }, ContextMenuSub: { template: '
' }, ContextMenuSubContent: { template: '
' }, ContextMenuSubTrigger: { template: '
' }, @@ -210,9 +211,15 @@ vi.mock('../FriendItem.vue', () => ({ vi.mock('lucide-vue-next', () => ({ ChevronDown: { template: '' }, + Clock: { template: '' }, User: { template: '' } })); +vi.mock('../../../../composables/useRecentActions', () => ({ + isActionRecent: vi.fn(() => false), + recordRecentAction: vi.fn() +})); + import FriendsSidebar from '../FriendsSidebar.vue'; function flushPromises() { diff --git a/src/views/Tools/ScreenshotMetadata.vue b/src/views/Tools/ScreenshotMetadata.vue index 6452cf2b..c7c723bf 100644 --- a/src/views/Tools/ScreenshotMetadata.vue +++ b/src/views/Tools/ScreenshotMetadata.vue @@ -182,18 +182,14 @@ {{ t('dialog.screenshot_metadata.section_players') }} ({{ screenshotMetadataDialog.metadata.players.length }})
- - - {{ user.displayName }} - - + variant="secondary" + class="cursor-pointer hover:bg-accent transition-colors" + @click="lookupUser(user)"> + {{ user.displayName }} +
@@ -267,7 +263,7 @@ import { ButtonGroup } from '@/components/ui/button-group'; import { InputGroupSearch } from '@/components/ui/input-group'; import { Kbd } from '@/components/ui/kbd'; - import { TooltipWrapper } from '@/components/ui/tooltip'; + import { formatDateFilter } from '@/shared/utils'; import { storeToRefs } from 'pinia'; import { toast } from 'vue-sonner';