Files
how2ice 005cf56baf
Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
init project
2025-12-12 14:26:25 +09:00

87 lines
2.1 KiB
TypeScript

import Box from '@mui/joy/Box';
import Button from '@mui/joy/Button';
import IconButton, { iconButtonClasses } from '@mui/joy/IconButton';
import Typography from '@mui/joy/Typography';
import ArrowBackIosRoundedIcon from '@mui/icons-material/ArrowBackIosRounded';
import ArrowForwardIosRoundedIcon from '@mui/icons-material/ArrowForwardIosRounded';
export default function Pagination() {
return (
<div>
<Box
className="Pagination-mobile"
sx={{
display: { xs: 'flex', md: 'none' },
alignItems: 'center',
mx: 2,
my: 1,
}}
>
<IconButton
aria-label="previous page"
variant="outlined"
color="neutral"
size="sm"
>
<ArrowBackIosRoundedIcon />
</IconButton>
<Typography level="body-sm" sx={{ mx: 'auto' }}>
Page 1 of 10
</Typography>
<IconButton
aria-label="next page"
variant="outlined"
color="neutral"
size="sm"
>
<ArrowForwardIosRoundedIcon />
</IconButton>
</Box>
<Box
className="Pagination-laptopUp"
sx={{
gap: 1,
[`& .${iconButtonClasses.root}`]: { borderRadius: '50%' },
display: {
xs: 'none',
md: 'flex',
},
mx: 4,
my: 2,
}}
>
<Button
size="sm"
variant="plain"
color="neutral"
startDecorator={<ArrowBackIosRoundedIcon />}
>
Previous
</Button>
<Box sx={{ flex: 1 }} />
{['1', '2', '3', '…', '8', '9', '10'].map((page) => (
<IconButton
key={page}
size="sm"
variant={Number(page) ? 'plain' : 'soft'}
color="neutral"
>
{page}
</IconButton>
))}
<Box sx={{ flex: 1 }} />
<Button
size="sm"
variant="plain"
color="neutral"
endDecorator={<ArrowForwardIosRoundedIcon />}
>
Next
</Button>
</Box>
</div>
);
}