✨ 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
78 lines
2.8 KiB
JavaScript
78 lines
2.8 KiB
JavaScript
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
var TIMEZONE_UNIT_PRIORITY = 10;
|
|
export var Setter = /*#__PURE__*/function () {
|
|
function Setter() {
|
|
_classCallCheck(this, Setter);
|
|
_defineProperty(this, "priority", void 0);
|
|
_defineProperty(this, "subPriority", 0);
|
|
}
|
|
_createClass(Setter, [{
|
|
key: "validate",
|
|
value: function validate(_utcDate, _options) {
|
|
return true;
|
|
}
|
|
}]);
|
|
return Setter;
|
|
}();
|
|
export var ValueSetter = /*#__PURE__*/function (_Setter) {
|
|
_inherits(ValueSetter, _Setter);
|
|
var _super = _createSuper(ValueSetter);
|
|
function ValueSetter(value, validateValue, setValue, priority, subPriority) {
|
|
var _this;
|
|
_classCallCheck(this, ValueSetter);
|
|
_this = _super.call(this);
|
|
_this.value = value;
|
|
_this.validateValue = validateValue;
|
|
_this.setValue = setValue;
|
|
_this.priority = priority;
|
|
if (subPriority) {
|
|
_this.subPriority = subPriority;
|
|
}
|
|
return _this;
|
|
}
|
|
_createClass(ValueSetter, [{
|
|
key: "validate",
|
|
value: function validate(utcDate, options) {
|
|
return this.validateValue(utcDate, this.value, options);
|
|
}
|
|
}, {
|
|
key: "set",
|
|
value: function set(utcDate, flags, options) {
|
|
return this.setValue(utcDate, flags, this.value, options);
|
|
}
|
|
}]);
|
|
return ValueSetter;
|
|
}(Setter);
|
|
export var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {
|
|
_inherits(DateToSystemTimezoneSetter, _Setter2);
|
|
var _super2 = _createSuper(DateToSystemTimezoneSetter);
|
|
function DateToSystemTimezoneSetter() {
|
|
var _this2;
|
|
_classCallCheck(this, DateToSystemTimezoneSetter);
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this2 = _super2.call.apply(_super2, [this].concat(args));
|
|
_defineProperty(_assertThisInitialized(_this2), "priority", TIMEZONE_UNIT_PRIORITY);
|
|
_defineProperty(_assertThisInitialized(_this2), "subPriority", -1);
|
|
return _this2;
|
|
}
|
|
_createClass(DateToSystemTimezoneSetter, [{
|
|
key: "set",
|
|
value: function set(date, flags) {
|
|
if (flags.timestampIsSet) {
|
|
return date;
|
|
}
|
|
var convertedDate = new Date(0);
|
|
convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
|
|
convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
|
|
return convertedDate;
|
|
}
|
|
}]);
|
|
return DateToSystemTimezoneSetter;
|
|
}(Setter); |