Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m19s
CI / lint-and-type-check (pull_request) Failing after 1m37s
CI / test (pull_request) Successful in 2m16s
CI / build (pull_request) Failing after 1m46s
CI / secret-scanning (pull_request) Successful in 1m20s
CI / dependency-scan (pull_request) Successful in 1m27s
CI / sast-scan (pull_request) Successful in 2m29s
CI / workflow-summary (pull_request) Successful in 1m18s
- Add duplicate photo detection (file hash and URL checking) - Add max attempts per photo with UI counter - Simplify penalty system (auto-enable when points > 0) - Prevent scores from going below 0 - Add admin photo deletion functionality - Improve navigation with always-visible logout - Prevent users from guessing their own photos
51 lines
973 B
TypeScript
51 lines
973 B
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
// Only process specific file extensions
|
|
pageExtensions: ["ts", "tsx", "js", "jsx"],
|
|
|
|
// Image optimization configuration
|
|
images: {
|
|
remotePatterns: [
|
|
{
|
|
protocol: "http",
|
|
hostname: "**",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "**",
|
|
},
|
|
],
|
|
unoptimized: false, // Enable optimization for better performance
|
|
},
|
|
|
|
// Configure Turbopack
|
|
turbopack: {
|
|
resolveExtensions: [
|
|
".tsx",
|
|
".ts",
|
|
".jsx",
|
|
".js",
|
|
".mjs",
|
|
".json",
|
|
],
|
|
rules: {
|
|
"*.md": {
|
|
loaders: [],
|
|
as: "*.txt",
|
|
},
|
|
},
|
|
},
|
|
|
|
// Webpack configuration to externalize Prisma
|
|
webpack: (config, { isServer }) => {
|
|
if (isServer) {
|
|
config.externals = config.externals || [];
|
|
config.externals.push("@prisma/client");
|
|
}
|
|
return config;
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|