feat(dashboard): add system recovery section
This commit is contained in:
parent
e9aaf7d540
commit
e0c4b23f5e
@ -2,12 +2,15 @@
|
|||||||
import { Card, CardHeader, CardBody, Container, Row, Col, CardTitle, Tooltip, Button } from 'sveltestrap';
|
import { Card, CardHeader, CardBody, Container, Row, Col, CardTitle, Tooltip, Button } from 'sveltestrap';
|
||||||
import Toggle from 'svelte-toggle';
|
import Toggle from 'svelte-toggle';
|
||||||
import { autoresize } from 'svelte-textarea-autoresize';
|
import { autoresize } from 'svelte-textarea-autoresize';
|
||||||
|
import FaAmbulance from 'svelte-icons/fa/FaAmbulance.svelte'
|
||||||
import FaCogs from 'svelte-icons/fa/FaCogs.svelte'
|
import FaCogs from 'svelte-icons/fa/FaCogs.svelte'
|
||||||
import type { Config } from '../../api/types';
|
import type { Config } from '../../api/types';
|
||||||
import api from '../../api';
|
import api from '../../api';
|
||||||
|
|
||||||
let savedSettings = JSON.parse(localStorage.getItem("pk-settings"));
|
let savedSettings = JSON.parse(localStorage.getItem("pk-settings"));
|
||||||
let apiConfig: Config = JSON.parse(localStorage.getItem("pk-config"));
|
let apiConfig: Config = JSON.parse(localStorage.getItem("pk-config"));
|
||||||
|
let token = localStorage.getItem("pk-token");
|
||||||
|
let showToken = false;
|
||||||
|
|
||||||
let settings = {
|
let settings = {
|
||||||
appearance: {
|
appearance: {
|
||||||
@ -40,6 +43,7 @@
|
|||||||
else document.getElementById("app").classList.remove("dyslexic");
|
else document.getElementById("app").classList.remove("dyslexic");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const revealToken = () => showToken = !showToken;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Container>
|
<Container>
|
||||||
@ -123,6 +127,36 @@
|
|||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
{/if}
|
{/if}
|
||||||
|
{#if token}
|
||||||
|
<Row>
|
||||||
|
<Col class="mx-auto" xs={12} lg={11} xl={10}>
|
||||||
|
<Card class="mb-4">
|
||||||
|
<CardHeader>
|
||||||
|
<CardTitle style="margin-top: 8px; outline: none;">
|
||||||
|
<div class="icon d-inline-block">
|
||||||
|
<FaAmbulance />
|
||||||
|
</div>Recovery
|
||||||
|
</CardTitle>
|
||||||
|
</CardHeader>
|
||||||
|
<CardBody>
|
||||||
|
<p>If you've lost access to your discord account, you can retrieve your token here.</p>
|
||||||
|
<p>Send a direct message to a staff member (a helper, moderator or developer <a href="https://discord.gg/PczBt78">in the support server</a>), they can recover your system with this token.</p>
|
||||||
|
<Button color="danger" on:click={() => revealToken()}>Reveal token</Button>
|
||||||
|
{#if showToken}
|
||||||
|
<Row>
|
||||||
|
<Col xs={12} md={9}>
|
||||||
|
<span class="mt-2 form-control">{token}</span>
|
||||||
|
</Col>
|
||||||
|
<Col xs={12} md={3}>
|
||||||
|
<Button color="primary" class="w-100 mt-2" on:click={() => navigator.clipboard.writeText(token)}>Copy</Button>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
{/if}
|
||||||
|
</CardBody>
|
||||||
|
</Card>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
{/if}
|
||||||
</Container>
|
</Container>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
|
Loading…
Reference in New Issue
Block a user