Skip to content

Commit aa5078a

Browse files
MikeEdgarhemahgdependabot[bot]claude
committed
Migrate from Next.js 14 / React 18 to Next.js 15 / React 19
Signed-off-by: Michael Edgar <medgar@redhat.com> Co-authored-by: hemahg <hhg@redhat.com> Co-Authored-By: dependabot[bot] <support@github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Assisted-by: Claude Code (Sonnet 4.5) <noreply@anthropic.com>
1 parent cf3d88b commit aa5078a

File tree

115 files changed

+6267
-6598
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+6267
-6598
lines changed

ui/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,4 @@ yarn.lock
4545
tests/playwright/.auth/*.json
4646
/test-results/
4747
/.pino-prettyrc
48+
/.claude/

ui/.storybook/main.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,6 @@ const config: StorybookConfig = {
3535
new TsconfigPathsPlugin(),
3636
];
3737

38-
// This is a workaround to a bug in storybook that prevents storybook v10.x.x working with Next.js v14.x.x
39-
// See: https://github.com/storybookjs/storybook/issues/32950
40-
//
41-
// This can be removed when we upgrade to Next.js v15.0.0+ or if storybook releases a fix in a newer
42-
// version.
43-
config.resolve.alias = {
44-
...(config.resolve.alias || {}),
45-
'next/dist/server/request/draft-mode': false,
46-
};
47-
4838
return config;
4939
}
5040
};

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/groups/[groupId]/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import { HomeIcon } from "@/libs/patternfly/react-icons";
1313
import { getTranslations } from "next-intl/server";
1414

1515
export default async function ConsumerGroupsActiveBreadcrumb({
16-
params: { groupId, kafkaId },
16+
params: paramsPromise,
1717
}: {
18-
params: KafkaConsumerGroupMembersParams;
18+
params: Promise<KafkaConsumerGroupMembersParams>;
1919
}) {
20+
const { groupId, kafkaId } = await paramsPromise;
2021
const t = await getTranslations();
2122
const consumerGroup = (await getConsumerGroup(kafkaId, groupId));
2223

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/groups/[groupId]/reset-offset/dryrun/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import { HomeIcon } from "@/libs/patternfly/react-icons";
1313
import { getTranslations } from "next-intl/server";
1414

1515
export default async function DryrunActiveBreadcrumb({
16-
params: { groupId, kafkaId },
16+
params: paramsPromise,
1717
}: {
18-
params: KafkaConsumerGroupMembersParams;
18+
params: Promise<KafkaConsumerGroupMembersParams>;
1919
}) {
20+
const { groupId, kafkaId } = await paramsPromise;
2021
const t = await getTranslations();
2122
const consumerGroup = (await getConsumerGroup(kafkaId, groupId));
2223

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/groups/[groupId]/reset-offset/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import { HomeIcon } from "@/libs/patternfly/react-icons";
1313
import { getTranslations } from "next-intl/server";
1414

1515
export default async function ConsumerGroupsActiveBreadcrumb({
16-
params: { groupId, kafkaId },
16+
params: paramsPromise,
1717
}: {
18-
params: KafkaConsumerGroupMembersParams;
18+
params: Promise<KafkaConsumerGroupMembersParams>;
1919
}) {
20+
const { groupId, kafkaId } = await paramsPromise;
2021
const t = await getTranslations();
2122
const consumerGroup = (await getConsumerGroup(kafkaId, groupId));
2223

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/groups/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@ import {
44
Tooltip,
55
} from "@/libs/patternfly/react-core";
66
import { HomeIcon } from "@/libs/patternfly/react-icons";
7-
import { useTranslations } from "next-intl";
7+
import { getTranslations } from "next-intl/server";
88
import { KafkaParams } from "../../kafka.params";
99

10-
export default function ConsumerGroupsActiveBreadcrumbPage({
11-
params: { kafkaId },
10+
export default async function ConsumerGroupsActiveBreadcrumbPage({
11+
params: paramsPromise,
1212
}: {
13-
params: KafkaParams;
13+
params: Promise<KafkaParams>;
1414
}) {
15+
const { kafkaId } = await paramsPromise;
1516
return <ConsumerGroupsActiveBreadcrumb kafkaId={kafkaId} />;
1617
}
1718

18-
function ConsumerGroupsActiveBreadcrumb({ kafkaId }: { kafkaId: string }) {
19-
const t = useTranslations("breadcrumbs");
19+
async function ConsumerGroupsActiveBreadcrumb({ kafkaId }: { kafkaId: string }) {
20+
const t = await getTranslations("breadcrumbs");
2021

2122
return (
2223
<Breadcrumb>

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/kafka-connect/[connectorId]/page.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ import { NoDataErrorState } from "@/components/NoDataErrorState";
55
import { KafkaConnectorParams } from "../../../kafka-connect/kafkaConnectors.params";
66
import { ConnectorBreadcrumb } from "./ConnectorBreadcrumb";
77

8-
export default function Page({
9-
params: { kafkaId, connectorId },
8+
export default async function Page({
9+
params: paramsPromise,
1010
}: {
11-
params: KafkaConnectorParams;
11+
params: Promise<KafkaConnectorParams>;
1212
}) {
13+
const { kafkaId, connectorId } = await paramsPromise;
1314
return (
1415
<Suspense
1516
fallback={<ConnectorActiveBreadcrumb params={{ kafkaId, connectorId }} />}

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/kafka-connect/connect-clusters/[clusterId]/page.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import { getConnectCluster } from "@/api/kafkaConnect/action";
66
import { NoDataErrorState } from "@/components/NoDataErrorState";
77
import { ConnectClusterBreadcrumb } from "./ConnectClusterBreadcrumb";
88

9-
export default function Page({
10-
params: { kafkaId, clusterId },
9+
export default async function Page({
10+
params: paramsPromise,
1111
}: {
12-
params: KafkaConnectParams;
12+
params: Promise<KafkaConnectParams>;
1313
}) {
14+
const { kafkaId, clusterId } = await paramsPromise;
1415
return (
1516
<Suspense
1617
fallback={

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/kafka-connect/connect-clusters/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,24 @@ import {
44
Tooltip,
55
} from "@/libs/patternfly/react-core";
66
import { HomeIcon } from "@/libs/patternfly/react-icons";
7-
import { useTranslations } from "next-intl";
7+
import { getTranslations } from "next-intl/server";
88
import { KafkaParams } from "../../../kafka.params";
99

10-
export default function KafkaConnectClustersActiveBreadcrumbPage({
11-
params: { kafkaId },
10+
export default async function KafkaConnectClustersActiveBreadcrumbPage({
11+
params: paramsPromise,
1212
}: {
13-
params: KafkaParams;
13+
params: Promise<KafkaParams>;
1414
}) {
15+
const { kafkaId } = await paramsPromise;
1516
return <KafkaConnectClustersActiveBreadcrumb kafkaId={kafkaId} />;
1617
}
1718

18-
function KafkaConnectClustersActiveBreadcrumb({
19+
async function KafkaConnectClustersActiveBreadcrumb({
1920
kafkaId,
2021
}: {
2122
kafkaId: string;
2223
}) {
23-
const t = useTranslations();
24+
const t = await getTranslations();
2425

2526
return (
2627
<Breadcrumb>

ui/app/[locale]/(authorized)/kafka/[kafkaId]/@activeBreadcrumb/kafka-connect/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@ import {
44
Tooltip,
55
} from "@/libs/patternfly/react-core";
66
import { HomeIcon } from "@/libs/patternfly/react-icons";
7-
import { useTranslations } from "next-intl";
7+
import { getTranslations } from "next-intl/server";
88
import { KafkaParams } from "../../kafka.params";
99

10-
export default function KafkaConnectActiveBreadcrumbPage({
11-
params: { kafkaId },
10+
export default async function KafkaConnectActiveBreadcrumbPage({
11+
params: paramsPromise,
1212
}: {
13-
params: KafkaParams;
13+
params: Promise<KafkaParams>;
1414
}) {
15+
const { kafkaId } = await paramsPromise;
1516
return <KafkaConnectActiveBreadcrumb kafkaId={kafkaId} />;
1617
}
1718

18-
function KafkaConnectActiveBreadcrumb({ kafkaId }: { kafkaId: string }) {
19-
const t = useTranslations();
19+
async function KafkaConnectActiveBreadcrumb({ kafkaId }: { kafkaId: string }) {
20+
const t = await getTranslations();
2021

2122
return (
2223
<Breadcrumb>

0 commit comments

Comments
 (0)