You've already forked AstralRinth
fix: path copy issue files tab (#6276)
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user