diff --git a/src/lib/components/SEO.svelte b/src/lib/components/SEO.svelte index 0c9e83f..a2c88db 100644 --- a/src/lib/components/SEO.svelte +++ b/src/lib/components/SEO.svelte @@ -9,7 +9,7 @@ siteUrl, }; - export let title = defaultMetadata.defaultTitle; + export let title: string; export let description = defaultMetadata.defaultDescription; export let image = defaultMetadata.defaultImage; export let location: string = ''; @@ -23,7 +23,7 @@ - {`${seo.title} - ${defaultMetadata.defaultTitle}`} + {`${seo.title} | ${defaultMetadata.defaultTitle}`} diff --git a/src/lib/components/footer/index.svelte b/src/lib/components/footer/index.svelte index 73f0bb3..51aadec 100644 --- a/src/lib/components/footer/index.svelte +++ b/src/lib/components/footer/index.svelte @@ -16,7 +16,7 @@ Portfolio Uses Privacy - Favorite Articles + Favorite Articles

diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte index b6cec13..29803fa 100644 --- a/src/lib/components/pagination/index.svelte +++ b/src/lib/components/pagination/index.svelte @@ -7,18 +7,11 @@ export let base: string; // make some variables - console.log(`Total count: ${totalCount}`); - console.log(`Page Size: ${pageSize}`); - const totalPages = Math.ceil(totalCount / pageSize); - console.log(`Total Pages: ${totalPages}`) - console.log(`Current Page: ${currentPage} and type: ${typeof currentPage}`) - let prevPage = currentPage - 1; - console.log(`PrevPage: ${prevPage}`) - console.log(`Pagination current Page: ${currentPage}`) - let nextPage = currentPage + 1; - let hasNextPage = nextPage <= totalPages; - let hasPrevPage = prevPage >= 1; - console.log({ nextPage, hasNextPage, hasPrevPage }) + $: totalPages = Math.ceil(totalCount / pageSize); + $: prevPage = currentPage - 1; + $: nextPage = currentPage + 1; + $: hasNextPage = nextPage <= totalPages; + $: hasPrevPage = prevPage >= 1;

diff --git a/src/routes/articles/+error.svelte b/src/routes/articles/+error.svelte deleted file mode 100644 index eb7b36c..0000000 --- a/src/routes/articles/+error.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - -{#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.svelte b/src/routes/articles/+page.svelte new file mode 100644 index 0000000..d70ffca --- /dev/null +++ b/src/routes/articles/+page.svelte @@ -0,0 +1 @@ +

Articles

\ No newline at end of file diff --git a/src/routes/articles/+page.ts b/src/routes/articles/+page.ts new file mode 100644 index 0000000..4f6aabd --- /dev/null +++ b/src/routes/articles/+page.ts @@ -0,0 +1,6 @@ +import { redirect } from '@sveltejs/kit'; +import type { PageServerLoad } from './$types'; + +export const load = async () => { + throw redirect(302, '/articles/1'); +}; diff --git a/src/routes/articles/[page]/+page.server.ts b/src/routes/articles/[page]/+page.server.ts new file mode 100644 index 0000000..3d2724b --- /dev/null +++ b/src/routes/articles/[page]/+page.server.ts @@ -0,0 +1,27 @@ +import type { PageServerLoad } from './$types'; +import type { Article } from '$root/lib/types/article'; + +export const load: PageServerLoad = async ({ fetch, params }) => { + const { page } = params; + const resp = await fetch(`/api/articles?page=${page}`); + const { + articles, + currentPage, + totalPages, + limit, + totalArticles + }: { + articles: Article[]; + currentPage: number; + totalPages: number; + limit: number; + totalArticles: number; + } = await resp.json(); + return { + articles, + currentPage, + totalPages, + limit, + totalArticles + }; +}; diff --git a/src/routes/articles/[page]/+page.svelte b/src/routes/articles/[page]/+page.svelte index 4de8677..a59ef18 100644 --- a/src/routes/articles/[page]/+page.svelte +++ b/src/routes/articles/[page]/+page.svelte @@ -10,23 +10,14 @@ export let data: PageData; let articles: Article[]; $: ({ articles, currentPage, totalPages, totalArticles, limit } = data); - // let currentPage: number; - // let perPage: number; - // let maxPages: number; - // $: ({ currentPage, perPage, maxPages } = $page?.data); - // console.log('Articles Page params', $page?.params); - // console.log('Articles Page', { currentPage, perPage, maxPages }); - // console.log(`Page data: ${JSON.stringify(data)}`) - // console.log(`Article Page Path Slug ${$page.params.page}`); - // console.log(`Article Page Current Page: ${currentPage}`) - // $: start = (currentPage - 1) * perPage; - // $: skip = currentPage * perPage; - // console.log(`Article Store size: ${$articleStore.length}`); - - // $: articles = $articleStore.slice(start, start + perPage); + console.log(`Article +page currentPage: ${currentPage}`); + console.log({ articles, currentPage, totalPages, totalArticles, limit }); - + + {`Tech Articles - Page ${currentPage} | Bradley Shellnut`} + +

Favorite Tech Articles

diff --git a/src/routes/articles/[page]/+page.ts b/src/routes/articles/[page]/+page.ts deleted file mode 100644 index 2845433..0000000 --- a/src/routes/articles/[page]/+page.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { PageLoad } from './$types'; -import type { Article } from '$root/lib/types/article'; - -export const load: PageLoad = async ({ fetch, params }) => { - const { page } = params; - const resp = await fetch(`/api/articles?page=${page}`); - const { - articles, - currentPage, - totalPages, - limit, - totalArticles - }: { - articles: Article[]; - currentPage: number; - totalPages: number; - limit: number; - totalArticles: number; - } = await resp.json(); - return { - articles, - currentPage, - totalPages, - limit, - totalArticles - }; - // console.log(`Page: ${page}`); - // try { - // if (page && +page <= 5 && +page > 0) { - // return { - // currentPage: +page, - // perPage: parentData?.perPage, - // maxPages: parentData?.totalPages - // }; - // } else { - // console.log('Page load error 404'); - // throw error(404, 'Not found'); - // } - // } catch (e) { - // console.error(e); - // throw error(500, 'Error'); - // } -};