Skip to content

Commit ecffc72

Browse files
committed
use absolute file path for ambassadors.json
1 parent 219521e commit ecffc72

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

pages/ambassadors/index.page.tsx

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,25 @@ import ambassadorList from '~/data/ambassadors-contributions.json';
66
import ambassadorsBanner from '~/public/img/community/ambassadors.png';
77

88
import Image from 'next/image';
9-
109
import fs from 'fs';
10+
import path from 'path';
1111

1212
import AmbassadorBanner from '~/components/AmbassadorsBanner';
1313
import AmbassadorCard, { type Ambassador } from '~/components/AmbassadorsCard';
1414
import AmbassadorList from '~/components/AmbassadorsList';
1515

1616
export async function getStaticProps() {
17-
const ambassadorData = fs.readFileSync('data/ambassadors.json', 'utf-8');
17+
// Use an absolute path to correctly resolve the JSON file location
18+
const filePath = path.join(
19+
process.cwd(),
20+
'_includes',
21+
'community',
22+
'programs',
23+
'ambassadors',
24+
'ambassadors.json',
25+
);
26+
const fileContents = fs.readFileSync(filePath, 'utf-8');
27+
const ambassadorData = JSON.parse(fileContents);
1828

1929
return {
2030
props: {
@@ -23,10 +33,10 @@ export async function getStaticProps() {
2333
};
2434
}
2535

26-
export default function ambassadorPages({
36+
export default function AmbassadorPages({
2737
ambassadorData,
2838
}: {
29-
ambassadorData: any;
39+
ambassadorData: Ambassador[];
3040
}) {
3141
return (
3242
<SectionContext.Provider value='ambassador'>
@@ -48,7 +58,7 @@ export default function ambassadorPages({
4858
>
4959
Become a JSON Schema Ambassador
5060
</h1>
51-
<p className='mt-5 text-slate-700 text-lg dark:text-slate-100'>
61+
<p className='mt-5 text-slate-700 text-lg dark:text-slate-100'>
5262
The JSON Schema Ambassadors Program recognizes the people who
5363
drive adoption, innovation, and knowledge sharing in the JSON
5464
Schema community.
@@ -100,13 +110,11 @@ export default function ambassadorPages({
100110
</p>
101111
</h2>
102112
</section>
103-
<div className=' flex justify-center container m-auto p-auto'>
113+
<div className='flex justify-center container m-auto p-auto'>
104114
<div className='grid md:grid-cols-2 lg:grid-cols-3 gap-6'>
105-
{JSON.parse(ambassadorData).map(
106-
(ambassador: Ambassador, index: number) => (
107-
<AmbassadorCard key={index} ambassador={ambassador} />
108-
),
109-
)}
115+
{ambassadorData.map((ambassador: Ambassador, index: number) => (
116+
<AmbassadorCard key={index} ambassador={ambassador} />
117+
))}
110118
</div>
111119
</div>
112120
<div className='flex justify-center p-auto'>
@@ -117,4 +125,4 @@ export default function ambassadorPages({
117125
);
118126
}
119127

120-
ambassadorPages.getLayout = getLayout;
128+
AmbassadorPages.getLayout = getLayout;

0 commit comments

Comments
 (0)