mirror of
https://github.com/cupcakearmy/ora.git
synced 2024-12-21 23:56:31 +00:00
options now on svelte too
This commit is contained in:
parent
1bd1913145
commit
c7d89a598d
54
src/options/App.svelte
Normal file
54
src/options/App.svelte
Normal file
@ -0,0 +1,54 @@
|
||||
<script>
|
||||
import { onMount } from 'svelte'
|
||||
import browser from 'webextension-polyfill'
|
||||
|
||||
import { dashboard } from '../shared/utils'
|
||||
|
||||
const DEFAULT = {
|
||||
retention: 90,
|
||||
}
|
||||
|
||||
let settings = DEFAULT
|
||||
|
||||
onMount(async () => {
|
||||
load()
|
||||
})
|
||||
|
||||
async function load() {
|
||||
settings = {
|
||||
...DEFAULT,
|
||||
...(await browser.storage.local.get()),
|
||||
}
|
||||
}
|
||||
|
||||
function save() {
|
||||
return browser.storage.local.set(settings)
|
||||
}
|
||||
|
||||
async function reset() {
|
||||
await browser.storage.local.clear()
|
||||
await load()
|
||||
}
|
||||
</script>
|
||||
|
||||
<main class="p-4">
|
||||
<a href={dashboard} target="_blank"><button class="btn btn-primary btn-lg">Dashboard</button></a>
|
||||
|
||||
<form class="max-w-sm mt-5" on:submit|preventDefault={save}>
|
||||
<div class="form-group">
|
||||
<label class="form-label">
|
||||
Retention <small>(Days)</small>
|
||||
<input
|
||||
id="retention"
|
||||
class="form-input"
|
||||
type="number"
|
||||
min="3"
|
||||
max="365"
|
||||
step="1"
|
||||
bind:value={settings.retention} />
|
||||
</label>
|
||||
<button type="reset" class="btn" on:click={reset}>Reset</button>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
@ -1,7 +0,0 @@
|
||||
main {
|
||||
padding: 2em 1em;
|
||||
}
|
||||
|
||||
form {
|
||||
max-width: 25em;
|
||||
}
|
18
src/shared/index.html
Normal file
18
src/shared/index.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link href="../../node_modules/spectre.css/dist/spectre.min.css" rel="stylesheet" />
|
||||
<link href="../../node_modules/tailwindcss/dist/tailwind.css" rel="stylesheet" />
|
||||
<style>
|
||||
#root {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root" />
|
||||
<script src="./main.js"></script>
|
||||
</body>
|
||||
</html>
|
3
src/shared/main.js
Normal file
3
src/shared/main.js
Normal file
@ -0,0 +1,3 @@
|
||||
import App from './App.svelte'
|
||||
|
||||
new App({ target: window.document.getElementById('root') })
|
Loading…
Reference in New Issue
Block a user