✕
diff --git a/src/components/auth/register/Welcome.svelte b/src/components/auth/register/Welcome.svelte
new file mode 100644
index 0000000..5d3353b
--- /dev/null
+++ b/src/components/auth/register/Welcome.svelte
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+ Welcome, {$sessionStore.username}!
+
+
+
+
+
+
+
+
Your account has been created.
+
+
+
+
+ Wait—what's my password?
+
+
+ You don't need a password!
+ {appName} uses public key cryptography to authenticate you with this
+ device.
+
+
+
+
Continue
+
+
+
+
diff --git a/src/components/icons/ClipboardIcon.svelte b/src/components/icons/ClipboardIcon.svelte
new file mode 100644
index 0000000..ae485c8
--- /dev/null
+++ b/src/components/icons/ClipboardIcon.svelte
@@ -0,0 +1,15 @@
+
+
+
diff --git a/src/components/icons/WelcomeCheckIcon.svelte b/src/components/icons/WelcomeCheckIcon.svelte
new file mode 100644
index 0000000..abfdf62
--- /dev/null
+++ b/src/components/icons/WelcomeCheckIcon.svelte
@@ -0,0 +1,14 @@
+
+
+
diff --git a/src/lib/appName.ts b/src/lib/app-name.ts
similarity index 100%
rename from src/lib/appName.ts
rename to src/lib/app-name.ts
diff --git a/src/lib/common/webnative.ts b/src/lib/common/webnative.ts
index 921cf3d..cca3c2c 100644
--- a/src/lib/common/webnative.ts
+++ b/src/lib/common/webnative.ts
@@ -77,6 +77,15 @@ export const isUsernameAvailable = async (
export const register = async (username: string): Promise
=> {
const { success } = await webnative.account.register({ username })
+ const fs = await bootstrapFilesystem()
+ filesystemStore.set(fs)
+
+ sessionStore.update(session => ({
+ ...session,
+ username,
+ authed: true
+ }))
+
return success
}
diff --git a/src/lib/session.ts b/src/lib/session.ts
index 72002fe..6dc88a3 100644
--- a/src/lib/session.ts
+++ b/src/lib/session.ts
@@ -1,4 +1,4 @@
-import { appName } from '$lib/appName'
+import { appName } from '$lib/app-name'
export type Session = {
username: string
diff --git a/src/lib/views.ts b/src/lib/views.ts
new file mode 100644
index 0000000..ac1b04a
--- /dev/null
+++ b/src/lib/views.ts
@@ -0,0 +1 @@
+export type BackupView = 'backup' | 'backup-device' | 'are-you-sure'
\ No newline at end of file
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte
index 975faf8..e9ca22d 100644
--- a/src/routes/__layout.svelte
+++ b/src/routes/__layout.svelte
@@ -2,7 +2,7 @@
import { onMount } from 'svelte'
import '../global.css'
- import { appName } from '$lib/appName'
+ import { appName } from '$lib/app-name'
import { initialize } from '$lib/common/webnative'
import { deviceStore, sessionStore, theme } from '../stores'
import { storeTheme } from '$lib/theme'
diff --git a/src/routes/backup.svelte b/src/routes/backup.svelte
new file mode 100644
index 0000000..b9374fe
--- /dev/null
+++ b/src/routes/backup.svelte
@@ -0,0 +1,20 @@
+
+
+{#if view === 'backup'}
+
+{:else if view === 'backup-device'}
+
+{:else if view === 'are-you-sure'}
+
+{/if}
diff --git a/src/routes/connect.svelte b/src/routes/connect.svelte
index 880d905..9c8f69d 100644
--- a/src/routes/connect.svelte
+++ b/src/routes/connect.svelte
@@ -1,5 +1,5 @@
diff --git a/src/routes/linkDevice.svelte b/src/routes/linkDevice.svelte
deleted file mode 100644
index 15a2b99..0000000
--- a/src/routes/linkDevice.svelte
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/src/routes/register.svelte b/src/routes/register.svelte
index 27e06af..b040d9c 100644
--- a/src/routes/register.svelte
+++ b/src/routes/register.svelte
@@ -1,5 +1,12 @@
-
+{#if $sessionStore.authed}
+
+{:else}
+
+{/if}