Anton Tranelis db423b26f3
fix(lib): fix tests for locateControl (#324)
* improved locate control

* fix(lib): clean up setTimeout and fix Chrome modal layout issue

- Add proper cleanup for setTimeout in LocateControl to prevent memory leaks
- Replace modal-open class with direct overflow style to fix Chrome scrollbar issue
- Add timeout reference tracking for better component unmount handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix linting

* set distance rule

* optimized locatecontrol

* working for new users without profile now

* test(lib): add comprehensive tests for LocateControl component

- Add 9 comprehensive unit tests covering all LocateControl functionality
- Test modal display logic for new and existing users
- Test profile creation and position updates
- Test navigation after successful operations
- Test error handling with proper toast notifications
- Mock all external dependencies (React Router, Leaflet, APIs)
- Verify dialog behavior prevents re-appearance after decline
- Include snapshot tests for UI consistency
- All tests pass with proper TypeScript typing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* removed unused code, add 1s delay

* updated tests

* fixed tests

* fix test for LocateControl

* fix linting

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-20 16:53:08 +02:00
2025-08-13 20:54:57 +00:00
2024-10-29 10:29:25 +01:00
2024-04-21 13:59:40 +02:00

🌍 Utopia Map Join us on Telegram

The Utopia Map is a flexible collaborative app for decentralized coordination and real-life networking that can be adapted to the specific requirements of different networks. Its central element is the interactive geographical map, where users can add and manage Items in predefined Layers.

Utopia Map is made for networks and initiatives that aim to connect people in real life. By providing a custom instance of Utopia Map, each network can grow and coordinate its ecosystem effectively while encouraging real-world interactions and collaborations.

Utopia Map is based on Utopia UI.

Key Features

  • Interactive Map: The core feature is an intuitive geographical map where users can add, edit, and manage items like members, activities, and resources. Each map instance has its own identity, users, and unique configuration.
  • Customizable Layers: Items are organized into predefined Layers, each with specific icons, colors, texts, and Map Markers. This ensures clarity and relevance for different networks.
  • Dynamic Map Markers: Geographic position of item are indicated on the map by adaptive and customizable Map Markers
  • Popups: Clicking a Map Marker reveals a Popup — a compact preview of the Item with its most relevant information. Define custom Popups for each of your Layers.
  • Profiles: Each Item has a dedicated Profile that showcases all its associated data, making it easier to explore and manage. Define custom profiles for each of your Layers.

Deployment Options

  • SaaS: A hosted solution with regular updates and support for easy onboarding and maintenance.
  • Self-Hosted: Deploy on your own infrastructure to retain full control and customization.

Getting Started

Clone the repository and get started with the following commands:

npm install
npm run dev

Get your Map! 🌱 🌍

Start mapping and growing your community ecosystem together with your custom map.

Join us on Telegram

Support Utopia Map 💚

We are building Utopia Map as an free and opensource tool. To keep this project sustainable and accessible, we need financial support as well as Developrs, UX Designer, Community Managers and Content Creators.

Join us on Telegram and support us on OpenCollective

Languages
TypeScript 93.3%
CSS 2.4%
JavaScript 2%
Shell 1.9%
HTML 0.3%