Skip to content

Commit f2409d7

Browse files
authored
Merge pull request #18 from xconnio/fix-modified-time
show modified time in file explorer
2 parents f98e58e + 59c5a9d commit f2409d7

1 file changed

Lines changed: 20 additions & 13 deletions

File tree

src/components/EmbeddedDesktopFileExplorer.vue

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,13 @@ function getStringValue(source: Record<string, unknown>, ...keys: string[]) {
113113
return typeof value === 'string' ? value : ''
114114
}
115115
116+
function getDateValue(source: Record<string, unknown>, ...keys: string[]) {
117+
const value = getValue(source, ...keys)
118+
if (typeof value === 'string') return value
119+
if (typeof value === 'number' && Number.isFinite(value)) return String(value)
120+
return ''
121+
}
122+
116123
function getBooleanValue(source: Record<string, unknown>, ...keys: string[]) {
117124
const value = getValue(source, ...keys)
118125
return typeof value === 'boolean' ? value : false
@@ -152,7 +159,7 @@ function parseBrowseResult(raw: unknown): FileBrowseResult {
152159
type: getStringValue(source, 'type', 'Type'),
153160
mode: getStringValue(source, 'mode', 'Mode'),
154161
size: getNumberValue(source, 'size', 'Size'),
155-
mod_time: getStringValue(source, 'mod_time', 'ModTime'),
162+
mod_time: getDateValue(source, 'mod_time'),
156163
is_dir: getBooleanValue(source, 'is_dir', 'IsDir'),
157164
is_symlink: getBooleanValue(source, 'is_symlink', 'IsSymlink'),
158165
link_target: getStringValue(source, 'link_target', 'LinkTarget'),
@@ -224,7 +231,15 @@ function formatError(error: unknown) {
224231
function formatDate(value?: string) {
225232
if (!value) return 'Unknown'
226233
227-
const date = new Date(value)
234+
const numericValue = Number(value)
235+
const parsedValue =
236+
Number.isFinite(numericValue) && value.trim() !== ''
237+
? numericValue < 1e12
238+
? numericValue * 1000
239+
: numericValue
240+
: value
241+
242+
const date = new Date(parsedValue)
228243
if (Number.isNaN(date.getTime())) return value
229244
230245
return new Intl.DateTimeFormat(undefined, {
@@ -317,7 +332,7 @@ async function loadPath(path = '') {
317332
try {
318333
const result = await session.value.call(
319334
procedureFileBrowse,
320-
requestedPath ? [requestedPath] : [""],
335+
requestedPath ? [requestedPath] : [''],
321336
)
322337
const browse = result.args?.[0] ? parseBrowseResult(result.args[0]) : undefined
323338
@@ -486,7 +501,6 @@ onUnmounted(async () => {
486501
<div v-if="errorMessage" class="alert alert-danger mb-0 mt-3">
487502
<i class="bi bi-exclamation-octagon me-2"></i>{{ errorMessage }}
488503
</div>
489-
490504
</section>
491505

492506
<div v-if="isConnecting" class="state-card">
@@ -513,11 +527,7 @@ onUnmounted(async () => {
513527
<span>Show hidden files</span>
514528
</label>
515529
<span class="entry-count">
516-
{{
517-
currentBrowse.is_dir
518-
? `${visibleEntries.length} entries`
519-
: currentBrowse.type
520-
}}
530+
{{ currentBrowse.is_dir ? `${visibleEntries.length} entries` : currentBrowse.type }}
521531
</span>
522532
</div>
523533
</div>
@@ -530,9 +540,7 @@ onUnmounted(async () => {
530540
</div>
531541

532542
<div
533-
v-else-if="
534-
currentBrowse && currentBrowse.is_dir && visibleEntries.length > 0
535-
"
543+
v-else-if="currentBrowse && currentBrowse.is_dir && visibleEntries.length > 0"
536544
class="entry-list"
537545
>
538546
<button
@@ -550,7 +558,6 @@ onUnmounted(async () => {
550558
<div class="entry-name">{{ entry.name }}</div>
551559
<div class="entry-meta">
552560
<span>{{ entry.type }}</span>
553-
<span>{{ formatDate(entry.mod_time) }}</span>
554561
</div>
555562
</div>
556563
</div>

0 commit comments

Comments
 (0)