Files
Laca-City/frontend/node_modules/next/dist/server/lib/squoosh/impl.js
PhongPham c65cc97a33 🎯 MapView v2.0 - Global Deployment Ready
 MAJOR FEATURES:
• Auto-zoom intelligence với smart bounds fitting
• Enhanced 3D GPS markers với pulsing effects
• Professional route display với 6-layer rendering
• Status-based parking icons với availability indicators
• Production-ready build optimizations

🗺️ AUTO-ZOOM FEATURES:
• Smart bounds fitting cho GPS + selected parking
• Adaptive padding (50px) cho visual balance
• Max zoom control (level 16) để tránh quá gần
• Dynamic centering khi không có selection

🎨 ENHANCED VISUALS:
• 3D GPS marker với multi-layer pulse effects
• Advanced parking icons với status colors
• Selection highlighting với animation
• Dimming system cho non-selected items

🛣️ ROUTE SYSTEM:
• OpenRouteService API integration
• Multi-layer route rendering (glow, shadow, main, animated)
• Real-time distance & duration calculation
• Visual route info trong popup

📱 PRODUCTION READY:
• SSR safe với dynamic imports
• Build errors resolved
• Global deployment via Vercel
• Optimized performance

🌍 DEPLOYMENT:
• Vercel: https://whatever-ctk2auuxr-phong12hexdockworks-projects.vercel.app
• Bundle size: 22.8 kB optimized
• Global CDN distribution
• HTTPS enabled

💾 VERSION CONTROL:
• MapView-v2.0.tsx backup created
• MAPVIEW_VERSIONS.md documentation
• Full version history tracking
2025-07-20 19:52:16 +07:00

124 lines
3.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
decodeBuffer: null,
encodeAvif: null,
encodeJpeg: null,
encodePng: null,
encodeWebp: null,
resize: null,
rotate: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
decodeBuffer: function() {
return decodeBuffer;
},
encodeAvif: function() {
return encodeAvif;
},
encodeJpeg: function() {
return encodeJpeg;
},
encodePng: function() {
return encodePng;
},
encodeWebp: function() {
return encodeWebp;
},
resize: function() {
return resize;
},
rotate: function() {
return rotate;
}
});
const _codecs = require("./codecs");
const _image_data = /*#__PURE__*/ _interop_require_default(require("./image_data"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
async function decodeBuffer(_buffer) {
var _Object_entries_find;
const buffer = Buffer.from(_buffer);
const firstChunk = buffer.slice(0, 16);
const firstChunkString = Array.from(firstChunk).map((v)=>String.fromCodePoint(v)).join("");
const key = (_Object_entries_find = Object.entries(_codecs.codecs).find(([, { detectors }])=>detectors.some((detector)=>detector.exec(firstChunkString)))) == null ? void 0 : _Object_entries_find[0];
if (!key) {
throw Error(`Buffer has an unsupported format`);
}
const encoder = _codecs.codecs[key];
const mod = await encoder.dec();
const rgba = mod.decode(new Uint8Array(buffer));
return rgba;
}
async function rotate(image, numRotations) {
image = _image_data.default.from(image);
const m = await _codecs.preprocessors["rotate"].instantiate();
return await m(image.data, image.width, image.height, {
numRotations
});
}
async function resize({ image, width, height }) {
image = _image_data.default.from(image);
const p = _codecs.preprocessors["resize"];
const m = await p.instantiate();
return await m(image.data, image.width, image.height, {
...p.defaultOptions,
width,
height
});
}
async function encodeJpeg(image, { quality }) {
image = _image_data.default.from(image);
const e = _codecs.codecs["mozjpeg"];
const m = await e.enc();
const r = await m.encode(image.data, image.width, image.height, {
...e.defaultEncoderOptions,
quality
});
return Buffer.from(r);
}
async function encodeWebp(image, { quality }) {
image = _image_data.default.from(image);
const e = _codecs.codecs["webp"];
const m = await e.enc();
const r = await m.encode(image.data, image.width, image.height, {
...e.defaultEncoderOptions,
quality
});
return Buffer.from(r);
}
async function encodeAvif(image, { quality }) {
image = _image_data.default.from(image);
const e = _codecs.codecs["avif"];
const m = await e.enc();
const val = e.autoOptimize.min || 62;
const r = await m.encode(image.data, image.width, image.height, {
...e.defaultEncoderOptions,
// Think of cqLevel as the "amount" of quantization (0 to 62),
// so a lower value yields higher quality (0 to 100).
cqLevel: Math.round(val - quality / 100 * val)
});
return Buffer.from(r);
}
async function encodePng(image) {
image = _image_data.default.from(image);
const e = _codecs.codecs["oxipng"];
const m = await e.enc();
const r = await m.encode(image.data, image.width, image.height, {
...e.defaultEncoderOptions
});
return Buffer.from(r);
}
//# sourceMappingURL=impl.js.map