Add email links

This commit is contained in:
2026-03-11 15:22:34 +04:00
parent e01cb2ce6f
commit ffcb8219b0
2 changed files with 22 additions and 0 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 instagram from 'feather-icons/dist/icons/instagram.svg?raw';
import logIn from 'feather-icons/dist/icons/log-in.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 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 map from 'feather-icons/dist/icons/map.svg?raw';
import mapPin from 'feather-icons/dist/icons/map-pin.svg?raw'; import mapPin from 'feather-icons/dist/icons/map-pin.svg?raw';
import menu from 'feather-icons/dist/icons/menu.svg?raw'; import menu from 'feather-icons/dist/icons/menu.svg?raw';
@@ -39,6 +40,7 @@ const ICONS = {
instagram, instagram,
'log-in': logIn, 'log-in': logIn,
'log-out': logOut, 'log-out': logOut,
mail,
map, map,
'map-pin': mapPin, 'map-pin': mapPin,
menu, 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') { if (type === 'url') {
return htmlSafe( return htmlSafe(
parts parts
@@ -132,6 +138,11 @@ export default class PlaceDetails extends Component {
return this.formatMultiLine(val, 'phone'); return this.formatMultiLine(val, 'phone');
} }
get email() {
const val = this.tags.email || this.tags['contact:email'];
return this.formatMultiLine(val, 'email');
}
get website() { get website() {
const val = const val =
this.place.url || this.tags.website || this.tags['contact:website']; this.place.url || this.tags.website || this.tags['contact:website'];
@@ -301,6 +312,15 @@ export default class PlaceDetails extends Component {
</p> </p>
{{/if}} {{/if}}
{{#if this.email}}
<p class="content-with-icon">
<Icon @name="mail" @title="Email" />
<span>
{{this.email}}
</span>
</p>
{{/if}}
{{#if this.facebook}} {{#if this.facebook}}
<p class="content-with-icon"> <p class="content-with-icon">
<Icon @name="facebook" @title="Facebook" /> <Icon @name="facebook" @title="Facebook" />