Skip to content

Commit 503b4df

Browse files
committed
for releases the date is now being used to send you as close as possible to the version that was selected
1 parent d71dfd9 commit 503b4df

File tree

3 files changed

+56
-8
lines changed

3 files changed

+56
-8
lines changed

app/components/Changelog/Card.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
<script setup lang="ts">
22
import type { ReleaseData } from '~~/shared/types/changelog'
3-
import { useDateFormat } from '#imports'
43
54
const { release } = defineProps<{
65
release: ReleaseData
76
}>()
8-
const formattedDate = useDateFormat(() => release.publishedAt, 'YYYY-MM-DD', {})
7+
const formattedDate = computed(() => {
8+
if (!release.publishedAt) {
9+
return
10+
}
11+
return new Date(release.publishedAt).toISOString().split('T')[0]
12+
})
913
1014
const cardId = computed(() => (release.publishedAt ? `date-${formattedDate.value}` : undefined))
1115
Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,42 @@
11
<script setup lang="ts">
2-
const { info } = defineProps<{ info: ChangelogReleaseInfo }>()
2+
const { info, requestedDate } = defineProps<{
3+
info: ChangelogReleaseInfo
4+
requestedDate?: string
5+
}>()
36
4-
const { data: releases } = useFetch<ReleaseData[]>(
7+
const { data: releases, pending } = useFetch<ReleaseData[]>(
58
() => `/api/changelog/releases/${info.provider}/${info.repo}`,
69
)
10+
11+
const route = useRoute()
12+
const router = useRouter()
13+
14+
// if (import.meta.client) {
15+
16+
// watchEffect(() => {
17+
18+
// })
19+
// }
20+
21+
watch(
22+
[() => route.hash, () => requestedDate, releases],
23+
([hash, date, r]) => {
24+
console.log('mario')
25+
if (hash || !date || !r) {
26+
return
27+
}
28+
29+
router.push(`#date-${date}`)
30+
},
31+
{
32+
immediate: true,
33+
},
34+
)
735
</script>
836
<template>
937
<div class="flex flex-col gap-2 py-3" v-if="releases">
10-
<ChangelogCard v-for="release of releases" :release :key="release.id" />
38+
<ClientOnly>
39+
<ChangelogCard v-for="release of releases" :release :key="release.id" />
40+
</ClientOnly>
1141
</div>
1242
</template>

app/pages/package-changes/[...path].vue

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ definePageMeta({
55
name: 'changes',
66
path: '/package-changes/:path+',
77
alias: ['/package/changes/:path+', '/changes/:path+'],
8-
scrollMargin: 140,
8+
scrollMargin: 150,
99
})
1010
1111
/// routing
@@ -43,7 +43,7 @@ const packageName = computed(() => parsedRoute.value.packageName)
4343
const version = computed(() => parsedRoute.value.version)
4444
const filePath = computed(() => parsedRoute.value.filePath?.replace(/\/$/, ''))
4545
46-
const { data: pkg } = usePackage(packageName)
46+
const { data: pkg } = usePackage(packageName, version)
4747
4848
const versionUrlPattern = computed(() => {
4949
const base = `/package-changes/${packageName.value}/v/{version}`
@@ -69,6 +69,16 @@ const { data: changelog, pending } = usePackageChangelog(packageName, version)
6969
const repoProviderIcon = useProviderIcon(() => changelog.value?.provider)
7070
const tptoc = useTemplateRef('tptoc')
7171
72+
const versionDate = computed(() => {
73+
if (!version.value) {
74+
return
75+
}
76+
const time = pkg.value?.time[version.value]
77+
if (time) {
78+
return new Date(time).toISOString().split('T')[0]
79+
}
80+
})
81+
7282
defineOgImageComponent('Default', {
7383
title: () => `${pkg.value?.name ?? 'Package'} - Changelogs`,
7484
description: () => pkg.value?.license ?? '',
@@ -113,7 +123,11 @@ defineOgImageComponent('Default', {
113123
</div>
114124
</header>
115125
<section class="container w-full" v-if="!pending">
116-
<LazyChangelogReleases v-if="changelog?.type == 'release'" :info="changelog" />
126+
<LazyChangelogReleases
127+
v-if="changelog?.type == 'release'"
128+
:info="changelog"
129+
:requestedDate="versionDate"
130+
/>
117131
<LazyChangelogMarkdown
118132
v-else-if="changelog?.type == 'md'"
119133
:info="changelog"

0 commit comments

Comments
 (0)