8 Commits

Author SHA1 Message Date
41d61be42e 1.8.10 2026-01-27 08:55:23 +07:00
06b47d96a7 Fix search results scrolling behavior 2026-01-27 08:54:42 +07:00
e8af959be6 Improve search results layout/styling 2026-01-27 08:54:38 +07:00
254e177cbf Update README 2026-01-26 19:55:18 +07:00
47fbc8e7cf Use published places module 2026-01-26 18:12:29 +07:00
4ad0df22e2 1.8.9 2026-01-26 17:53:09 +07:00
0decb4cf1b Optimize animations on iOS 2026-01-26 17:52:41 +07:00
2193f935cc Change default center and zoom to show the world on desktop 2026-01-26 17:52:14 +07:00
14 changed files with 52 additions and 25 deletions

View File

@@ -73,6 +73,7 @@ To run the script, you need `imagemagick` and `librsvg` installed:
- [ember.js](https://emberjs.com/)
- [remoteStorage.js](https://remotestorage.io/rs.js/docs/)
- [@remotestorage/module-places](https://gitea.kosmos.org/raucao/remotestorage-module-places)
- [Vite](https://vite.dev)
- Development Browser Extensions
- [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)

View File

@@ -17,6 +17,7 @@ import navigation from 'feather-icons/dist/icons/navigation.svg?raw';
import phone from 'feather-icons/dist/icons/phone.svg?raw';
import server from 'feather-icons/dist/icons/server.svg?raw';
import settings from 'feather-icons/dist/icons/settings.svg?raw';
import target from 'feather-icons/dist/icons/target.svg?raw';
import user from 'feather-icons/dist/icons/user.svg?raw';
import x from 'feather-icons/dist/icons/x.svg?raw';
import zap from 'feather-icons/dist/icons/zap.svg?raw';
@@ -38,6 +39,7 @@ const ICONS = {
phone,
server,
settings,
target,
user,
x,
zap,

View File

@@ -61,8 +61,8 @@ export default class MapComponent extends Component {
});
// Default view settings
let center = [99.05738, 7.55087];
let zoom = 13.0;
let center = [14.21683569, 27.060114248];
let zoom = 2.661;
// Try to restore from localStorage
try {

View File

@@ -122,7 +122,7 @@ export default class PlacesSidebar extends Component {
try {
const savedPlace = await this.storage.updatePlace(updatedPlace);
console.log('Place updated:', savedPlace.title);
// Notify parent to refresh map/lists
if (this.args.onBookmarkChange) {
this.args.onBookmarkChange();
@@ -148,7 +148,7 @@ export default class PlacesSidebar extends Component {
{{on "click" this.clearSelection}}
><Icon @name="arrow-left" @size={{20}} @color="#333" /></button>
{{else}}
<h2>Nearby Places</h2>
<h2><Icon @name="target" @size={{20}} @color="#ea4335" /> Nearby</h2>
{{/if}}
<button type="button" class="close-btn" {{on "click" @onClose}}><Icon
@name="x"

View File

@@ -226,10 +226,15 @@ body {
.sidebar-header h2 {
margin: 0;
font-size: 1.2rem;
display: flex;
align-items: center;
gap: 0.5rem;
}
.sidebar-content {
padding: 1rem;
overflow-y: auto;
flex: 1; /* Take up remaining vertical space */
}
.edit-form {
@@ -365,29 +370,31 @@ body {
.places-list {
list-style: none;
padding: 0;
margin: 0;
margin: -1rem -1rem 0 -1rem;
}
.places-list li {
margin-bottom: 0.5rem;
}
.place-item {
width: 100%;
text-align: left;
background: #f8f9fa;
border: 1px solid #ddd;
padding: 0.75rem;
border-radius: 4px;
border: none;
border-bottom: 1px solid #eee;
background: #fff;
color: #333;
padding: 1rem;
cursor: pointer;
transition: background 0.2s;
font-family: inherit;
}
.place-item:hover {
background: #e9ecef;
background: #eee;
}
.place-name {
font-size: 1rem;
font-weight: bold;
margin-bottom: 0.25rem;
}
@@ -502,11 +509,15 @@ body {
border: 2px solid rgb(255 204 51 / 80%); /* Gold/Yellow to match markers */
background: rgb(255 204 51 / 20%);
position: absolute;
transform: translate(-50%, -50%);
/* Use translate3d for GPU acceleration on iOS */
transform: translate3d(-50%, -50%, 0);
pointer-events: none;
animation: pulse 1.5s infinite ease-out;
box-sizing: border-box; /* Ensure border is included in width/height */
display: none; /* Hidden by default */
will-change: transform, opacity;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.search-pulse.active {
@@ -520,12 +531,12 @@ body {
@keyframes pulse {
0% {
transform: translate(-50%, -50%) scale(0.8);
transform: translate3d(-50%, -50%, 0) scale(0.8);
opacity: 0.8;
}
100% {
transform: translate(-50%, -50%) scale(1.4);
transform: translate3d(-50%, -50%, 0) scale(1.4);
opacity: 0;
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "marco",
"version": "1.8.8",
"version": "1.8.10",
"private": true,
"description": "Unhosted maps app",
"repository": {
@@ -50,7 +50,7 @@
"@embroider/vite": "^1.5.0",
"@eslint/js": "^9.39.2",
"@glimmer/component": "^2.0.0",
"@remotestorage/module-places": "link:vendor/remotestorage-module-places",
"@remotestorage/module-places": "1.x",
"@rollup/plugin-babel": "^6.1.0",
"@warp-drive/core": "~5.8.0",
"@warp-drive/ember": "~5.8.0",

18
pnpm-lock.yaml generated
View File

@@ -52,8 +52,8 @@ importers:
specifier: ^2.0.0
version: 2.0.0
'@remotestorage/module-places':
specifier: link:vendor/remotestorage-module-places
version: link:vendor/remotestorage-module-places
specifier: 1.x
version: 1.0.0
'@rollup/plugin-babel':
specifier: ^6.1.0
version: 6.1.0(@babel/core@7.28.6)(rollup@4.55.1)
@@ -1377,6 +1377,9 @@ packages:
resolution: {integrity: sha512-4rdu8GPY9TeQwsYp5D2My74dC3dSVS3tghAvisG80ybK4lqa0gvlrglaSTBxogJbxqHRw/NjI/liEtb3+SD+Bw==}
engines: {node: '>=18.12'}
'@remotestorage/module-places@1.0.0':
resolution: {integrity: sha512-vaqJeTw658gjPyLz70Mq2AbGfDZ66O2mpDFME+gtaGFYl2+UvrvRLCrXWHYuyTE21f3TJdegeXM6C5nZMxLv9A==}
'@rollup/plugin-babel@6.1.0':
resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==}
engines: {node: '>=14.0.0'}
@@ -5180,6 +5183,10 @@ packages:
engines: {node: '>=0.8.0'}
hasBin: true
ulid@3.0.2:
resolution: {integrity: sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==}
hasBin: true
underscore.string@3.3.6:
resolution: {integrity: sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==}
@@ -6967,6 +6974,11 @@ snapshots:
'@pnpm/error': 1000.0.5
find-up: 5.0.0
'@remotestorage/module-places@1.0.0':
dependencies:
latlon-geohash: 2.0.0
ulid: 3.0.2
'@rollup/plugin-babel@6.1.0(@babel/core@7.28.6)(rollup@4.55.1)':
dependencies:
'@babel/core': 7.28.6
@@ -11449,6 +11461,8 @@ snapshots:
uglify-js@3.19.3:
optional: true
ulid@3.0.2: {}
underscore.string@3.3.6:
dependencies:
sprintf-js: 1.1.3

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

@@ -26,8 +26,8 @@
<meta name="msapplication-TileColor" content="#F6E9A6">
<meta name="msapplication-TileImage" content="/icons/icon-144.png">
<script type="module" crossorigin src="/assets/main-DDLOjoTU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-CNGeKCiD.css">
<script type="module" crossorigin src="/assets/main-Din37YgL.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-iBIZAPnF.css">
</head>
<body>
</body>

View File

@@ -1 +0,0 @@
/home/basti/src/remotestorage/modules/remotestorage-module-places