Files
ArchiTools/src/config/modules.ts
T
AI Assistant c297a2c5f7 feat: add Geoportal module with MapLibre GL JS + Martin vector tiles
Phase 1 of the geoportal implementation:

Infrastructure:
- Martin vector tile server in docker-compose (port 3010)
- PostGIS setup SQL for GisUat: native geom column, Esri→PostGIS
  trigger, GiST index, gis_uats view for Martin auto-discovery

Geoportal module (src/modules/geoportal/):
- map-viewer.tsx: MapLibre GL JS canvas with OSM base, Martin MVT
  sources (gis_uats, gis_terenuri, gis_cladiri), click-to-inspect,
  zoom-level-aware layer visibility, layer styling
- layer-panel.tsx: collapsible sidebar with layer toggles
- geoportal-module.tsx: standalone page wrapper
- Module registered in config/modules.ts, flags.ts, i18n

ParcelSync integration:
- 6th tab "Harta" with lazy-loaded MapViewer (ssr: false)
- Centered on selected UAT

Dependencies: maplibre-gl v5.21.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 14:21:37 +02:00

46 lines
2.3 KiB
TypeScript

import type { ModuleConfig } from "@/core/module-registry/types";
import { registerModules } from "@/core/module-registry";
import { registraturaConfig } from "@/modules/registratura/config";
import { emailSignatureConfig } from "@/modules/email-signature/config";
import { wordXmlConfig } from "@/modules/word-xml/config";
import { promptGeneratorConfig } from "@/modules/prompt-generator/config";
import { digitalSignaturesConfig } from "@/modules/digital-signatures/config";
import { passwordVaultConfig } from "@/modules/password-vault/config";
import { itInventoryConfig } from "@/modules/it-inventory/config";
import { addressBookConfig } from "@/modules/address-book/config";
import { wordTemplatesConfig } from "@/modules/word-templates/config";
import { tagManagerConfig } from "@/modules/tag-manager/config";
import { miniUtilitiesConfig } from "@/modules/mini-utilities/config";
import { aiChatConfig } from "@/modules/ai-chat/config";
import { hotDeskConfig } from "@/modules/hot-desk/config";
import { visualCopilotConfig } from "@/modules/visual-copilot/config";
import { parcelSyncConfig } from "@/modules/parcel-sync/config";
import { geoportalConfig } from "@/modules/geoportal/config";
/**
* Toate configurările modulelor ArchiTools, ordonate după navOrder.
* Dashboard-ul nu este inclus deoarece este pagina principală, nu un modul standard.
*/
export const MODULE_CONFIGS: ModuleConfig[] = [
registraturaConfig, // navOrder: 10 | operations
passwordVaultConfig, // navOrder: 11 | operations
emailSignatureConfig, // navOrder: 20 | generators
wordXmlConfig, // navOrder: 21 | generators
wordTemplatesConfig, // navOrder: 22 | generators
digitalSignaturesConfig, // navOrder: 30 | management
itInventoryConfig, // navOrder: 31 | management
addressBookConfig, // navOrder: 32 | management
hotDeskConfig, // navOrder: 33 | management
tagManagerConfig, // navOrder: 40 | tools
miniUtilitiesConfig, // navOrder: 41 | tools
parcelSyncConfig, // navOrder: 42 | tools
geoportalConfig, // navOrder: 43 | tools
promptGeneratorConfig, // navOrder: 50 | ai
aiChatConfig, // navOrder: 51 | ai
visualCopilotConfig, // navOrder: 52 | ai
];
// Înregistrare automată a tuturor modulelor în registru
registerModules(MODULE_CONFIGS);