From cd2d166a3b45c596a940889b4a62b5581aecfbeb Mon Sep 17 00:00:00 2001 From: Dawid Urbas Date: Wed, 25 Oct 2023 15:30:26 +0200 Subject: [PATCH] Add passphrase page --- package.json | 11 ++-- pnpm-lock.yaml | 10 ++++ src/lib/components/AppParagraph.svelte | 3 +- src/lib/components/Button.svelte | 20 +++++-- src/lib/components/Tooltip.svelte | 8 +++ src/lib/helpers/index.ts | 1 + src/lib/helpers/navigation.ts | 3 + src/lib/stores/const.ts | 1 + src/lib/stores/index.ts | 2 + src/lib/stores/passphraseStore.ts | 5 ++ src/lib/types/index.ts | 1 + src/lib/types/password.ts | 1 + src/routes/+page.svelte | 11 ++-- src/routes/setup/+layout.svelte | 23 ++++++++ src/routes/setup/+page.svelte | 28 ---------- .../setup/enter-passphrase/+page.svelte | 45 +++++++++++++++ .../EnterPassphraseComponent.svelte | 55 +++++++++++++++++++ .../setup/enter-passphrase/PopupDialog.svelte | 22 ++++++++ src/routes/setup/start/+page.svelte | 25 +++++++++ static/img/arrow-left.svg | 3 + static/img/{arrow.svg => arrow-right.svg} | 0 static/img/noun.svg | 5 ++ static/img/question.svg | 12 ++++ svelte.config.js | 5 +- tailwind.config.js | 8 ++- 25 files changed, 260 insertions(+), 48 deletions(-) create mode 100644 src/lib/components/Tooltip.svelte create mode 100644 src/lib/helpers/index.ts create mode 100644 src/lib/helpers/navigation.ts create mode 100644 src/lib/stores/const.ts create mode 100644 src/lib/stores/index.ts create mode 100644 src/lib/stores/passphraseStore.ts create mode 100644 src/lib/types/index.ts create mode 100644 src/lib/types/password.ts create mode 100644 src/routes/setup/+layout.svelte delete mode 100644 src/routes/setup/+page.svelte create mode 100644 src/routes/setup/enter-passphrase/+page.svelte create mode 100644 src/routes/setup/enter-passphrase/EnterPassphraseComponent.svelte create mode 100644 src/routes/setup/enter-passphrase/PopupDialog.svelte create mode 100644 src/routes/setup/start/+page.svelte create mode 100644 static/img/arrow-left.svg rename static/img/{arrow.svg => arrow-right.svg} (100%) create mode 100644 static/img/noun.svg create mode 100644 static/img/question.svg diff --git a/package.json b/package.json index b06f567..26c4ec2 100644 --- a/package.json +++ b/package.json @@ -26,13 +26,16 @@ "postcss": "^8.4.31", "prettier": "^2.8.0", "prettier-plugin-svelte": "^2.10.1", - "svelte": "^4.0.5", "svelte-check": "^3.4.3", - "tailwindcss": "^3.3.3", - "tiny-glob": "^0.2.9", "tslib": "^2.4.1", "typescript": "^5.0.0", "vite": "^4.4.2" }, - "type": "module" + "type": "module", + "dependencies": { + "clsx": "^2.0.0", + "svelte": "^4.0.5", + "tailwindcss": "^3.3.3", + "tiny-glob": "^0.2.9" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35cbabd..bf56541 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +dependencies: + clsx: + specifier: ^2.0.0 + version: 2.0.0 + devDependencies: '@sveltejs/adapter-static': specifier: ^2.0.3 @@ -824,6 +829,11 @@ packages: string-width: 5.1.2 dev: true + /clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + dev: false + /code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} dependencies: diff --git a/src/lib/components/AppParagraph.svelte b/src/lib/components/AppParagraph.svelte index 9ecd435..38a63da 100644 --- a/src/lib/components/AppParagraph.svelte +++ b/src/lib/components/AppParagraph.svelte @@ -1,8 +1,9 @@ -

+

{text}

diff --git a/src/lib/components/Button.svelte b/src/lib/components/Button.svelte index dd93406..4122a39 100644 --- a/src/lib/components/Button.svelte +++ b/src/lib/components/Button.svelte @@ -3,17 +3,27 @@ export let onClick: () => void; export let color: 'primary' | 'secondary' = 'primary'; export let arrow = false; + export let extraBottomMargin = false; + export let disabled = false; + + import clsx from 'clsx'; diff --git a/src/lib/components/Tooltip.svelte b/src/lib/components/Tooltip.svelte new file mode 100644 index 0000000..173364c --- /dev/null +++ b/src/lib/components/Tooltip.svelte @@ -0,0 +1,8 @@ +
+ + +
diff --git a/src/lib/helpers/index.ts b/src/lib/helpers/index.ts new file mode 100644 index 0000000..701e505 --- /dev/null +++ b/src/lib/helpers/index.ts @@ -0,0 +1 @@ +export * from './navigation'; diff --git a/src/lib/helpers/navigation.ts b/src/lib/helpers/navigation.ts new file mode 100644 index 0000000..8814b0b --- /dev/null +++ b/src/lib/helpers/navigation.ts @@ -0,0 +1,3 @@ +export function dismissExtensionWindow() { + return window.close(); +} diff --git a/src/lib/stores/const.ts b/src/lib/stores/const.ts new file mode 100644 index 0000000..e1f607b --- /dev/null +++ b/src/lib/stores/const.ts @@ -0,0 +1 @@ +export const passphrase = 'passphrase'; diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts new file mode 100644 index 0000000..1697a92 --- /dev/null +++ b/src/lib/stores/index.ts @@ -0,0 +1,2 @@ +export * from './passphraseStore'; +export * from './const'; diff --git a/src/lib/stores/passphraseStore.ts b/src/lib/stores/passphraseStore.ts new file mode 100644 index 0000000..379e764 --- /dev/null +++ b/src/lib/stores/passphraseStore.ts @@ -0,0 +1,5 @@ +import { writable } from 'svelte/store'; + +const passphraseStore = writable(''); + +export { passphraseStore }; diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts new file mode 100644 index 0000000..47b7e7a --- /dev/null +++ b/src/lib/types/index.ts @@ -0,0 +1 @@ +export * from './password'; diff --git a/src/lib/types/password.ts b/src/lib/types/password.ts new file mode 100644 index 0000000..fd468f9 --- /dev/null +++ b/src/lib/types/password.ts @@ -0,0 +1 @@ +export type SetPassphrase = 'set' | 'confirm'; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 717963b..227f9b3 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,12 +1,9 @@ @@ -22,11 +19,11 @@ Close

Setup Required

- + {/if} + + diff --git a/src/routes/setup/+page.svelte b/src/routes/setup/+page.svelte deleted file mode 100644 index 45edbcd..0000000 --- a/src/routes/setup/+page.svelte +++ /dev/null @@ -1,28 +0,0 @@ - - -
- Holo Key Manager Logo -

Holo Key Manager

-
- - -
- - -
diff --git a/src/routes/setup/enter-passphrase/+page.svelte b/src/routes/setup/enter-passphrase/+page.svelte new file mode 100644 index 0000000..ad326be --- /dev/null +++ b/src/routes/setup/enter-passphrase/+page.svelte @@ -0,0 +1,45 @@ + + +{#if passphraseState === 'set'} + (showDialog = true)} + /> + {#if showDialog} + (passphraseState = 'confirm')} dismiss={() => (showDialog = false)} /> + {/if} +{/if} + +{#if passphraseState === 'confirm'} + null} + /> +{/if} diff --git a/src/routes/setup/enter-passphrase/EnterPassphraseComponent.svelte b/src/routes/setup/enter-passphrase/EnterPassphraseComponent.svelte new file mode 100644 index 0000000..84f0047 --- /dev/null +++ b/src/routes/setup/enter-passphrase/EnterPassphraseComponent.svelte @@ -0,0 +1,55 @@ + + +

{title}

+ +
+