+
-
+
+
+
+
+
+
+
+
+ {#if menuOpen}
+
+
+
+
+
+
+ {/if}
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}
+

+ {/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[];
+}