Scrubbed large files and synced marketing-monster branch #4698
9 changed files+132−23
Modified._app_disabled/projects/[projectId]/page.tsx+1−1View fileUnifiedSplit
@@ -6,7 +6,7 @@ type PageProps = {
66 params: { projectId: string };
77};
88
9export default async function ProjectPage({ params }: PageProps) {
9export default function ProjectPage({ params }: PageProps) {
1010 const projectId = params?.projectId;
1111
1212 return (
Modified.eslintrc.json+2−1View fileUnifiedSplit
@@ -1,3 +1,4 @@
11{
2 "extends": "next/core-web-vitals"
2 "extends": "next/core-web-vitals",
3 "plugins": ["@typescript-eslint"]
34}
Modified.github/scripts/protected-paths.ps1+3−2View fileUnifiedSplit
@@ -6,7 +6,8 @@ param(
66 [string]$HeadRef = "HEAD",
77 [string]$ConfigPath = ".github/protected-paths.json",
88 [string]$AllowFile = ".github/ALLOW_PROTECTED_PATHS",
9 [string]$PrLabels = ""
9 [string]$PrLabels = "",
10 [string]$RequireLabel = ""
1011)
1112
1213function Fail([string]$m){ Write-Host $m -ForegroundColor Red; exit 1 }
@@ -35,7 +36,7 @@ if (Test-Path -LiteralPath $AllowFile) {
3536}
3637
3738# allow override if label present
38$allowLabel = [string]$cfg.allowLabel
39$allowLabel = if ($RequireLabel) { $RequireLabel } else { [string]$cfg.allowLabel }
3940if ($allowLabel -and $PrLabels -match [Regex]::Escape($allowLabel)) {
4041 Info "Override label present ($allowLabel). Protected paths check overridden."
4142 exit 0
Modified.github/workflows/protected-paths.yml+1−1View fileUnifiedSplit
@@ -28,4 +28,4 @@ jobs:
2828 - name: Protected paths check
2929 shell: pwsh
3030 run: |
31 pwsh -NoProfile -File ".github/scripts/protected-paths.ps1" -BaseRef "origin/main" -HeadRef "HEAD" -ConfigPath ".github/protected-paths.json" -AllowFile ".github/ALLOW_PROTECTED_PATHS" -PrLabels "${{ steps.labels.outputs.labels }}"
31 pwsh -NoProfile -File ".github/scripts/protected-paths.ps1" -BaseRef "origin/main" -HeadRef "HEAD" -ConfigPath ".github/protected-paths.json" -AllowFile ".github/ALLOW_PROTECTED_PATHS" -RequireLabel "allow-protected-paths" -PrLabels "${{ steps.labels.outputs.labels }}"
Modified.gitignore+9−0View fileUnifiedSplit
@@ -52,3 +52,12 @@ downloads/
5252# D8_PHASE1_LOCK_DEPLOY_STYLING_v1_20260128
5353*.bak_*
5454*.bak
55node_modules/
56.next/
57.env*
58node_modules/
59.next/
60.env*
61node_modules/
62.next/
63.env*
Modified_archive/_app_backup_20260201_132227/projects/[projectId]/page.tsx+1−1View fileUnifiedSplit
@@ -6,7 +6,7 @@ type PageProps = {
66 params: { projectId: string };
77};
88
9export default async function ProjectPage({ params }: PageProps) {
9export default function ProjectPage({ params }: PageProps) {
1010 const projectId = params?.projectId;
1111
1212 return (
Modifiedpackage-lock.json+105−11View fileUnifiedSplit
@@ -25,6 +25,7 @@
2525 "@types/node": "^20.11.30",
2626 "@types/react": "^18.2.61",
2727 "@types/react-dom": "^18.2.19",
28 "@typescript-eslint/eslint-plugin": "^7.2.0",
2829 "autoprefixer": "^10.4.23",
2930 "eslint": "^8.56.0",
3031 "eslint-config-next": "14.2.5",
@@ -933,6 +934,13 @@
933934 "@types/node": "*"
934935 }
935936 },
937 "node_modules/@types/json-schema": {
938 "version": "7.0.15",
939 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
940 "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
941 "dev": true,
942 "license": "MIT"
943 },
936944 "node_modules/@types/json5": {
937945 "version": "0.0.29",
938946 "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -994,6 +1002,49 @@
9941002 "dev": true,
9951003 "license": "MIT"
9961004 },
1005 "node_modules/@types/semver": {
1006 "version": "7.7.1",
1007 "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
1008 "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
1009 "dev": true,
1010 "license": "MIT"
1011 },
1012 "node_modules/@typescript-eslint/eslint-plugin": {
1013 "version": "7.2.0",
1014 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz",
1015 "integrity": "sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==",
1016 "dev": true,
1017 "license": "MIT",
1018 "dependencies": {
1019 "@eslint-community/regexpp": "^4.5.1",
1020 "@typescript-eslint/scope-manager": "7.2.0",
1021 "@typescript-eslint/type-utils": "7.2.0",
1022 "@typescript-eslint/utils": "7.2.0",
1023 "@typescript-eslint/visitor-keys": "7.2.0",
1024 "debug": "^4.3.4",
1025 "graphemer": "^1.4.0",
1026 "ignore": "^5.2.4",
1027 "natural-compare": "^1.4.0",
1028 "semver": "^7.5.4",
1029 "ts-api-utils": "^1.0.1"
1030 },
1031 "engines": {
1032 "node": "^16.0.0 || >=18.0.0"
1033 },
1034 "funding": {
1035 "type": "opencollective",
1036 "url": "https://opencollective.com/typescript-eslint"
1037 },
1038 "peerDependencies": {
1039 "@typescript-eslint/parser": "^7.0.0",
1040 "eslint": "^8.56.0"
1041 },
1042 "peerDependenciesMeta": {
1043 "typescript": {
1044 "optional": true
1045 }
1046 }
1047 },
9971048 "node_modules/@typescript-eslint/parser": {
9981049 "version": "7.2.0",
9991050 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz",
@@ -1041,6 +1092,34 @@
10411092 "url": "https://opencollective.com/typescript-eslint"
10421093 }
10431094 },
1095 "node_modules/@typescript-eslint/type-utils": {
1096 "version": "7.2.0",
1097 "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz",
1098 "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==",
1099 "dev": true,
1100 "license": "MIT",
1101 "dependencies": {
1102 "@typescript-eslint/typescript-estree": "7.2.0",
1103 "@typescript-eslint/utils": "7.2.0",
1104 "debug": "^4.3.4",
1105 "ts-api-utils": "^1.0.1"
1106 },
1107 "engines": {
1108 "node": "^16.0.0 || >=18.0.0"
1109 },
1110 "funding": {
1111 "type": "opencollective",
1112 "url": "https://opencollective.com/typescript-eslint"
1113 },
1114 "peerDependencies": {
1115 "eslint": "^8.56.0"
1116 },
1117 "peerDependenciesMeta": {
1118 "typescript": {
1119 "optional": true
1120 }
1121 }
1122 },
10441123 "node_modules/@typescript-eslint/types": {
10451124 "version": "7.2.0",
10461125 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz",
@@ -1110,6 +1189,32 @@
11101189 "url": "https://github.com/sponsors/isaacs"
11111190 }
11121191 },
1192 "node_modules/@typescript-eslint/utils": {
1193 "version": "7.2.0",
1194 "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz",
1195 "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==",
1196 "dev": true,
1197 "license": "MIT",
1198 "dependencies": {
1199 "@eslint-community/eslint-utils": "^4.4.0",
1200 "@types/json-schema": "^7.0.12",
1201 "@types/semver": "^7.5.0",
1202 "@typescript-eslint/scope-manager": "7.2.0",
1203 "@typescript-eslint/types": "7.2.0",
1204 "@typescript-eslint/typescript-estree": "7.2.0",
1205 "semver": "^7.5.4"
1206 },
1207 "engines": {
1208 "node": "^16.0.0 || >=18.0.0"
1209 },
1210 "funding": {
1211 "type": "opencollective",
1212 "url": "https://opencollective.com/typescript-eslint"
1213 },
1214 "peerDependencies": {
1215 "eslint": "^8.56.0"
1216 }
1217 },
11131218 "node_modules/@typescript-eslint/visitor-keys": {
11141219 "version": "7.2.0",
11151220 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz",
@@ -1460,7 +1565,6 @@
14601565 "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
14611566 "dev": true,
14621567 "license": "MIT",
1463 "peer": true,
14641568 "bin": {
14651569 "acorn": "bin/acorn"
14661570 },
@@ -1895,7 +1999,6 @@
18951999 }
18962000 ],
18972001 "license": "MIT",
1898 "peer": true,
18992002 "dependencies": {
19002003 "baseline-browser-mapping": "^2.9.0",
19012004 "caniuse-lite": "^1.0.30001759",
@@ -2535,7 +2638,6 @@
25352638 "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
25362639 "dev": true,
25372640 "license": "MIT",
2538 "peer": true,
25392641 "dependencies": {
25402642 "@eslint-community/eslint-utils": "^4.2.0",
25412643 "@eslint-community/regexpp": "^4.6.1",
@@ -2704,7 +2806,6 @@
27042806 "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
27052807 "dev": true,
27062808 "license": "MIT",
2707 "peer": true,
27082809 "dependencies": {
27092810 "@rtsao/scc": "^1.1.0",
27102811 "array-includes": "^3.1.9",
@@ -4745,7 +4846,6 @@
47454846 "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==",
47464847 "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.",
47474848 "license": "MIT",
4748 "peer": true,
47494849 "dependencies": {
47504850 "@next/env": "14.2.5",
47514851 "@swc/helpers": "0.5.5",
@@ -5247,7 +5347,6 @@
52475347 }
52485348 ],
52495349 "license": "MIT",
5250 "peer": true,
52515350 "dependencies": {
52525351 "nanoid": "^3.3.11",
52535352 "picocolors": "^1.1.1",
@@ -5337,7 +5436,6 @@
53375436 "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
53385437 "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
53395438 "license": "MIT",
5340 "peer": true,
53415439 "dependencies": {
53425440 "loose-envify": "^1.1.0"
53435441 },
@@ -5350,7 +5448,6 @@
53505448 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
53515449 "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
53525450 "license": "MIT",
5353 "peer": true,
53545451 "dependencies": {
53555452 "loose-envify": "^1.1.0",
53565453 "scheduler": "^0.23.0"
@@ -6253,7 +6350,6 @@
62536350 "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
62546351 "dev": true,
62556352 "license": "MIT",
6256 "peer": true,
62576353 "engines": {
62586354 "node": ">=12"
62596355 },
@@ -6422,7 +6518,6 @@
64226518 "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
64236519 "dev": true,
64246520 "license": "Apache-2.0",
6425 "peer": true,
64266521 "bin": {
64276522 "tsc": "bin/tsc",
64286523 "tsserver": "bin/tsserver"
@@ -6822,7 +6917,6 @@
68226917 "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
68236918 "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
68246919 "license": "MIT",
6825 "peer": true,
68266920 "funding": {
68276921 "url": "https://github.com/sponsors/colinhacks"
68286922 }
Modifiedpackage.json+2−1View fileUnifiedSplit
@@ -29,6 +29,7 @@
2929 "@types/node": "^20.11.30",
3030 "@types/react": "^18.2.61",
3131 "@types/react-dom": "^18.2.19",
32 "@typescript-eslint/eslint-plugin": "^7.2.0",
3233 "autoprefixer": "^10.4.23",
3334 "eslint": "^8.56.0",
3435 "eslint-config-next": "14.2.5",
@@ -39,4 +40,4 @@
3940 "engines": {
4041 "node": "20.x"
4142 }
42}
\ No newline at end of file
43}
Modifiedsrc/app/(marketing)/gallery/page.jsx+8−5View fileUnifiedSplit
@@ -1,5 +1,6 @@
1export const dynamic = "force-dynamic";
1export const dynamic = "force-dynamic";
22
3import Image from "next/image";
34import { MONSTER_MARKER } from "../../../lib/buildMarker";
45import { TopBar, HeaderNav, Footer } from "../../../components/marketing/MarketingShell";
56
@@ -69,11 +70,13 @@ export default async function GalleryPage() {
6970 href={c.url || ("/p/" + c.projectId)}
7071 className="group overflow-hidden rounded-3xl bg-white/85 ring-1 ring-slate-200 shadow-sm hover:bg-white transition"
7172 >
72 <div className="h-36 bg-white">
73 <img
74 alt={c.title}
75 className="h-full w-full object-cover"
73 <div className="relative h-36 w-full bg-white">
74 <Image
7675 src={"/api/gallery/thumb?projectId=" + encodeURIComponent(c.projectId) + "&v=" + encodeURIComponent(MONSTER_MARKER)}
76 alt={c.title}
77 fill
78 className="object-cover"
79 sizes="(max-width: 768px) 100vw, 33vw"
7780 />
7881 </div>
7982
8083
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts