fix: path copy issue files tab (#6276)

This commit is contained in:
Calum H.
2026-06-02 05:19:05 +01:00
committed by GitHub
parent c3a58aba9e
commit f27691340a
3 changed files with 13 additions and 5 deletions
@@ -85,6 +85,7 @@ import { commonMessages } from '#ui/utils/common-messages'
import { injectFileManager } from '../providers/file-manager'
import type { FileContextMenuOption, FileItem } from '../types'
import { joinDisplayPath } from '../utils'
const { formatMessage } = useVIntl()
const { addNotification } = injectNotificationManager()
@@ -129,9 +130,7 @@ function handleCopyFilename() {
function getFullPath() {
if (!currentItem.value) return ''
const basePath = ctx.basePath?.value
const itemPath = currentItem.value.path
return basePath ? `${basePath}/${itemPath}`.replace(/\/+/g, '/') : itemPath
return joinDisplayPath(ctx.basePath?.value, currentItem.value.path)
}
function handleCopyPath() {
@@ -133,6 +133,7 @@ import {
} from '../composables/file-drag-state'
import { injectFileManager } from '../providers/file-manager'
import type { FileItem } from '../types'
import { joinDisplayPath } from '../utils'
const { formatMessage } = useVIntl()
const { addNotification } = injectNotificationManager()
@@ -204,8 +205,7 @@ const fileExtension = computed(() => getFileExtension(props.name))
const isZip = computed(() => fileExtension.value === 'zip')
function getFullPath() {
const basePath = ctx.basePath?.value
return basePath ? `${basePath}/${props.path}`.replace(/\/+/g, '/') : props.path
return joinDisplayPath(ctx.basePath?.value, props.path)
}
const menuOptions = computed(() => {
@@ -0,0 +1,9 @@
export function joinDisplayPath(basePath: string | undefined, itemPath: string) {
if (!basePath) return itemPath
const separator = basePath.includes('\\') ? '\\' : '/'
const path = itemPath.replace(/^[\\/]+/, '').replace(/[\\/]+/g, separator)
const base = basePath.replace(/[\\/]+$/, '')
return path ? `${base}${separator}${path}` : basePath
}