diff --git a/src/lib/components/PostCard.svelte b/src/lib/components/PostCard.svelte index bf7cb96..4ab90ca 100644 --- a/src/lib/components/PostCard.svelte +++ b/src/lib/components/PostCard.svelte @@ -30,13 +30,16 @@ import DialogDescription from './ui/dialog/dialog-description.svelte'; import { sesionStore } from '@/stores/usuario'; import { likePost } from '@/hooks/likePost'; + import { goto } from '$app/navigation'; + import { resolve } from '$app/paths'; interface postProp { post: Post; postAModificar: Post | null; + update?: Function; } - let { post, postAModificar = $bindable() }: postProp = $props(); + let { post, postAModificar = $bindable(), update }: postProp = $props(); let cargandoBorrar = $state(false); let mensajeError = $state(''); @@ -82,7 +85,7 @@ likePost(post), new Promise((resolve) => setTimeout(resolve, 300)) ]); - console.log(1); + // console.log(1); if (ok) { if (post.isLiked) { post.likesCount--; @@ -94,9 +97,10 @@ errorLike = true; mensajeError = message; } - console.log(1); - updatePostStore(post.id, post); - console.log(1); + // console.log(2); + if (update) update(); + else updatePostStore(post.id, post); + // console.log(3); cargandoLike = false; } @@ -157,7 +161,7 @@ {#if post.imageUrl}
- + Post
@@ -179,7 +183,12 @@ {/if} - + + + + +{/snippet} diff --git a/src/routes/post/[idpost]/+page.ts b/src/routes/post/[idpost]/+page.ts new file mode 100644 index 0000000..44ec681 --- /dev/null +++ b/src/routes/post/[idpost]/+page.ts @@ -0,0 +1,18 @@ +import { obtenerPostPorId } from '@/hooks/obtenerPostPorId.js'; +import { obtenerRespuestasPorId } from '@/hooks/obtenerRespuestasPorId'; +import { error } from '@sveltejs/kit'; + +export async function load({ params, fetch, depends }) { + let ret = await obtenerPostPorId(params.idpost, fetch, depends); + if (ret == null) return error(404, 'no existe un post con ese id.'); + if (typeof ret == 'string') return error(500, ret); + + let respuestas = await obtenerRespuestasPorId(params.idpost, fetch, depends); + if (respuestas == null) return error(404, 'no existe un post con ese id.'); + if (typeof respuestas == 'string') return error(500, respuestas); + + return { + post: ret, + respuestas: respuestas + }; +} diff --git a/src/routes/post/[idpost]/TamañoPantalla.svelte.ts b/src/routes/post/[idpost]/TamañoPantalla.svelte.ts new file mode 100644 index 0000000..d56e0c0 --- /dev/null +++ b/src/routes/post/[idpost]/TamañoPantalla.svelte.ts @@ -0,0 +1,5 @@ +import { innerWidth } from 'svelte/reactivity/window'; +export class TamañoPantalla { + width = $derived(() => innerWidth.current || 1080); + isMobile = $derived(this.width() < 768); +}