diff --git a/src/routes/api/articles/+server.ts b/src/routes/api/articles/+server.ts index d5dcdee..6323b82 100644 --- a/src/routes/api/articles/+server.ts +++ b/src/routes/api/articles/+server.ts @@ -2,25 +2,13 @@ import { json } from '@sveltejs/kit'; import type { RequestHandler, RequestEvent } from './$types'; import { fetchArticlesApi } from '$root/routes/api'; -export const GET: RequestHandler = async ({ url, setHeaders }: RequestEvent) => { +export const GET: RequestHandler = async ({ url }: RequestEvent) => { try { const response = await fetchArticlesApi('get', `fetchArticles`, { page: url?.searchParams?.get('page') || '1' }); if (response?.articles) { - if (response?.cacheControl) { - if (!response.cacheControl.includes('no-cache')) { - setHeaders({ - 'cache-control': response?.cacheControl - }); - } else { - setHeaders({ - 'cache-control': 'max-age=43200' - }); - } - } - return json(response); } } catch (error) { diff --git a/src/routes/articles/[page]/+page.server.ts b/src/routes/articles/[page]/+page.server.ts index 2440a62..76df7eb 100644 --- a/src/routes/articles/[page]/+page.server.ts +++ b/src/routes/articles/[page]/+page.server.ts @@ -7,13 +7,24 @@ export type ArticlePageLoad = { totalPages: number; limit: number; totalArticles: number; + cacheControl: string; }; -export const load: PageServerLoad = async ({ fetch, params }) => { +export const load: PageServerLoad = async ({ fetch, params, setHeaders }) => { const { page } = params; const resp = await fetch(`/api/articles?page=${page}`); - const { articles, currentPage, totalPages, limit, totalArticles }: ArticlePageLoad = + const { articles, currentPage, totalPages, limit, totalArticles, cacheControl }: ArticlePageLoad = await resp.json(); + + if (cacheControl?.includes('no-cache')) { + setHeaders({ + 'cache-control': cacheControl + }); + } else { + setHeaders({ + 'cache-control': 'max-age=43200' // 12 hours + }); + } return { articles, currentPage, diff --git a/src/routes/articles/[page]/+page.svelte b/src/routes/articles/[page]/+page.svelte index 2d6d014..8437e4d 100644 --- a/src/routes/articles/[page]/+page.svelte +++ b/src/routes/articles/[page]/+page.svelte @@ -11,9 +11,13 @@ let totalArticles: number; let limit: number; $: ({ articles, currentPage, totalPages, totalArticles, limit } = data); + $: seoTitle = `Tech Articles - Page ${currentPage} | Bradley Shellnut`; - + + {seoTitle} + +

Favorite Tech Articles