Six site improvements picked from a "what could be better" review, plus a Jest test suite covering the two areas with the trickiest money-handling history in this project (early-bird pricing tranches, donation-leg accounting): - "Add to calendar" .ics download on event pages and in confirmation emails - sitemap.xml, robots.txt, and Open Graph/Twitter metadata for public pages - Sentry error monitoring (backend + frontend), a no-op until SENTRY_DSN is set - Nightly local pg_dump backups with a Site Settings tab to browse/trigger/download - Admin audit trail for refunds, donations, manual registrations, event and settings changes, and staff-initiated cancellations - Jest tests reproducing and guarding against the 1.8.0 tranche-pricing bug and the 1.4.2 donation-balance-inflation bug Wallet passes (Google/Apple) were scoped out of this round — Apple Wallet needs a paid Apple Developer account the project doesn't have yet, and the user preferred shipping both together later rather than Google alone now. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
21 lines
604 B
TypeScript
21 lines
604 B
TypeScript
import type { NextConfig } from "next";
|
|
import { withSentryConfig } from "@sentry/nextjs";
|
|
|
|
const nextConfig: NextConfig = {
|
|
images: {
|
|
domains: ['images.unsplash.com'],
|
|
},
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
compiler: {
|
|
removeConsole: process.env.NODE_ENV === 'production',
|
|
},
|
|
};
|
|
|
|
// A no-op wrap when SENTRY_DSN isn't configured for this deployment — safe in
|
|
// every environment (dev, or a fresh deploy that hasn't set up Sentry yet).
|
|
export default process.env.NEXT_PUBLIC_SENTRY_DSN
|
|
? withSentryConfig(nextConfig, { silent: true, disableLogger: true })
|
|
: nextConfig;
|