mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-26 09:45:22 -04:00
28 lines
641 B
TypeScript
28 lines
641 B
TypeScript
import { connection } from "next/server";
|
|
import commaNumber from "comma-number";
|
|
import { prisma } from "../../../lib/helpers/prisma";
|
|
|
|
const HitCounter = async ({ slug }: { slug: string }) => {
|
|
await connection();
|
|
|
|
try {
|
|
const { hits } = await prisma.hits.upsert({
|
|
where: { slug },
|
|
create: { slug },
|
|
update: {
|
|
hits: {
|
|
increment: 1,
|
|
},
|
|
},
|
|
});
|
|
|
|
// we have data!
|
|
return <span title={`${commaNumber(hits)} ${hits === 1 ? "view" : "views"}`}>{commaNumber(hits)}</span>;
|
|
} catch (error) {
|
|
console.error(error);
|
|
throw new Error();
|
|
}
|
|
};
|
|
|
|
export default HitCounter;
|