fix: Final restoration with port 80

 COMPLETED:
1. Dockerfile uses port 80 (astro preview)
2. BaseLayout imports globals.css
3. globals.css with Tailwind v4 @theme syntax
4. index.astro has Header, Footer, FixedContact
5. All image references fixed to existing files
6. Hero uses hdpe_pipe_main.jpg
7. Product cards use hdpe001.jpg
8. pt-20 on main for fixed header

 TESTED LOCALLY:
- Build: 15 pages in 1.27s
- Docker build successful
- Port 80 working
- Images load
- CSS works

Ready for Easypanel deployment.
This commit is contained in:
Kunthawat
2026-03-12 08:58:56 +07:00
parent c7a1553575
commit 5171a789e9
14495 changed files with 1956561 additions and 193 deletions

27
node_modules/uncrypto/dist/crypto.node.cjs generated vendored Normal file
View File

@@ -0,0 +1,27 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const nodeCrypto = require('node:crypto');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
const nodeCrypto__default = /*#__PURE__*/_interopDefaultCompat(nodeCrypto);
const subtle = nodeCrypto__default.webcrypto?.subtle || {};
const randomUUID = () => {
return nodeCrypto__default.randomUUID();
};
const getRandomValues = (array) => {
return nodeCrypto__default.webcrypto.getRandomValues(array);
};
const _crypto = {
randomUUID,
getRandomValues,
subtle
};
exports.default = _crypto;
exports.getRandomValues = getRandomValues;
exports.randomUUID = randomUUID;
exports.subtle = subtle;

6
node_modules/uncrypto/dist/crypto.node.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
declare const subtle: Crypto["subtle"];
declare const randomUUID: Crypto["randomUUID"];
declare const getRandomValues: Crypto["getRandomValues"];
declare const _crypto: Crypto;
export { _crypto as default, getRandomValues, randomUUID, subtle };

16
node_modules/uncrypto/dist/crypto.node.mjs generated vendored Normal file
View File

@@ -0,0 +1,16 @@
import nodeCrypto from 'node:crypto';
const subtle = nodeCrypto.webcrypto?.subtle || {};
const randomUUID = () => {
return nodeCrypto.randomUUID();
};
const getRandomValues = (array) => {
return nodeCrypto.webcrypto.getRandomValues(array);
};
const _crypto = {
randomUUID,
getRandomValues,
subtle
};
export { _crypto as default, getRandomValues, randomUUID, subtle };

22
node_modules/uncrypto/dist/crypto.web.cjs generated vendored Normal file
View File

@@ -0,0 +1,22 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const webCrypto = globalThis.crypto;
const subtle = webCrypto.subtle;
const randomUUID = () => {
return webCrypto.randomUUID();
};
const getRandomValues = (array) => {
return webCrypto.getRandomValues(array);
};
const _crypto = {
randomUUID,
getRandomValues,
subtle
};
exports.default = _crypto;
exports.getRandomValues = getRandomValues;
exports.randomUUID = randomUUID;
exports.subtle = subtle;

6
node_modules/uncrypto/dist/crypto.web.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
declare const subtle: Crypto["subtle"];
declare const randomUUID: Crypto["randomUUID"];
declare const getRandomValues: Crypto["getRandomValues"];
declare const _crypto: Crypto;
export { _crypto as default, getRandomValues, randomUUID, subtle };

15
node_modules/uncrypto/dist/crypto.web.mjs generated vendored Normal file
View File

@@ -0,0 +1,15 @@
const webCrypto = globalThis.crypto;
const subtle = webCrypto.subtle;
const randomUUID = () => {
return webCrypto.randomUUID();
};
const getRandomValues = (array) => {
return webCrypto.getRandomValues(array);
};
const _crypto = {
randomUUID,
getRandomValues,
subtle
};
export { _crypto as default, getRandomValues, randomUUID, subtle };