This package exports the following hooks:
useFathom(id, opts)useGoal(code, cents)
npm install remix-fathom fathom-clientfathom-client is a peer dependency.
Then in app/root.tsx, add
import { useFathom } from "remix-fathom";
useFathom("YOUR_SITE_ID", myOpts);Supply your Fathom site ID and optional opts object to configure fathom-client. While fathom-client is a peer dependency, the useFathom hook will set up loading and registering your tracked views each time the page changes.
This hook returns you a memoized function pre-populated with your provided code and cents.
Thanks to Sergio Xalambrí for the inspiration!