✨ 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
56 lines
3.0 KiB
TypeScript
56 lines
3.0 KiB
TypeScript
import React from 'react';
|
|
import type { ReactNode } from 'react';
|
|
import type { DocumentContext, DocumentInitialProps, DocumentProps } from '../shared/lib/utils';
|
|
import type { HtmlProps } from '../shared/lib/html-context.shared-runtime';
|
|
export type { DocumentContext, DocumentInitialProps, DocumentProps };
|
|
export type OriginProps = {
|
|
nonce?: string;
|
|
crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined;
|
|
children?: React.ReactNode;
|
|
};
|
|
type DocumentFiles = {
|
|
sharedFiles: readonly string[];
|
|
pageFiles: readonly string[];
|
|
allFiles: readonly string[];
|
|
};
|
|
type HeadHTMLProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLHeadElement>, HTMLHeadElement>;
|
|
type HeadProps = OriginProps & HeadHTMLProps;
|
|
export declare class Head extends React.Component<HeadProps> {
|
|
static contextType: React.Context<HtmlProps | undefined>;
|
|
context: HtmlProps;
|
|
getCssLinks(files: DocumentFiles): JSX.Element[] | null;
|
|
getPreloadDynamicChunks(): (import("react/jsx-runtime").JSX.Element | null)[];
|
|
getPreloadMainLinks(files: DocumentFiles): JSX.Element[] | null;
|
|
getBeforeInteractiveInlineScripts(): import("react/jsx-runtime").JSX.Element[];
|
|
getDynamicChunks(files: DocumentFiles): (import("react/jsx-runtime").JSX.Element | null)[];
|
|
getPreNextScripts(): import("react/jsx-runtime").JSX.Element;
|
|
getScripts(files: DocumentFiles): import("react/jsx-runtime").JSX.Element[];
|
|
getPolyfillScripts(): import("react/jsx-runtime").JSX.Element[];
|
|
makeStylesheetInert(node: ReactNode[]): ReactNode[];
|
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
}
|
|
export declare class NextScript extends React.Component<OriginProps> {
|
|
static contextType: React.Context<HtmlProps | undefined>;
|
|
context: HtmlProps;
|
|
getDynamicChunks(files: DocumentFiles): (import("react/jsx-runtime").JSX.Element | null)[];
|
|
getPreNextScripts(): import("react/jsx-runtime").JSX.Element;
|
|
getScripts(files: DocumentFiles): import("react/jsx-runtime").JSX.Element[];
|
|
getPolyfillScripts(): import("react/jsx-runtime").JSX.Element[];
|
|
static getInlineScriptSource(context: Readonly<HtmlProps>): string;
|
|
render(): import("react/jsx-runtime").JSX.Element | null;
|
|
}
|
|
export declare function Html(props: React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLHtmlElement>, HTMLHtmlElement>): import("react/jsx-runtime").JSX.Element;
|
|
export declare function Main(): import("react/jsx-runtime").JSX.Element;
|
|
/**
|
|
* `Document` component handles the initial `document` markup and renders only on the server side.
|
|
* Commonly used for implementing server side rendering for `css-in-js` libraries.
|
|
*/
|
|
export default class Document<P = {}> extends React.Component<DocumentProps & P> {
|
|
/**
|
|
* `getInitialProps` hook returns the context object with the addition of `renderPage`.
|
|
* `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers
|
|
*/
|
|
static getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps>;
|
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
}
|