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

75
node_modules/tiny-inflate/test/index.js generated vendored Normal file
View File

@@ -0,0 +1,75 @@
var inflate = require('../');
var zlib = require('zlib');
var fs = require('fs');
var assert = require('assert');
var uncompressed = fs.readFileSync(__dirname + '/lorem.txt');
describe('tiny-inflate', function() {
var compressed, noCompression, fixed;
function deflate(buf, options, fn) {
var chunks = [];
zlib.createDeflateRaw(options)
.on('data', function(chunk) {
chunks.push(chunk);
})
.on('error', fn)
.on('end', function() {
fn(null, Buffer.concat(chunks));
})
.end(buf);
}
before(function(done) {
zlib.deflateRaw(uncompressed, function(err, data) {
compressed = data;
done();
});
});
before(function(done) {
deflate(uncompressed, { level: zlib.Z_NO_COMPRESSION }, function(err, data) {
noCompression = data;
done();
});
});
before(function(done) {
deflate(uncompressed, { strategy: zlib.Z_FIXED }, function(err, data) {
fixed = data;
done();
});
});
it('should inflate some data', function() {
var out = Buffer.alloc(uncompressed.length);
inflate(compressed, out);
assert.deepEqual(out, uncompressed);
});
it('should slice output buffer', function() {
var out = Buffer.alloc(uncompressed.length + 1024);
var res = inflate(compressed, out);
assert.deepEqual(res, uncompressed);
assert.equal(res.length, uncompressed.length);
});
it('should handle uncompressed blocks', function() {
var out = Buffer.alloc(uncompressed.length);
inflate(noCompression, out);
assert.deepEqual(out, uncompressed);
});
it('should handle fixed huffman blocks', function() {
var out = Buffer.alloc(uncompressed.length);
inflate(fixed, out);
assert.deepEqual(out, uncompressed);
});
it('should handle typed arrays', function() {
var input = new Uint8Array(compressed);
var out = new Uint8Array(uncompressed.length);
inflate(input, out);
assert.deepEqual(out, new Uint8Array(uncompressed));
});
});