Compare commits

...

6 Commits

Author SHA1 Message Date
913d5c915c 1.17.2
All checks were successful
CI / Lint (push) Successful in 28s
CI / Test (push) Successful in 43s
2026-03-28 16:49:03 +04:00
89f667b17e Add more icons 2026-03-28 16:48:14 +04:00
22d4ef8d96 Update Pinhead 2026-03-28 16:47:53 +04:00
b17793af9d 1.17.1
Some checks failed
CI / Lint (push) Successful in 29s
CI / Test (push) Failing after 44s
2026-03-28 15:32:21 +04:00
dc9e0f210a Hide search result markers when result is selected 2026-03-28 15:30:27 +04:00
2b219fe0cf 1.17.0
All checks were successful
CI / Lint (push) Successful in 28s
CI / Test (push) Successful in 43s
2026-03-27 15:17:16 +04:00
11 changed files with 46 additions and 13 deletions

View File

@@ -119,6 +119,28 @@ export default class MapComponent extends Component {
const searchResultStyle = (feature) => {
const originalPlace = feature.get('originalPlace');
// If this place is currently selected, hide the search result marker
// because the main red drop pin will be shown instead.
const selectedPlace = this.mapUi.selectedPlace;
if (selectedPlace) {
const isSameOsmId =
originalPlace.osmId &&
selectedPlace.osmId &&
originalPlace.osmId === selectedPlace.osmId;
const isSameId =
originalPlace.id &&
selectedPlace.id &&
originalPlace.id === selectedPlace.id;
const isSameCoords =
originalPlace.lat === selectedPlace.lat &&
originalPlace.lon === selectedPlace.lon;
if (isSameOsmId || isSameId || isSameCoords) {
return new Style({}); // Empty style makes it invisible
}
}
// Some search results might be just the place object without separate tags
// If it's a raw place object, it might have osmTags property.
// Or it might be the tags object itself.
@@ -599,6 +621,11 @@ export default class MapComponent extends Component {
const selected = this.mapUi.selectedPlace;
const options = this.mapUi.selectionOptions || {};
// Force a redraw of the search results layer so it can hide/show the selected pin
if (this.searchResultsSource) {
this.searchResultsSource.changed();
}
if (!this.selectedPinOverlay || !this.selectedPinElement) return;
// Clear any previous shape

View File

@@ -38,6 +38,7 @@ import loadingRing from '../icons/270-ring.svg?raw';
import angelfish from '@waysidemapping/pinhead/dist/icons/angelfish.svg?raw';
import barbell from '@waysidemapping/pinhead/dist/icons/barbell.svg?raw';
import climbingWall from '@waysidemapping/pinhead/dist/icons/climbing_wall.svg?raw';
import banknote from '@waysidemapping/pinhead/dist/icons/banknote.svg?raw';
import badgeShieldWithFire from '@waysidemapping/pinhead/dist/icons/badge_shield_with_fire.svg?raw';
import beachUmbrellaInGround from '@waysidemapping/pinhead/dist/icons/beach_umbrella_in_ground.svg?raw';
@@ -106,6 +107,7 @@ import womensAndMensRestroomSymbol from '@waysidemapping/pinhead/dist/icons/wome
import wikipedia from '../icons/wikipedia.svg?raw';
import parkingP from '@waysidemapping/pinhead/dist/icons/parking_p.svg?raw';
import car from '@waysidemapping/pinhead/dist/icons/car.svg?raw';
const ICONS = {
activity,
@@ -123,6 +125,7 @@ const ICONS = {
camera,
'check-square': checkSquare,
'cigarette-with-smoke-curl': cigaretteWithSmokeCurl,
climbing_wall: climbingWall,
'classical-building': classicalBuilding,
'classical-building-with-dome-and-flag': classicalBuildingWithDomeAndFlag,
'classical-building-with-flag': classicalBuildingWithFlag,
@@ -212,6 +215,7 @@ const ICONS = {
'womens-and-mens-restroom-symbol': womensAndMensRestroomSymbol,
wikipedia,
parking_p: parkingP,
car,
x,
zap,
'loading-ring': loadingRing,

View File

@@ -31,6 +31,7 @@ export const POI_ICON_RULES = [
{ tags: { amenity: 'police' }, icon: 'police-officer-with-stop-arm' },
{ tags: { amenity: 'toilets' }, icon: 'womens-and-mens-restroom-symbol' },
{ tags: { amenity: 'school' }, icon: 'open-book' },
{ tags: { amenity: 'driving_school' }, icon: 'car' },
{ tags: { shop: 'coffee' }, icon: 'coffee-bean' },
{ tags: { shop: 'tea' }, icon: 'coffee-bean' },
@@ -144,6 +145,7 @@ export const POI_ICON_RULES = [
{ tags: { sport: 'squash' }, icon: 'person-playing-tennis' },
{ tags: { sport: 'padel' }, icon: 'person-playing-tennis' },
{ tags: { sport: 'table_tennis' }, icon: 'table-tennis-paddle' },
{ tags: { sport: 'climbing' }, icon: 'climbing_wall' },
{ tags: { leisure: 'water_park' }, icon: 'person-swimming-in-water' },
{ tags: { sport: 'swimming' }, icon: 'person-swimming-in-water' },
{ tags: { sport: 'golf' }, icon: 'person-swinging-golf-club' },

View File

@@ -1,6 +1,6 @@
{
"name": "marco",
"version": "1.16.0",
"version": "1.17.2",
"private": true,
"description": "Unhosted maps app",
"repository": {
@@ -102,7 +102,7 @@
"edition": "octane"
},
"dependencies": {
"@waysidemapping/pinhead": "^15.17.0",
"@waysidemapping/pinhead": "^15.20.0",
"ember-concurrency": "^5.2.0",
"ember-lifeline": "^7.0.0"
}

10
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@waysidemapping/pinhead':
specifier: ^15.17.0
version: 15.17.0
specifier: ^15.20.0
version: 15.20.0
ember-concurrency:
specifier: ^5.2.0
version: 5.2.0(@babel/core@7.28.6)
@@ -1654,8 +1654,8 @@ packages:
peerDependencies:
'@warp-drive/core': 5.8.1
'@waysidemapping/pinhead@15.17.0':
resolution: {integrity: sha512-XcL/0Ll+gkRIpXlO+skwd6USynA+mX3DNwqrWDMhgRmLP4DNRPTeaecK64BBxk1bB/F9Xi/9kgN6JA5zbdgejQ==}
'@waysidemapping/pinhead@15.20.0':
resolution: {integrity: sha512-JD9XINaMhtEy3VEjvc+l4r1sLwbyOKoYdD2IYY2QNKP3FeeNwE/2gcUly631JH9jPymoFeOix0f3o9L/n9YDSQ==}
'@xmldom/xmldom@0.8.11':
resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
@@ -7245,7 +7245,7 @@ snapshots:
- '@glint/template'
- supports-color
'@waysidemapping/pinhead@15.17.0': {}
'@waysidemapping/pinhead@15.20.0': {}
'@xmldom/xmldom@0.8.11': {}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -39,8 +39,8 @@
<meta name="msapplication-TileColor" content="#F6E9A6">
<meta name="msapplication-TileImage" content="/icons/icon-144.png">
<script type="module" crossorigin src="/assets/main-C4F17h3W.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-CKp1bFPU.css">
<script type="module" crossorigin src="/assets/main-B8Ckz4Ru.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-OLSOzTKA.css">
</head>
<body>
</body>