✨ 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
49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
/// <reference types="ws" />
|
|
import type { webpack } from 'next/dist/compiled/webpack/webpack';
|
|
import type ws from 'next/dist/compiled/ws';
|
|
import type { VersionInfo } from './parse-version-info';
|
|
import type { HMR_ACTION_TYPES } from './hot-reloader-types';
|
|
declare class EventStream {
|
|
clients: Set<ws>;
|
|
constructor();
|
|
everyClient(fn: (client: ws) => void): void;
|
|
close(): void;
|
|
handler(client: ws): void;
|
|
publish(payload: any): void;
|
|
}
|
|
export declare class WebpackHotMiddleware {
|
|
eventStream: EventStream;
|
|
clientLatestStats: {
|
|
ts: number;
|
|
stats: webpack.Stats;
|
|
} | null;
|
|
middlewareLatestStats: {
|
|
ts: number;
|
|
stats: webpack.Stats;
|
|
} | null;
|
|
serverLatestStats: {
|
|
ts: number;
|
|
stats: webpack.Stats;
|
|
} | null;
|
|
closed: boolean;
|
|
versionInfo: VersionInfo;
|
|
constructor(compilers: webpack.Compiler[], versionInfo: VersionInfo);
|
|
onClientInvalid: () => void;
|
|
onClientDone: (statsResult: webpack.Stats) => void;
|
|
onServerInvalid: () => void;
|
|
onServerDone: (statsResult: webpack.Stats) => void;
|
|
onEdgeServerInvalid: () => void;
|
|
onEdgeServerDone: (statsResult: webpack.Stats) => void;
|
|
/**
|
|
* To sync we use the most recent stats but also we append middleware
|
|
* errors. This is because it is possible that middleware fails to compile
|
|
* and we still want to show the client overlay with the error while
|
|
* the error page should be rendered just fine.
|
|
*/
|
|
onHMR: (client: ws) => void;
|
|
publishStats: (statsResult: webpack.Stats) => void;
|
|
publish: (payload: HMR_ACTION_TYPES) => void;
|
|
close: () => void;
|
|
}
|
|
export {};
|