diff --git a/package.json b/package.json
index 034e38d..79ea906 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"@playwright/test": "^1.28.1",
"@rgossiaux/svelte-headlessui": "^1.0.2",
"@sveltejs/adapter-auto": "^1.0.0",
+ "@sveltejs/adapter-static": "^2.0.0",
"@sveltejs/adapter-vercel": "^1.0.5",
"@sveltejs/kit": "^1.0.0",
"@types/postcss-preset-env": "^8.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 53a0e4f..cdc50fc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,6 +9,7 @@ specifiers:
'@playwright/test': ^1.28.1
'@rgossiaux/svelte-headlessui': ^1.0.2
'@sveltejs/adapter-auto': ^1.0.0
+ '@sveltejs/adapter-static': ^2.0.0
'@sveltejs/adapter-vercel': ^1.0.5
'@sveltejs/kit': ^1.0.0
'@types/postcss-preset-env': ^8.0.0
@@ -48,6 +49,7 @@ devDependencies:
'@playwright/test': 1.29.2
'@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.55.1
'@sveltejs/adapter-auto': 1.0.2_@sveltejs+kit@1.2.2
+ '@sveltejs/adapter-static': 2.0.0_@sveltejs+kit@1.2.2
'@sveltejs/adapter-vercel': 1.0.5_@sveltejs+kit@1.2.2
'@sveltejs/kit': 1.2.2_svelte@3.55.1+vite@4.0.4
'@types/postcss-preset-env': 8.0.0_postcss@8.4.21
@@ -696,6 +698,14 @@ packages:
import-meta-resolve: 2.2.1
dev: true
+ /@sveltejs/adapter-static/2.0.0_@sveltejs+kit@1.2.2:
+ resolution: {integrity: sha512-M9F8EyCIdVcpZu0zvS7U7v+rc7elNNDUkMHLsOkJYlfQ9rDdif3fqteMqddcrq1lFPEGH1ErdTjpsXdb3k1e8w==}
+ peerDependencies:
+ '@sveltejs/kit': ^1.5.0
+ dependencies:
+ '@sveltejs/kit': 1.2.2_svelte@3.55.1+vite@4.0.4
+ dev: true
+
/@sveltejs/adapter-vercel/1.0.5_@sveltejs+kit@1.2.2:
resolution: {integrity: sha512-TnFw+2ZwUuzguIeh013h0eiFmHylBuL1aV3jcUWbJmBLRo6YA0Ti8X8VXgFP4izP7XGuLKdpUIMg7HaZe21LbA==}
peerDependencies:
diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte
new file mode 100644
index 0000000..b6cec13
--- /dev/null
+++ b/src/lib/components/pagination/index.svelte
@@ -0,0 +1,85 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/lib/stores/articleStore.ts b/src/lib/stores/articleStore.ts
index 927fa38..f782b60 100644
--- a/src/lib/stores/articleStore.ts
+++ b/src/lib/stores/articleStore.ts
@@ -6,6 +6,7 @@ const state = () => {
const { subscribe, set, update } = writable([]);
function addAll(articles: Article[]) {
+ // console.log(typeof articles);
for (const article of articles) {
add(article);
}
diff --git a/src/lib/types/pageQuery.ts b/src/lib/types/pageQuery.ts
index f03201a..57bfb5f 100644
--- a/src/lib/types/pageQuery.ts
+++ b/src/lib/types/pageQuery.ts
@@ -1,5 +1,8 @@
-export type PageQuery {
+export type PageQuery = {
sort: string;
perPage: number;
since: number;
-}
\ No newline at end of file
+ page: number;
+ tags: string;
+ content: 'metadata' | 'full';
+};
diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts
deleted file mode 100644
index ca7eae2..0000000
--- a/src/routes/+layout.server.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export const prerender = true;
-import { type ServerLoad } from '@sveltejs/kit';
-
-export const load: ServerLoad = async ({ isDataRequest, cookies, params, setHeaders }) => {
- const queryParams = {
- // ids: `${params?.id}`,
- // fields:
- // 'id,name,price,min_age,min_players,max_players,thumb_url,playtime,min_playtime,max_playtime,min_age,description,year_published,url,image_url'
- };
-
- const initialRequest = !isDataRequest;
- console.log(`Is initialRequest: ${initialRequest}`);
-
- const cacheValue = `${initialRequest ? +new Date() : cookies.get('articles-cache')}`;
- console.log(`Cache Value: ${cacheValue}`);
-
- if (initialRequest) {
- cookies.set('articles-cache', cacheValue, { path: '/', httpOnly: false });
- }
-
- return {
- articlesCacheBust: cacheValue
- };
-};
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
deleted file mode 100644
index 0929c1e..0000000
--- a/src/routes/+layout.svelte
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-{#if !dev}
-
-{/if}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts
new file mode 100644
index 0000000..0408a89
--- /dev/null
+++ b/src/routes/+layout.ts
@@ -0,0 +1,3 @@
+;
+
+export const load: PageLoad = async () => {};
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 243f824..3c58e7f 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,8 +1,7 @@
+
+{#if $page.status === 404}
+ Sorry page not found! 🤷🏼
+ You just hit a route that doesn't exist.
+{/if}
+
+{#if $page.status === 500}
+ Sorry an unexpected error occurred! 😿
+ Please try again later.
+{/if}
\ No newline at end of file
diff --git a/src/routes/articles/+page.ts b/src/routes/articles/+page.ts
deleted file mode 100644
index e0445d4..0000000
--- a/src/routes/articles/+page.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { getCurrentCookieValue } from '$lib/util/cookieUtils';
-import type { Article } from '$root/lib/types/article';
-import type { PageLoad } from './$types';
-
-export const load: PageLoad = async ({ fetch, parent, url, setHeaders }) => {
- const parentData = await parent();
-
- const cacheBust = getCurrentCookieValue('articles-cache') || parentData.articlesCacheBust;
- // const search = url.searchParams.get('search') || '';
-
- const resp = await fetch(`/api/articles?cache=${cacheBust}`);
- const articles: Article[] = await resp.json();
-
- return {
- articles
- };
-};
diff --git a/src/routes/articles/+page.svelte b/src/routes/articles/[page]/+page.svelte
similarity index 55%
rename from src/routes/articles/+page.svelte
rename to src/routes/articles/[page]/+page.svelte
index 8755e4f..4de8677 100644
--- a/src/routes/articles/+page.svelte
+++ b/src/routes/articles/[page]/+page.svelte
@@ -1,30 +1,43 @@
-
+
Favorite Tech Articles
-
+ />
{#each articles as article (article.hashed_url)}
{/each}
-
+ />
\ No newline at end of file
diff --git a/src/routes/uses/+page.server.ts b/src/routes/uses/+page.server.ts
deleted file mode 100644
index 189f71e..0000000
--- a/src/routes/uses/+page.server.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const prerender = true;