backup quiz

This commit is contained in:
Paul Miller
2023-05-09 19:12:41 -05:00
parent cda1fcac94
commit c8d28e01e6
5 changed files with 159 additions and 81 deletions

View File

@@ -30,13 +30,13 @@
"workbox-window": "^6.5.4"
},
"dependencies": {
"@kobalte/core": "^0.8.2",
"@kobalte/core": "^0.9.6",
"@kobalte/tailwindcss": "^0.5.0",
"@modular-forms/solid": "^0.13.2",
"@mutinywallet/mutiny-wasm": "^0.3.0",
"@mutinywallet/waila-wasm": "^0.1.5",
"@solid-primitives/upload": "^0.0.111",
"@solidjs/meta": "^0.28.4",
"@solidjs/meta": "^0.28.5",
"@solidjs/router": "^0.8.2",
"@thisbeyond/solid-select": "^0.14.0",
"class-variance-authority": "^0.4.0",

180
pnpm-lock.yaml generated
View File

@@ -2,8 +2,8 @@ lockfileVersion: '6.0'
dependencies:
'@kobalte/core':
specifier: ^0.8.2
version: 0.8.2(solid-js@1.7.5)
specifier: ^0.9.6
version: 0.9.6(solid-js@1.7.5)
'@kobalte/tailwindcss':
specifier: ^0.5.0
version: 0.5.0(tailwindcss@3.3.2)
@@ -20,8 +20,8 @@ dependencies:
specifier: ^0.0.111
version: 0.0.111(solid-js@1.7.5)
'@solidjs/meta':
specifier: ^0.28.4
version: 0.28.4(solid-js@1.7.5)
specifier: ^0.28.5
version: 0.28.5(solid-js@1.7.5)
'@solidjs/router':
specifier: ^0.8.2
version: 0.8.2(solid-js@1.7.5)
@@ -45,7 +45,7 @@ dependencies:
version: 0.0.8(qr.js@0.0.0)(solid-js@1.7.5)
solid-start:
specifier: ^0.2.26
version: 0.2.26(@solidjs/meta@0.28.4)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5)
version: 0.2.26(@solidjs/meta@0.28.5)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5)
undici:
specifier: ^5.22.0
version: 5.22.0
@@ -1467,6 +1467,40 @@ packages:
'@floating-ui/core': 1.2.6
dev: false
/@formatjs/ecma402-abstract@1.15.0:
resolution: {integrity: sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==}
dependencies:
'@formatjs/intl-localematcher': 0.2.32
tslib: 2.5.0
dev: false
/@formatjs/fast-memoize@2.0.1:
resolution: {integrity: sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==}
dependencies:
tslib: 2.5.0
dev: false
/@formatjs/icu-messageformat-parser@2.4.0:
resolution: {integrity: sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==}
dependencies:
'@formatjs/ecma402-abstract': 1.15.0
'@formatjs/icu-skeleton-parser': 1.4.0
tslib: 2.5.0
dev: false
/@formatjs/icu-skeleton-parser@1.4.0:
resolution: {integrity: sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==}
dependencies:
'@formatjs/ecma402-abstract': 1.15.0
tslib: 2.5.0
dev: false
/@formatjs/intl-localematcher@0.2.32:
resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==}
dependencies:
tslib: 2.5.0
dev: false
/@hapi/hoek@9.3.0:
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
@@ -1501,14 +1535,15 @@ packages:
'@swc/helpers': 0.4.14
dev: false
/@internationalized/number@3.2.0:
resolution: {integrity: sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==}
/@internationalized/message@3.1.0:
resolution: {integrity: sha512-Oo5m70FcBdADf7G8NkUffVSfuCdeAYVfsvNjZDi9ELpjvkc4YNJVTHt/NyTI9K7FgAVoELxiP9YmN0sJ+HNHYQ==}
dependencies:
'@swc/helpers': 0.4.14
intl-messageformat: 10.3.5
dev: false
/@internationalized/string@3.1.0:
resolution: {integrity: sha512-TJQKiyUb+wyAfKF59UNeZ/kELMnkxyecnyPCnBI1ma4NaXReJW+7Cc2mObXAqraIBJUVv7rgI46RLKrLgi35ng==}
/@internationalized/number@3.2.0:
resolution: {integrity: sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==}
dependencies:
'@swc/helpers': 0.4.14
dev: false
@@ -1547,16 +1582,16 @@ packages:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
/@kobalte/core@0.8.2(solid-js@1.7.5):
resolution: {integrity: sha512-EoBYKpYa3+Csr5Zh7l3aY3yAg7fk1O3ZM9lGyD1mdQ1FutTuwTkyj8z1CvSSj1Klb+rBL+X1N662Occ8Bmsi2w==}
/@kobalte/core@0.9.6(solid-js@1.7.5):
resolution: {integrity: sha512-nuo3+ncZHC2Fl531DdliLE/kRcmdMf2FflSTVqM0FqqgilbzIbdJCFXJddkZj4KtML9F4rHRiPq5reSXMMrFLg==}
peerDependencies:
solid-js: ^1.6.15
solid-js: ^1.7.3
dependencies:
'@floating-ui/dom': 1.2.7
'@internationalized/date': 3.2.0
'@internationalized/message': 3.1.0
'@internationalized/number': 3.2.0
'@internationalized/string': 3.1.0
'@kobalte/utils': 0.6.1(solid-js@1.7.5)
'@kobalte/utils': 0.7.2(solid-js@1.7.5)
solid-js: 1.7.5
dev: false
@@ -1568,17 +1603,17 @@ packages:
tailwindcss: 3.3.2
dev: false
/@kobalte/utils@0.6.1(solid-js@1.7.5):
resolution: {integrity: sha512-YvBqe9t9j0iYFUHfKXSMLQKM3s5+nL72RvT9b75W+IOxUpSpN4rdaI8C2j97k3LsEt7qY4ktJdt8lPM1rr8JXw==}
/@kobalte/utils@0.7.2(solid-js@1.7.5):
resolution: {integrity: sha512-ZdINbHemz+jnixJ63VFi9wUEHEMAsP7iDGEADciKdSKrK4bDuccDw5th1O+5/PykfHqFwSI++JhhUpOd+iZ5jg==}
peerDependencies:
solid-js: ^1.6.12
solid-js: ^1.7.3
dependencies:
'@solid-primitives/event-listener': 2.2.11(solid-js@1.7.5)
'@solid-primitives/keyed': 1.2.0(solid-js@1.7.5)
'@solid-primitives/media': 2.2.1(solid-js@1.7.5)
'@solid-primitives/props': 3.1.5(solid-js@1.7.5)
'@solid-primitives/refs': 1.0.3(solid-js@1.7.5)
'@solid-primitives/utils': 5.5.2(solid-js@1.7.5)
'@solid-primitives/utils': 6.1.1(solid-js@1.7.5)
solid-js: 1.7.5
dev: false
@@ -1644,7 +1679,7 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/plugin-commonjs@24.1.0(rollup@3.21.5):
/@rollup/plugin-commonjs@24.1.0(rollup@3.21.6):
resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1653,15 +1688,15 @@ packages:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.2(rollup@3.21.5)
'@rollup/pluginutils': 5.0.2(rollup@3.21.6)
commondir: 1.0.1
estree-walker: 2.0.2
glob: 8.1.0
is-reference: 1.2.1
magic-string: 0.27.0
rollup: 3.21.5
rollup: 3.21.6
/@rollup/plugin-json@6.0.0(rollup@3.21.5):
/@rollup/plugin-json@6.0.0(rollup@3.21.6):
resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1670,8 +1705,8 @@ packages:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.2(rollup@3.21.5)
rollup: 3.21.5
'@rollup/pluginutils': 5.0.2(rollup@3.21.6)
rollup: 3.21.6
/@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1):
resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
@@ -1688,7 +1723,7 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/plugin-node-resolve@15.0.2(rollup@3.21.5):
/@rollup/plugin-node-resolve@15.0.2(rollup@3.21.6):
resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1697,13 +1732,13 @@ packages:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.2(rollup@3.21.5)
'@rollup/pluginutils': 5.0.2(rollup@3.21.6)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.2
rollup: 3.21.5
rollup: 3.21.6
/@rollup/plugin-replace@2.4.2(rollup@2.79.1):
resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
@@ -1715,7 +1750,7 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/plugin-replace@5.0.2(rollup@3.21.5):
/@rollup/plugin-replace@5.0.2(rollup@3.21.6):
resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1724,9 +1759,9 @@ packages:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.2(rollup@3.21.5)
'@rollup/pluginutils': 5.0.2(rollup@3.21.6)
magic-string: 0.27.0
rollup: 3.21.5
rollup: 3.21.6
dev: true
/@rollup/pluginutils@3.1.0(rollup@2.79.1):
@@ -1741,7 +1776,7 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/pluginutils@5.0.2(rollup@3.21.5):
/@rollup/pluginutils@5.0.2(rollup@3.21.6):
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1753,7 +1788,7 @@ packages:
'@types/estree': 1.0.1
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 3.21.5
rollup: 3.21.6
/@scure/base@1.1.1:
resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
@@ -1859,14 +1894,6 @@ packages:
solid-js: 1.7.5
dev: false
/@solid-primitives/utils@5.5.2(solid-js@1.7.5):
resolution: {integrity: sha512-L52ig3eHKU6CqbPCKJIb4lweBuINHBOERcE1duApyKozEN8+zCqEKwD1Qo9ljKeEzJTBGWClxNpwEiNTUWTGvg==}
peerDependencies:
solid-js: ^1.6.12
dependencies:
solid-js: 1.7.5
dev: false
/@solid-primitives/utils@6.1.1(solid-js@1.7.5):
resolution: {integrity: sha512-wxxUdxja126jTROs9Ro8Z5ExbHs9rv2Tl744S3Qmzki/gTcTXW8D1TvTArQcjqkCvSw8OIQ2EO2NI8sR28Trxg==}
peerDependencies:
@@ -1875,8 +1902,8 @@ packages:
solid-js: 1.7.5
dev: false
/@solidjs/meta@0.28.4(solid-js@1.7.5):
resolution: {integrity: sha512-1USElsQuGVcJnmZ6CxPfUVmKvCsVdBQoGrUyMxLtFw36Ytt90dPs/qLyXLvPR/ZPD16/qauWqg6APEkbrDOLcA==}
/@solidjs/meta@0.28.5(solid-js@1.7.5):
resolution: {integrity: sha512-52luJR6hVNMA1K8Od5OD0d8WVz/svqZG4is8lrDimiUGxdia3DzuLF+pK56dnEzbNt9cA42qVFL134U9LkC9Gg==}
peerDependencies:
solid-js: '>=1.4.0'
dependencies:
@@ -2343,7 +2370,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001486
electron-to-chromium: 1.4.387
electron-to-chromium: 1.4.388
node-releases: 2.0.10
update-browserslist-db: 1.0.11(browserslist@4.21.5)
@@ -2626,8 +2653,8 @@ packages:
jake: 10.8.5
dev: true
/electron-to-chromium@1.4.387:
resolution: {integrity: sha512-tutLf+alr1/0YqJwKPdstVvDLmxmLb5xNyDLNS0RZmenHcEYk9qKfpKDCVZEKJ00JVbnayJm1MZAbYhYDFpcOw==}
/electron-to-chromium@1.4.388:
resolution: {integrity: sha512-xZ0y4zjWZgp65okzwwt00f2rYibkFPHUv9qBz+Vzn8cB9UXIo9Zc6Dw81LJYhhNt0G/vR1OJEfStZ49NKl0YxQ==}
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -3572,6 +3599,15 @@ packages:
side-channel: 1.0.4
dev: true
/intl-messageformat@10.3.5:
resolution: {integrity: sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==}
dependencies:
'@formatjs/ecma402-abstract': 1.15.0
'@formatjs/fast-memoize': 2.0.1
'@formatjs/icu-messageformat-parser': 2.4.0
tslib: 2.5.0
dev: false
/is-array-buffer@3.0.2:
resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
dependencies:
@@ -4397,10 +4433,10 @@ packages:
jest-worker: 26.6.2
rollup: 2.79.1
serialize-javascript: 4.0.0
terser: 5.17.2
terser: 5.17.3
dev: true
/rollup-plugin-visualizer@5.9.0(rollup@3.21.5):
/rollup-plugin-visualizer@5.9.0(rollup@3.21.6):
resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
engines: {node: '>=14'}
hasBin: true
@@ -4412,17 +4448,17 @@ packages:
dependencies:
open: 8.4.2
picomatch: 2.3.1
rollup: 3.21.5
rollup: 3.21.6
source-map: 0.7.4
yargs: 17.7.2
/rollup-route-manifest@1.0.0(rollup@3.21.5):
/rollup-route-manifest@1.0.0(rollup@3.21.6):
resolution: {integrity: sha512-3CmcMmCLAzJDUXiO3z6386/Pt8/k9xTZv8gIHyXI8hYGoAInnYdOsFXiGGzQRMy6TXR1jUZme2qbdwjH2nFMjg==}
engines: {node: '>=8'}
peerDependencies:
rollup: '>=2.0.0'
dependencies:
rollup: 3.21.5
rollup: 3.21.6
route-sort: 1.0.0
/rollup@2.79.1:
@@ -4433,8 +4469,8 @@ packages:
fsevents: 2.3.2
dev: true
/rollup@3.21.5:
resolution: {integrity: sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==}
/rollup@3.21.6:
resolution: {integrity: sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@@ -4567,21 +4603,21 @@ packages:
undici: ^5.8.0
vite: '*'
dependencies:
'@rollup/plugin-commonjs': 24.1.0(rollup@3.21.5)
'@rollup/plugin-json': 6.0.0(rollup@3.21.5)
'@rollup/plugin-node-resolve': 15.0.2(rollup@3.21.5)
'@rollup/plugin-commonjs': 24.1.0(rollup@3.21.6)
'@rollup/plugin-json': 6.0.0(rollup@3.21.6)
'@rollup/plugin-node-resolve': 15.0.2(rollup@3.21.6)
compression: 1.7.4
polka: 1.0.0-next.22
rollup: 3.21.5
rollup: 3.21.6
sirv: 2.0.3
solid-start: 0.2.26(@solidjs/meta@0.28.4)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5)
terser: 5.17.2
solid-start: 0.2.26(@solidjs/meta@0.28.5)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5)
terser: 5.17.3
undici: 5.22.0
vite: 4.3.5(@types/node@18.16.6)
transitivePeerDependencies:
- supports-color
/solid-start@0.2.26(@solidjs/meta@0.28.4)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5):
/solid-start@0.2.26(@solidjs/meta@0.28.5)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5):
resolution: {integrity: sha512-kne2HZlnSMzsirdnvNs1CsDqBl0L0uvKKt1t4de1CH7JIngyqoMcER97jTE0Ejr84KknANaKAdvJAzZcL7Ueng==}
hasBin: true
peerDependencies:
@@ -4621,7 +4657,7 @@ packages:
'@babel/preset-env': 7.21.5(@babel/core@7.21.8)
'@babel/preset-typescript': 7.21.5(@babel/core@7.21.8)
'@babel/template': 7.20.7
'@solidjs/meta': 0.28.4(solid-js@1.7.5)
'@solidjs/meta': 0.28.5(solid-js@1.7.5)
'@solidjs/router': 0.8.2(solid-js@1.7.5)
'@types/cookie': 0.5.1
chokidar: 3.5.3
@@ -4637,18 +4673,18 @@ packages:
get-port: 6.1.2
parse-multipart-data: 1.5.0
picocolors: 1.0.0
rollup: 3.21.5
rollup-plugin-visualizer: 5.9.0(rollup@3.21.5)
rollup-route-manifest: 1.0.0(rollup@3.21.5)
rollup: 3.21.6
rollup-plugin-visualizer: 5.9.0(rollup@3.21.6)
rollup-route-manifest: 1.0.0(rollup@3.21.6)
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.3
solid-js: 1.7.5
solid-start-node: 0.2.26(solid-start@0.2.26)(undici@5.22.0)(vite@4.3.5)
terser: 5.17.2
terser: 5.17.3
undici: 5.22.0
vite: 4.3.5(@types/node@18.16.6)
vite-plugin-inspect: 0.7.26(rollup@3.21.5)(vite@4.3.5)
vite-plugin-inspect: 0.7.26(rollup@3.21.6)(vite@4.3.5)
vite-plugin-solid: 2.7.0(solid-js@1.7.5)(vite@4.3.5)
wait-on: 6.0.1(debug@4.3.4)
transitivePeerDependencies:
@@ -4850,8 +4886,8 @@ packages:
unique-string: 2.0.0
dev: true
/terser@5.17.2:
resolution: {integrity: sha512-1D1aGbOF1Mnayq5PvfMc0amAR1y5Z1nrZaGCvI5xsdEfZEVte8okonk02OiaK5fw5hG1GWuuVsakOnpZW8y25A==}
/terser@5.17.3:
resolution: {integrity: sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -5044,14 +5080,14 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
/vite-plugin-inspect@0.7.26(rollup@3.21.5)(vite@4.3.5):
/vite-plugin-inspect@0.7.26(rollup@3.21.6)(vite@4.3.5):
resolution: {integrity: sha512-gRjBay+OxLr/Dr+HXlfJVXZH0cqhE5hkkBvo2du2cA1LGUBnV8Aym89AdPrURkSpTk3Rvw9dNWM2VLIuw6RKJg==}
engines: {node: '>=14'}
peerDependencies:
vite: ^3.1.0 || ^4.0.0
dependencies:
'@antfu/utils': 0.7.2
'@rollup/pluginutils': 5.0.2(rollup@3.21.5)
'@rollup/pluginutils': 5.0.2(rollup@3.21.6)
debug: 4.3.4
fs-extra: 11.1.1
picocolors: 1.0.0
@@ -5068,11 +5104,11 @@ packages:
workbox-build: ^6.5.4
workbox-window: ^6.5.4
dependencies:
'@rollup/plugin-replace': 5.0.2(rollup@3.21.5)
'@rollup/plugin-replace': 5.0.2(rollup@3.21.6)
debug: 4.3.4
fast-glob: 3.2.12
pretty-bytes: 6.1.0
rollup: 3.21.5
rollup: 3.21.6
vite: 4.3.5(@types/node@18.16.6)
workbox-build: 6.5.4
workbox-window: 6.5.4
@@ -5134,7 +5170,7 @@ packages:
'@types/node': 18.16.6
esbuild: 0.17.18
postcss: 8.4.23
rollup: 3.21.5
rollup: 3.21.6
optionalDependencies:
fsevents: 2.3.2

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="m9.9998 13.5998 5.9-5.9c.1833-.18333.4167-.275.7-.275.2833 0 .5167.09167.7.275.1833.18334.275.41667.275.7 0 .28334-.0917.51667-.275.7l-6.6 6.6c-.2.2-.4333.3-.7.3-.26666 0-.5-.1-.7-.3l-2.6-2.6c-.18333-.1833-.275-.4167-.275-.7 0-.2833.09167-.5167.275-.7.18334-.1833.41667-.275.7-.275.28334 0 .51667.0917.7.275l1.9 1.9Z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 425 B

View File

@@ -1,8 +1,9 @@
import { JSX, ParentComponent, Show, Suspense } from "solid-js"
import { JSX, ParentComponent, Show, Suspense, createSignal } from "solid-js"
import Linkify from "./Linkify"
import { Button, ButtonLink } from "./Button"
import { Separator } from "@kobalte/core"
import { Checkbox as KCheckbox, Separator } from "@kobalte/core"
import { useMegaStore } from "~/state/megaStore"
import check from "~/assets/icons/check.svg"
export {
Button,
@@ -118,7 +119,7 @@ export const SmallAmount: ParentComponent<{ amount: number | bigint, sign?: stri
}
export const NiceP: ParentComponent = (props) => {
return (<p class="text-2xl font-light">{props.children}</p>)
return (<p class="text-xl font-light">{props.children}</p>)
}
export const TinyButton: ParentComponent<{ onClick: () => void }> = (props) => {
@@ -134,3 +135,17 @@ export const Indicator: ParentComponent = (props) => {
<div class="box-border animate-pulse px-2 py-1 -my-1 bg-white/70 rounded text-xs uppercase text-black">{props.children}</div>
)
}
export function Checkbox(props: { label: string, checked: boolean, onChange: (checked: boolean) => void }) {
return (
<KCheckbox.Root class="inline-flex items-center gap-2" checked={props.checked} onChange={props.onChange}>
<KCheckbox.Input class="" />
<KCheckbox.Control class="flex-0 w-8 h-8 rounded-lg border-2 border-white bg-neutral-800 ui-checked:bg-m-red">
<KCheckbox.Indicator>
<img src={check} class="w-8 h-8" alt="check" />
</KCheckbox.Indicator>
</KCheckbox.Control>
<KCheckbox.Label class="flex-1 text-xl font-light">{props.label}</KCheckbox.Label>
</KCheckbox.Root>
)
}

View File

@@ -1,16 +1,39 @@
import { Button, DefaultMain, LargeHeader, NiceP, MutinyWalletGuard, SafeArea, VStack } from "~/components/layout";
import { Button, DefaultMain, LargeHeader, NiceP, MutinyWalletGuard, SafeArea, VStack, Checkbox } from "~/components/layout";
import NavBar from "~/components/NavBar";
import { useNavigate } from 'solid-start';
import { SeedWords } from '~/components/SeedWords';
import { useMegaStore } from '~/state/megaStore';
import { Show, createSignal } from 'solid-js';
import { Show, createEffect, createSignal } from 'solid-js';
import { BackLink } from "~/components/layout/BackLink";
function Quiz(props: { setHasCheckedAll: (hasChecked: boolean) => void }) {
const [one, setOne] = createSignal(false);
const [two, setTwo] = createSignal(false);
const [three, setThree] = createSignal(false);
createEffect(() => {
if (one() && two() && three()) {
props.setHasCheckedAll(true)
} else {
props.setHasCheckedAll(false)
}
})
return (
<VStack>
<Checkbox checked={one()} onChange={setOne} label="I wrote down the words" />
<Checkbox checked={two()} onChange={setTwo} label="I understand that my funds are my responsibility" />
<Checkbox checked={three()} onChange={setThree} label="I'm not lying just to get this over with" />
</VStack>
)
}
export default function App() {
const [store, actions] = useMegaStore();
const navigate = useNavigate();
const [hasSeenBackup, setHasSeenBackup] = createSignal(false);
const [hasCheckedAll, setHasCheckedAll] = createSignal(false);
function wroteDownTheWords() {
actions.setHasBackedUp()
@@ -23,6 +46,7 @@ export default function App() {
<DefaultMain>
<BackLink />
<LargeHeader>Backup</LargeHeader>
<VStack>
<NiceP>Let's get these funds secured.</NiceP>
<NiceP>We'll show you 12 words. You write down the 12 words.</NiceP>
@@ -32,9 +56,9 @@ export default function App() {
<NiceP>Mutiny is self-custodial. It's all up to you...</NiceP>
<SeedWords words={store.mutiny_wallet?.show_seed() || ""} setHasSeen={setHasSeenBackup} />
<Show when={hasSeenBackup()}>
<NiceP>You are responsible for your funds!</NiceP>
<Quiz setHasCheckedAll={setHasCheckedAll} />
</Show>
<Button disabled={!hasSeenBackup()} intent="blue" onClick={wroteDownTheWords}>I wrote down the words</Button>
<Button disabled={!hasSeenBackup() || !hasCheckedAll()} intent="blue" onClick={wroteDownTheWords}>I wrote down the words</Button>
</VStack>
</DefaultMain>
<NavBar activeTab="none" />