diff options
author | Jakob Stendahl <14180120+JakobST1n@users.noreply.github.com> | 2021-10-11 20:02:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-11 20:02:04 +0200 |
commit | c67531161e56488166a33232f87566309ba8676e (patch) | |
tree | 846e59a020e80bea48557d5a06af5728e44961ff /src_frontend/Components/Settings/Version.svelte | |
parent | e6880cd8ccf82d993f222cb14b4860581654acb8 (diff) | |
parent | c1b6eec770b885a9829e1f62bad5cc99389ca429 (diff) | |
download | Luxcena-Neo-c67531161e56488166a33232f87566309ba8676e.tar.gz Luxcena-Neo-c67531161e56488166a33232f87566309ba8676e.zip |
Merge pull request #24 from JakobST1n/rebuild
v1.0.0
Diffstat (limited to 'src_frontend/Components/Settings/Version.svelte')
-rw-r--r-- | src_frontend/Components/Settings/Version.svelte | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src_frontend/Components/Settings/Version.svelte b/src_frontend/Components/Settings/Version.svelte new file mode 100644 index 0000000..35c8f96 --- /dev/null +++ b/src_frontend/Components/Settings/Version.svelte @@ -0,0 +1,66 @@ +<script> + import { onMount } from 'svelte'; + import FloatingButton from "../../ComponentLib/Button/FloatingButton.svelte"; + import PrettyVar from "../../ComponentLib/PrettyVar.svelte"; + import { authorizedSocket } from "../../stores/socketStore.js"; + + let version = "-"; + let branch = "-"; + let newVer = "-"; + + authorizedSocket.on("version:branch", _branch => branch = _branch); + authorizedSocket.on("version:current_number", _version => version = _version); + authorizedSocket.on("version:newest_number", _version => newVer = _version); + + let checkVersionPromise; + function checkForUpdate() { + checkVersionPromise = new Promise((resolve, reject) => { + authorizedSocket.emit("version:check_for_update", () => { + resolve(); + }); + }); + } + + let updateVersionPromise; + function doUpdate() { + authorizedSocket.emit("system:update_version"); + } + + onMount(async() => { + authorizedSocket.emit("version:branch"); + authorizedSocket.emit("version:current_number"); + authorizedSocket.emit("version:newest_number"); + }); +</script> + +<style> + h1, p { margin: 0; } + .label { + font-weight: 100; + font-style: italic; + color: var(--grey-600); + } + .button-row { + /* display: flex; */ + margin-top: 20px; + width: 100%; + /* justify-content: center; */ + /* align-items: center; */ + } + .update-available { + color: var(--green-300); + } +</style> + +<div> + <h1>Version</h1> + <p><span class="label">Current version</span> <PrettyVar varText={version}/></p> + <p><span class="label">Current branch</span> <PrettyVar bind:varText={branch}/></p> + {#if newVer != version} + <p><span class="update-available">Version <PrettyVar bind:varText={newVer} /> available.</span></p> + <FloatingButton on:click={doUpdate} bind:loadingPromise={updateVersionPromise} fullWidth=true>Update luxcena-neo</FloatingButton> + {/if} + <div class="button-row"> + <FloatingButton on:click={checkForUpdate} bind:loadingPromise={checkVersionPromise} fullWidth=true>Check for updates</FloatingButton> + </div> +</div>
\ No newline at end of file |