Skip to content

Commit bbcaa11

Browse files
committed
fix: force ltr on download chart in modal
1 parent 40d571f commit bbcaa11

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

app/components/PackageDownloadAnalytics.vue

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,12 @@ function formatXyDataset(
138138
color: accent.value,
139139
},
140140
],
141-
dates: dataset.map(d => `${d.weekStart}\nto ${d.weekEnd}`),
141+
dates: dataset.map(d =>
142+
$t('package.downloads.date_range_multiline', {
143+
start: d.weekStart,
144+
end: d.weekEnd,
145+
}),
146+
),
142147
}
143148
}
144149
if (selectedGranularity === 'daily' && isDailyDataset(dataset)) {
@@ -199,14 +204,16 @@ function safeMax(a: string, b: string): string {
199204
return a.localeCompare(b) >= 0 ? a : b
200205
}
201206
202-
function extractDates(dateLabel: string) {
203-
if (typeof dateLabel !== 'string') return []
207+
function extractDates(dateLabel: string): [string, string] | null {
208+
const matches = dateLabel.match(/\b(\d{4}(?:-\d{2}-\d{2})?)\b/g) // either yyyy or yyyy-mm-dd
209+
if (!matches) return null
204210
205-
const parts = dateLabel.trim().split(/\s+/).filter(Boolean)
211+
const first = matches.at(0)
212+
const last = matches.at(-1)
206213
207-
if (parts.length < 2) return []
214+
if (!first || !last || first === last) return null
208215
209-
return [parts[0], parts[parts.length - 1]]
216+
return [first, last]
210217
}
211218
212219
/**
@@ -553,7 +560,8 @@ const config = computed(() => {
553560
? undefined
554561
: ({ absoluteIndex, side }: { absoluteIndex: number; side: 'left' | 'right' }) => {
555562
const parts = extractDates(chartData.value.dates[absoluteIndex] ?? '')
556-
return side === 'left' ? parts[0] : parts.at(-1)
563+
if (!parts) return ''
564+
return side === 'left' ? parts[0] : parts[1]
557565
},
558566
highlightColor: colors.value.bgElevated,
559567
minimap: {
@@ -670,7 +678,7 @@ const config = computed(() => {
670678
</div>
671679

672680
<ClientOnly v-if="inModal && chartData.dataset">
673-
<VueUiXy :dataset="chartData.dataset" :config="config">
681+
<VueUiXy :dataset="chartData.dataset" :config="config" class="[direction:ltr]">
674682
<template #menuIcon="{ isOpen }">
675683
<span v-if="isOpen" class="i-carbon:close w-6 h-6" aria-hidden="true" />
676684
<span v-else class="i-carbon:overflow-menu-vertical w-6 h-6" aria-hidden="true" />

0 commit comments

Comments
 (0)