71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
reactStrictMode: true,
|
|
output: "standalone",
|
|
images: {
|
|
remotePatterns: [
|
|
// Allow image optimisation from any host. Lock this down once we
|
|
// know exactly which sources we'll pull attachments from.
|
|
{ protocol: "http", hostname: "**" },
|
|
{ protocol: "https", hostname: "**" },
|
|
],
|
|
},
|
|
// Allow any host / IP / tunneled domain so the app is reachable from
|
|
// LAN devices, reverse proxies and custom hostnames. Next 16's
|
|
// internal matcher rejects the literal "*", so we also rely on the
|
|
// `scripts/patch-next-dev-blocker.cjs` postinstall hook to neuter
|
|
// the dev-only cross-site guard. Production behaviour is unaffected
|
|
// because the patch only runs in development.
|
|
allowedDevOrigins: ["*"],
|
|
experimental: {
|
|
serverActions: {
|
|
allowedOrigins: ["*"],
|
|
},
|
|
},
|
|
};
|
|
|
|
const withPWA = require("@ducanh2912/next-pwa").default({
|
|
dest: "public",
|
|
cacheOnFrontEndNav: true,
|
|
aggressiveFrontEndNavCaching: true,
|
|
reloadOnOnline: true,
|
|
register: true,
|
|
workboxOptions: {
|
|
cleanupOutdatedCaches: true,
|
|
clientsClaim: true,
|
|
skipWaiting: true,
|
|
},
|
|
manifest: {
|
|
name: "MEGA INFRASTRUCTURE",
|
|
short_name: "MEGA",
|
|
description: "Construction site operations dashboard for fuel, orders, and workforce.",
|
|
theme_color: "#fdb13c",
|
|
background_color: "#e8ebed",
|
|
display: "standalone",
|
|
orientation: "portrait",
|
|
scope: "/",
|
|
start_url: "/dashboard",
|
|
icons: [
|
|
{
|
|
src: "/icons/icon-192.png",
|
|
sizes: "192x192",
|
|
type: "image/png",
|
|
purpose: "any",
|
|
},
|
|
{
|
|
src: "/icons/icon-512.png",
|
|
sizes: "512x512",
|
|
type: "image/png",
|
|
purpose: "any",
|
|
},
|
|
{
|
|
src: "/icons/maskable-512.png",
|
|
sizes: "512x512",
|
|
type: "image/png",
|
|
purpose: "maskable",
|
|
},
|
|
],
|
|
},
|
|
});
|
|
|
|
module.exports = withPWA(nextConfig);
|