main-site/pages/games.tsx

43 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-12-03 20:02:13 +00:00
import Head from 'next/head'
import fsPromises from 'fs/promises'
import path from 'path'
2022-12-17 00:20:58 +00:00
import { EntryList, Game } from '../interfaces/CardTypes';
import { PageContentBox, PageDescription, PageTitle, CardContentGame } from '../components/styles/content'
import Link from 'next/link'
2022-12-03 20:02:13 +00:00
function Servers(props: EntryList) {
2022-12-03 20:02:13 +00:00
const serverList = props.games
return (
<>
<Head>
<title>Neshweb - Games</title>
2022-12-03 20:02:13 +00:00
<meta charSet='utf-8' />
<link rel="icon" href="/favicon.ico" />
</Head>
<PageTitle>
2022-12-03 20:02:13 +00:00
Server List
</PageTitle>
2022-12-03 20:02:13 +00:00
<PageDescription>
2022-12-03 20:02:13 +00:00
Lists all available Services, probably up-to-date
</PageDescription>
<PageContentBox>
2022-12-17 00:20:58 +00:00
{Object.values(serverList).map((item: Game) => (
<CardContentGame key={item.name} content={item} />
))}
</PageContentBox>
2022-12-03 20:02:13 +00:00
</>
)
}
export async function getServerSideProps() {
2022-12-09 21:36:42 +00:00
const filePath = path.join(process.cwd(), '/public/pages.json')
2022-12-03 20:02:13 +00:00
const jsonData = await fsPromises.readFile(filePath)
const list = JSON.parse(jsonData.toString())
return { props: list }
}
export default Servers