2023-11-12 18:03:41 +01:00
|
|
|
<script lang="ts">
|
2024-01-22 20:33:12 +01:00
|
|
|
import type { Address } from '@upnd/upend/types';
|
|
|
|
import UpObject from './UpObject.svelte';
|
|
|
|
import UpLink from './UpLink.svelte';
|
2023-11-12 18:03:41 +01:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
export let address: Address;
|
|
|
|
let popup = false;
|
2023-11-12 18:03:41 +01:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
2023-11-15 17:40:38 +01:00
|
|
|
<UpLink passthrough to={{ entity: address }}>
|
2024-01-22 20:33:12 +01:00
|
|
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
|
|
<div
|
|
|
|
class="surface-point"
|
|
|
|
on:mouseover={() => (popup = true)}
|
|
|
|
on:mouseleave={() => (popup = false)}
|
|
|
|
>
|
|
|
|
{#if popup}
|
|
|
|
<div class="popup-inner">
|
|
|
|
<UpObject {address} />
|
|
|
|
</div>
|
|
|
|
{/if}
|
|
|
|
</div>
|
2023-11-15 17:40:38 +01:00
|
|
|
</UpLink>
|
2023-11-12 18:03:41 +01:00
|
|
|
|
|
|
|
<style lang="scss">
|
2024-01-22 20:33:12 +01:00
|
|
|
@use '../../styles/colors.scss';
|
2023-11-12 18:03:41 +01:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
.surface-point {
|
|
|
|
display: relative;
|
2023-11-12 18:03:41 +01:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
width: 0.75rem;
|
|
|
|
height: 0.75rem;
|
|
|
|
border-radius: 25%;
|
|
|
|
background: colors.$red;
|
|
|
|
box-shadow: 0 0 0 1px darken(colors.$red, 20%);
|
2023-11-12 18:03:41 +01:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
|
|
background: lighten(colors.$red, 20%);
|
|
|
|
}
|
|
|
|
}
|
2023-11-12 18:03:41 +01:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
.popup-inner {
|
|
|
|
position: relative;
|
|
|
|
top: 1rem;
|
|
|
|
display: inline-block;
|
|
|
|
transform: translateX(-50%);
|
|
|
|
}
|
2023-11-12 18:03:41 +01:00
|
|
|
</style>
|