Skip to content
This repository was archived by the owner on Dec 12, 2025. It is now read-only.

Commit 2eb182c

Browse files
committed
fix
1 parent 1247553 commit 2eb182c

File tree

7 files changed

+334
-333
lines changed

7 files changed

+334
-333
lines changed

example/app/demo/server-components/page.tsx

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,31 @@ import { cookies } from "next/headers";
55

66
const title = "Server Components";
77
export const metadata = {
8-
title: `${title} · HappyKit Flags Documentation`,
9-
description: "Feature Flags for Next.js",
8+
title: `${title} · HappyKit Flags Documentation`,
9+
description: "Feature Flags for Next.js",
1010
};
1111

1212
export default async function ServerComponentPage() {
13-
const visitorKey = cookies().get("hkvk")?.value;
14-
const flags = await getFlags({ visitorKey });
13+
const jar = await cookies();
14+
const visitorKey = jar.get("hkvk")?.value;
15+
const flags = await getFlags({ visitorKey });
1516

16-
return (
17-
<Content
18-
title={title}
19-
source={`https://github.com/happykit/flags/blob/${process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF}/example/app/demo/server-components/page.tsx`}
20-
>
21-
<article className="py-4 prose max-w-prose">
22-
<p>
23-
This demo shows how to use <code>@happykit/flags</code> for server
24-
components in Next.js App Router.
25-
</p>
26-
<p>
27-
Since this page is rendered on the server only, there is no{" "}
28-
<code>flagBag</code>. Instead, the values are shown directly.
29-
</p>
30-
<Result key="server-components" label="Flags" value={flags} />
31-
</article>
32-
</Content>
33-
);
17+
return (
18+
<Content
19+
title={title}
20+
source={`https://github.com/happykit/flags/blob/${process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF}/example/app/demo/server-components/page.tsx`}
21+
>
22+
<article className="py-4 prose max-w-prose">
23+
<p>
24+
This demo shows how to use <code>@happykit/flags</code> for server
25+
components in Next.js App Router.
26+
</p>
27+
<p>
28+
Since this page is rendered on the server only, there is no{" "}
29+
<code>flagBag</code>. Instead, the values are shown directly.
30+
</p>
31+
<Result key="server-components" label="Flags" value={flags} />
32+
</article>
33+
</Content>
34+
);
3435
}

example/components/Nav.tsx

Lines changed: 84 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,90 @@
11
import * as React from "react";
22

33
export function Nav({
4-
NavLink,
4+
NavLink,
55
}: {
6-
NavLink: (props: {
7-
href: string;
8-
children: React.ReactNode;
9-
indent?: boolean | undefined;
10-
}) => JSX.Element;
6+
NavLink: (props: {
7+
href: string;
8+
children: React.ReactNode;
9+
indent?: boolean | undefined;
10+
}) => React.ReactElement;
1111
}) {
12-
return (
13-
<React.Fragment>
14-
<div>
15-
<NavLink href="/">Introduction</NavLink>
16-
</div>
17-
<div>
18-
<NavLink href="/demo/basic-usage">Basic Usage</NavLink>
19-
</div>
20-
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
21-
App Router
22-
</div>
23-
<div className="space-y-1 list-disc">
24-
<NavLink indent href="/demo/client-components">
25-
Client Components
26-
</NavLink>
27-
<NavLink indent href="/demo/server-components">
28-
Server Components
29-
</NavLink>
30-
</div>
31-
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
32-
Pages Router
33-
</div>
34-
<div className="space-y-1 list-disc">
35-
<NavLink indent href="/demo/client-side-rendering">
36-
Client-Side Rendering
37-
</NavLink>
38-
<NavLink indent href="/demo/server-side-rendering-pure">
39-
Server-Side Rendering (Pure)
40-
</NavLink>
41-
<NavLink indent href="/demo/server-side-rendering-hybrid">
42-
Server-Side Rendering (Hybrid)
43-
</NavLink>
44-
<NavLink indent href="/demo/static-site-generation-pure">
45-
Static Site Generation (Pure)
46-
</NavLink>
47-
<NavLink indent href="/demo/static-site-generation-hybrid">
48-
Static Site Generation (Hybrid)
49-
</NavLink>
50-
<NavLink indent href="/demo/middleware">
51-
Middleware
52-
</NavLink>
53-
</div>
54-
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
55-
Targeting and Rules
56-
</div>
57-
<div className="space-y-1">
58-
<NavLink indent href="/demo/targeting-by-visitor-key">
59-
Targeting by Visitor Key
60-
</NavLink>
61-
<NavLink indent href="/demo/targeting-by-user">
62-
Targeting by User
63-
</NavLink>
64-
<NavLink indent href="/demo/targeting-by-traits">
65-
Targeting by Traits
66-
</NavLink>
67-
</div>
68-
<div>
69-
<NavLink href="/demo/rollouts">Rollouts</NavLink>
70-
</div>
71-
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
72-
Options and Patterns
73-
</div>
74-
<div className="space-y-1">
75-
<NavLink indent href="/demo/disabled-revalidation">
76-
Disabled Revalidation
77-
</NavLink>
78-
<NavLink indent href="/demo/context">
79-
Context
80-
</NavLink>
81-
</div>
82-
<div>
83-
<NavLink href="/demo/dynamics">Dynamics</NavLink>
84-
</div>
85-
<div>
86-
<NavLink href="/docs/public-api">Public API</NavLink>
87-
</div>
88-
</React.Fragment>
89-
);
12+
return (
13+
<React.Fragment>
14+
<div>
15+
<NavLink href="/">Introduction</NavLink>
16+
</div>
17+
<div>
18+
<NavLink href="/demo/basic-usage">Basic Usage</NavLink>
19+
</div>
20+
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
21+
App Router
22+
</div>
23+
<div className="space-y-1 list-disc">
24+
<NavLink indent href="/demo/client-components">
25+
Client Components
26+
</NavLink>
27+
<NavLink indent href="/demo/server-components">
28+
Server Components
29+
</NavLink>
30+
</div>
31+
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
32+
Pages Router
33+
</div>
34+
<div className="space-y-1 list-disc">
35+
<NavLink indent href="/demo/client-side-rendering">
36+
Client-Side Rendering
37+
</NavLink>
38+
<NavLink indent href="/demo/server-side-rendering-pure">
39+
Server-Side Rendering (Pure)
40+
</NavLink>
41+
<NavLink indent href="/demo/server-side-rendering-hybrid">
42+
Server-Side Rendering (Hybrid)
43+
</NavLink>
44+
<NavLink indent href="/demo/static-site-generation-pure">
45+
Static Site Generation (Pure)
46+
</NavLink>
47+
<NavLink indent href="/demo/static-site-generation-hybrid">
48+
Static Site Generation (Hybrid)
49+
</NavLink>
50+
<NavLink indent href="/demo/middleware">
51+
Middleware
52+
</NavLink>
53+
</div>
54+
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
55+
Targeting and Rules
56+
</div>
57+
<div className="space-y-1">
58+
<NavLink indent href="/demo/targeting-by-visitor-key">
59+
Targeting by Visitor Key
60+
</NavLink>
61+
<NavLink indent href="/demo/targeting-by-user">
62+
Targeting by User
63+
</NavLink>
64+
<NavLink indent href="/demo/targeting-by-traits">
65+
Targeting by Traits
66+
</NavLink>
67+
</div>
68+
<div>
69+
<NavLink href="/demo/rollouts">Rollouts</NavLink>
70+
</div>
71+
<div className="bg-white text-gray-600 group w-full flex items-center pl-7 pr-2 py-2 text-sm font-medium rounded-md">
72+
Options and Patterns
73+
</div>
74+
<div className="space-y-1">
75+
<NavLink indent href="/demo/disabled-revalidation">
76+
Disabled Revalidation
77+
</NavLink>
78+
<NavLink indent href="/demo/context">
79+
Context
80+
</NavLink>
81+
</div>
82+
<div>
83+
<NavLink href="/demo/dynamics">Dynamics</NavLink>
84+
</div>
85+
<div>
86+
<NavLink href="/docs/public-api">Public API</NavLink>
87+
</div>
88+
</React.Fragment>
89+
);
9090
}

example/next-env.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
33
/// <reference types="next/navigation-types/compat/navigation" />
4-
import "./.next/dev/types/routes.d.ts";
4+
import "./.next/types/routes.d.ts";
55

66
// NOTE: This file should not be edited
77
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
"react": "19.2.1",
2727
"react-dom": "19.2.1",
2828
"tailwindcss": "3.0.18",
29-
"typescript": "4.5.5"
29+
"typescript": "5.9.3"
3030
}
3131
}

0 commit comments

Comments
 (0)