diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 519342d..69b3566 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "productName": "ODIAN Launcher", - "version": "0.1.41", + "version": "0.1.42", "identifier": "fr.odian.launcher", "build": { "frontendDist": "../dist", diff --git a/src/components/ActionPanel.svelte b/src/components/ActionPanel.svelte index 27f68b6..326ae55 100644 --- a/src/components/ActionPanel.svelte +++ b/src/components/ActionPanel.svelte @@ -98,6 +98,12 @@ // like the real one on screen, and mistaking the two is how a bug gets chased in the // wrong tree - or a demo gets given from an unbuilt branch. const devOn = $derived(launcher.devOn); + // Dev mode's controls follow DEV MODE, not whatever the hub is currently offering. They + // used to live inside the "launch" branch, so a PC with nothing installed was told to name + // its checkout folder and given nowhere on screen to name it - the dead end that made a + // fresh dev PC look like it could only install. + const TRANSIENT = ["loading", "signing_in", "installing", "restoring", "syncing", "building", "removing", "pulling_tiles", "stack"]; + const showDev = $derived(devOn && !TRANSIENT.includes(action)); const devRun = $derived(launcher.devReady); const devRoot = $derived(launcher.settings?.dev_root ?? ""); const devTarget = $derived(launcher.settings?.dev_target ?? "client"); @@ -266,98 +272,6 @@

{/if} - {#if devOn} - -
-
- - DEV - - {devRun ? TARGETS.find((o) => o.key === devTarget)?.name ?? "" : "no checkout"} -
- -
- {#each TARGETS as option (option.key)} - - {/each} -
- -
- launcher.setDev({ dev_root: e.currentTarget.value.trim() })} - /> - -
- -
- - launcher.setDev({ dev_user: e.currentTarget.value.trim() })} - /> -
- -
- {#if releasing} - - {:else} - - {/if} - {#if hasOutput && !releasing} - - {:else if !s?.online} - needs the DHP - {/if} -
- - - - {#if !devRun} -

Name the folder that holds ODIAN_Engine and Launch runs from it.

- {:else if devUser} -

- Running as {devUser} — this PC will not sync with the DHP. -

- {/if} -
- {/if} {#if unfinished}

@@ -492,6 +406,99 @@

{/if} + {#if showDev} + +
+
+ + DEV + + {devRun ? TARGETS.find((o) => o.key === devTarget)?.name ?? "" : "no checkout"} +
+ +
+ {#each TARGETS as option (option.key)} + + {/each} +
+ +
+ launcher.setDev({ dev_root: e.currentTarget.value.trim() })} + /> + +
+ +
+ + launcher.setDev({ dev_user: e.currentTarget.value.trim() })} + /> +
+ +
+ {#if releasing} + + {:else} + + {/if} + {#if hasOutput && !releasing} + + {:else if !s?.online} + needs the DHP + {/if} +
+ + + + {#if !devRun} +

Name the folder that holds ODIAN_Engine and Launch runs from it.

+ {:else if devUser} +

+ Running as {devUser} — this PC will not sync with the DHP. +

+ {/if} +
+ {/if} + {#if showNotice}