Update package versions and optimize URL generation
Updated the versions of several packages including pino and pnpm. Also, the generation of URLs in the pricing-table.tsx file has been optimized by implementing URLSearchParams. A new global error page was also added.
This commit is contained in:
68
apps/web/app/global-error.tsx
Normal file
68
apps/web/app/global-error.tsx
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { ArrowLeft } from 'lucide-react';
|
||||||
|
|
||||||
|
import { useCaptureException } from '@kit/monitoring/hooks';
|
||||||
|
import { Button } from '@kit/ui/button';
|
||||||
|
import { Heading } from '@kit/ui/heading';
|
||||||
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { SiteHeader } from '~/(marketing)/_components/site-header';
|
||||||
|
|
||||||
|
const GlobalErrorPage = ({
|
||||||
|
error,
|
||||||
|
reset,
|
||||||
|
}: {
|
||||||
|
error: Error & { digest?: string };
|
||||||
|
reset: () => void;
|
||||||
|
}) => {
|
||||||
|
useCaptureException(error);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div className={'flex h-screen flex-1 flex-col'}>
|
||||||
|
<SiteHeader />
|
||||||
|
|
||||||
|
<div
|
||||||
|
className={
|
||||||
|
'container m-auto flex w-full flex-1 flex-col items-center justify-center'
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className={'flex flex-col items-center space-y-16'}>
|
||||||
|
<div>
|
||||||
|
<h1 className={'font-heading text-9xl font-extrabold'}>
|
||||||
|
<Trans i18nKey={'common:errorPageHeading'} />
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'flex flex-col items-center space-y-8'}>
|
||||||
|
<div className={'flex flex-col items-center space-y-2.5'}>
|
||||||
|
<div>
|
||||||
|
<Heading level={1}>
|
||||||
|
<Trans i18nKey={'common:genericError'} />
|
||||||
|
</Heading>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className={'text-muted-foreground'}>
|
||||||
|
<Trans i18nKey={'common:genericErrorSubHeading'} />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Button variant={'outline'} onClick={reset}>
|
||||||
|
<ArrowLeft className={'mr-2 h-4'} />
|
||||||
|
|
||||||
|
<Trans i18nKey={'common:goBack'} />
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default GlobalErrorPage;
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"@manypkg/cli": "^0.21.4",
|
"@manypkg/cli": "^0.21.4",
|
||||||
"@turbo/gen": "^1.13.3",
|
"@turbo/gen": "^1.13.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"pnpm": "^9.1.0",
|
"pnpm": "^9.1.1",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"turbo": "^1.13.3",
|
"turbo": "^1.13.3",
|
||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
|
|||||||
@@ -426,20 +426,18 @@ function DefaultCheckoutButton(
|
|||||||
highlighted?: boolean;
|
highlighted?: boolean;
|
||||||
}>,
|
}>,
|
||||||
) {
|
) {
|
||||||
const redirectToCheckoutParam = props.redirectToCheckout
|
|
||||||
? '?redirectToCheckout=true'
|
|
||||||
: '';
|
|
||||||
|
|
||||||
const { t } = useTranslation('billing');
|
const { t } = useTranslation('billing');
|
||||||
|
|
||||||
const planId = props.plan.id;
|
|
||||||
const signUpPath = props.paths.signUp;
|
const signUpPath = props.paths.signUp;
|
||||||
const subscriptionPath = props.paths.subscription;
|
|
||||||
|
const searchParams = new URLSearchParams({
|
||||||
|
next: props.paths.subscription,
|
||||||
|
plan: props.plan.id,
|
||||||
|
redirectToCheckout: props.redirectToCheckout ? 'true' : 'false',
|
||||||
|
});
|
||||||
|
|
||||||
const linkHref =
|
const linkHref =
|
||||||
props.plan.href ??
|
props.plan.href ?? `${signUpPath}?${searchParams.toString()}` ?? '';
|
||||||
`${signUpPath}?plan=${planId}&next=${subscriptionPath}?plan=${planId}${redirectToCheckoutParam}` ??
|
|
||||||
'';
|
|
||||||
|
|
||||||
const label = props.plan.buttonLabel ?? 'common:getStartedWithPlan';
|
const label = props.plan.buttonLabel ?? 'common:getStartedWithPlan';
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"./instrumentation": "./src/instrumentation.ts",
|
"./instrumentation": "./src/instrumentation.ts",
|
||||||
"./config/client": "./src/config/sentry.client.config.ts",
|
"./config/client": "./src/config/sentry.client.config.ts",
|
||||||
"./config/server": "./src/config/sentry.server.config.ts",
|
"./config/server": "./src/config/sentry.server.config.ts",
|
||||||
"./config/edge": "./src/config/sentry.server.edge.ts"
|
"./config/edge": "./src/config/sentry.edge.config.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@opentelemetry/resources": "1.24.1",
|
"@opentelemetry/resources": "1.24.1",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"@tanstack/react-table": "^8.17.0"
|
"@tanstack/react-table": "^8.17.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pino": "^9.0.0"
|
"pino": "^9.1.0"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
44
pnpm-lock.yaml
generated
44
pnpm-lock.yaml
generated
@@ -22,8 +22,8 @@ importers:
|
|||||||
specifier: ^7.0.3
|
specifier: ^7.0.3
|
||||||
version: 7.0.3
|
version: 7.0.3
|
||||||
pnpm:
|
pnpm:
|
||||||
specifier: ^9.1.0
|
specifier: ^9.1.1
|
||||||
version: 9.1.0
|
version: 9.1.1
|
||||||
prettier:
|
prettier:
|
||||||
specifier: ^3.2.5
|
specifier: ^3.2.5
|
||||||
version: 3.2.5
|
version: 3.2.5
|
||||||
@@ -1113,8 +1113,8 @@ importers:
|
|||||||
packages/shared:
|
packages/shared:
|
||||||
dependencies:
|
dependencies:
|
||||||
pino:
|
pino:
|
||||||
specifier: ^9.0.0
|
specifier: ^9.1.0
|
||||||
version: 9.0.0
|
version: 9.1.0
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@kit/eslint-config':
|
'@kit/eslint-config':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
@@ -6042,11 +6042,11 @@ packages:
|
|||||||
pino-abstract-transport@1.2.0:
|
pino-abstract-transport@1.2.0:
|
||||||
resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
|
resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
|
||||||
|
|
||||||
pino-std-serializers@6.2.2:
|
pino-std-serializers@7.0.0:
|
||||||
resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
|
resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
|
||||||
|
|
||||||
pino@9.0.0:
|
pino@9.1.0:
|
||||||
resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==}
|
resolution: {integrity: sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
pirates@4.0.6:
|
pirates@4.0.6:
|
||||||
@@ -6063,8 +6063,8 @@ packages:
|
|||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
pnpm@9.1.0:
|
pnpm@9.1.1:
|
||||||
resolution: {integrity: sha512-Z/WHmRapKT5c8FnCOFPVcb6vT3U8cH9AyyK+1fsVeMaq07bEEHzLO6CzW+AD62IaFkcayDbIe+tT+dVLtGEnJA==}
|
resolution: {integrity: sha512-FOkVdZwR936sB/q6TQGcGT7IY3Ip5i7Jnu+3zzw7dcZER4grfEhRQkUe46a0CAWc37e3+gNBuXXxLQ92KccRlQ==}
|
||||||
engines: {node: '>=18.12'}
|
engines: {node: '>=18.12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -6613,8 +6613,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
|
resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
|
||||||
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
|
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
|
||||||
|
|
||||||
sonic-boom@3.8.1:
|
sonic-boom@4.0.1:
|
||||||
resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
|
resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==}
|
||||||
|
|
||||||
sonner@1.4.41:
|
sonner@1.4.41:
|
||||||
resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==}
|
resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==}
|
||||||
@@ -6783,8 +6783,8 @@ packages:
|
|||||||
thenify@3.3.1:
|
thenify@3.3.1:
|
||||||
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
||||||
|
|
||||||
thread-stream@2.7.0:
|
thread-stream@3.0.0:
|
||||||
resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
|
resolution: {integrity: sha512-oUIFjxaUT6knhPtWgDMc29zF1FcSl0yXpapkyrQrCGEfYA2HUZXCilUtKyYIv6HkCyqSPAMkY+EG0GbyIrNDQg==}
|
||||||
|
|
||||||
through@2.3.8:
|
through@2.3.8:
|
||||||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||||
@@ -13249,21 +13249,21 @@ snapshots:
|
|||||||
readable-stream: 4.5.2
|
readable-stream: 4.5.2
|
||||||
split2: 4.2.0
|
split2: 4.2.0
|
||||||
|
|
||||||
pino-std-serializers@6.2.2: {}
|
pino-std-serializers@7.0.0: {}
|
||||||
|
|
||||||
pino@9.0.0:
|
pino@9.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
atomic-sleep: 1.0.0
|
atomic-sleep: 1.0.0
|
||||||
fast-redact: 3.5.0
|
fast-redact: 3.5.0
|
||||||
on-exit-leak-free: 2.1.2
|
on-exit-leak-free: 2.1.2
|
||||||
pino-abstract-transport: 1.2.0
|
pino-abstract-transport: 1.2.0
|
||||||
pino-std-serializers: 6.2.2
|
pino-std-serializers: 7.0.0
|
||||||
process-warning: 3.0.0
|
process-warning: 3.0.0
|
||||||
quick-format-unescaped: 4.0.4
|
quick-format-unescaped: 4.0.4
|
||||||
real-require: 0.2.0
|
real-require: 0.2.0
|
||||||
safe-stable-stringify: 2.4.3
|
safe-stable-stringify: 2.4.3
|
||||||
sonic-boom: 3.8.1
|
sonic-boom: 4.0.1
|
||||||
thread-stream: 2.7.0
|
thread-stream: 3.0.0
|
||||||
|
|
||||||
pirates@4.0.6: {}
|
pirates@4.0.6: {}
|
||||||
|
|
||||||
@@ -13275,7 +13275,7 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
|
|
||||||
pnpm@9.1.0: {}
|
pnpm@9.1.1: {}
|
||||||
|
|
||||||
possible-typed-array-names@1.0.0: {}
|
possible-typed-array-names@1.0.0: {}
|
||||||
|
|
||||||
@@ -13843,7 +13843,7 @@ snapshots:
|
|||||||
ip-address: 9.0.5
|
ip-address: 9.0.5
|
||||||
smart-buffer: 4.2.0
|
smart-buffer: 4.2.0
|
||||||
|
|
||||||
sonic-boom@3.8.1:
|
sonic-boom@4.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
atomic-sleep: 1.0.0
|
atomic-sleep: 1.0.0
|
||||||
|
|
||||||
@@ -14077,7 +14077,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
any-promise: 1.3.0
|
any-promise: 1.3.0
|
||||||
|
|
||||||
thread-stream@2.7.0:
|
thread-stream@3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
real-require: 0.2.0
|
real-require: 0.2.0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user