Compare commits

...

6 Commits

Author SHA1 Message Date
6a83003acb 1.13.1 2026-03-11 16:30:33 +04:00
bcc7c2a011 Improve bottom card scrolling on Android 2026-03-11 16:29:31 +04:00
19f04efecb 1.13.0 2026-03-11 16:16:57 +04:00
c79bbaa41a Merge pull request 'Add email, FB, Instagram to place details' (#26) from feature/social_links into master
All checks were successful
CI / Lint (push) Successful in 21s
CI / Test (push) Successful in 34s
Reviewed-on: #26
2026-03-11 12:11:13 +00:00
b07640375a Add some white space to place details bottom
All checks were successful
CI / Lint (pull_request) Successful in 23s
CI / Test (pull_request) Successful in 39s
2026-03-11 16:07:37 +04:00
ffcb8219b0 Add email links 2026-03-11 15:22:34 +04:00
9 changed files with 34 additions and 8 deletions

View File

@@ -12,6 +12,7 @@ import home from 'feather-icons/dist/icons/home.svg?raw';
import instagram from 'feather-icons/dist/icons/instagram.svg?raw';
import logIn from 'feather-icons/dist/icons/log-in.svg?raw';
import logOut from 'feather-icons/dist/icons/log-out.svg?raw';
import mail from 'feather-icons/dist/icons/mail.svg?raw';
import map from 'feather-icons/dist/icons/map.svg?raw';
import mapPin from 'feather-icons/dist/icons/map-pin.svg?raw';
import menu from 'feather-icons/dist/icons/menu.svg?raw';
@@ -39,6 +40,7 @@ const ICONS = {
instagram,
'log-in': logIn,
'log-out': logOut,
mail,
map,
'map-pin': mapPin,
menu,

View File

@@ -111,6 +111,12 @@ export default class PlaceDetails extends Component {
);
}
if (type === 'email') {
return htmlSafe(
parts.map((p) => `<a href="mailto:${p}">${p}</a>`).join('<br>')
);
}
if (type === 'url') {
return htmlSafe(
parts
@@ -132,6 +138,11 @@ export default class PlaceDetails extends Component {
return this.formatMultiLine(val, 'phone');
}
get email() {
const val = this.tags.email || this.tags['contact:email'];
return this.formatMultiLine(val, 'email');
}
get website() {
const val =
this.place.url || this.tags.website || this.tags['contact:website'];
@@ -301,6 +312,15 @@ export default class PlaceDetails extends Component {
</p>
{{/if}}
{{#if this.email}}
<p class="content-with-icon">
<Icon @name="mail" @title="Email" />
<span>
{{this.email}}
</span>
</p>
{{/if}}
{{#if this.facebook}}
<p class="content-with-icon">
<Icon @name="facebook" @title="Facebook" />

View File

@@ -239,6 +239,7 @@ body {
.sidebar-content {
padding: 1rem;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
flex: 1; /* Take up remaining vertical space */
}
@@ -427,6 +428,10 @@ body {
justify-content: center;
}
.place-details {
padding-bottom: 2rem;
}
.place-details h3 {
font-size: 1.2rem;
margin-top: 0;
@@ -768,7 +773,6 @@ button.create-place {
.sidebar-content {
overflow-y: auto;
overscroll-behavior: contain; /* Prevent scroll chaining */
/* Ensure content doesn't get hidden behind bottom safe areas on mobile */
padding-bottom: env(safe-area-inset-bottom, 20px);

View File

@@ -1,6 +1,6 @@
{
"name": "marco",
"version": "1.12.3",
"version": "1.13.1",
"private": true,
"description": "Unhosted maps app",
"repository": {

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-dKBF4UHr.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-DoLYcE7E.css">
<script type="module" crossorigin src="/assets/main-CixkPz0h.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-CU2Ii0VD.css">
</head>
<body>
</body>