diff --git a/.gitignore b/.gitignore index d24df8a..ab79dec 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ dist-ssr *.njsproj *.sln *.sw? + +deploy.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0efd757 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:22-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +FROM node:22-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install --omit=dev +COPY --from=build /app/dist ./dist +COPY start.js ./ +EXPOSE 8005 +ENV NODE_ENV=production +CMD ["node", "start.js"] diff --git a/PROMIST LOGO.png b/PROMIST LOGO.png new file mode 100644 index 0000000..f64c0d4 Binary files /dev/null and b/PROMIST LOGO.png differ diff --git a/deploy.yml b/deploy.yml deleted file mode 100644 index 2aba592..0000000 --- a/deploy.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: promist -type: node -port: 8005 -build: npm run build -start: PORT=8005 node start.js diff --git a/package-lock.json b/package-lock.json index 54bb15d..36abde6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2105,6 +2105,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2121,6 +2122,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2137,6 +2139,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2153,6 +2156,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2169,6 +2173,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2185,9 +2190,7 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2204,9 +2207,7 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2223,9 +2224,7 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2242,9 +2241,7 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2261,9 +2258,7 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2280,9 +2275,7 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2299,6 +2292,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2315,6 +2309,7 @@ "cpu": [ "wasm32" ], + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -2333,6 +2328,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2349,6 +2345,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2505,9 +2502,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2524,9 +2518,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2543,9 +2534,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2562,9 +2550,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -5153,9 +5138,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5176,9 +5158,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5199,9 +5178,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5222,9 +5198,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5462,6 +5435,18 @@ } } }, + "node_modules/nitro/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "optional": true, + "peer": true, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/nitro/node_modules/unstorage": { "version": "2.0.0-alpha.7", "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-2.0.0-alpha.7.tgz", @@ -6799,9 +6784,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -6818,9 +6800,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -6837,9 +6816,6 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -6856,9 +6832,6 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -6875,9 +6848,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -6894,9 +6864,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ diff --git a/public/profen-logo.png b/public/profen-logo.png new file mode 100644 index 0000000..765abbd Binary files /dev/null and b/public/profen-logo.png differ diff --git a/public/promist-logo.png b/public/promist-logo.png index fd223ab..f64c0d4 100644 Binary files a/public/promist-logo.png and b/public/promist-logo.png differ diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx index da5caee..ce04c19 100644 --- a/src/routes/__root.tsx +++ b/src/routes/__root.tsx @@ -174,7 +174,7 @@ function Header() { return (
-
+
Promist @@ -195,6 +195,9 @@ function Header() { ), )} + + Profen Engineering +
diff --git a/src/routes/index.tsx b/src/routes/index.tsx index 5bda2e5..ad435dc 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -8,7 +8,7 @@ export const Route = createFileRoute("/")({ head: () => ({ meta: [ { title: "Promist — High-Pressure Misting for Cooling & Humidity" }, - { name: "description", content: "Turnkey misting systems for outdoor cooling, humidification, dust suppression, sanitization and special effects. Manufactured in the UAE since 1979." }, + { name: "description", content: "Turnkey misting systems for outdoor cooling, humidification, dust suppression and special effects. Manufactured in the UAE since 1979." }, { property: "og:title", content: "Promist — Humidity and Control" }, { property: "og:description", content: "Misting systems for cooling, humidification and dust suppression." }, ], @@ -18,7 +18,6 @@ export const Route = createFileRoute("/")({ const IMG = { nozzle: "/wp-uploads/2020/04/banner-sanitz.jpg", - booth: "/wp-uploads/2020/04/image-002.png", humid: "/wp-uploads/2016/03/humidification-misting.jpg", commercial: "/wp-uploads/2016/03/commercial-misting.jpg", industrial: "/wp-uploads/2016/03/industrial-misting.jpg", @@ -30,11 +29,11 @@ const IMG = { const SLIDES = [ { - img: "/slide-sanitization.jpg", - title: "Sanitization Booth", - subtitle: "A turnkey solution for your disinfectant needs — engineered for continuous public use.", - cta: "View details", - ctaTo: "/products/sanitization-booth", + img: "/wp-uploads/2017/04/nozzle-banner1.jpg", + title: "Misting Solutions", + subtitle: "Turnkey high-pressure misting for outdoor cooling, humidification, dust suppression and special effects — engineered in the UAE since 1979.", + cta: "Discover solutions", + ctaTo: "/misting-technology", }, { img: "/slide-residential.jpg", @@ -180,23 +179,23 @@ function Home() { {/* HERO SLIDER */} - {/* SANITIZATION BOOTH FEATURE */} + {/* HIGH-PRESSURE MISTING SOLUTIONS FEATURE */}
-

Sanitization Booth

+

High-Pressure Misting Solutions

- A turnkey solution for your disinfectant needs — engineered for continuous public use. + From residential patios to industrial facilities, our high-pressure misting systems cool the air, control humidity, suppress dust and elevate spaces — designed, built and installed in the UAE since 1979.

    {[ - "Transparent plastic cover with aluminium structure", - "Electric control panel", - "Optimised water consumption", - "Reflective sensor", + "Outdoor cooling up to 45°C and beyond", + "Industrial & commercial humidification", + "Dust suppression & air filtration", + "Special effects for events & landscapes", + "Custom system design & installation", "12-month warranty from installation", - "234 × 110 × 238 cm", ].map((f) => (
  • / @@ -204,12 +203,12 @@ function Home() {
  • ))}
- - View details + + Discover solutions
- Sanitization Booth + Misting Solutions