diff --git a/apps/web/app/tracks/page.tsx b/apps/web/app/tracks/page.tsx
index 672ad27..f63a461 100644
--- a/apps/web/app/tracks/page.tsx
+++ b/apps/web/app/tracks/page.tsx
@@ -3,6 +3,7 @@ import { TrackCard } from "@/components/track-card";
import { prisma } from "@/lib/db";
import { Metadata, Viewport } from "next";
import { env } from "@/env.mjs";
+import { getCachedTracks } from "@/cache/tracks";
export const dynamic = "force-dynamic";
@@ -38,24 +39,7 @@ export const viewport: Viewport = {
export default async function Tracks({}: { searchParams: { type?: string } }) {
const session = await auth();
- const tracks = await prisma.track.findMany({
- include: {
- _count: {
- select: {
- users: true,
- },
- },
- ...(session?.user?.id
- ? {
- users: {
- where: {
- id: session.user.id,
- },
- },
- }
- : undefined),
- },
- });
+ const tracks = await getCachedTracks(session?.user?.id);
return (
diff --git a/apps/web/components/hero/index.tsx b/apps/web/components/hero/index.tsx
index f0368b8..aaf79a4 100644
--- a/apps/web/components/hero/index.tsx
+++ b/apps/web/components/hero/index.tsx
@@ -13,23 +13,26 @@ export async function Hero() {
- {githubStars != null ? (
-
-
+ {githubStars != null ? (
+
-
- {githubStars} stars on GitHub
-
- GitHub
-
- ) : null}
+
+
+ {githubStars} stars on GitHub
+
+ GitHub
+
+ ) : null}
+
Learn JavaScript frameworks with interactive challenges