diff --git a/src/assets/scss/_leaflet.scss b/src/assets/scss/_leaflet.scss index 396f8291..cf9864b4 100644 --- a/src/assets/scss/_leaflet.scss +++ b/src/assets/scss/_leaflet.scss @@ -103,14 +103,14 @@ text-underline-offset: 2px; text-decoration: underline; - &:hover { + &:hover, + &:focus-visible { text-decoration: none; color: var(--green-500); } } .map-link { - margin-top: .5rem; display: inline-flex; align-items: center; gap: .5ch; @@ -123,7 +123,13 @@ .tooltip-content > * + * { margin: 0; - margin-top: .4em; + margin-top: .66em; + } + + .tooltip-footer { + display: grid; + gap: .15em; + font-size: .95em; } } } diff --git a/src/components/global/CopyText.astro b/src/components/global/CopyText.astro new file mode 100644 index 00000000..3eebe718 --- /dev/null +++ b/src/components/global/CopyText.astro @@ -0,0 +1,81 @@ +--- +import { t } from '@/i18n/store'; +import { getLangFromUrl } from '@/i18n/utils'; + +interface Props { + text: string, +} + +const { text } = Astro.props + +const lang = getLangFromUrl(Astro.url); +const placeholder = t('common.copyLink', lang) +const message = t('common.copiedLink', lang) +--- + + + + + + diff --git a/src/components/maps/Map.astro b/src/components/maps/Map.astro index 883e5719..ad059353 100644 --- a/src/components/maps/Map.astro +++ b/src/components/maps/Map.astro @@ -4,6 +4,8 @@ import type { MapProps } from '@/types/Map'; import MarkerCreator from './overlay/MarkerCreator.vue'; import { t } from '@/i18n/store'; import { getLangFromUrl } from '@/i18n/utils'; +import { normalizeString } from '@/utils/Strings'; +import CopyText from '../global/CopyText.astro'; interface Props extends MapProps {} @@ -33,32 +35,44 @@ const seeMapText = t('maps.go-to-map', lang) - {markers.map((m, index) => ( - - ))} +
+ {markers.map((m, index) => ( + + ))} +