diff --git a/bun.lock b/bun.lock index 159561c..24cad72 100644 --- a/bun.lock +++ b/bun.lock @@ -12,6 +12,7 @@ "@tauri-apps/plugin-fs": "2.4.0", "@tauri-apps/plugin-shell": "2.3.0", "@tauri-apps/plugin-sql": "2.3.0", + "animejs": "^4.0.2", "ky": "1.8.1", "lucide-svelte": "0.523.0", "osu-classes": "3.1.0", @@ -232,6 +233,8 @@ "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + "animejs": ["animejs@4.0.2", "", {}, "sha512-f0L/kSya2RF23iMSF/VO01pMmLwlAFoiQeNAvBXhEyLzIPd2/QTBRatwGUqkVCC6seaAJYzAkGir55N4SL+h3A=="], + "ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], "ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], diff --git a/package.json b/package.json index 5979644..c17589e 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@tauri-apps/plugin-fs": "2.4.0", "@tauri-apps/plugin-shell": "2.3.0", "@tauri-apps/plugin-sql": "2.3.0", + "animejs": "^4.0.2", "ky": "1.8.1", "lucide-svelte": "0.523.0", "osu-classes": "3.1.0", diff --git a/src/assets/cursor-additive.png b/src/assets/cursor-additive.png new file mode 100644 index 0000000..8dcda49 Binary files /dev/null and b/src/assets/cursor-additive.png differ diff --git a/src/assets/cursor.png b/src/assets/cursor.png new file mode 100644 index 0000000..f491867 Binary files /dev/null and b/src/assets/cursor.png differ diff --git a/src/lib/components/ui/checkbox/checkbox.svelte b/src/lib/components/ui/checkbox/checkbox.svelte new file mode 100644 index 0000000..2395094 --- /dev/null +++ b/src/lib/components/ui/checkbox/checkbox.svelte @@ -0,0 +1,35 @@ + + + + {#snippet children({ checked, indeterminate })} +
+ {#if indeterminate} + + {:else} + + {/if} +
+ {/snippet} +
diff --git a/src/lib/components/ui/checkbox/index.ts b/src/lib/components/ui/checkbox/index.ts new file mode 100644 index 0000000..6d92d94 --- /dev/null +++ b/src/lib/components/ui/checkbox/index.ts @@ -0,0 +1,6 @@ +import Root from "./checkbox.svelte"; +export { + Root, + // + Root as Checkbox, +}; diff --git a/src/lib/components/ui/label/index.ts b/src/lib/components/ui/label/index.ts new file mode 100644 index 0000000..8bfca0b --- /dev/null +++ b/src/lib/components/ui/label/index.ts @@ -0,0 +1,7 @@ +import Root from "./label.svelte"; + +export { + Root, + // + Root as Label, +}; diff --git a/src/lib/components/ui/label/label.svelte b/src/lib/components/ui/label/label.svelte new file mode 100644 index 0000000..247d23c --- /dev/null +++ b/src/lib/components/ui/label/label.svelte @@ -0,0 +1,19 @@ + + + diff --git a/src/lib/components/ui/osu-cursor/OsuCursor.svelte b/src/lib/components/ui/osu-cursor/OsuCursor.svelte new file mode 100644 index 0000000..894523d --- /dev/null +++ b/src/lib/components/ui/osu-cursor/OsuCursor.svelte @@ -0,0 +1,176 @@ + + + + +
+
+ cursor + cursor +
+
+ + diff --git a/src/lib/components/ui/titlebar/titlebar.svelte b/src/lib/components/ui/titlebar/titlebar.svelte index 8518a31..22ea0ce 100644 --- a/src/lib/components/ui/titlebar/titlebar.svelte +++ b/src/lib/components/ui/titlebar/titlebar.svelte @@ -19,7 +19,7 @@ }); -
+
EZPP Launcher Logo EZPPLauncher diff --git a/src/lib/global.ts b/src/lib/global.ts index d6ad204..f9e8066 100644 --- a/src/lib/global.ts +++ b/src/lib/global.ts @@ -3,14 +3,11 @@ import { ezppfarm } from './api/ezpp'; export const server_ping = writable(undefined); export const server_connection_fails = writable(0); -export let server_no_connection = false; export const online_friends = writable(undefined); export const beatmap_sets = writable(undefined); -export const updateNoConnection = (noConnection: boolean) => (server_no_connection = noConnection); - export const setupValues = () => { updatePing(); updateFriends(); @@ -26,7 +23,7 @@ export const setupValues = () => { const updatePing = async () => { const serverPing = await ezppfarm.ping(); - if (!serverPing || server_no_connection) { + if (!serverPing) { server_connection_fails.update((num) => num + 1); } else { server_connection_fails.set(0); @@ -36,12 +33,8 @@ const updatePing = async () => { const updateFriends = async () => { await new Promise((res) => setTimeout(res, Math.random() * 300)); - if (server_no_connection) { - online_friends.set(undefined); - } else { - const onlineFriends = Math.round(Math.random() * 10); - online_friends.set(onlineFriends); - } + const onlineFriends = Math.round(Math.random() * 10); + online_friends.set(onlineFriends); }; const updateBeatmapSets = async () => { diff --git a/src/lib/osuUtil.ts b/src/lib/osuUtil.ts new file mode 100644 index 0000000..fdb59d2 --- /dev/null +++ b/src/lib/osuUtil.ts @@ -0,0 +1,3 @@ +export const clientNeedsUpdate = () => { + +} \ No newline at end of file diff --git a/src/pages/Launch.svelte b/src/pages/Launch.svelte new file mode 100644 index 0000000..0a1c7cb --- /dev/null +++ b/src/pages/Launch.svelte @@ -0,0 +1,299 @@ + + + + +
+ logo + Launching... +
+
+ + Downloading update files... +
+
+
+ +
+
+
+ + + + + + + Quetzalcoatl +
+ Owner +
+
+
+ + +
+ + osu!vn +
+
+ + osu!vn + osu!rx + osu!ap + +
+
+
+ + Mode Stats +
+
+
+ Rank + #727 +
+
+ PP + 727 +
+
+
+ Accuracy + 72.72% + + Play Count + 727 + + Play Time + 727h +
+
+ +
+
+
+
+ + +
+ {#if selectedTab === 'home'} +
+
+
+
+ +
+
+
+ +
+
+ +
+
+
Beatmap Sets imported
+
+ +
+
+ {#if $server_connection_fails > 1} + + {:else} + + {/if} +
+
+
+ +
+
+ +
+
+
Ping to Server
+
+
+ +
+
+
+ + Client Info +
+
+ osu! Version + + 20250626.1 + + + Beatmap Sets + {numberHumanReadable($beatmap_sets ?? 0)} + + Skins + {numberHumanReadable(727)} +
+
+ {:else if selectedTab === 'settings'} +
+
EZPPLauncher Settings
+
+
+ +
+ Enable a custom cursor in the Launcher like in the lazer build of osu! +
+
+ + +
+ +
+ Makes the custom cursor movement smoother. +
+
+ +
+
+ {/if} +
+
diff --git a/src/pages/Loading.svelte b/src/pages/Loading.svelte new file mode 100644 index 0000000..9f57cf6 --- /dev/null +++ b/src/pages/Loading.svelte @@ -0,0 +1,8 @@ + +
+ + +
\ No newline at end of file diff --git a/src/pages/SetupWizard.svelte b/src/pages/SetupWizard.svelte new file mode 100644 index 0000000..9139a35 --- /dev/null +++ b/src/pages/SetupWizard.svelte @@ -0,0 +1,65 @@ + + +
+
+ {#each steps as step, i (step)} +
+
+ {i + 1} +
+ {step} +
+ {/each} +
+
+
+ {#if selectedStep === 1} +

Welcome to EZPPLauncher!

+ + {/if} +
+
+ + +
+
+
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 852b234..3bc4713 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -3,11 +3,14 @@ import '../app.css'; import { setupValues } from '@/global'; import { onMount } from 'svelte'; + import OsuCursor from '@/components/ui/osu-cursor/OsuCursor.svelte'; let { children } = $props(); onMount(setupValues); + +
{@render children()} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index ce5858f..e3eaf31 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,271 +1,7 @@ - - -
- - Downloading update files... -
-
-
- -
-
-
- - - - - - - Quetzalcoatl -
- Owner -
-
-
- - -
- - osu!vn -
-
- - osu!vn - osu!rx - osu!ap - -
-
-
- - Mode Stats -
-
-
- Rank - #727 -
-
- PP - 727 -
-
-
- Accuracy - 72.72% - - Play Count - 727 - - Play Time - 727h -
-
-
-
-
- - Friends -
- 3 online -
-
-
-
-
-
- - -
-
-
-
-
- -
-
-
- -
-
- -
-
-
Beatmap Sets imported
-
-
-
- {#if $server_connection_fails > 1} - - {:else} - - {/if} -
-
-
- -
-
- -
-
-
Friends online
-
-
-
- {#if $server_connection_fails > 1} - - {:else} - - {/if} -
-
-
- -
-
- -
-
-
Ping to Server
-
-
- - {#key server_no_connection} - - {/key} -
-
-
- - Client Info -
-
- osu! Version - - 20250626.1 - - - Beatmap Sets - {numberHumanReadable($beatmap_sets ?? 0)} - - Skins - {numberHumanReadable(727)} -
-
-
-
+ \ No newline at end of file