aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/ui/src/stores/releases-store.ts
diff options
context:
space:
mode:
authorNtskwK <natsukawa247@outlook.com>2026-03-30 16:49:08 +0800
committerNtskwK <natsukawa247@outlook.com>2026-03-30 16:49:08 +0800
commit878d66f9add4e4026a26ae2fa2a1226b5259154d (patch)
treeaf78680c8d4f357843ab336bdac6e56a622de3c7 /packages/ui/src/stores/releases-store.ts
parentf8b4bcb3bdc8f11323103081ef8c05b06159d684 (diff)
parentc4dc0676d794bca2613be282867d369328ebf073 (diff)
downloadDropOut-878d66f9add4e4026a26ae2fa2a1226b5259154d.tar.gz
DropOut-878d66f9add4e4026a26ae2fa2a1226b5259154d.zip
Merge branch 'main' of https://github.com/HydroRoll-Team/DropOut
Diffstat (limited to 'packages/ui/src/stores/releases-store.ts')
-rw-r--r--packages/ui/src/stores/releases-store.ts63
1 files changed, 0 insertions, 63 deletions
diff --git a/packages/ui/src/stores/releases-store.ts b/packages/ui/src/stores/releases-store.ts
deleted file mode 100644
index 56afa08..0000000
--- a/packages/ui/src/stores/releases-store.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { invoke } from "@tauri-apps/api/core";
-import { create } from "zustand";
-import type { GithubRelease } from "@/types/bindings/core";
-
-interface ReleasesState {
- // State
- releases: GithubRelease[];
- isLoading: boolean;
- isLoaded: boolean;
- error: string | null;
-
- // Actions
- loadReleases: () => Promise<void>;
- setReleases: (releases: GithubRelease[]) => void;
- setIsLoading: (isLoading: boolean) => void;
- setIsLoaded: (isLoaded: boolean) => void;
- setError: (error: string | null) => void;
-}
-
-export const useReleasesStore = create<ReleasesState>((set, get) => ({
- // Initial state
- releases: [],
- isLoading: false,
- isLoaded: false,
- error: null,
-
- // Actions
- loadReleases: async () => {
- const { isLoaded, isLoading } = get();
-
- // If already loaded or currently loading, skip to prevent duplicate requests
- if (isLoaded || isLoading) return;
-
- set({ isLoading: true, error: null });
-
- try {
- const releases = await invoke<GithubRelease[]>("get_github_releases");
- set({ releases, isLoaded: true });
- } catch (e) {
- const error = e instanceof Error ? e.message : String(e);
- console.error("Failed to load releases:", e);
- set({ error });
- } finally {
- set({ isLoading: false });
- }
- },
-
- setReleases: (releases) => {
- set({ releases });
- },
-
- setIsLoading: (isLoading) => {
- set({ isLoading });
- },
-
- setIsLoaded: (isLoaded) => {
- set({ isLoaded });
- },
-
- setError: (error) => {
- set({ error });
- },
-}));