PaginationNav
paginationnav-1779354212307.tsx
'use client';
import React from 'react';
interface PaginationNavProps {
currentPage: number;
totalPages: number;
onPageChange: (page: number) => void;
}
const PaginationNav: React.FC<PaginationNavProps> = ({ currentPage, totalPages, onPageChange }) => {
const pages = [];
for (let i = 1; i <= totalPages; i++) {
pages.push(i);
}
const handlePageChange = (page: number) => {
onPageChange(page);
};
return (
<nav className="bg-zinc-950 py-4 flex justify-center">
<button
className={`mr-2 ${currentPage === 1 ? 'text-zinc-500' : 'text-gold hover:text-gold'} transition duration-300`}
onClick={() => handlePageChange(currentPage - 1)}
disabled={currentPage === 1}
>
Prev
</button>
{pages.slice(0, 3).map((page) => (
<button
key={page}
className={`mx-1 ${currentPage === page ? 'bg-gold text-zinc-950' : 'text-gold hover:bg-gold hover:text-zinc-950'} transition duration-300 py-1 px-2 rounded`}
onClick={() => handlePageChange(page)}
>
{page}
</button>
))}
{totalPages > 5 && (
<span className="mx-1 text-zinc-500">...</span>
)}
{pages.slice(totalPages - 2, totalPages).map((page) => (
<button
key={page}
className={`mx-1 ${currentPage === page ? 'bg-gold text-zinc-950' : 'text-gold hover:bg-gold hover:text-zinc-950'} transition duration-300 py-1 px-2 rounded`}
onClick={() => handlePageChange(page)}
>
{page}
</button>
))}
<button
className={`ml-2 ${currentPage === totalPages ? 'text-zinc-500' : 'text-gold hover:text-gold'} transition duration-300`}
onClick={() => handlePageChange(currentPage + 1)}
disabled={currentPage === totalPages}
>
Next
</button>
</nav>
);
};
export default PaginationNav;Component info
CategoryNavigation
Frameworkreact
TierFREE
Views0
Copies0
About
Pagination component with ellipsis
More from Navigation
'use client';
import React, { useState } from 'react';
interface Tab {
id: number;
label: string;
}
const tabs: Tab[] = [
{ id: 1, label: 'Tab 1' },
{ id: 2, label: 'Tab 2' },
{ id: 3, label: 'Tab 3' },
{ id: 4, label: 'Tab 4' },
];
cTabsNav
Navigation
import * as React from 'react';
import * as ReactDOM from 'react-dom';
interface FloatingDockProps {
icons: { id: number; src: string; }[];
}
class FloatingDock extends React.Component<FloatingDockProps, {}> {
constructor(props: FloatingDockProFloatingDock
Navigation
// @types/react
// @types/react-dom
import React, { useState } from 'react';
import './MegaMenu.css';
interface MegaMenuProps {
title: string;
items: {
column: string;
link: string;
text: string;
}[];
}
const MegaMenu: React.FC<MeMegaMenu
Navigation
import React from 'react';
import './GlassNavbar.css';
interface Props {
title: string;
}
const GlassNavbar: React.FC<Props> = ({ title }) => {
return (
<nav className='glass-navbar'>
<div className='glass-navbar-container'>
<GlassNavbar
Navigation