Clubs page

This commit is contained in:
Timothy Armes
2023-10-09 19:06:24 +02:00
committed by Owen Rees
parent 5b2218966f
commit ed68a9280b
11 changed files with 458 additions and 1 deletions
+39
View File
@@ -0,0 +1,39 @@
import { groupBy } from "lodash";
import clientPromise from "@/lib/mongodb";
import { Club, ClubData } from "@/types";
import { errorLog } from "@/utils/logger";
import ClubsDisplay from "./ClubsDisplay";
export const revalidate = 3600; // Revalidate cache every 6 hours
const getClubs = async () => {
try {
const client = await clientPromise;
const db = client.db("tournamentsFranceDB");
const data = await db.collection("clubs").find<ClubData>({}).toArray();
return data
.filter((c) => !!c.coordinates)
.map<Club>((club) => {
return {
id: club._id.toString(),
name: club.name,
url: club.url,
address: club.address,
email: club.email,
website: club.website,
latLng: { lat: club.coordinates[0], lng: club.coordinates[1] },
};
});
} catch (error) {
errorLog(error);
throw new Error("Error fetching club data");
}
};
export default async function Clubs() {
const clubs = await getClubs();
return <ClubsDisplay clubs={clubs} />;
}