aboutsummaryrefslogtreecommitdiff
path: root/src/lib/AuctionPreviewTooltip.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/AuctionPreviewTooltip.svelte')
-rw-r--r--src/lib/AuctionPreviewTooltip.svelte27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/lib/AuctionPreviewTooltip.svelte b/src/lib/AuctionPreviewTooltip.svelte
index 39a2370..26b01d9 100644
--- a/src/lib/AuctionPreviewTooltip.svelte
+++ b/src/lib/AuctionPreviewTooltip.svelte
@@ -5,9 +5,11 @@
export let preview: PreviewedAuctionData | null
let lastPreview: PreviewedAuctionData | null
- $: lastPreview = preview ?? lastPreview
+ $: {
+ lastPreview = preview ?? lastPreview
+ }
- function onClick(e: MouseEvent) {
+ function onMouseMove(e: MouseEvent) {
// commented out because it doesn't work: sometimes e.target is null when we click a point
if (e.target && !(e.target as HTMLElement).closest('.item-auction-history')) {
preview = null
@@ -16,29 +18,32 @@
}
</script>
-<svelte:body on:mousemove={onClick} />
+<svelte:body on:mousemove={onMouseMove} />
{#if lastPreview}
<div
- id="auction-preview-tooltip"
- class:hidden={preview === null}
- style="left: {lastPreview.pageX}px; top: {lastPreview.pageY}px"
+ id="auction-preview-tooltip-container"
+ style={lastPreview ? `left: ${lastPreview.pageX}px; top: ${lastPreview.pageY}px` : undefined}
out:fade={{ duration: 100 }}
in:fade={{ duration: 100 }}
>
- <p><b>{lastPreview.auction.coins.toLocaleString()}</b> coins</p>
- <time>{new Date(lastPreview.auction.ts * 1000).toLocaleString()}</time>
+ <div id="auction-preview-tooltip">
+ <p><b>{lastPreview.auction.coins.toLocaleString()}</b> coins</p>
+ <time>{new Date(lastPreview.auction.ts * 1000).toLocaleString()}</time>
+ </div>
</div>
{/if}
<style>
- #auction-preview-tooltip {
+ #auction-preview-tooltip-container {
position: absolute;
+ pointer-events: none;
+ transition: left 200ms linear, top 200ms linear;
+ }
+ #auction-preview-tooltip {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(0, 0, 0, 0.1);
padding: 0.5em;
- transition: left 200ms, top 200ms;
- pointer-events: none;
}
p {