diff options
author | mat <github@matdoes.dev> | 2022-05-18 21:29:41 -0500 |
---|---|---|
committer | mat <github@matdoes.dev> | 2022-05-18 21:29:41 -0500 |
commit | 97688e22c8335642b72d200ce0a865353bef5207 (patch) | |
tree | e0b638cad2b38c17f84fe5270f360a21756f6728 /src/lib/AuctionPreviewTooltip.svelte | |
parent | 05bca625f53f021596bc8e84fb7ee6933114a65a (diff) | |
download | skyblock-stats-97688e22c8335642b72d200ce0a865353bef5207.tar.gz skyblock-stats-97688e22c8335642b72d200ce0a865353bef5207.tar.bz2 skyblock-stats-97688e22c8335642b72d200ce0a865353bef5207.zip |
Fix lag
Diffstat (limited to 'src/lib/AuctionPreviewTooltip.svelte')
-rw-r--r-- | src/lib/AuctionPreviewTooltip.svelte | 27 |
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 { |