🎯 MapView v2.0 - Global Deployment Ready

 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
This commit is contained in:
2025-07-20 19:52:16 +07:00
parent 3203463a6a
commit c65cc97a33
64624 changed files with 7199453 additions and 6462 deletions

1
backend/node_modules/@nestjs/cli/lib/ui/banner.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export declare const BANNER = "\n _ _ _ ___ _____ _____ _ _____\n| \\ | | | | |_ |/ ___|/ __ \\| | |_ _|\n| \\| | ___ ___ | |_ | |\\ `--. | / \\/| | | |\n| . ` | / _ \\/ __|| __| | | `--. \\| | | | | |\n| |\\ || __/\\__ \\| |_ /\\__/ //\\__/ /| \\__/\\| |_____| |_\n\\_| \\_/ \\___||___/ \\__|\\____/ \\____/ \\____/\\_____/\\___/\n\n";

12
backend/node_modules/@nestjs/cli/lib/ui/banner.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BANNER = void 0;
exports.BANNER = `
_ _ _ ___ _____ _____ _ _____
| \\ | | | | |_ |/ ___|/ __ \\| | |_ _|
| \\| | ___ ___ | |_ | |\\ \`--. | / \\/| | | |
| . \` | / _ \\/ __|| __| | | \`--. \\| | | | | |
| |\\ || __/\\__ \\| |_ /\\__/ //\\__/ /| \\__/\\| |_____| |_
\\_| \\_/ \\___||___/ \\__|\\____/ \\____/ \\____/\\_____/\\___/
`;

19
backend/node_modules/@nestjs/cli/lib/ui/emojis.d.ts generated vendored Normal file
View File

@@ -0,0 +1,19 @@
export declare const EMOJIS: {
HEART: string;
COFFEE: string;
BEER: string;
BROKEN_HEART: string;
CRYING: string;
HEART_EYES: string;
JOY: string;
KISSING: string;
SCREAM: string;
ROCKET: string;
SMIRK: string;
RAISED_HANDS: string;
POINT_RIGHT: string;
ZAP: string;
BOOM: string;
PRAY: string;
WINE: string;
};

23
backend/node_modules/@nestjs/cli/lib/ui/emojis.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EMOJIS = void 0;
const node_emoji_1 = require("node-emoji");
exports.EMOJIS = {
HEART: (0, node_emoji_1.get)('heart'),
COFFEE: (0, node_emoji_1.get)('coffee'),
BEER: (0, node_emoji_1.get)('beer'),
BROKEN_HEART: (0, node_emoji_1.get)('broken_heart'),
CRYING: (0, node_emoji_1.get)('crying_cat_face'),
HEART_EYES: (0, node_emoji_1.get)('heart_eyes_cat'),
JOY: (0, node_emoji_1.get)('joy_cat'),
KISSING: (0, node_emoji_1.get)('kissing_cat'),
SCREAM: (0, node_emoji_1.get)('scream_cat'),
ROCKET: (0, node_emoji_1.get)('rocket'),
SMIRK: (0, node_emoji_1.get)('smirk_cat'),
RAISED_HANDS: (0, node_emoji_1.get)('raised_hands'),
POINT_RIGHT: (0, node_emoji_1.get)('point_right'),
ZAP: (0, node_emoji_1.get)('zap'),
BOOM: (0, node_emoji_1.get)('boom'),
PRAY: (0, node_emoji_1.get)('pray'),
WINE: (0, node_emoji_1.get)('wine_glass'),
};

4
backend/node_modules/@nestjs/cli/lib/ui/errors.d.ts generated vendored Normal file
View File

@@ -0,0 +1,4 @@
export declare const CLI_ERRORS: {
MISSING_TYPESCRIPT: (path: string) => string;
WRONG_PLUGIN: (name: string) => string;
};

8
backend/node_modules/@nestjs/cli/lib/ui/errors.js generated vendored Normal file
View File

@@ -0,0 +1,8 @@
"use strict";
// tslint:disable:max-line-length
Object.defineProperty(exports, "__esModule", { value: true });
exports.CLI_ERRORS = void 0;
exports.CLI_ERRORS = {
MISSING_TYPESCRIPT: (path) => `Could not find TypeScript configuration file "${path}". Please, ensure that you are running this command in the appropriate directory (inside Nest workspace).`,
WRONG_PLUGIN: (name) => `The "${name}" plugin is not compatible with Nest CLI. Neither "after()" nor "before()" nor "afterDeclarations()" function have been provided.`,
};

5
backend/node_modules/@nestjs/cli/lib/ui/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,5 @@
export * from './banner';
export * from './emojis';
export * from './errors';
export * from './messages';
export * from './prefixes';

21
backend/node_modules/@nestjs/cli/lib/ui/index.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./banner"), exports);
__exportStar(require("./emojis"), exports);
__exportStar(require("./errors"), exports);
__exportStar(require("./messages"), exports);
__exportStar(require("./prefixes"), exports);

23
backend/node_modules/@nestjs/cli/lib/ui/messages.d.ts generated vendored Normal file
View File

@@ -0,0 +1,23 @@
export declare const MESSAGES: {
PROJECT_SELECTION_QUESTION: string;
LIBRARY_PROJECT_SELECTION_QUESTION: string;
DRY_RUN_MODE: string;
PROJECT_INFORMATION_START: string;
RUNNER_EXECUTION_ERROR: (command: string) => string;
PACKAGE_MANAGER_QUESTION: string;
PACKAGE_MANAGER_INSTALLATION_IN_PROGRESS: string;
PACKAGE_MANAGER_UPDATE_IN_PROGRESS: string;
PACKAGE_MANAGER_UPGRADE_IN_PROGRESS: string;
PACKAGE_MANAGER_PRODUCTION_INSTALLATION_IN_PROGRESS: string;
GIT_INITIALIZATION_ERROR: string;
PACKAGE_MANAGER_INSTALLATION_SUCCEED: (name: string) => string;
GET_STARTED_INFORMATION: string;
CHANGE_DIR_COMMAND: (name: string) => string;
START_COMMAND: (name: string) => string;
PACKAGE_MANAGER_INSTALLATION_FAILED: (commandToRunManually: string) => string;
NEST_INFORMATION_PACKAGE_MANAGER_FAILED: string;
NEST_INFORMATION_PACKAGE_WARNING_FAILED: (nestDependencies: string[]) => string;
LIBRARY_INSTALLATION_FAILED_BAD_PACKAGE: (name: string) => string;
LIBRARY_INSTALLATION_FAILED_NO_LIBRARY: string;
LIBRARY_INSTALLATION_STARTS: string;
};

31
backend/node_modules/@nestjs/cli/lib/ui/messages.js generated vendored Normal file
View File

@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MESSAGES = void 0;
const chalk = require("chalk");
const emojis_1 = require("./emojis");
exports.MESSAGES = {
PROJECT_SELECTION_QUESTION: 'Which project would you like to generate to?',
LIBRARY_PROJECT_SELECTION_QUESTION: 'Which project would you like to add the library to?',
DRY_RUN_MODE: 'Command has been executed in dry run mode, nothing changed!',
PROJECT_INFORMATION_START: `${emojis_1.EMOJIS.ZAP} We will scaffold your app in a few seconds..`,
RUNNER_EXECUTION_ERROR: (command) => `\nFailed to execute command: ${command}`,
PACKAGE_MANAGER_QUESTION: `Which package manager would you ${emojis_1.EMOJIS.HEART} to use?`,
PACKAGE_MANAGER_INSTALLATION_IN_PROGRESS: `Installation in progress... ${emojis_1.EMOJIS.COFFEE}`,
PACKAGE_MANAGER_UPDATE_IN_PROGRESS: `Installation in progress... ${emojis_1.EMOJIS.COFFEE}`,
PACKAGE_MANAGER_UPGRADE_IN_PROGRESS: `Installation in progress... ${emojis_1.EMOJIS.COFFEE}`,
PACKAGE_MANAGER_PRODUCTION_INSTALLATION_IN_PROGRESS: `Package installation in progress... ${emojis_1.EMOJIS.COFFEE}`,
GIT_INITIALIZATION_ERROR: 'Git repository has not been initialized',
PACKAGE_MANAGER_INSTALLATION_SUCCEED: (name) => name !== '.'
? `${emojis_1.EMOJIS.ROCKET} Successfully created project ${chalk.green(name)}`
: `${emojis_1.EMOJIS.ROCKET} Successfully created a new project`,
GET_STARTED_INFORMATION: `${emojis_1.EMOJIS.POINT_RIGHT} Get started with the following commands:`,
CHANGE_DIR_COMMAND: (name) => `$ cd ${name}`,
START_COMMAND: (name) => `$ ${name} run start`,
PACKAGE_MANAGER_INSTALLATION_FAILED: (commandToRunManually) => `${emojis_1.EMOJIS.SCREAM} Packages installation failed!\nIn case you don't see any errors above, consider manually running the failed command ${commandToRunManually} to see more details on why it errored out.`,
// tslint:disable-next-line:max-line-length
NEST_INFORMATION_PACKAGE_MANAGER_FAILED: `${emojis_1.EMOJIS.SMIRK} cannot read your project package.json file, are you inside your project directory?`,
NEST_INFORMATION_PACKAGE_WARNING_FAILED: (nestDependencies) => `${emojis_1.EMOJIS.SMIRK} failed to compare dependencies versions, please check that following packages are in the same minor version : \n ${nestDependencies.join('\n')}`,
LIBRARY_INSTALLATION_FAILED_BAD_PACKAGE: (name) => `Unable to install library ${name} because package did not install. Please check package name.`,
LIBRARY_INSTALLATION_FAILED_NO_LIBRARY: 'No library found.',
LIBRARY_INSTALLATION_STARTS: 'Starting library setup...',
};

View File

@@ -0,0 +1,2 @@
export declare const ERROR_PREFIX: string;
export declare const INFO_PREFIX: string;

6
backend/node_modules/@nestjs/cli/lib/ui/prefixes.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.INFO_PREFIX = exports.ERROR_PREFIX = void 0;
const chalk = require("chalk");
exports.ERROR_PREFIX = chalk.bgRgb(210, 0, 75).bold.rgb(0, 0, 0)(' Error ');
exports.INFO_PREFIX = chalk.bgRgb(60, 190, 100).bold.rgb(0, 0, 0)(' Info ');