Fix bugs with 0.10.0, update changelog
This commit is contained in:
parent
0030f35d0c
commit
ece8a07486
@ -19,6 +19,7 @@ import {
|
|||||||
SettingsIcon,
|
SettingsIcon,
|
||||||
WorldIcon,
|
WorldIcon,
|
||||||
XIcon,
|
XIcon,
|
||||||
|
NewspaperIcon,
|
||||||
} from '@modrinth/assets'
|
} from '@modrinth/assets'
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
@ -201,7 +202,7 @@ async function setupApp() {
|
|||||||
title: article.title,
|
title: article.title,
|
||||||
summary: article.summary,
|
summary: article.summary,
|
||||||
date: article.date,
|
date: article.date,
|
||||||
}))
|
})).slice(0, 4)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -610,6 +611,11 @@ function handleAuxClick(e) {
|
|||||||
:key="`news-${index}`"
|
:key="`news-${index}`"
|
||||||
:article="item"
|
:article="item"
|
||||||
/>
|
/>
|
||||||
|
<ButtonStyled color="brand" size="large">
|
||||||
|
<a href="https://modrinth.com/news" target="_blank" class="my-4">
|
||||||
|
<NewspaperIcon /> View all news
|
||||||
|
</a>
|
||||||
|
</ButtonStyled>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -172,7 +172,10 @@ onUnmounted(() => unlisten())
|
|||||||
<div class="flex items-center col-span-3 gap-1 text-secondary font-semibold">
|
<div class="flex items-center col-span-3 gap-1 text-secondary font-semibold">
|
||||||
<TimerIcon />
|
<TimerIcon />
|
||||||
<span class="text-sm">
|
<span class="text-sm">
|
||||||
|
<template v-if="instance.last_played">
|
||||||
Played {{ formatRelativeTime(dayjs(instance.last_played).toISOString()) }}
|
Played {{ formatRelativeTime(dayjs(instance.last_played).toISOString()) }}
|
||||||
|
</template>
|
||||||
|
<template v-else> Never played </template>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -30,7 +30,7 @@ const getInstances = async () => {
|
|||||||
|
|
||||||
return dateB - dateA
|
return dateB - dateA
|
||||||
})
|
})
|
||||||
.slice(0, 4)
|
.slice(0, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
await getInstances()
|
await getInstances()
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import type { Dayjs } from 'dayjs';
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import {
|
import {
|
||||||
EyeIcon,
|
EyeIcon,
|
||||||
@ -41,7 +42,8 @@ const emit = defineEmits<{
|
|||||||
}>()
|
}>()
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
instance: GameInstance
|
instance: GameInstance,
|
||||||
|
last_played: Dayjs
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
const loadingModpack = ref(!!props.instance.linked_data)
|
const loadingModpack = ref(!!props.instance.linked_data)
|
||||||
@ -147,12 +149,12 @@ onUnmounted(() => {
|
|||||||
: null
|
: null
|
||||||
"
|
"
|
||||||
class="w-fit shrink-0"
|
class="w-fit shrink-0"
|
||||||
:class="{ 'cursor-help smart-clickable:allow-pointer-events': instance.last_played }"
|
:class="{ 'cursor-help smart-clickable:allow-pointer-events': last_played }"
|
||||||
>
|
>
|
||||||
<template v-if="instance.last_played">
|
<template v-if="last_played">
|
||||||
{{
|
{{
|
||||||
formatMessage(commonMessages.playedLabel, {
|
formatMessage(commonMessages.playedLabel, {
|
||||||
time: formatRelativeTime(instance.last_played.toISOString()),
|
time: formatRelativeTime(last_played.toISOString?.()),
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -84,7 +84,7 @@ async function populateJumpBackIn() {
|
|||||||
|
|
||||||
worldItems.push({
|
worldItems.push({
|
||||||
type: 'world',
|
type: 'world',
|
||||||
last_played: dayjs(world.last_played),
|
last_played: dayjs(world.last_played ?? 0),
|
||||||
world: world,
|
world: world,
|
||||||
instance: instance,
|
instance: instance,
|
||||||
})
|
})
|
||||||
@ -138,13 +138,13 @@ async function populateJumpBackIn() {
|
|||||||
|
|
||||||
instanceItems.push({
|
instanceItems.push({
|
||||||
type: 'instance',
|
type: 'instance',
|
||||||
last_played: dayjs(instance.last_played),
|
last_played: dayjs(instance.last_played ?? 0),
|
||||||
instance: instance,
|
instance: instance,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const items: JumpBackInItem[] = [...worldItems, ...instanceItems]
|
const items: JumpBackInItem[] = [...worldItems, ...instanceItems]
|
||||||
items.sort((a, b) => dayjs(b.last_played).diff(dayjs(a.last_played)))
|
items.sort((a, b) => dayjs(b.last_played ?? 0).diff(dayjs(a.last_played ?? 0)))
|
||||||
jumpBackInItems.value = items
|
jumpBackInItems.value = items
|
||||||
.filter((item, index) => index < MIN_JUMP_BACK_IN || item.last_played.isAfter(TWO_WEEKS_AGO))
|
.filter((item, index) => index < MIN_JUMP_BACK_IN || item.last_played.isAfter(TWO_WEEKS_AGO))
|
||||||
.slice(0, MAX_JUMP_BACK_IN)
|
.slice(0, MAX_JUMP_BACK_IN)
|
||||||
@ -291,7 +291,7 @@ onUnmounted(() => {
|
|||||||
"
|
"
|
||||||
@stop="() => stopInstance(item.instance.path)"
|
@stop="() => stopInstance(item.instance.path)"
|
||||||
/>
|
/>
|
||||||
<InstanceItem v-else :instance="item.instance" />
|
<InstanceItem v-else :instance="item.instance" :last_played="item.last_played" />
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -220,7 +220,7 @@ async function refreshSearch() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
results.value = rawResults.result
|
results.value = rawResults.result
|
||||||
currentPage.value = Math.min(pageCount.value, currentPage.value)
|
currentPage.value = Math.max(1, Math.min(pageCount.value, currentPage.value))
|
||||||
|
|
||||||
const persistentParams: LocationQuery = {}
|
const persistentParams: LocationQuery = {}
|
||||||
|
|
||||||
|
|||||||
@ -10,11 +10,24 @@ export type VersionEntry = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const VERSIONS: VersionEntry[] = [
|
const VERSIONS: VersionEntry[] = [
|
||||||
|
{
|
||||||
|
date: `2025-07-05T12:00:00-07:00`,
|
||||||
|
product: 'app',
|
||||||
|
version: `0.10.1`,
|
||||||
|
body: `### Improvements
|
||||||
|
- News section will now only show up to 4 articles.
|
||||||
|
- Fixed critical issue with updating on Windows.
|
||||||
|
- Fixed search being broken after a query that yields no results.
|
||||||
|
- Fixed 'Jump back in' section on Home page not working.
|
||||||
|
- Fixed too many Quick Instance items on the sidebar causing the UI to overflow.`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
date: `2025-07-04T12:00:00-07:00`,
|
date: `2025-07-04T12:00:00-07:00`,
|
||||||
product: 'app',
|
product: 'app',
|
||||||
version: `0.10.0`,
|
version: `0.10.0`,
|
||||||
body: `### Added
|
body: `**Note: This update was pulled due to issues.**
|
||||||
|
|
||||||
|
### Added
|
||||||
- Added Skins page as a beta feature. There may be some minor bugs with it, but we'd love to get user feedback on this feature as it's been one of our most highly requested features.
|
- Added Skins page as a beta feature. There may be some minor bugs with it, but we'd love to get user feedback on this feature as it's been one of our most highly requested features.
|
||||||
- Save as many of your own skins as you'd like to swap between them at any moment.
|
- Save as many of your own skins as you'd like to swap between them at any moment.
|
||||||
- Pick a default cape, or override the cape on any of your saved skin profiles to tailor each look perfectly.
|
- Pick a default cape, or override the cape on any of your saved skin profiles to tailor each look perfectly.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user