From a2da01b29cc1df43509416df40f7d77993d42f7f Mon Sep 17 00:00:00 2001 From: fede Date: Fri, 14 Nov 2025 15:15:26 -0300 Subject: [PATCH] =?UTF-8?q?a=C3=B1adido=20pagina=20de=20Posts,=20una=20sto?= =?UTF-8?q?re=20para=20la=20api,=20y=20header=20para=20mobile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.d.ts | 2 -- src/lib/head/Header.svelte | 65 +++++++++++++++++++++++++++++++------- src/lib/stores/url.ts | 6 ++++ src/routes/+page.svelte | 49 ++++++++++++++++++++++++++++ src/routes/+page.ts | 16 ++++++++++ src/routes/page.js | 1 - src/types.d.ts | 14 ++++++++ 7 files changed, 138 insertions(+), 15 deletions(-) create mode 100644 src/lib/stores/url.ts create mode 100644 src/routes/+page.ts delete mode 100644 src/routes/page.js create mode 100644 src/types.d.ts diff --git a/src/app.d.ts b/src/app.d.ts index da08e6d..b3c5889 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -9,5 +9,3 @@ declare global { // interface Platform {} } } - -export {}; diff --git a/src/lib/head/Header.svelte b/src/lib/head/Header.svelte index 8b7cb74..971aff4 100644 --- a/src/lib/head/Header.svelte +++ b/src/lib/head/Header.svelte @@ -1,29 +1,27 @@
-
-
diff --git a/src/lib/stores/url.ts b/src/lib/stores/url.ts new file mode 100644 index 0000000..ccd5124 --- /dev/null +++ b/src/lib/stores/url.ts @@ -0,0 +1,6 @@ +import { dev } from '$app/environment'; +import { writable } from 'svelte/store'; + +export const apiBase = writable( + dev ? 'http://localhost:5000' : 'https://minix-back-dsuk.onrender.com' +); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index e69de29..7f8d6d2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -0,0 +1,49 @@ + + +
+
+ {#if posts.length <= 0} + + +

No hay Posts que mostrar

+
+
+ {:else} + {#each posts as post} + + +
+
+ {post.authorId} + {post.createdAt.toLocaleDateString()} +
+

{post.content}

+ {#if post.imageUrl} + Post + {/if} +
+ {post.likesCount} likes + {post.repliesCount} replies + {#if post.isEdited} + Editado + {/if} +
+
+
+
+ {/each} + {/if} +
+
diff --git a/src/routes/+page.ts b/src/routes/+page.ts new file mode 100644 index 0000000..ff3a798 --- /dev/null +++ b/src/routes/+page.ts @@ -0,0 +1,16 @@ +import { apiBase } from '@/stores/url'; + +export const ssr = true; + +export async function load({}) { + const { subscribe } = apiBase; + let baseUrl: string = ''; + + subscribe((value) => { + baseUrl = value; + })(); + + const req = await fetch(`${baseUrl}/Posts`); + if (req.ok) return { posts: req }; + else return { posts: [] }; +} diff --git a/src/routes/page.js b/src/routes/page.js deleted file mode 100644 index 77ab0a0..0000000 --- a/src/routes/page.js +++ /dev/null @@ -1 +0,0 @@ -export const ssr = true; diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..f157535 --- /dev/null +++ b/src/types.d.ts @@ -0,0 +1,14 @@ +export interface Post { + _id: string; + authorId: string; + content: string; + imageUrl?: string; + parentPostId?: string; + likesCount: number; + repliesCount: number; + createdAt: Date; + updatedAt?: Date; + isEdited: boolean; + visibility: string; + hashtags?: string[]; +}