diff --git a/src/lib/components/MostrarVolver.svelte.ts b/src/lib/components/MostrarVolver.svelte.ts new file mode 100644 index 0000000..0eca109 --- /dev/null +++ b/src/lib/components/MostrarVolver.svelte.ts @@ -0,0 +1,16 @@ +export class MostrarVolver { + scrollY = $state(0); + value = $derived(this.scrollY > 500); + + constructor() { + if (typeof window !== 'undefined') { + $effect(() => { + const handleScroll = () => { + this.scrollY = window.scrollY; + }; + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }); + } + } +} diff --git a/src/lib/components/VolverArriba.svelte b/src/lib/components/VolverArriba.svelte new file mode 100644 index 0000000..83d80db --- /dev/null +++ b/src/lib/components/VolverArriba.svelte @@ -0,0 +1,27 @@ + + +{#if mostrarVolver.value} +
+
+ +
+
+{/if} diff --git a/src/routes/post/[idpost]/+page.svelte b/src/routes/post/[idpost]/+page.svelte index 85437f5..28bfcfc 100644 --- a/src/routes/post/[idpost]/+page.svelte +++ b/src/routes/post/[idpost]/+page.svelte @@ -16,7 +16,6 @@ import { sesionStore } from '@/stores/usuario'; import { likePost } from '@/hooks/likePost'; import ThumbsUp from '@lucide/svelte/icons/thumbs-up'; - import { TamañoPantalla } from './TamañoPantalla.svelte'; import BotonSeguir from '@/components/BotonSeguir.svelte'; import Pen from '@lucide/svelte/icons/pen'; import Trash_2 from '@lucide/svelte/icons/trash-2'; @@ -26,6 +25,7 @@ import { deletePost } from '@/hooks/deletePost'; import { flip } from 'svelte/animate'; import { obtenerRespuestasPorId } from '@/hooks/obtenerRespuestasPorId'; + import VolverArriba from '@/components/VolverArriba.svelte'; interface Prop { data: { @@ -34,8 +34,6 @@ }; } - let tamaño = new TamañoPantalla(); - let { data }: Prop = $props(); let respuestasPaginadas: Post[] = $state([]); @@ -154,6 +152,8 @@ {/if} + + {#snippet Respuesta(post: Post)}