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/SSLCert.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/SSLCert.svelte')
-rw-r--r-- | src_frontend/Components/Settings/SSLCert.svelte | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src_frontend/Components/Settings/SSLCert.svelte b/src_frontend/Components/Settings/SSLCert.svelte new file mode 100644 index 0000000..adb3649 --- /dev/null +++ b/src_frontend/Components/Settings/SSLCert.svelte @@ -0,0 +1,57 @@ +<script> + import { onMount } from "svelte"; + + import FloatingButton from "../../ComponentLib/Button/FloatingButton.svelte"; + import ConfirmActionDialog from "../Dialogs/ConfirmActionDialog.svelte"; + import { authorizedSocket } from "../../stores/socketStore.js"; + + let isValid = false; + let CN = "-"; + let validTime = "-"; + + authorizedSocket.on("sslcert:info", (status) => { + isValid = status.isValid; + CN = status.CN; + validTime = Math.round((status.certExpire-(new Date()).getTime())/86400000); + }); + + let newCertPromise; + function generateNewCert() { + newCertPromise = new Promise((resolve, reject) => { + authorizedSocket.emit("sslcert:generate_new", () => { + resolve(); + }); + }); + } + + onMount(async() => { + authorizedSocket.emit("sslcert:info"); + }); +</script> + +<style> + h1 { margin-bottom: 0; } + p { margin: 0; } + .small { + font-weight: 100; + font-style: italic; + font-size: 12px; + color: var(--grey-600); + } + .button { + margin-top: 10px; + } +</style> + +<div> + <h1>SSL Certificate</h1> + <p>{isValid ? "VALID" : "INVALID"} <span class="small">(for {validTime} days)</span></p> + <p><span class="small">CN</span> {CN}</p> + + <ConfirmActionDialog title="Are you sure?" text="Are you sure you want to generate new self signed SSL Certificate?" action={generateNewCert}> + <svelte:fragment slot="trigger" let:open> + <div class="button"><FloatingButton on:click={open} bind:loadingPromise={newCertPromise} fullWidth=true>Generate new cerificate</FloatingButton></div> + </svelte:fragment> + </ConfirmActionDialog> + <!-- <div class="button"><Button fullWidth=true round=true>Show details</Button></div> --> +</div> |