Skip to content

Commit 60e7bc3

Browse files
feat: update pagination settings and enhance page size selection in JobsTableCard
1 parent 72a4435 commit 60e7bc3

3 files changed

Lines changed: 11 additions & 9 deletions

File tree

frontend/src/domains/jobs/application/useJobsPagination.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ interface UseJobsPaginationParams {
1414

1515
export function useJobsPagination({
1616
filteredJobs,
17-
initialPageSize = 4,
17+
initialPageSize = 5,
1818
}: UseJobsPaginationParams) {
1919
const [page, setPage] = useState(1);
2020
const [pageSize, setPageSizeState] = useState(clampPageSize(initialPageSize));

frontend/src/domains/jobs/domain/jobPagination.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export function clampPageSize(value: number) {
33
return 1;
44
}
55

6-
return Math.min(10, Math.max(1, Math.trunc(value)));
6+
return Math.min(50, Math.max(1, Math.trunc(value)));
77
}
88

99
export function getTotalPages(totalItems: number, pageSize: number) {

frontend/src/domains/jobs/presentation/components/JobsTableCard.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -216,17 +216,19 @@ export function JobsTableCard({
216216
className="flex w-fit items-center gap-2 rounded-lg border border-border bg-background px-3 py-2 text-sm shadow-sm"
217217
>
218218
<span className="text-muted-foreground">Itens por página</span>
219-
<input
219+
<select
220220
id="page-size"
221221
aria-label="Itens por página"
222-
type="number"
223-
min={1}
224-
max={10}
225-
step={1}
226-
className="w-14 rounded-md bg-transparent text-center font-semibold text-foreground outline-none"
222+
className="w-20 rounded-md bg-background px-2 py-1 text-center font-semibold text-foreground outline-none transition-colors"
227223
value={pageSize}
228224
onChange={(event) => onPageSizeChange(Number(event.target.value))}
229-
/>
225+
>
226+
{[5, 10, 25, 50].map((size) => (
227+
<option key={size} value={size} className="bg-background text-foreground">
228+
{size}
229+
</option>
230+
))}
231+
</select>
230232
</label>
231233

232234
<nav className="flex items-center gap-1 self-end md:self-auto" aria-label="Paginação">

0 commit comments

Comments
 (0)