diff options
| author | 2026-01-19 14:17:32 +0800 | |
|---|---|---|
| committer | 2026-01-19 14:17:32 +0800 | |
| commit | da0d79f0db873c08fab3bc85023167e174d18b0e (patch) | |
| tree | 4a1934780d0d723ec8b834088188d4714f2cf3e7 /ui/src/stores/instances.svelte.ts | |
| parent | 887e415314014c3da7db3048fa0e724f3078c5cb (diff) | |
| download | DropOut-da0d79f0db873c08fab3bc85023167e174d18b0e.tar.gz DropOut-da0d79f0db873c08fab3bc85023167e174d18b0e.zip | |
chore(ui): refactor workspace to monorepo
Diffstat (limited to 'ui/src/stores/instances.svelte.ts')
| -rw-r--r-- | ui/src/stores/instances.svelte.ts | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/ui/src/stores/instances.svelte.ts b/ui/src/stores/instances.svelte.ts deleted file mode 100644 index f4ac4e9..0000000 --- a/ui/src/stores/instances.svelte.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { invoke } from "@tauri-apps/api/core"; -import type { Instance } from "../types"; -import { uiState } from "./ui.svelte"; - -export class InstancesState { - instances = $state<Instance[]>([]); - activeInstanceId = $state<string | null>(null); - get activeInstance(): Instance | null { - if (!this.activeInstanceId) return null; - return this.instances.find((i) => i.id === this.activeInstanceId) || null; - } - - async loadInstances() { - try { - this.instances = await invoke<Instance[]>("list_instances"); - const active = await invoke<Instance | null>("get_active_instance"); - if (active) { - this.activeInstanceId = active.id; - } else if (this.instances.length > 0) { - // If no active instance but instances exist, set the first one as active - await this.setActiveInstance(this.instances[0].id); - } - } catch (e) { - console.error("Failed to load instances:", e); - uiState.setStatus("Error loading instances: " + e); - } - } - - async createInstance(name: string): Promise<Instance | null> { - try { - const instance = await invoke<Instance>("create_instance", { name }); - await this.loadInstances(); - uiState.setStatus(`Instance "${name}" created successfully`); - return instance; - } catch (e) { - console.error("Failed to create instance:", e); - uiState.setStatus("Error creating instance: " + e); - return null; - } - } - - async deleteInstance(id: string) { - try { - await invoke("delete_instance", { instanceId: id }); - await this.loadInstances(); - // If deleted instance was active, set another as active - if (this.activeInstanceId === id) { - if (this.instances.length > 0) { - await this.setActiveInstance(this.instances[0].id); - } else { - this.activeInstanceId = null; - } - } - uiState.setStatus("Instance deleted successfully"); - } catch (e) { - console.error("Failed to delete instance:", e); - uiState.setStatus("Error deleting instance: " + e); - } - } - - async updateInstance(instance: Instance) { - try { - await invoke("update_instance", { instance }); - await this.loadInstances(); - uiState.setStatus("Instance updated successfully"); - } catch (e) { - console.error("Failed to update instance:", e); - uiState.setStatus("Error updating instance: " + e); - } - } - - async setActiveInstance(id: string) { - try { - await invoke("set_active_instance", { instanceId: id }); - this.activeInstanceId = id; - uiState.setStatus("Active instance changed"); - } catch (e) { - console.error("Failed to set active instance:", e); - uiState.setStatus("Error setting active instance: " + e); - } - } - - async duplicateInstance(id: string, newName: string): Promise<Instance | null> { - try { - const instance = await invoke<Instance>("duplicate_instance", { - instanceId: id, - newName, - }); - await this.loadInstances(); - uiState.setStatus(`Instance duplicated as "${newName}"`); - return instance; - } catch (e) { - console.error("Failed to duplicate instance:", e); - uiState.setStatus("Error duplicating instance: " + e); - return null; - } - } - - async getInstance(id: string): Promise<Instance | null> { - try { - return await invoke<Instance>("get_instance", { instanceId: id }); - } catch (e) { - console.error("Failed to get instance:", e); - return null; - } - } -} - -export const instancesState = new InstancesState(); |