Skip to content

Commit cbdc83b

Browse files
authored
Merge pull request #315 from SkyCryptWebsite/dev
2 parents e17fe16 + 79a61e0 commit cbdc83b

20 files changed

Lines changed: 636 additions & 632 deletions

.changeset/pre.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"mode": "pre",
3+
"tag": "beta",
4+
"initialVersions": {
5+
"skycrypt-frontend": "3.5.1"
6+
},
7+
"changesets": [
8+
"rare-snakes-vanish",
9+
"ten-trees-beg"
10+
]
11+
}

.changeset/rare-snakes-vanish.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"skycrypt-frontend": patch
3+
---
4+
5+
Fix remaining SvelteKit remote query lifecycle regressions by replacing stored live query instances with plain reactive snapshots in the stats route, combined section loading, inventory, networth, additional stats, and header theme icon flows. This aligns the app more closely with the stricter remote query behavior introduced around sveltejs/kit#15533 and prevents inactive query access during tab and section transitions.

.changeset/ten-trees-beg.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"skycrypt-frontend": patch
3+
---
4+
5+
Improve the mobile stats header and profile action layout by collapsing the search trigger earlier on small screens and keeping the expanded profile actions inline with the always-visible buttons while preserving their staggered animation timing.

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 3.5.2-beta.0
4+
5+
### Patch Changes
6+
7+
- Fix remaining SvelteKit remote query lifecycle regressions by replacing stored live query instances with plain reactive snapshots in the stats route, combined section loading, inventory, networth, additional stats, and header theme icon flows. This aligns the app more closely with the stricter remote query behavior introduced around sveltejs/kit#15533 and prevents inactive query access during tab and section transitions. ([`3dd3f2f`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/3dd3f2fa7d77e2668c90755ec5e18933838c2752))
8+
9+
- Improve the mobile stats header and profile action layout by collapsing the search trigger earlier on small screens and keeping the expanded profile actions inline with the always-visible buttons while preserving their staggered animation timing. ([`c677cbb`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/c677cbb95be31fcb9887beca90cdb607ade05efd))
10+
311
## 3.5.1
412

513
### Patch Changes

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "skycrypt-frontend",
3-
"version": "3.5.1",
3+
"version": "3.5.2-beta.0",
44
"private": true,
55
"type": "module",
66
"repository": {
@@ -32,7 +32,7 @@
3232
"test:e2e": "playwright test"
3333
},
3434
"devDependencies": {
35-
"@changesets/cli": "^2.30.0",
35+
"@changesets/cli": "^2.31.0",
3636
"@commitlint/cli": "^20.5.0",
3737
"@commitlint/config-conventional": "^20.5.0",
3838
"@commitlint/types": "^20.5.0",
@@ -60,12 +60,12 @@
6060
"@vitest/browser-playwright": "^4.1.4",
6161
"@vitest/coverage-v8": "^4.1.4",
6262
"@vitest/ui": "^4.1.4",
63-
"bits-ui": "^2.17.3",
63+
"bits-ui": "^2.18.0",
6464
"clsx": "^2.1.1",
6565
"date-fns": "^4.1.0",
6666
"devalue": "^5.7.1",
6767
"dotenv-cli": "^11.0.0",
68-
"eslint": "^10.2.0",
68+
"eslint": "^10.2.1",
6969
"eslint-config-prettier": "^10.1.8",
7070
"eslint-plugin-svelte": "^3.17.0",
7171
"formsnap": "^2.0.1",
@@ -95,7 +95,7 @@
9595
"tailwindcss": "^4.2.2",
9696
"tailwindcss-motion": "^1.1.1",
9797
"tslib": "^2.8.1",
98-
"typescript": "^6.0.2",
98+
"typescript": "^6.0.3",
9999
"typescript-eslint": "^8.58.2",
100100
"vaul-svelte": "1.0.0-next.7",
101101
"vite": "^8.0.8",
@@ -104,10 +104,10 @@
104104
"zod": "^4.3.6"
105105
},
106106
"dependencies": {
107-
"@sentry/sveltekit": "^10.48.0",
107+
"@sentry/sveltekit": "^10.49.0",
108108
"culori": "^4.0.2",
109109
"simple-git-hooks": "^2.13.1",
110-
"takumi-js": "1.0.9"
110+
"takumi-js": "1.0.14"
111111
},
112112
"engines": {
113113
"node": "^24",

pnpm-lock.yaml

Lines changed: 403 additions & 411 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ allowBuilds:
44
esbuild: true
55
simple-git-hooks: true
66
svelte-preprocess: true
7+
8+
minimumReleaseAge: 1440 # 1 day

src/lib/components/header/Header.svelte

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
const preferences = getPreferences();
1212
const internalState = getInternalState();
1313
const theme = getTheme();
14-
const themeIconQuery = $derived(getThemeIcons({ color: theme.activeTheme?.colors?.logo, invert: theme.activeTheme?.light }));
14+
const themeIcon = $derived(getThemeIcons({ color: theme.activeTheme?.colors?.logo, invert: theme.activeTheme?.light }).current);
1515
1616
const packageVersion = __NPM_PACKAGE_VERSION__;
1717
</script>
@@ -22,8 +22,8 @@
2222
<div class="flex gap-2">
2323
<Button.Root href="/" class="flex items-center justify-center gap-2 font-bold" data-sveltekit-preload-data="hover">
2424
<Avatar.Root class="size-6 shrink-0 rounded-lg select-none">
25-
{#if themeIconQuery.current}
26-
<Avatar.Image loading="lazy" src="data:image/svg+xml;base64,{btoa(themeIconQuery.current)}" alt="SkyCrypt" class="pointer-events-none h-6 select-none" />
25+
{#if themeIcon}
26+
<Avatar.Image loading="lazy" src="data:image/svg+xml;base64,{btoa(themeIcon)}" alt="SkyCrypt" class="pointer-events-none h-6 select-none" />
2727
{:else}
2828
<Avatar.Image loading="lazy" src="/img/app-icons/svg.svg" alt="SkyCrypt" class="pointer-events-none h-6 select-none" />
2929
{/if}
@@ -48,8 +48,8 @@
4848

4949
{#if page.url.pathname.startsWith("/stats")}
5050
<div class="mx-auto my-1.5 w-full max-w-lg px-4 @[38rem]:block">
51-
<Button.Root class="relative flex h-full w-4/5 items-center justify-start overflow-clip rounded-[1.125rem] bg-background/20 @[38rem]:w-full" onpointerdown={() => (internalState.openCommand = true)}>
52-
<div class="peer flex h-full w-full shrink items-center rounded-r-3xl bg-transparent pr-0 pl-2 text-xs font-semibold text-text/80 outline-hidden transition-[colors_border-radius_opacity] duration-300 ease-out hover:rounded-r-none hover:bg-background/20 focus-visible:rounded-r-none focus-visible:bg-background/20 focus-visible:ring-transparent focus-visible:outline-hidden @[38rem]:grow @[38rem]:pl-4 @[38rem]:text-base">Press <kbd class="mx-1 rounded-sm bg-background/20 px-1">{preferences.keybind}</kbd> to search</div>
51+
<Button.Root class="relative mx-auto flex h-full items-center justify-start overflow-clip rounded-[1.125rem] bg-background/20 @[26rem]:w-4/5 @[38rem]:w-full" onpointerdown={() => (internalState.openCommand = true)}>
52+
<div class="peer hidden h-full w-full shrink items-center rounded-r-3xl bg-transparent pr-0 pl-2 text-xs font-semibold whitespace-nowrap text-text/80 outline-hidden transition-[colors_border-radius_opacity] duration-300 ease-out hover:rounded-r-none hover:bg-background/20 focus-visible:rounded-r-none focus-visible:bg-background/20 focus-visible:ring-transparent focus-visible:outline-hidden @[26rem]:flex @[38rem]:grow @[38rem]:pl-4 @[38rem]:text-base">Press <kbd class="mx-1 rounded-sm bg-background/20 px-1">{preferences.keybind}</kbd> to search</div>
5353

5454
<div class="flex aspect-square h-full items-center justify-center rounded-full bg-background/15 transition-all duration-300 ease-out peer-hover:rounded-l-none peer-hover:bg-background/20 peer-focus-visible:rounded-l-none peer-focus-visible:bg-background/20 @[38rem]:aspect-video @[38rem]:px-4">
5555
<Search class="size-4 text-text @[38rem]:size-6" />

src/lib/components/notices/SurveyNotice.svelte

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/lib/layouts/stats/AdditionalStats.svelte

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@
1515
const profile = $derived(getProfileContext().current);
1616
const profileUUID = $derived(profile?.uuid);
1717
const profileId = $derived(profile?.profile_id);
18-
const networthQuery = $derived(profileUUID != null && profileId != null ? getNetworth({ uuid: profileUUID, profileId }) : null);
18+
const networthState = $derived.by(() => {
19+
if (profileUUID == null || profileId == null) {
20+
return { current: null };
21+
}
22+
23+
const query = getNetworth({ uuid: profileUUID, profileId });
24+
25+
return {
26+
current: query.current
27+
};
28+
});
1929
2030
const defaultPatternDecimal: string = "0,0.##";
2131
const defaultPattern: string = "0,0";
@@ -134,12 +144,12 @@
134144
<Button.Root onclick={retry} class="text-icon hover:text-icon/80">Retry</Button.Root>
135145
</div>
136146
{/snippet}
137-
{#if networthQuery?.current}
138-
{#if networthQuery.current.normal}
139-
<NetworthCard networth={networthQuery.current.normal} title="Networth" />
147+
{#if networthState.current}
148+
{#if networthState.current.normal}
149+
<NetworthCard networth={networthState.current.normal} title="Networth" />
140150
{/if}
141-
{#if networthQuery.current.nonCosmetic}
142-
<NetworthCard networth={networthQuery.current.nonCosmetic} title="Non-Cosmetic Networth" />
151+
{#if networthState.current.nonCosmetic}
152+
<NetworthCard networth={networthState.current.nonCosmetic} title="Non-Cosmetic Networth" />
143153
{/if}
144154
{/if}
145155
</svelte:boundary>

0 commit comments

Comments
 (0)