✨ 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
80 lines
2.8 KiB
TypeScript
80 lines
2.8 KiB
TypeScript
import type { DomainLocale, I18NConfig } from '../../config-shared';
|
|
import type { NextParsedUrlQuery } from '../../request-meta';
|
|
/**
|
|
* The result of matching a locale aware route.
|
|
*/
|
|
export interface LocaleAnalysisResult {
|
|
/**
|
|
* The pathname without the locale prefix (if any).
|
|
*/
|
|
pathname: string;
|
|
/**
|
|
* The detected locale. If no locale was detected, this will be `undefined`.
|
|
*/
|
|
detectedLocale?: string;
|
|
/**
|
|
* True if the locale was inferred from the default locale.
|
|
*/
|
|
inferredFromDefault: boolean;
|
|
}
|
|
type LocaleAnalysisOptions = {
|
|
/**
|
|
* When provided, it will be used as the default locale if the locale
|
|
* cannot be inferred from the pathname.
|
|
*/
|
|
defaultLocale?: string;
|
|
};
|
|
/**
|
|
* The I18NProvider is used to match locale aware routes, detect the locale from
|
|
* the pathname and hostname and normalize the pathname by removing the locale
|
|
* prefix.
|
|
*/
|
|
export declare class I18NProvider {
|
|
readonly config: Readonly<I18NConfig>;
|
|
private readonly lowerCaseLocales;
|
|
private readonly lowerCaseDomains?;
|
|
constructor(config: Readonly<I18NConfig>);
|
|
/**
|
|
* Detects the domain locale from the hostname and the detected locale if
|
|
* provided.
|
|
*
|
|
* @param hostname The hostname to detect the domain locale from, this must be lowercased.
|
|
* @param detectedLocale The detected locale to use if the hostname does not match.
|
|
* @returns The domain locale if found, `undefined` otherwise.
|
|
*/
|
|
detectDomainLocale(hostname?: string, detectedLocale?: string): DomainLocale | undefined;
|
|
/**
|
|
* Pulls the pre-computed locale and inference results from the query
|
|
* object.
|
|
*
|
|
* @param pathname the pathname that could contain a locale prefix
|
|
* @param query the query object
|
|
* @returns the locale analysis result
|
|
*/
|
|
fromQuery(pathname: string, query: NextParsedUrlQuery): LocaleAnalysisResult;
|
|
/**
|
|
* Validates that the locale is valid.
|
|
*
|
|
* @param locale The locale to validate.
|
|
* @returns `true` if the locale is valid, `false` otherwise.
|
|
*/
|
|
private validate;
|
|
/**
|
|
* Validates that the locales in the query object are valid.
|
|
*
|
|
* @param query The query object to validate.
|
|
* @returns `true` if the locale is valid, `false` otherwise.
|
|
*/
|
|
validateQuery(query: NextParsedUrlQuery): boolean;
|
|
/**
|
|
* Analyzes the pathname for a locale and returns the pathname without it.
|
|
*
|
|
* @param pathname The pathname that could contain a locale prefix.
|
|
* @param options The options to use when matching the locale.
|
|
* @returns The matched locale and the pathname without the locale prefix
|
|
* (if any).
|
|
*/
|
|
analyze(pathname: string, options?: LocaleAnalysisOptions): LocaleAnalysisResult;
|
|
}
|
|
export {};
|