Skip to content

Commit 5b97166

Browse files
committed
wip server rendered
1 parent 727578d commit 5b97166

4 files changed

Lines changed: 64 additions & 0 deletions

File tree

apps/onboarding/src/app/api/manifest/route.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,25 @@ const handler = createManifestHandler({
2323
extensions: [
2424
{
2525
label: "Onboarding",
26+
//@ts-expect-error temp
27+
mount: "HOMEPAGE_WIDGETS",
28+
target: "WIDGET",
29+
url: new URL("/api/test", iframeBaseUrl).toString(),
30+
permissions: [],
31+
options: {
32+
//@ts-expect-error temp
33+
homeWidgetTarget: { method: "POST", fullscreen: true },
34+
},
35+
},
36+
{
37+
label: "Onboarding",
38+
//@ts-expect-error temp
2639
mount: "HOMEPAGE_WIDGETS",
2740
target: "WIDGET",
2841
url: new URL("/", iframeBaseUrl).toString(),
2942
permissions: [],
3043
options: {
44+
//@ts-expect-error temp
3145
homeWidgetTarget: { method: "GET", fullscreen: true },
3246
},
3347
},
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { WebApiAdapter } from "@saleor/app-sdk/handlers/fetch-api";
2+
import { type NextRequest, NextResponse } from "next/server";
3+
4+
export async function POST(request: NextRequest) {
5+
const adapter = new WebApiAdapter(request, Response);
6+
const baseUrl = adapter.getBaseUrl();
7+
8+
const body = await request.text();
9+
10+
const target = new URL("/test", baseUrl);
11+
12+
target.searchParams.set("body", body);
13+
14+
return NextResponse.redirect(target, { status: 303 });
15+
}

apps/onboarding/src/app/layout.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { type ReactNode } from "react";
2+
3+
export default function RootLayout({ children }: { children: ReactNode }) {
4+
return (
5+
<html lang="en">
6+
<body>{children}</body>
7+
</html>
8+
);
9+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export default async function TestPage({
2+
searchParams,
3+
}: {
4+
searchParams: Promise<{ body?: string }>;
5+
}) {
6+
const { body } = await searchParams;
7+
8+
return (
9+
<main>
10+
<h1>Test Page</h1>
11+
<p>Hello from a server-rendered App Router page.</p>
12+
{body ? (
13+
<section>
14+
<h2>POST body (from /api/test)</h2>
15+
<pre>{body}</pre>
16+
</section>
17+
) : (
18+
<p>
19+
<em>
20+
No POST body received. Send a POST to <code>/api/test</code> to see it rendered here.
21+
</em>
22+
</p>
23+
)}
24+
</main>
25+
);
26+
}

0 commit comments

Comments
 (0)