fix: better cursor handling

This commit is contained in:
kakkokari-gtyih 2025-06-07 16:39:29 +09:00
parent 5963e8c484
commit 6e3494a389
1 changed files with 7 additions and 3 deletions

View File

@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
> >
<template #item="{ element }"> <template #item="{ element }">
<div <div
:class="$style.file" :class="[$style.file, { [$style.dragEnabled]: props.draggable !== false }]"
role="button" role="button"
tabindex="0" tabindex="0"
@click="handleClick(element, $event)" @click="handleClick(element, $event)"
@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkDriveFileThumbnail v-if="element.type === 'driveFile'" :data-id="element.id" :class="$style.thumbnail" :file="element.file" fit="cover"/> <MkDriveFileThumbnail v-if="element.type === 'driveFile'" :data-id="element.id" :class="$style.thumbnail" :file="element.file" fit="cover"/>
<template v-if="element.type === 'uploaderItem'"> <template v-if="element.type === 'uploaderItem'">
<img v-if="element.file.thumbnail" :src="element.file.thumbnail" :class="[$style.thumbnail, $style.uploaderThumbnail]" /> <img v-if="element.file.thumbnail" :src="element.file.thumbnail" :class="[$style.thumbnail, $style.uploaderThumbnail]" />
<div v-else :class="[$style.thumbnail, $style.uploaderThumbnailIcon]" v-panel> <div v-else v-panel :class="[$style.thumbnail, $style.uploaderThumbnailIcon]">
<i :class="[$style.icon, getFileTypeIcon(getFileType(element.file.file.type))]"></i> <i :class="[$style.icon, getFileTypeIcon(getFileType(element.file.file.type))]"></i>
</div> </div>
<div v-if="element.file.isSensitive" :class="$style.sensitive"> <div v-if="element.file.isSensitive" :class="$style.sensitive">
@ -287,11 +287,14 @@ function showFileMenu(attach: Attach, ev: MouseEvent | KeyboardEvent): void {
margin-right: 4px; margin-right: 4px;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
cursor: move;
&:focus-visible { &:focus-visible {
outline-offset: 4px; outline-offset: 4px;
} }
&.dragEnabled {
cursor: move;
}
} }
.thumbnail { .thumbnail {
@ -405,6 +408,7 @@ function showFileMenu(attach: Attach, ev: MouseEvent | KeyboardEvent): void {
color: #fff; color: #fff;
opacity: 0; opacity: 0;
transition: opacity 0.2s ease; transition: opacity 0.2s ease;
cursor: pointer;
} }
.uploadProgressWrapper:global(.uploading) { .uploadProgressWrapper:global(.uploading) {