Next.js 15 Update (#26)

* Update Next.js and React versions in all packages
* Replace onRedirect function with next/link in BillingSessionStatus, since it's no longer cached by default
* Remove unused revalidatePath import in billing return page, since it's no longer cached by default
* Add Turbopack module aliases to improve development server speed
* Converted new Dynamic APIs to be Promise-based
* Adjust mobile layout
* Use ENABLE_REACT_COMPILER to enable the React Compiler in Next.js 15
* Report Errors using the new onRequestError hook
This commit is contained in:
Giancarlo Buomprisco
2024-10-22 08:39:21 +02:00
committed by GitHub
parent 93cb011260
commit 5b9285a575
109 changed files with 5143 additions and 5545 deletions

View File

@@ -8,15 +8,15 @@ import { Trans } from '@kit/ui/trans';
import pathsConfig from '~/config/paths.config';
import { withI18n } from '~/lib/i18n/with-i18n';
interface Params {
searchParams: {
interface AuthCallbackErrorPageProps {
searchParams: Promise<{
error: string;
invite_token: string;
};
}>;
}
function AuthCallbackErrorPage({ searchParams }: Params) {
const { error, invite_token } = searchParams;
async function AuthCallbackErrorPage(props: AuthCallbackErrorPageProps) {
const { error, invite_token } = await props.searchParams;
const queryParam = invite_token ? `?invite_token=${invite_token}` : '';
const signInPath = pathsConfig.auth.signIn + queryParam;

View File

@@ -11,9 +11,9 @@ import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
import { withI18n } from '~/lib/i18n/with-i18n';
interface SignInPageProps {
searchParams: {
searchParams: Promise<{
invite_token?: string;
};
}>;
}
export const generateMetadata = async () => {
@@ -30,8 +30,8 @@ const paths = {
joinTeam: pathsConfig.app.joinTeam,
};
function SignInPage({ searchParams }: SignInPageProps) {
const inviteToken = searchParams.invite_token;
async function SignInPage({ searchParams }: SignInPageProps) {
const inviteToken = (await searchParams).invite_token;
const signUpPath =
pathsConfig.auth.signUp +

View File

@@ -19,9 +19,9 @@ export const generateMetadata = async () => {
};
interface Props {
searchParams: {
searchParams: Promise<{
invite_token?: string;
};
}>;
}
const paths = {
@@ -29,8 +29,8 @@ const paths = {
appHome: pathsConfig.app.home,
};
function SignUpPage({ searchParams }: Props) {
const inviteToken = searchParams.invite_token;
async function SignUpPage({ searchParams }: Props) {
const inviteToken = (await searchParams).invite_token;
const signInPath =
pathsConfig.auth.signIn +

View File

@@ -9,9 +9,9 @@ import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
import { withI18n } from '~/lib/i18n/with-i18n';
interface Props {
searchParams: {
searchParams: Promise<{
next?: string;
};
}>;
}
export const generateMetadata = async () => {
@@ -39,7 +39,8 @@ async function VerifyPage(props: Props) {
redirect(pathsConfig.auth.signIn);
}
const redirectPath = props.searchParams.next ?? pathsConfig.app.home;
const nextPath = (await props.searchParams).next;
const redirectPath = nextPath ?? pathsConfig.app.home;
return (
<MultiFactorChallengeContainer