Text shown to users goes in both message files instead of being
Norwegian only. Document lint and CI, and make npm run format cover
the same files as the CI check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Node 20 is end-of-life; use the current LTS in the Docker image
- Major updates: @sanity/client 8, @sanity/image-url 2,
@portabletext/react 8, eslint-config-next 16
- Unpin React and update to 19.3
- ESLint stays on 9 and TypeScript on 6.0, since eslint-config-next's
plugins and typescript-eslint don't support newer majors yet
- Use the native flat config from eslint-config-next 16
- Use useSyncExternalStore for WebGL detection to satisfy the new
react-hooks lint rule
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The secret was passed in the query string, which ends up in access logs
and doesn't protect the request body. Verify the signed header with
@sanity/webhook instead, and return 400 for invalid JSON.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
the site would not build due to some weird issue I have yet to figure
out. temporarily removing all english translations fixes it however. I
am probably migrating the site away from gatsby anyway so a temp fix is
fine
Date format should now be rendered according to the language. Removed 'moment' dependency as we can use built in js to handle timezones as well as formatting. This is one of the tasks in issue #45
I should've divided this into multiple commits but oh well. This is just initial as there are still parts that needs to be done. Particularly user generated content needs to be translated somehow. See issue #45 for more info