✨ 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
73 lines
1.4 KiB
JavaScript
73 lines
1.4 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.compareArrayBuffers = compareArrayBuffers;
|
|
|
|
// this are dev dependencies
|
|
var diff = require("jest-diff");
|
|
|
|
var _require = require("jest-diff/build/constants"),
|
|
NO_DIFF_MESSAGE = _require.NO_DIFF_MESSAGE;
|
|
|
|
var _require2 = require("@webassemblyjs/wasm-parser"),
|
|
decode = _require2.decode;
|
|
|
|
var oldConsoleLog = console.log;
|
|
|
|
function compareArrayBuffers(l, r) {
|
|
/**
|
|
* Decode left
|
|
*/
|
|
var bufferL = "";
|
|
|
|
console.log = function () {
|
|
for (var _len = arguments.length, texts = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
texts[_key] = arguments[_key];
|
|
}
|
|
|
|
return bufferL += texts.join("") + "\n";
|
|
};
|
|
|
|
try {
|
|
decode(l, {
|
|
dump: true
|
|
});
|
|
} catch (e) {
|
|
console.error(bufferL);
|
|
console.error(e);
|
|
throw e;
|
|
}
|
|
/**
|
|
* Decode right
|
|
*/
|
|
|
|
|
|
var bufferR = "";
|
|
|
|
console.log = function () {
|
|
for (var _len2 = arguments.length, texts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
texts[_key2] = arguments[_key2];
|
|
}
|
|
|
|
return bufferR += texts.join("") + "\n";
|
|
};
|
|
|
|
try {
|
|
decode(r, {
|
|
dump: true
|
|
});
|
|
} catch (e) {
|
|
console.error(bufferR);
|
|
console.error(e);
|
|
throw e;
|
|
}
|
|
|
|
console.log = oldConsoleLog;
|
|
var out = diff(bufferL, bufferR);
|
|
|
|
if (out !== null && out !== NO_DIFF_MESSAGE) {
|
|
throw new Error("\n" + out);
|
|
}
|
|
} |