Merge branch 'main' into static

This commit is contained in:
Sam Becker 2024-03-01 16:27:59 -06:00
commit 3a60d6bbf4
3 changed files with 61 additions and 64 deletions

View File

@ -11,7 +11,7 @@
"dependencies": { "dependencies": {
"@aws-sdk/client-s3": "3.525.0", "@aws-sdk/client-s3": "3.525.0",
"@aws-sdk/s3-request-presigner": "3.525.0", "@aws-sdk/s3-request-presigner": "3.525.0",
"@next/bundle-analyzer": "14.1.1", "@next/bundle-analyzer": "14.1.0",
"@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-dropdown-menu": "^2.0.6",
"@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
@ -39,7 +39,7 @@
"jest": "^29.7.0", "jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0", "jest-environment-jsdom": "^29.7.0",
"nanoid": "^5.0.6", "nanoid": "^5.0.6",
"next": "14.1.1-canary.82", "next": "14.1.2-canary.0",
"next-auth": "5.0.0-beta.13", "next-auth": "5.0.0-beta.13",
"next-themes": "^0.2.1", "next-themes": "^0.2.1",
"postcss": "8.4.35", "postcss": "8.4.35",

106
pnpm-lock.yaml generated
View File

@ -12,8 +12,8 @@ dependencies:
specifier: 3.525.0 specifier: 3.525.0
version: 3.525.0 version: 3.525.0
'@next/bundle-analyzer': '@next/bundle-analyzer':
specifier: 14.1.1 specifier: 14.1.0
version: 14.1.1 version: 14.1.0
'@radix-ui/react-dropdown-menu': '@radix-ui/react-dropdown-menu':
specifier: ^2.0.6 specifier: ^2.0.6
version: 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) version: 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
@ -49,7 +49,7 @@ dependencies:
version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
'@vercel/analytics': '@vercel/analytics':
specifier: ^1.2.2 specifier: ^1.2.2
version: 1.2.2(next@14.1.1-canary.82)(react@18.2.0) version: 1.2.2(next@14.1.2-canary.0)(react@18.2.0)
'@vercel/blob': '@vercel/blob':
specifier: ^0.22.1 specifier: ^0.22.1
version: 0.22.1 version: 0.22.1
@ -58,7 +58,7 @@ dependencies:
version: 0.7.2 version: 0.7.2
'@vercel/speed-insights': '@vercel/speed-insights':
specifier: ^1.0.10 specifier: ^1.0.10
version: 1.0.10(next@14.1.1-canary.82)(react@18.2.0) version: 1.0.10(next@14.1.2-canary.0)(react@18.2.0)
autoprefixer: autoprefixer:
specifier: 10.4.18 specifier: 10.4.18
version: 10.4.18(postcss@8.4.35) version: 10.4.18(postcss@8.4.35)
@ -96,14 +96,14 @@ dependencies:
specifier: ^5.0.6 specifier: ^5.0.6
version: 5.0.6 version: 5.0.6
next: next:
specifier: 14.1.1-canary.82 specifier: 14.1.2-canary.0
version: 14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) version: 14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)
next-auth: next-auth:
specifier: 5.0.0-beta.13 specifier: 5.0.0-beta.13
version: 5.0.0-beta.13(next@14.1.1-canary.82)(react@18.2.0) version: 5.0.0-beta.13(next@14.1.2-canary.0)(react@18.2.0)
next-themes: next-themes:
specifier: ^0.2.1 specifier: ^0.2.1
version: 0.2.1(next@14.1.1-canary.82)(react-dom@18.2.0)(react@18.2.0) version: 0.2.1(next@14.1.2-canary.0)(react-dom@18.2.0)(react@18.2.0)
postcss: postcss:
specifier: 8.4.35 specifier: 8.4.35
version: 8.4.35 version: 8.4.35
@ -1557,8 +1557,8 @@ packages:
'@types/pg': 8.6.6 '@types/pg': 8.6.6
dev: false dev: false
/@next/bundle-analyzer@14.1.1: /@next/bundle-analyzer@14.1.0:
resolution: {integrity: sha512-vM8PLggRNodmJo8FJy6+Bnv4jWsVtOuH87naJA7/sdmBUZrBk2fj3xkI1zwarWzDAYzNYTxiMRGVioyNPxBvXg==} resolution: {integrity: sha512-RJWjnlMp/1WSW0ahAdawV22WgJiC6BVaFS5Xfhw6gP7NJEX3cAJjh4JqSHKGr8GnLNRaFCVTQdDPoX84E421BA==}
dependencies: dependencies:
webpack-bundle-analyzer: 4.10.1 webpack-bundle-analyzer: 4.10.1
transitivePeerDependencies: transitivePeerDependencies:
@ -1566,8 +1566,8 @@ packages:
- utf-8-validate - utf-8-validate
dev: false dev: false
/@next/env@14.1.1-canary.82: /@next/env@14.1.2-canary.0:
resolution: {integrity: sha512-OK0KO4+lv4AjP8zpRIdS1YquDDFmilKnzqNv1NlR79+0co2KTV7pn0u6LSNVsiBrXww8q6aalhtZa9Tz5pj40Q==} resolution: {integrity: sha512-GksEcic0fH3exEHdjfhghOZHC3IUASUnz0STQGit2TzjgMhZC3fWMXWyPt2xQU3F19jBfnKA+g60tV3PWEfN7A==}
dev: false dev: false
/@next/eslint-plugin-next@14.1.1: /@next/eslint-plugin-next@14.1.1:
@ -1576,8 +1576,8 @@ packages:
glob: 10.3.10 glob: 10.3.10
dev: false dev: false
/@next/swc-darwin-arm64@14.1.1-canary.82: /@next/swc-darwin-arm64@14.1.2-canary.0:
resolution: {integrity: sha512-S+HGDBC4tFw0akrApxVklCdZqGF/0cgM5FZM4Swp1Py4iMg17lAr1dnu2DI5tiVB20unw/OG0+eZqL2hQjIg6Q==} resolution: {integrity: sha512-i/6NuE+p/VATZzUP0dx3gxqXaXUptySr5MmbLWSXC5KNB7vhtIBxk5xeGjCyEEDP5Gcwf6ZCGjc6l9f5fTdFiQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
@ -1585,8 +1585,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-darwin-x64@14.1.1-canary.82: /@next/swc-darwin-x64@14.1.2-canary.0:
resolution: {integrity: sha512-wel5hJsgj9AsfEmjhi+go/bjGU1q8XhMLSJFa1lBIg0pSthiBo2f65QZHbJ1JMp+myeyevQTZJwnY26Pqj72jA==} resolution: {integrity: sha512-emWPPk7joEKL9CLuikr2tQaWiguBI6rGBDW08KISmXvQWbuIMaQyjVVwrJjKBrYMwUbL1JxJAStkIUYLIFMuKA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
@ -1594,8 +1594,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-arm64-gnu@14.1.1-canary.82: /@next/swc-linux-arm64-gnu@14.1.2-canary.0:
resolution: {integrity: sha512-pY04ow2mRWe8L4yjRs4fu1SAUY+Yq3OJhBg5uKnBJJLTnBsRRpH/Cc1Px+pzwEdArTDkAa7A+T6ihzqbU/hOOQ==} resolution: {integrity: sha512-bjHae2PnQztYfZzF+nhL8UhpS8H0cQBmxu9E6P4aAYMPQeG2g1rgM52g3UJCQ7O+5G4XK44Y6CVEBe1g1t8tlw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@ -1603,8 +1603,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-arm64-musl@14.1.1-canary.82: /@next/swc-linux-arm64-musl@14.1.2-canary.0:
resolution: {integrity: sha512-AEOMP4L9ks63RAPkdA/FC15AdXXR4c+KyvPgzzZZTSisx+YAgu9KUtA7EARTAb7H4AMcvoNeiCUX/jIU5mbnag==} resolution: {integrity: sha512-S/Q5wbDumlFETuFGsmtj3T4MqCqn9vV4LWBXp2B7wCIZTIvgm5KKG7sPUDiaNoTqlg/bm7Af69M4Nma3BICfcg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@ -1612,8 +1612,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-x64-gnu@14.1.1-canary.82: /@next/swc-linux-x64-gnu@14.1.2-canary.0:
resolution: {integrity: sha512-345q+ubhbELBfBGPHRI4+Jxb8YLzjTGajnPMhLBYC3a+2yUP+R9Q+EWhurX5WOZLlzb69exGP35gv9e1JOiy1A==} resolution: {integrity: sha512-vc5nx1olDSQIiKnaoLpfbQON9M4Db2kqU231fkvTYqIc2e91hjBcNXK13pNXa8AwpA+c1FoXvwGj4MxA81v3gQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@ -1621,8 +1621,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-x64-musl@14.1.1-canary.82: /@next/swc-linux-x64-musl@14.1.2-canary.0:
resolution: {integrity: sha512-ptrxuPJWPQUbirI1r5TEln69Zr+rOBEXKXrTpGbviXk2cIWyZvZbn678/hAsZUoy34Lhar20CY23iuYX0er8lQ==} resolution: {integrity: sha512-6bVFiJWD0pHK951ud8tbQI5gJ855roIRoParDAG/xdYY7qqOSZwkEqStaWEKhyE6ognOFYf38zEmudP5EgCp8Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@ -1630,8 +1630,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-arm64-msvc@14.1.1-canary.82: /@next/swc-win32-arm64-msvc@14.1.2-canary.0:
resolution: {integrity: sha512-IorBFBQtuTbQajOUVZ7TFB/beQfxb/RwnJOX1wpdvPgVB6ESPB9q0HmZottCCEl/5WdOHCjS/e7cunRF9QdK+Q==} resolution: {integrity: sha512-HFAc0Exwo0sF9Nhjq3GsffGUzxFLfqyBubjqDGSAuFvcPrSftbkTk8KOhvGkuiAzjB0RwN51OkycIKHa+7ROyg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
@ -1639,8 +1639,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-ia32-msvc@14.1.1-canary.82: /@next/swc-win32-ia32-msvc@14.1.2-canary.0:
resolution: {integrity: sha512-6YW5MvIoK3CYy8O6W8G5qaXKXC8eLQ3m6D/9VhLDsSyNCNirbnxzJ7lvIG1gK+k8Jl14LKo28NXQFhE+EIzddg==} resolution: {integrity: sha512-xH8iffclOzAwhkz5L0Xta7GdtVeKYT4GvGXdNSVGeXrBEuhoVnk5hi+zxiSTgXe2ChmmMJZvrD7UWUObwDKm2A==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
@ -1648,8 +1648,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-x64-msvc@14.1.1-canary.82: /@next/swc-win32-x64-msvc@14.1.2-canary.0:
resolution: {integrity: sha512-oJsRbo8ywJCC6Xz5GW49r2mRnTcqWmHVUsi5U1ZTBY5JhRJw+ciLlP0YNb8PIrzaBwQE5vidloTcWxGHjd8A0w==} resolution: {integrity: sha512-sWwJzFthnGGB4grYxlK7V6tK2k7DvqfUkdYsPtXV5SorR7gmzbmWbFB2nCpC9a5brJhS3oaAZwdY3++8yMMn6Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -3254,7 +3254,7 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: false dev: false
/@vercel/analytics@1.2.2(next@14.1.1-canary.82)(react@18.2.0): /@vercel/analytics@1.2.2(next@14.1.2-canary.0)(react@18.2.0):
resolution: {integrity: sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==} resolution: {integrity: sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==}
peerDependencies: peerDependencies:
next: '>= 13' next: '>= 13'
@ -3265,7 +3265,7 @@ packages:
react: react:
optional: true optional: true
dependencies: dependencies:
next: 14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next: 14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
server-only: 0.0.1 server-only: 0.0.1
dev: false dev: false
@ -3290,7 +3290,7 @@ packages:
ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
dev: false dev: false
/@vercel/speed-insights@1.0.10(next@14.1.1-canary.82)(react@18.2.0): /@vercel/speed-insights@1.0.10(next@14.1.2-canary.0)(react@18.2.0):
resolution: {integrity: sha512-4uzdKB0RW6Ff2FkzshzjZ+RlJfLPxgm/00i0XXgxfMPhwnnsk92YgtqsxT9OcPLdJUyVU1DqFlSWWjIQMPkh0g==} resolution: {integrity: sha512-4uzdKB0RW6Ff2FkzshzjZ+RlJfLPxgm/00i0XXgxfMPhwnnsk92YgtqsxT9OcPLdJUyVU1DqFlSWWjIQMPkh0g==}
requiresBuild: true requiresBuild: true
peerDependencies: peerDependencies:
@ -3314,7 +3314,7 @@ packages:
vue-router: vue-router:
optional: true optional: true
dependencies: dependencies:
next: 14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next: 14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
dev: false dev: false
@ -3705,7 +3705,7 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001585 caniuse-lite: 1.0.30001591
electron-to-chromium: 1.4.664 electron-to-chromium: 1.4.664
node-releases: 2.0.14 node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.22.3) update-browserslist-db: 1.0.13(browserslist@4.22.3)
@ -3797,10 +3797,6 @@ packages:
engines: {node: '>=16'} engines: {node: '>=16'}
dev: false dev: false
/caniuse-lite@1.0.30001585:
resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==}
dev: false
/caniuse-lite@1.0.30001591: /caniuse-lite@1.0.30001591:
resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==} resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==}
dev: false dev: false
@ -6224,7 +6220,7 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: false dev: false
/next-auth@5.0.0-beta.13(next@14.1.1-canary.82)(react@18.2.0): /next-auth@5.0.0-beta.13(next@14.1.2-canary.0)(react@18.2.0):
resolution: {integrity: sha512-2m2Gq69WQ0YXcHCCpHn2y5z1bxSlqD/XOuAgrdtz49/VIAdTFFeYZz97RYqf6xMF8VGmoG32VUnJ6LzaHk6Fwg==} resolution: {integrity: sha512-2m2Gq69WQ0YXcHCCpHn2y5z1bxSlqD/XOuAgrdtz49/VIAdTFFeYZz97RYqf6xMF8VGmoG32VUnJ6LzaHk6Fwg==}
peerDependencies: peerDependencies:
'@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/browser': ^9.0.1
@ -6241,24 +6237,24 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@auth/core': 0.27.0 '@auth/core': 0.27.0
next: 14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next: 14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
dev: false dev: false
/next-themes@0.2.1(next@14.1.1-canary.82)(react-dom@18.2.0)(react@18.2.0): /next-themes@0.2.1(next@14.1.2-canary.0)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
peerDependencies: peerDependencies:
next: '*' next: '*'
react: '*' react: '*'
react-dom: '*' react-dom: '*'
dependencies: dependencies:
next: 14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next: 14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/next@14.1.1-canary.82(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0): /next@14.1.2-canary.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-60ESrlfPEPrSgkjVB6Sn7giBFPD2IbGNc/ANhwoC6acbMNXSolZ7lPNEWDHZ+toUEHe93SgyEGmW3AYozjcOEw==} resolution: {integrity: sha512-+Tc629I4tASzM6ovZhdlfGh5mO0hr4+eap0boQCjfbSTzCSdd3V2Qbumucm8FME1+oDrpZnORyedXGZetFnKyw==}
engines: {node: '>=18.17.0'} engines: {node: '>=18.17.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -6272,7 +6268,7 @@ packages:
sass: sass:
optional: true optional: true
dependencies: dependencies:
'@next/env': 14.1.1-canary.82 '@next/env': 14.1.2-canary.0
'@swc/helpers': 0.5.5 '@swc/helpers': 0.5.5
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001591 caniuse-lite: 1.0.30001591
@ -6282,15 +6278,15 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0) styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0)
optionalDependencies: optionalDependencies:
'@next/swc-darwin-arm64': 14.1.1-canary.82 '@next/swc-darwin-arm64': 14.1.2-canary.0
'@next/swc-darwin-x64': 14.1.1-canary.82 '@next/swc-darwin-x64': 14.1.2-canary.0
'@next/swc-linux-arm64-gnu': 14.1.1-canary.82 '@next/swc-linux-arm64-gnu': 14.1.2-canary.0
'@next/swc-linux-arm64-musl': 14.1.1-canary.82 '@next/swc-linux-arm64-musl': 14.1.2-canary.0
'@next/swc-linux-x64-gnu': 14.1.1-canary.82 '@next/swc-linux-x64-gnu': 14.1.2-canary.0
'@next/swc-linux-x64-musl': 14.1.1-canary.82 '@next/swc-linux-x64-musl': 14.1.2-canary.0
'@next/swc-win32-arm64-msvc': 14.1.1-canary.82 '@next/swc-win32-arm64-msvc': 14.1.2-canary.0
'@next/swc-win32-ia32-msvc': 14.1.1-canary.82 '@next/swc-win32-ia32-msvc': 14.1.2-canary.0
'@next/swc-win32-x64-msvc': 14.1.1-canary.82 '@next/swc-win32-x64-msvc': 14.1.2-canary.0
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- babel-plugin-macros - babel-plugin-macros

View File

@ -24,7 +24,7 @@ export default function CanvasBlurCapture({
quality?: number quality?: number
}) { }) {
const refCanvas = useRef<HTMLCanvasElement | null>(null); const refCanvas = useRef<HTMLCanvasElement | null>(null);
const refImage = useRef<HTMLImageElement | null>(null); const refImage = useRef(typeof Image !== 'undefined' ? new Image() : null);
const refTimeouts = useRef<NodeJS.Timeout[]>([]); const refTimeouts = useRef<NodeJS.Timeout[]>([]);
const refShouldCapture = useRef(true); const refShouldCapture = useRef(true);
@ -51,7 +51,8 @@ export default function CanvasBlurCapture({
-edgeCompensation, -edgeCompensation,
-edgeCompensation, -edgeCompensation,
width + edgeCompensation * 2, width + edgeCompensation * 2,
width * image.height / image.width + edgeCompensation * 2, width * refImage.current.height / refImage.current.width +
edgeCompensation * 2,
); );
refTimeouts.current.forEach(clearTimeout); refTimeouts.current.forEach(clearTimeout);
onCapture(canvas.toDataURL('image/jpeg', quality)); onCapture(canvas.toDataURL('image/jpeg', quality));
@ -70,11 +71,11 @@ export default function CanvasBlurCapture({
} }
}; };
const image = new Image(); if (refImage.current) {
image.crossOrigin = 'anonymous'; refImage.current.crossOrigin = 'anonymous';
image.src = imageUrl; refImage.current.src = imageUrl;
image.onload = capture; refImage.current.onload = capture;
refImage.current = image; }
// Attempt delayed capture in case image.onload never fires // Attempt delayed capture in case image.onload never fires
refTimeouts.current.push(setTimeout(capture, RETRY_DELAY)); refTimeouts.current.push(setTimeout(capture, RETRY_DELAY));