mirror of
				https://github.com/valentineus/popov.link.git
				synced 2025-11-04 14:59:45 +03:00 
			
		
		
		
	Refactor Pagination component to update page size in getStaticPaths
This commit is contained in:
		@@ -1,7 +1,4 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
import Next from "./Pagination/Next.astro";
 | 
					 | 
				
			||||||
import Prev from "./Pagination/Prev.astro";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type Props = {
 | 
					type Props = {
 | 
				
			||||||
	readonly nextUrl?: string;
 | 
						readonly nextUrl?: string;
 | 
				
			||||||
	readonly prevUrl?: string;
 | 
						readonly prevUrl?: string;
 | 
				
			||||||
@@ -12,13 +9,27 @@ const { nextUrl, prevUrl } = Astro.props;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<style lang="scss">
 | 
					<style lang="scss">
 | 
				
			||||||
	div {
 | 
						div {
 | 
				
			||||||
		overflow: hidden;
 | 
							text-align: center;
 | 
				
			||||||
		padding: 3rem 0;
 | 
						}
 | 
				
			||||||
		width: 100%;
 | 
					
 | 
				
			||||||
 | 
						span {
 | 
				
			||||||
 | 
							margin: 0 2em;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div>
 | 
					<div>
 | 
				
			||||||
	{prevUrl && <Prev url={prevUrl} />}
 | 
						{
 | 
				
			||||||
	{nextUrl && <Next url={nextUrl} />}
 | 
							prevUrl && (
 | 
				
			||||||
 | 
								<span>
 | 
				
			||||||
 | 
									<a href={prevUrl}>< Prev</a>
 | 
				
			||||||
 | 
								</span>
 | 
				
			||||||
 | 
							)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							nextUrl && (
 | 
				
			||||||
 | 
								<span>
 | 
				
			||||||
 | 
									<a href={nextUrl}>Next ></a>
 | 
				
			||||||
 | 
								</span>
 | 
				
			||||||
 | 
							)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
type Props = {
 | 
					 | 
				
			||||||
	readonly url: string;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const { url } = Astro.props;
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<style lang="scss">
 | 
					 | 
				
			||||||
	span {
 | 
					 | 
				
			||||||
		float: right;
 | 
					 | 
				
			||||||
		max-width: 40%;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<span>
 | 
					 | 
				
			||||||
	<a href={url}>Next ></a>
 | 
					 | 
				
			||||||
</span>
 | 
					 | 
				
			||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
type Props = {
 | 
					 | 
				
			||||||
	readonly url: string;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const { url } = Astro.props;
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<style lang="scss">
 | 
					 | 
				
			||||||
	span {
 | 
					 | 
				
			||||||
		float: left;
 | 
					 | 
				
			||||||
		max-width: 40%;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<span>
 | 
					 | 
				
			||||||
	<a href={url}>< Prev</a>
 | 
					 | 
				
			||||||
</span>
 | 
					 | 
				
			||||||
@@ -12,7 +12,7 @@ export const getStaticPaths = (async ({ paginate }) => {
 | 
				
			|||||||
	posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
 | 
						posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return paginate(posts, {
 | 
						return paginate(posts, {
 | 
				
			||||||
		pageSize: 5,
 | 
							pageSize: 10,
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
}) satisfies GetStaticPaths;
 | 
					}) satisfies GetStaticPaths;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user