✨ 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
96 lines
3.4 KiB
JavaScript
96 lines
3.4 KiB
JavaScript
/**
|
|
* @license React
|
|
* use-sync-external-store-shim.development.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
"use strict";
|
|
"production" !== process.env.NODE_ENV &&
|
|
(function () {
|
|
function is(x, y) {
|
|
return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);
|
|
}
|
|
function useSyncExternalStore$2(subscribe, getSnapshot) {
|
|
didWarnOld18Alpha ||
|
|
void 0 === React.startTransition ||
|
|
((didWarnOld18Alpha = !0),
|
|
console.error(
|
|
"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
|
|
));
|
|
var value = getSnapshot();
|
|
if (!didWarnUncachedGetSnapshot) {
|
|
var cachedValue = getSnapshot();
|
|
objectIs(value, cachedValue) ||
|
|
(console.error(
|
|
"The result of getSnapshot should be cached to avoid an infinite loop"
|
|
),
|
|
(didWarnUncachedGetSnapshot = !0));
|
|
}
|
|
cachedValue = useState({
|
|
inst: { value: value, getSnapshot: getSnapshot }
|
|
});
|
|
var inst = cachedValue[0].inst,
|
|
forceUpdate = cachedValue[1];
|
|
useLayoutEffect(
|
|
function () {
|
|
inst.value = value;
|
|
inst.getSnapshot = getSnapshot;
|
|
checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
|
|
},
|
|
[subscribe, value, getSnapshot]
|
|
);
|
|
useEffect(
|
|
function () {
|
|
checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
|
|
return subscribe(function () {
|
|
checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
|
|
});
|
|
},
|
|
[subscribe]
|
|
);
|
|
useDebugValue(value);
|
|
return value;
|
|
}
|
|
function checkIfSnapshotChanged(inst) {
|
|
var latestGetSnapshot = inst.getSnapshot;
|
|
inst = inst.value;
|
|
try {
|
|
var nextValue = latestGetSnapshot();
|
|
return !objectIs(inst, nextValue);
|
|
} catch (error) {
|
|
return !0;
|
|
}
|
|
}
|
|
function useSyncExternalStore$1(subscribe, getSnapshot) {
|
|
return getSnapshot();
|
|
}
|
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
|
"function" ===
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&
|
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
var React = require("react"),
|
|
objectIs = "function" === typeof Object.is ? Object.is : is,
|
|
useState = React.useState,
|
|
useEffect = React.useEffect,
|
|
useLayoutEffect = React.useLayoutEffect,
|
|
useDebugValue = React.useDebugValue,
|
|
didWarnOld18Alpha = !1,
|
|
didWarnUncachedGetSnapshot = !1,
|
|
shim =
|
|
"undefined" === typeof window ||
|
|
"undefined" === typeof window.document ||
|
|
"undefined" === typeof window.document.createElement
|
|
? useSyncExternalStore$1
|
|
: useSyncExternalStore$2;
|
|
exports.useSyncExternalStore =
|
|
void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;
|
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
|
"function" ===
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
})();
|