From 4ea1cafb7bf4974a7ac54c6169888602d6d19a3d Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Wed, 15 Mar 2023 10:51:32 +0700 Subject: [PATCH] added pre-follow to onboarding process --- package.json | 15 +- pnpm-lock.yaml | 697 +++++++++++++++++-------- src/components/user/base.tsx | 63 +++ src/pages/onboarding/create/index.tsx | 6 +- src/pages/onboarding/create/step-2.tsx | 217 ++++++++ src/pages/onboarding/login/index.tsx | 8 +- src/pages/onboarding/login/step-2.tsx | 2 +- 7 files changed, 772 insertions(+), 236 deletions(-) create mode 100644 src/components/user/base.tsx create mode 100644 src/pages/onboarding/create/step-2.tsx diff --git a/package.json b/package.json index bdb5e749..718f8b5a 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@radix-ui/react-dropdown-menu": "^2.0.4", "@radix-ui/react-icons": "^1.2.0", "@rehooks/local-storage": "^2.4.4", + "@supabase/supabase-js": "^2.10.0", "@tauri-apps/api": "^1.2.0", "@uiw/react-markdown-preview": "^4.1.10", "@uiw/react-md-editor": "^3.20.5", @@ -25,7 +26,7 @@ "moment": "^2.29.4", "next": "^13.2.4", "next-remove-imports": "^1.0.10", - "nostr-relaypool": "^0.5.12", + "nostr-relaypool": "^0.5.18", "nostr-tools": "^1.7.4", "qrcode.react": "^3.1.0", "react": "^18.2.0", @@ -36,26 +37,26 @@ "react-virtuoso": "^4.1.0", "tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql", "unique-names-generator": "^4.7.1", - "ws": "^8.12.1" + "ws": "^8.13.0" }, "devDependencies": { "@tailwindcss/typography": "^0.5.9", "@tauri-apps/cli": "^1.2.3", "@trivago/prettier-plugin-sort-imports": "^4.1.1", - "@types/node": "^18.15.0", + "@types/node": "^18.15.3", "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^5.54.1", - "@typescript-eslint/parser": "^5.54.1", + "@typescript-eslint/eslint-plugin": "^5.55.0", + "@typescript-eslint/parser": "^5.55.0", "autoprefixer": "^10.4.14", "csstype": "^3.1.1", - "eslint": "^8.35.0", + "eslint": "^8.36.0", "eslint-config-next": "^13.2.4", "eslint-config-prettier": "^8.7.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "husky": "^8.0.3", - "lint-staged": "^13.1.2", + "lint-staged": "^13.2.0", "postcss": "^8.4.21", "prettier": "^2.8.4", "prettier-plugin-tailwindcss": "^0.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6eab37a6..95f9b161 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,33 +5,34 @@ specifiers: '@radix-ui/react-dropdown-menu': ^2.0.4 '@radix-ui/react-icons': ^1.2.0 '@rehooks/local-storage': ^2.4.4 + '@supabase/supabase-js': ^2.10.0 '@tailwindcss/typography': ^0.5.9 '@tauri-apps/api': ^1.2.0 '@tauri-apps/cli': ^1.2.3 '@trivago/prettier-plugin-sort-imports': ^4.1.1 - '@types/node': ^18.15.0 + '@types/node': ^18.15.3 '@types/react': ^18.0.28 '@types/react-dom': ^18.0.11 - '@typescript-eslint/eslint-plugin': ^5.54.1 - '@typescript-eslint/parser': ^5.54.1 + '@typescript-eslint/eslint-plugin': ^5.55.0 + '@typescript-eslint/parser': ^5.55.0 '@uiw/react-markdown-preview': ^4.1.10 '@uiw/react-md-editor': ^3.20.5 autoprefixer: ^10.4.14 bitcoin-address-validation: ^2.2.1 boring-avatars: ^1.7.0 csstype: ^3.1.1 - eslint: ^8.35.0 + eslint: ^8.36.0 eslint-config-next: ^13.2.4 eslint-config-prettier: ^8.7.0 eslint-plugin-react: ^7.32.2 eslint-plugin-react-hooks: ^4.6.0 framer-motion: ^9.1.7 husky: ^8.0.3 - lint-staged: ^13.1.2 + lint-staged: ^13.2.0 moment: ^2.29.4 next: ^13.2.4 next-remove-imports: ^1.0.10 - nostr-relaypool: ^0.5.12 + nostr-relaypool: ^0.5.18 nostr-tools: ^1.7.4 postcss: ^8.4.21 prettier: ^2.8.4 @@ -48,13 +49,14 @@ specifiers: tauri-plugin-sql-api: github:tauri-apps/tauri-plugin-sql typescript: ^4.9.5 unique-names-generator: ^4.7.1 - ws: ^8.12.1 + ws: ^8.13.0 dependencies: '@radix-ui/react-dialog': 1.0.3_zula6vjvt3wdocc4mwcxqa6nzi '@radix-ui/react-dropdown-menu': 2.0.4_zula6vjvt3wdocc4mwcxqa6nzi '@radix-ui/react-icons': 1.2.0_react@18.2.0 '@rehooks/local-storage': 2.4.4_react@18.2.0 + '@supabase/supabase-js': 2.10.0 '@tauri-apps/api': 1.2.0 '@uiw/react-markdown-preview': 4.1.10_zula6vjvt3wdocc4mwcxqa6nzi '@uiw/react-md-editor': 3.20.5_zula6vjvt3wdocc4mwcxqa6nzi @@ -64,7 +66,7 @@ dependencies: moment: 2.29.4 next: 13.2.4_biqbaboplfbrettd7655fr4n2y next-remove-imports: 1.0.10 - nostr-relaypool: 0.5.12_ws@8.12.1 + nostr-relaypool: 0.5.18_ws@8.13.0 nostr-tools: 1.7.4 qrcode.react: 3.1.0_react@18.2.0 react: 18.2.0 @@ -73,28 +75,28 @@ dependencies: react-moment: 1.1.3_mmavuqf6ek6upnyryxchoaliru react-player: 2.12.0_react@18.2.0 react-virtuoso: 4.1.0_biqbaboplfbrettd7655fr4n2y - tauri-plugin-sql-api: github.com/tauri-apps/tauri-plugin-sql/b945c7a74ed207771420f7f0809d20ba66d55f70 + tauri-plugin-sql-api: github.com/tauri-apps/tauri-plugin-sql/3a8b9a6b244df7512bc5ef8692cebdedbab3ccce unique-names-generator: 4.7.1 - ws: 8.12.1 + ws: 8.13.0 devDependencies: '@tailwindcss/typography': 0.5.9_tailwindcss@3.2.7 '@tauri-apps/cli': 1.2.3 '@trivago/prettier-plugin-sort-imports': 4.1.1_prettier@2.8.4 - '@types/node': 18.15.0 + '@types/node': 18.15.3 '@types/react': 18.0.28 '@types/react-dom': 18.0.11 - '@typescript-eslint/eslint-plugin': 5.54.1_mlk7dnz565t663n4razh6a6v6i - '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/eslint-plugin': 5.55.0_342y7v4tc7ytrrysmit6jo4wri + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m autoprefixer: 10.4.14_postcss@8.4.21 csstype: 3.1.1 - eslint: 8.35.0 - eslint-config-next: 13.2.4_ycpbpc6yetojsgtrx3mwntkhsu - eslint-config-prettier: 8.7.0_eslint@8.35.0 - eslint-plugin-react: 7.32.2_eslint@8.35.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.35.0 + eslint: 8.36.0 + eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m + eslint-config-prettier: 8.7.0_eslint@8.36.0 + eslint-plugin-react: 7.32.2_eslint@8.36.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 husky: 8.0.3 - lint-staged: 13.1.2 + lint-staged: 13.2.0 postcss: 8.4.21 prettier: 2.8.4 prettier-plugin-tailwindcss: 0.2.4_zmkqdpv3ldc45e6wei6qtrbrca @@ -125,21 +127,21 @@ packages: engines: { node: '>=6.9.0' } dev: false - /@babel/core/7.21.0: + /@babel/core/7.21.3: resolution: - { integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== } + { integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== } engines: { node: '>=6.9.0' } dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/generator': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.2 + '@babel/parser': 7.21.3 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -159,18 +161,18 @@ packages: source-map: 0.5.7 dev: true - /@babel/generator/7.21.1: + /@babel/generator/7.21.3: resolution: - { integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== } + { integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 dev: false - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0: + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.3: resolution: { integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== } engines: { node: '>=6.9.0' } @@ -178,7 +180,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 @@ -196,21 +198,21 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 /@babel/helper-hoist-variables/7.18.6: resolution: { integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 /@babel/helper-module-imports/7.18.6: resolution: { integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: false /@babel/helper-module-transforms/7.21.2: @@ -224,8 +226,8 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: false @@ -235,7 +237,7 @@ packages: { integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 dev: false /@babel/helper-split-export-declaration/7.18.6: @@ -243,7 +245,7 @@ packages: { integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.21.3 /@babel/helper-string-parser/7.19.4: resolution: @@ -267,8 +269,8 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 transitivePeerDependencies: - supports-color dev: false @@ -282,9 +284,9 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.21.2: + /@babel/parser/7.21.3: resolution: - { integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== } + { integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== } engines: { node: '>=6.0.0' } hasBin: true dependencies: @@ -303,8 +305,8 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/parser': 7.21.3 + '@babel/types': 7.21.3 /@babel/traverse/7.17.3: resolution: @@ -317,7 +319,7 @@ packages: '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.2 + '@babel/parser': 7.21.3 '@babel/types': 7.17.0 debug: 4.3.4 globals: 11.12.0 @@ -325,19 +327,19 @@ packages: - supports-color dev: true - /@babel/traverse/7.21.2: + /@babel/traverse/7.21.3: resolution: - { integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== } + { integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== } engines: { node: '>=6.9.0' } dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 + '@babel/generator': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/parser': 7.21.3 + '@babel/types': 7.21.3 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -352,9 +354,9 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - /@babel/types/7.21.2: + /@babel/types/7.21.3: resolution: - { integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== } + { integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== } engines: { node: '>=6.9.0' } dependencies: '@babel/helper-string-parser': 7.19.4 @@ -376,14 +378,31 @@ packages: dev: false optional: true - /@eslint/eslintrc/2.0.0: + /@eslint-community/eslint-utils/4.2.0_eslint@8.36.0: resolution: - { integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== } + { integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.36.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /@eslint-community/regexpp/4.4.0: + resolution: + { integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc/2.0.1: + resolution: + { integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 + espree: 9.5.0 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -394,9 +413,9 @@ packages: - supports-color dev: true - /@eslint/js/8.35.0: + /@eslint/js/8.36.0: resolution: - { integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== } + { integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true @@ -1110,6 +1129,67 @@ packages: '@scure/base': 1.1.1 dev: false + /@supabase/functions-js/2.1.0: + resolution: + { integrity: sha512-vRziB+AqRXRaGHjEFHwBo0kuNDTuAxI7VUeqU24Fe86ISoD8YEQm0dGdpleJEcqgDGWaO6pxT1tfj1BRY5PwMg== } + dependencies: + cross-fetch: 3.1.5 + transitivePeerDependencies: + - encoding + dev: false + + /@supabase/gotrue-js/2.13.0: + resolution: + { integrity: sha512-NFBHuHNUn94mP/zOQzsp1k2PtwV55Vhf6ZbTzmMpiUvIRlXhVteZcdfdoAQDIBrdxOdL7F54NFp1gIupPZka6g== } + dependencies: + cross-fetch: 3.1.5 + transitivePeerDependencies: + - encoding + dev: false + + /@supabase/postgrest-js/1.4.1: + resolution: + { integrity: sha512-aruqwV/aTggkM7OVv2JinCeXmRMKHJCZpkuS1nuoa0NgLw7g3NyILSyWOKYTBJ/PxE/zXtWsBhdxFzaaNz5uxg== } + dependencies: + cross-fetch: 3.1.5 + transitivePeerDependencies: + - encoding + dev: false + + /@supabase/realtime-js/2.6.0: + resolution: + { integrity: sha512-tOVulMobhpxyDuu8VIImpL8FXmZOKsGNOSyS5ihJdj2xYmPPvYG+D2J51Ewfl+MFF65tweiB6p9N9bNIW1cDNA== } + dependencies: + '@types/phoenix': 1.5.5 + websocket: 1.0.34 + transitivePeerDependencies: + - supports-color + dev: false + + /@supabase/storage-js/2.3.1: + resolution: + { integrity: sha512-BaPIvyvjuZW1V0CnfGKUZyzpBUXnsh0XD8eqTOYd+MdiGPmIPI0vtwnT4fAoK8mipp1vpcN62EVQaqeUnWXPtQ== } + dependencies: + cross-fetch: 3.1.5 + transitivePeerDependencies: + - encoding + dev: false + + /@supabase/supabase-js/2.10.0: + resolution: + { integrity: sha512-/vkpPxGDyLfTASWnVHL8vdgQxn9SX/Cs+BotTxFhLSIeGFSazC6rpQSMKu6RqzO7gjBD1KqTv0h3auWfClWs+Q== } + dependencies: + '@supabase/functions-js': 2.1.0 + '@supabase/gotrue-js': 2.13.0 + '@supabase/postgrest-js': 1.4.1 + '@supabase/realtime-js': 2.6.0 + '@supabase/storage-js': 2.3.1 + cross-fetch: 3.1.5 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /@swc/helpers/0.4.14: resolution: { integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== } @@ -1254,7 +1334,7 @@ packages: optional: true dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.21.2 + '@babel/parser': 7.21.3 '@babel/traverse': 7.17.3 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 @@ -1299,9 +1379,9 @@ packages: { integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== } dev: false - /@types/node/18.15.0: + /@types/node/18.15.3: resolution: - { integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w== } + { integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== } dev: true /@types/parse5/6.0.3: @@ -1309,6 +1389,11 @@ packages: { integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== } dev: false + /@types/phoenix/1.5.5: + resolution: + { integrity: sha512-1eWWT19k0L4ZiTvdXjAvJ9KvW0B8SdiVftQmFPJGTEx78Q4PCSIQDpz+EfkFVR1N4U9gREjlW4JXL8YCIlY0bw== } + dev: false + /@types/prismjs/1.26.0: resolution: { integrity: sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ== } @@ -1347,9 +1432,9 @@ packages: { integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== } dev: false - /@typescript-eslint/eslint-plugin/5.54.1_mlk7dnz565t663n4razh6a6v6i: + /@typescript-eslint/eslint-plugin/5.55.0_342y7v4tc7ytrrysmit6jo4wri: resolution: - { integrity: sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew== } + { integrity: sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1359,16 +1444,16 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/type-utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@eslint-community/regexpp': 4.4.0 + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/scope-manager': 5.55.0 + '@typescript-eslint/type-utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m debug: 4.3.4 - eslint: 8.35.0 + eslint: 8.36.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - regexpp: 3.2.0 semver: 7.3.8 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 @@ -1376,9 +1461,9 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + /@typescript-eslint/parser/5.55.0_vgl77cfdswitgr47lm5swmv43m: resolution: - { integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg== } + { integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1387,28 +1472,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.55.0 + '@typescript-eslint/types': 5.55.0 + '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 debug: 4.3.4 - eslint: 8.35.0 + eslint: 8.36.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.54.1: + /@typescript-eslint/scope-manager/5.55.0: resolution: - { integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg== } + { integrity: sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 + '@typescript-eslint/types': 5.55.0 + '@typescript-eslint/visitor-keys': 5.55.0 dev: true - /@typescript-eslint/type-utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + /@typescript-eslint/type-utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: resolution: - { integrity: sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g== } + { integrity: sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: '*' @@ -1417,25 +1502,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 - '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m debug: 4.3.4 - eslint: 8.35.0 + eslint: 8.36.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.54.1: + /@typescript-eslint/types/5.55.0: resolution: - { integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw== } + { integrity: sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree/5.54.1_typescript@4.9.5: + /@typescript-eslint/typescript-estree/5.55.0_typescript@4.9.5: resolution: - { integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg== } + { integrity: sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' @@ -1443,8 +1528,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 + '@typescript-eslint/types': 5.55.0 + '@typescript-eslint/visitor-keys': 5.55.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1455,33 +1540,33 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + /@typescript-eslint/utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: resolution: - { integrity: sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ== } + { integrity: sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: + '@eslint-community/eslint-utils': 4.2.0_eslint@8.36.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 - eslint: 8.35.0 + '@typescript-eslint/scope-manager': 5.55.0 + '@typescript-eslint/types': 5.55.0 + '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 + eslint: 8.36.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.54.1: + /@typescript-eslint/visitor-keys/5.55.0: resolution: - { integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg== } + { integrity: sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/types': 5.55.0 eslint-visitor-keys: 3.3.0 dev: true @@ -1695,6 +1780,14 @@ packages: deep-equal: 2.2.0 dev: true + /array-buffer-byte-length/1.0.0: + resolution: + { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + /array-includes/3.1.6: resolution: { integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== } @@ -1702,7 +1795,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 get-intrinsic: 1.2.0 is-string: 1.0.7 dev: true @@ -1720,7 +1813,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 dev: true @@ -1731,7 +1824,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 dev: true @@ -1741,7 +1834,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.0 dev: true @@ -1766,7 +1859,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001464 + caniuse-lite: 1.0.30001466 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1793,7 +1886,7 @@ packages: deep-equal: 2.2.0 dev: true - /babel-loader/9.1.2_@babel+core@7.21.0: + /babel-loader/9.1.2_@babel+core@7.21.3: resolution: { integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== } engines: { node: '>= 14.15.0' } @@ -1801,18 +1894,18 @@ packages: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 find-cache-dir: 3.3.2 schema-utils: 4.0.0 dev: false - /babel-plugin-transform-remove-imports/1.7.0_@babel+core@7.21.0: + /babel-plugin-transform-remove-imports/1.7.0_@babel+core@7.21.3: resolution: { integrity: sha512-gprmWf6ry5qrnxMyiDaxZpXzZJP6R9FRA+p0AImLIWRmSEGtlKcFprHKeGMZYkII9rJR6Q1hYou+n1fk6rWf2g== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.21.3 dev: false /bail/2.0.2: @@ -1888,11 +1981,20 @@ packages: engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001464 - electron-to-chromium: 1.4.327 + caniuse-lite: 1.0.30001466 + electron-to-chromium: 1.4.330 node-releases: 2.0.10 update-browserslist-db: 1.0.10_browserslist@4.21.5 + /bufferutil/4.0.7: + resolution: + { integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== } + engines: { node: '>=6.14.2' } + requiresBuild: true + dependencies: + node-gyp-build: 4.6.0 + dev: false + /call-bind/1.0.2: resolution: { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } @@ -1912,9 +2014,9 @@ packages: engines: { node: '>= 6' } dev: true - /caniuse-lite/1.0.30001464: + /caniuse-lite/1.0.30001466: resolution: - { integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g== } + { integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w== } /ccount/2.0.1: resolution: @@ -1939,6 +2041,12 @@ packages: supports-color: 7.2.0 dev: true + /chalk/5.2.0: + resolution: + { integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + dev: true + /character-entities-html4/2.1.0: resolution: { integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== } @@ -2045,10 +2153,10 @@ packages: { integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== } dev: false - /commander/9.5.0: + /commander/10.0.0: resolution: - { integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== } - engines: { node: ^12.20.0 || >=14 } + { integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== } + engines: { node: '>=14' } dev: true /commondir/1.0.1: @@ -2066,6 +2174,15 @@ packages: { integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== } dev: false + /cross-fetch/3.1.5: + resolution: + { integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== } + dependencies: + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + dev: false + /cross-spawn/7.0.3: resolution: { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } @@ -2092,11 +2209,31 @@ packages: resolution: { integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== } + /d/1.0.1: + resolution: + { integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== } + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: false + /damerau-levenshtein/1.0.8: resolution: { integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== } dev: true + /debug/2.6.9: + resolution: + { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + /debug/3.2.7: resolution: { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } @@ -2255,9 +2392,9 @@ packages: { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } dev: true - /electron-to-chromium/1.4.327: + /electron-to-chromium/1.4.330: resolution: - { integrity: sha512-DIk2H4g/3ZhjgiABJjVdQvUdMlSABOsjeCm6gmUzIdKxAuFrGiJ8QXMm3i09grZdDBMC/d8MELMrdwYRC0+YHg== } + { integrity: sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q== } /emoji-regex/8.0.0: resolution: @@ -2278,16 +2415,16 @@ packages: tapable: 2.2.1 dev: true - /es-abstract/1.21.1: + /es-abstract/1.21.2: resolution: - { integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== } + { integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== } engines: { node: '>= 0.4' } dependencies: + array-buffer-byte-length: 1.0.0 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function-bind: 1.1.1 function.prototype.name: 1.1.5 get-intrinsic: 1.2.0 get-symbol-description: 1.0.0 @@ -2311,6 +2448,7 @@ packages: object.assign: 4.1.4 regexp.prototype.flags: 1.4.3 safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 typed-array-length: 1.0.4 @@ -2360,6 +2498,34 @@ packages: is-symbol: 1.0.4 dev: true + /es5-ext/0.10.62: + resolution: + { integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== } + engines: { node: '>=0.10' } + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: false + + /es6-iterator/2.0.3: + resolution: + { integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== } + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: false + + /es6-symbol/3.1.3: + resolution: + { integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== } + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: false + /escalade/3.1.1: resolution: { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } @@ -2382,7 +2548,7 @@ packages: engines: { node: '>=12' } dev: false - /eslint-config-next/13.2.4_ycpbpc6yetojsgtrx3mwntkhsu: + /eslint-config-next/13.2.4_vgl77cfdswitgr47lm5swmv43m: resolution: { integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg== } peerDependencies: @@ -2394,28 +2560,28 @@ packages: dependencies: '@next/eslint-plugin-next': 13.2.4 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu - eslint: 8.35.0 + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_yckic57kx266ph64dhq6ozvb54 - eslint-plugin-import: 2.27.5_yiggpkcwtyhpwcphetqfqiayhm - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.35.0 - eslint-plugin-react: 7.32.2_eslint@8.35.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.35.0 + eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + eslint-plugin-import: 2.27.5_v7jo3sddp7aqau7pajjy572cju + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0 + eslint-plugin-react: 7.32.2_eslint@8.36.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 typescript: 4.9.5 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: true - /eslint-config-prettier/8.7.0_eslint@8.35.0: + /eslint-config-prettier/8.7.0_eslint@8.36.0: resolution: { integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== } hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.35.0 + eslint: 8.36.0 dev: true /eslint-import-resolver-node/0.3.7: @@ -2429,7 +2595,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript/3.5.3_yckic57kx266ph64dhq6ozvb54: + /eslint-import-resolver-typescript/3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy: resolution: { integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ== } engines: { node: ^14.18.0 || >=16.0.0 } @@ -2439,8 +2605,8 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.12.0 - eslint: 8.35.0 - eslint-plugin-import: 2.27.5_yiggpkcwtyhpwcphetqfqiayhm + eslint: 8.36.0 + eslint-plugin-import: 2.27.5_v7jo3sddp7aqau7pajjy572cju get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -2450,7 +2616,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_4ew7aeh2ovxxbkkqgt5g5mz23a: + /eslint-module-utils/2.7.4_wgltsi2kbncdpzwytonvdf2oba: resolution: { integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== } engines: { node: '>=4' } @@ -2472,16 +2638,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m debug: 3.2.7 - eslint: 8.35.0 + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_yckic57kx266ph64dhq6ozvb54 + eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import/2.27.5_yiggpkcwtyhpwcphetqfqiayhm: + /eslint-plugin-import/2.27.5_v7jo3sddp7aqau7pajjy572cju: resolution: { integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== } engines: { node: '>=4' } @@ -2492,15 +2658,15 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.35.0 + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_4ew7aeh2ovxxbkkqgt5g5mz23a + eslint-module-utils: 2.7.4_wgltsi2kbncdpzwytonvdf2oba has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -2515,7 +2681,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.35.0: + /eslint-plugin-jsx-a11y/6.7.1_eslint@8.36.0: resolution: { integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== } engines: { node: '>=4.0' } @@ -2531,7 +2697,7 @@ packages: axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.35.0 + eslint: 8.36.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -2541,17 +2707,17 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.35.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.36.0: resolution: { integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== } engines: { node: '>=10' } peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.35.0 + eslint: 8.36.0 dev: true - /eslint-plugin-react/7.32.2_eslint@8.35.0: + /eslint-plugin-react/7.32.2_eslint@8.36.0: resolution: { integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== } engines: { node: '>=4' } @@ -2562,7 +2728,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.35.0 + eslint: 8.36.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -2594,37 +2760,22 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.35.0: - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.35.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } - dev: true - /eslint-visitor-keys/3.3.0: resolution: { integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /eslint/8.35.0: + /eslint/8.36.0: resolution: - { integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== } + { integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: - '@eslint/eslintrc': 2.0.0 - '@eslint/js': 8.35.0 + '@eslint-community/eslint-utils': 4.2.0_eslint@8.36.0 + '@eslint-community/regexpp': 4.4.0 + '@eslint/eslintrc': 2.0.1 + '@eslint/js': 8.36.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2635,9 +2786,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 eslint-visitor-keys: 3.3.0 - espree: 9.4.1 + espree: 9.5.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2659,7 +2809,6 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - regexpp: 3.2.0 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -2667,9 +2816,9 @@ packages: - supports-color dev: true - /espree/9.4.1: + /espree/9.5.0: resolution: - { integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== } + { integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: acorn: 8.8.2 @@ -2711,14 +2860,14 @@ packages: engines: { node: '>=0.10.0' } dev: true - /execa/6.1.0: + /execa/7.1.1: resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + { integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.0 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -2727,6 +2876,13 @@ packages: strip-final-newline: 3.0.0 dev: true + /ext/1.7.0: + resolution: + { integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== } + dependencies: + type: 2.7.2 + dev: false + /extend/3.0.2: resolution: { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } @@ -2875,7 +3031,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 functions-have-names: 1.2.3 dev: true @@ -3228,10 +3384,10 @@ packages: { integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== } dev: false - /human-signals/3.0.1: + /human-signals/4.3.0: resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + { integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ== } + engines: { node: '>=14.18.0' } dev: true /husky/8.0.3: @@ -3520,6 +3676,11 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-typedarray/1.0.0: + resolution: + { integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== } + dev: false + /is-weakmap/2.0.1: resolution: { integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== } @@ -3558,13 +3719,13 @@ packages: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } dev: true - /isomorphic-ws/5.0.0_ws@8.12.1: + /isomorphic-ws/5.0.0_ws@8.13.0: resolution: { integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== } peerDependencies: ws: '*' dependencies: - ws: 8.12.1 + ws: 8.13.0 dev: false /javascript-natural-sort/0.7.1: @@ -3661,31 +3822,25 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.6: - resolution: - { integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== } - engines: { node: '>=10' } - dev: true - /lilconfig/2.1.0: resolution: { integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== } engines: { node: '>=10' } dev: true - /lint-staged/13.1.2: + /lint-staged/13.2.0: resolution: - { integrity: sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w== } + { integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw== } engines: { node: ^14.13.1 || >=16.0.0 } hasBin: true dependencies: + chalk: 5.2.0 cli-truncate: 3.1.0 - colorette: 2.0.19 - commander: 9.5.0 + commander: 10.0.0 debug: 4.3.4 - execa: 6.1.0 - lilconfig: 2.0.6 - listr2: 5.0.7 + execa: 7.1.1 + lilconfig: 2.1.0 + listr2: 5.0.8 micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.3 @@ -3697,9 +3852,9 @@ packages: - supports-color dev: true - /listr2/5.0.7: + /listr2/5.0.8: resolution: - { integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw== } + { integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== } engines: { node: ^14.13.1 || >=16.0.0 } peerDependencies: enquirer: '>= 2.3.0 < 3' @@ -4290,6 +4445,11 @@ packages: engines: { node: '>=4' } dev: false + /ms/2.0.0: + resolution: + { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== } + dev: false + /ms/2.1.2: resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } @@ -4319,14 +4479,19 @@ packages: resolution: { integrity: sha512-BTlwYD86PyU0YuO2/CVfm+82WZiUpkspH7YkzFBM/nua/d8zouw+/4eUhLl278dtZXIlarmhpH47cWwred4w6Q== } dependencies: - '@babel/core': 7.21.0 - babel-loader: 9.1.2_@babel+core@7.21.0 - babel-plugin-transform-remove-imports: 1.7.0_@babel+core@7.21.0 + '@babel/core': 7.21.3 + babel-loader: 9.1.2_@babel+core@7.21.3 + babel-plugin-transform-remove-imports: 1.7.0_@babel+core@7.21.3 transitivePeerDependencies: - supports-color - webpack dev: false + /next-tick/1.1.0: + resolution: + { integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== } + dev: false + /next/13.2.4_biqbaboplfbrettd7655fr4n2y: resolution: { integrity: sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw== } @@ -4351,7 +4516,7 @@ packages: dependencies: '@next/env': 13.2.4 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001464 + caniuse-lite: 1.0.30001466 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -4375,6 +4540,25 @@ packages: - babel-plugin-macros dev: false + /node-fetch/2.6.7: + resolution: + { integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build/4.6.0: + resolution: + { integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== } + hasBin: true + dev: false + /node-releases/2.0.10: resolution: { integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== } @@ -4391,12 +4575,12 @@ packages: engines: { node: '>=0.10.0' } dev: true - /nostr-relaypool/0.5.12_ws@8.12.1: + /nostr-relaypool/0.5.18_ws@8.13.0: resolution: - { integrity: sha512-bWf3ESxPGWaLu8pY2fjz8GhQcBNXBUmY0HV935apvfD9GMSIctvTPib+R8w5mo/+tSEOLKwFLc2D/DuJjefMiA== } + { integrity: sha512-l3bR034akVSdd/jSOqcj33k1BYaAwqbJMJQFg3cJ/BXPrXy6fPSd4Qye0vuF+MwtqokmLFa68MM8hbfHeOgYtQ== } dependencies: '@jest/source-map': 29.4.3 - isomorphic-ws: 5.0.0_ws@8.12.1 + isomorphic-ws: 5.0.0_ws@8.13.0 nostr-tools: 1.7.4 safe-stable-stringify: 2.4.2 transitivePeerDependencies: @@ -4484,7 +4668,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /object.fromentries/2.0.6: @@ -4494,7 +4678,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /object.hasown/1.1.2: @@ -4502,7 +4686,7 @@ packages: { integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== } dependencies: define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /object.values/1.1.6: @@ -4512,7 +4696,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /once/1.4.0: @@ -5111,12 +5295,6 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp/3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } - dev: true - /rehype-attr/2.1.4: resolution: { integrity: sha512-iAeaL5JyF4XxkcvWzpi/0SAF7iV7qOTaHS56tJuEsXziQc3+PEmMn65kV8OFgbO9mRVY7J1fRC/aLvot1PsNkg== } @@ -5514,7 +5692,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 get-intrinsic: 1.2.0 has-symbols: 1.0.3 internal-slot: 1.0.5 @@ -5522,13 +5700,23 @@ packages: side-channel: 1.0.4 dev: true + /string.prototype.trim/1.2.7: + resolution: + { integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + /string.prototype.trimend/1.0.6: resolution: { integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== } dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /string.prototype.trimstart/1.0.6: @@ -5537,7 +5725,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.1 + es-abstract: 1.21.2 dev: true /stringify-entities/4.0.3: @@ -5709,6 +5897,11 @@ packages: is-number: 7.0.0 dev: true + /tr46/0.0.3: + resolution: + { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + dev: false + /trim-lines/3.0.1: resolution: { integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== } @@ -5769,6 +5962,16 @@ packages: engines: { node: '>=10' } dev: true + /type/1.2.0: + resolution: + { integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== } + dev: false + + /type/2.7.2: + resolution: + { integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== } + dev: false + /typed-array-length/1.0.4: resolution: { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } @@ -5778,6 +5981,13 @@ packages: is-typed-array: 1.1.10 dev: true + /typedarray-to-buffer/3.1.5: + resolution: + { integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== } + dependencies: + is-typedarray: 1.0.0 + dev: false + /typescript/4.9.5: resolution: { integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== } @@ -5930,6 +6140,15 @@ packages: tslib: 2.5.0 dev: false + /utf-8-validate/5.0.10: + resolution: + { integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== } + engines: { node: '>=6.14.2' } + requiresBuild: true + dependencies: + node-gyp-build: 4.6.0 + dev: false + /util-deprecate/1.0.2: resolution: { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } @@ -5978,6 +6197,34 @@ packages: { integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== } dev: false + /webidl-conversions/3.0.1: + resolution: + { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + dev: false + + /websocket/1.0.34: + resolution: + { integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== } + engines: { node: '>=4.0.0' } + dependencies: + bufferutil: 4.0.7 + debug: 2.6.9 + es5-ext: 0.10.62 + typedarray-to-buffer: 3.1.5 + utf-8-validate: 5.0.10 + yaeti: 0.0.6 + transitivePeerDependencies: + - supports-color + dev: false + + /whatwg-url/5.0.0: + resolution: + { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /which-boxed-primitive/1.0.2: resolution: { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } @@ -6052,9 +6299,9 @@ packages: { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } dev: true - /ws/8.12.1: + /ws/8.13.0: resolution: - { integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== } + { integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== } engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 @@ -6072,6 +6319,12 @@ packages: engines: { node: '>=0.4' } dev: true + /yaeti/0.0.6: + resolution: + { integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== } + engines: { node: '>=0.10.32' } + dev: false + /yallist/3.1.1: resolution: { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } @@ -6105,10 +6358,10 @@ packages: { integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== } dev: false - github.com/tauri-apps/tauri-plugin-sql/b945c7a74ed207771420f7f0809d20ba66d55f70: + github.com/tauri-apps/tauri-plugin-sql/3a8b9a6b244df7512bc5ef8692cebdedbab3ccce: resolution: { - tarball: https://codeload.github.com/tauri-apps/tauri-plugin-sql/tar.gz/b945c7a74ed207771420f7f0809d20ba66d55f70, + tarball: https://codeload.github.com/tauri-apps/tauri-plugin-sql/tar.gz/3a8b9a6b244df7512bc5ef8692cebdedbab3ccce, } name: tauri-plugin-sql-api version: 0.0.0 diff --git a/src/components/user/base.tsx b/src/components/user/base.tsx new file mode 100644 index 00000000..51220251 --- /dev/null +++ b/src/components/user/base.tsx @@ -0,0 +1,63 @@ +import { DatabaseContext } from '@components/contexts/database'; +import { ImageWithFallback } from '@components/imageWithFallback'; + +import { truncate } from '@utils/truncate'; + +import Avatar from 'boring-avatars'; +import { memo, useCallback, useContext, useEffect, useState } from 'react'; + +export const UserBase = memo(function UserBase({ pubkey }: { pubkey: string }) { + const { db }: any = useContext(DatabaseContext); + const [profile, setProfile] = useState({ picture: null, display_name: null, name: null }); + + const cacheProfile = useCallback( + async (event) => { + const metadata: any = JSON.parse(event.content); + // insert to database + await db.execute( + `INSERT OR IGNORE INTO cache_profiles (id, metadata) VALUES ("${pubkey}", '${JSON.stringify(metadata)}')` + ); + // update state + setProfile(metadata); + }, + [db, pubkey] + ); + + useEffect(() => { + fetch(`https://rbr.bio/${pubkey}/metadata.json`, { redirect: 'follow' }) + .then((response) => { + if (response.ok) { + return response.json(); + } else if (response.status === 404) { + return Promise.reject('error 404'); + } else { + return Promise.reject('some other error: ' + response.status); + } + }) + .then((data) => cacheProfile(data)) + .catch((error) => console.log('error is', error)); + }, [cacheProfile, pubkey]); + + return ( +