✨ 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
2.4 KiB
TypeScript
49 lines
2.4 KiB
TypeScript
/// <reference types="node" />
|
|
import type { Rewrite } from '../lib/load-custom-routes';
|
|
import type { RouteMatchFn } from '../shared/lib/router/utils/route-matcher';
|
|
import type { NextConfig } from './config';
|
|
import type { BaseNextRequest } from './base-http';
|
|
import type { ParsedUrlQuery } from 'querystring';
|
|
import type { UrlWithParsedQuery } from 'url';
|
|
import { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex';
|
|
export declare function normalizeVercelUrl(req: BaseNextRequest, trustQuery: boolean, paramKeys?: string[], pageIsDynamic?: boolean, defaultRouteRegex?: ReturnType<typeof getNamedRouteRegex> | undefined): void;
|
|
export declare function interpolateDynamicPath(pathname: string, params: ParsedUrlQuery, defaultRouteRegex?: ReturnType<typeof getNamedRouteRegex> | undefined): string;
|
|
export declare function normalizeDynamicRouteParams(params: ParsedUrlQuery, ignoreOptional?: boolean, defaultRouteRegex?: ReturnType<typeof getNamedRouteRegex> | undefined, defaultRouteMatches?: ParsedUrlQuery | undefined): {
|
|
params: ParsedUrlQuery;
|
|
hasValidParams: boolean;
|
|
};
|
|
export declare function getUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive, }: {
|
|
page: string;
|
|
i18n?: NextConfig['i18n'];
|
|
basePath: string;
|
|
rewrites: {
|
|
fallback?: ReadonlyArray<Rewrite>;
|
|
afterFiles?: ReadonlyArray<Rewrite>;
|
|
beforeFiles?: ReadonlyArray<Rewrite>;
|
|
};
|
|
pageIsDynamic: boolean;
|
|
trailingSlash?: boolean;
|
|
caseSensitive: boolean;
|
|
}): {
|
|
handleRewrites: (req: BaseNextRequest, parsedUrl: UrlWithParsedQuery) => {};
|
|
defaultRouteRegex: {
|
|
namedRegex: string;
|
|
routeKeys: {
|
|
[named: string]: string;
|
|
};
|
|
groups: {
|
|
[groupName: string]: import("../shared/lib/router/utils/route-regex").Group;
|
|
};
|
|
re: RegExp;
|
|
} | undefined;
|
|
dynamicRouteMatcher: RouteMatchFn | undefined;
|
|
defaultRouteMatches: ParsedUrlQuery | undefined;
|
|
getParamsFromRouteMatches: (req: BaseNextRequest, renderOpts?: any, detectedLocale?: string) => ParsedUrlQuery;
|
|
normalizeDynamicRouteParams: (params: ParsedUrlQuery, ignoreOptional?: boolean) => {
|
|
params: ParsedUrlQuery;
|
|
hasValidParams: boolean;
|
|
};
|
|
normalizeVercelUrl: (req: BaseNextRequest, trustQuery: boolean, paramKeys?: string[]) => void;
|
|
interpolateDynamicPath: (pathname: string, params: Record<string, undefined | string | string[]>) => string;
|
|
};
|