This PR builds off #257, with a full refactor of the frontend to use Next.js 13 with the app router.
In the coming days this will replace the current deployment at https://crab.fit
Notable changes
Rewrite using Next.js 13 and RSCs
This moves as much data fetching and processing as possible to the server, bringing SEO improvements and hopefully speed improvements too.
Removed dayjs in favour of the Temporal API (currently polyfilled using @js-temporal/polyfill until native browser support)
This should hopefully fix some bugs caused by dayjs: #138
Only load Google scripts when requested
Google scripts required to sync a google calendar are now only loaded after clicking the sync button. Additionally, vercel analytics are now being used instead of google analytics, which should provide privacy improvements (see more).
Resolves #133
This PR builds off #257, with a full refactor of the frontend to use Next.js 13 with the app router.
In the coming days this will replace the current deployment at https://crab.fit
Notable changes
Rewrite using Next.js 13 and RSCs This moves as much data fetching and processing as possible to the server, bringing SEO improvements and hopefully speed improvements too.
Removed dayjs in favour of the Temporal API (currently polyfilled using @js-temporal/polyfill until native browser support) This should hopefully fix some bugs caused by dayjs: #138
Only load Google scripts when requested Google scripts required to sync a google calendar are now only loaded after clicking the sync button. Additionally, vercel analytics are now being used instead of google analytics, which should provide privacy improvements (see more).