diff --git a/config.ts b/config.ts
index 2b1b511..0dc01b0 100644
--- a/config.ts
+++ b/config.ts
@@ -9,16 +9,19 @@ export class Config {
static readonly PDS_URL: string = "https://pds.witchcraft.systems";
/**
- * The base URL of the frontend service for linking to replies
+ * The base URL of the frontend service for linking to replies/quotes/accounts etc.
* @default "https://deer.social"
*/
static readonly FRONTEND_URL: string = "https://deer.social";
/**
- * Maximum number of posts to show in the feed (across all users)
- * @default 100
+ * Maximum number of posts to fetch from the PDS per request
+ * Should be around 20 for about 10 users on the pds
+ * The more users you have, the lower the number should be
+ * since sorting is slow and is done on the frontend
+ * @default 20
*/
- static readonly MAX_POSTS: number = 100;
+ static readonly MAX_POSTS: number = 20;
/**
* Footer text for the dashboard
@@ -27,9 +30,9 @@ export class Config {
static readonly FOOTER_TEXT: string =
"Astrally projected from witchcraft.systems";
- /**
- * Whether to show the posts that are in the future
- * @default false
- */
- static readonly SHOW_FUTURE_POSTS: boolean = false;
+ /**
+ * Whether to show the posts that are in the future
+ * @default false
+ */
+ static readonly SHOW_FUTURE_POSTS: boolean = false;
}
diff --git a/deno.lock b/deno.lock
index 0616852..724a5c0 100644
--- a/deno.lock
+++ b/deno.lock
@@ -8,6 +8,7 @@
"npm:@tsconfig/svelte@^5.0.4": "5.0.4",
"npm:moment@^2.30.1": "2.30.1",
"npm:svelte-check@^4.1.5": "4.1.6_svelte@5.28.1__acorn@8.14.1_typescript@5.7.3",
+ "npm:svelte-infinite-loading@^1.4.0": "1.4.0",
"npm:svelte@^5.23.1": "5.28.1_acorn@8.14.1",
"npm:typescript@~5.7.2": "5.7.3",
"npm:vite@^6.3.1": "6.3.2_picomatch@4.0.2"
@@ -415,6 +416,9 @@
"typescript"
]
},
+ "svelte-infinite-loading@1.4.0": {
+ "integrity": "sha512-Jo+f/yr/HmZQuIiiKKzAHVFXdAUWHW2RBbrcQTil8JVk1sCm/riy7KTJVzjBgQvHasrFQYKF84zvtc9/Y4lFYg=="
+ },
"svelte@5.28.1_acorn@8.14.1": {
"integrity": "sha512-iOa9WmfNG95lSOSJdMhdjJ4Afok7IRAQYXpbnxhd5EINnXseG0GVa9j6WPght4eX78XfFez45Fi+uRglGKPV/Q==",
"dependencies": [
@@ -476,6 +480,7 @@
"npm:@tsconfig/svelte@^5.0.4",
"npm:moment@^2.30.1",
"npm:svelte-check@^4.1.5",
+ "npm:svelte-infinite-loading@^1.4.0",
"npm:svelte@^5.23.1",
"npm:typescript@~5.7.2",
"npm:vite@^6.3.1"
diff --git a/package.json b/package.json
index 9f84465..1db6461 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,8 @@
"@atcute/bluesky": "^2.0.2",
"@atcute/client": "^3.0.1",
"@atcute/identity-resolver": "^0.1.2",
- "moment": "^2.30.1"
+ "moment": "^2.30.1",
+ "svelte-infinite-loading": "^1.4.0"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.0.3",
diff --git a/src/App.svelte b/src/App.svelte
index fa5a5c1..9e36d30 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -1,10 +1,32 @@
@@ -26,17 +48,16 @@