Skip to content

Commit fe00765

Browse files
AhsanKhan7talhainvenxion
authored andcommitted
pagination UI updates'
1 parent 84d6b86 commit fe00765

File tree

9 files changed

+290
-62
lines changed

9 files changed

+290
-62
lines changed
Lines changed: 4 additions & 0 deletions
Loading
Lines changed: 4 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

src/ui/components/icons/index.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ import { ReactComponent as ChatDots } from './assets/ChatDots.svg';
6161
// import { ReactComponent as RightArrow } from './assets/RightArrow.svg';
6262
// import { ReactComponent as Edit } from './assets/Edit.svg';
6363

64+
import { ReactComponent as PaginationFirst } from './assets/PaginationFirst.svg';
65+
import { ReactComponent as PaginationLast } from './assets/PaginationLast.svg';
66+
import { ReactComponent as PaginationNext } from './assets/PaginationNext.svg';
67+
import { ReactComponent as PaginationPrev } from './assets/PaginationPrev.svg';
68+
6469
import styles from './index.module.scss';
6570
import { joinClassNames } from '../../../utils/styles';
6671
import { iconColors, iconSizes } from '../../../constants';
@@ -75,6 +80,7 @@ interface Props {
7580
const mapSizes = {
7681
xs: 12,
7782
sm: 18,
83+
sml: 16,
7884
md: 24,
7985
lg: 30,
8086
xl: 36,
@@ -177,6 +183,12 @@ const icons = {
177183
Component: ChartBarHorizontal,
178184
useStroke: true,
179185
}),
186+
187+
// paginations
188+
paginationFirst: createIcon({ Component: PaginationFirst, useStroke: true }),
189+
paginationLast: createIcon({ Component: PaginationLast, useStroke: true }),
190+
paginationNext: createIcon({ Component: PaginationNext, useStroke: true }),
191+
paginationPrev: createIcon({ Component: PaginationPrev, useStroke: true }),
180192
};
181193

182194
export { icons };
Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@import '../../../globalStyles.scss';
22

3-
$paginationSize: 4rem;
4-
$paginationBorderColor: #eceeef;
3+
$paginationSize: 32px;
4+
$paginationBorderColor: #F1F1F1;
55

66
.paginationNavigationItem,
77
.paginationNumbers {
@@ -10,19 +10,34 @@ $paginationBorderColor: #eceeef;
1010
display: flex;
1111
justify-content: center;
1212
align-items: center;
13+
align-items: center;
1314
cursor: pointer;
1415
outline: 0;
1516
width: $paginationSize;
1617
height: $paginationSize;
1718
border: 1px solid $paginationBorderColor;
19+
border-radius: 8px;
20+
margin-right: 5px;
1821

1922
&.hidden {
2023
pointer-events: none;
2124
visibility: hidden;
2225
}
2326
}
2427

28+
2529
.paginationNumbers.active {
26-
background: $secondaryColor;
30+
background: #443E99;
2731
cursor: initial;
2832
}
33+
34+
.paginationText {
35+
color: #333;
36+
font-size: 13px;
37+
font-weight: 600;
38+
font-family: Rubik;
39+
}
40+
.paginationText.active {
41+
background: #fff;
42+
cursor: initial;
43+
}

src/ui/layouts/common/Pagination/index.tsx

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
1-
import React, {
2-
forwardRef,
3-
useEffect,
4-
useImperativeHandle,
5-
useState,
6-
} from 'react';
7-
8-
import { FlexBox, Box, Paragraph, icons } from '../../../components';
9-
1+
import React, { forwardRef, useImperativeHandle } from 'react';
2+
import { FlexBox, Box, icons } from '../../../components';
103
import styles from './index.module.scss';
114
import { joinClassNames, addStyle } from '../../../../utils';
125
import { useLocation } from 'react-router-dom';
@@ -34,9 +27,12 @@ const PaginationItem = (props: {
3427
addStyle(props.isActive, styles.active),
3528
)}
3629
>
37-
<Paragraph color={props.isActive ? 'white' : 'grey'}>
30+
<span
31+
className={styles.paginationText}
32+
style={{ color: props.isActive ? '#fff' : '#333' }}
33+
>
3834
{props.index}
39-
</Paragraph>
35+
</span>
4036
</div>
4137
);
4238

@@ -55,7 +51,7 @@ const PaginationNavigationItem = (props: {
5551
addStyle(!props.hasNext, styles.hidden),
5652
)}
5753
>
58-
<props.icon color="grey" size="md" />
54+
<props.icon color="black" size="sml" />
5955
</div>
6056
);
6157

@@ -152,7 +148,6 @@ export const Pagination: React.FC<Props> = forwardRef((props, ref) => {
152148
<FlexBox.Column justifyContent="center" alignItems="center">
153149
<FlexBox marginTop="xxxl" marginBottom="xxxl" justifyContent="center">
154150
<PaginationNavigationItem
155-
style={{ paddingRight: 2 }}
156151
hasNext={props.pageIndex !== 0}
157152
onClick={() => {
158153
// switch (componentName) {
@@ -173,8 +168,23 @@ export const Pagination: React.FC<Props> = forwardRef((props, ref) => {
173168

174169
props.setPageIndex(props.pageIndex - 1);
175170
}}
176-
icon={icons.chevronLeft}
171+
icon={icons.paginationFirst}
172+
/>
173+
<PaginationNavigationItem
174+
hasNext={props.pageIndex !== 0}
175+
onClick={() => {
176+
onChange(
177+
props.pageIndex,
178+
props.itemPerPage,
179+
componentName,
180+
props.filters,
181+
);
182+
183+
props.setPageIndex(props.pageIndex - 1);
184+
}}
185+
icon={icons.paginationPrev}
177186
/>
187+
178188
<FlexBox>
179189
{pageNumbers.map((p: any) => (
180190
<Box key={p}>
@@ -190,22 +200,33 @@ export const Pagination: React.FC<Props> = forwardRef((props, ref) => {
190200
</Box>
191201
))}
192202
</FlexBox>
193-
<Box>
194-
<PaginationNavigationItem
195-
style={{ paddingLeft: 2 }}
196-
hasNext={props.pageIndex + 1 < props.totalOfPages}
197-
onClick={() => {
198-
onChange(
199-
props.pageIndex + 2,
200-
props.itemPerPage,
201-
componentName,
202-
props.filters,
203-
);
204-
props.setPageIndex(props.pageIndex + 1);
205-
}}
206-
icon={icons.chevronRight}
207-
/>
208-
</Box>
203+
204+
<PaginationNavigationItem
205+
hasNext={props.pageIndex + 1 < props.totalOfPages}
206+
onClick={() => {
207+
onChange(
208+
props.pageIndex + 2,
209+
props.itemPerPage,
210+
componentName,
211+
props.filters,
212+
);
213+
props.setPageIndex(props.pageIndex + 1);
214+
}}
215+
icon={icons.paginationNext}
216+
/>
217+
<PaginationNavigationItem
218+
hasNext={props.pageIndex + 1 < props.totalOfPages}
219+
onClick={() => {
220+
onChange(
221+
props.pageIndex + 2,
222+
props.itemPerPage,
223+
componentName,
224+
props.filters,
225+
);
226+
props.setPageIndex(props.pageIndex + 1);
227+
}}
228+
icon={icons.paginationLast}
229+
/>
209230
</FlexBox>
210231
</FlexBox.Column>
211232
);

src/ui/layouts/common/Table/index.module.scss

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,50 @@
5353
.lastTable tbody tr:last-child {
5454
border-bottom: 1px solid $lightestGreyColor;
5555
}
56+
57+
58+
.dropdown {
59+
border: 1px solid #A8A8A8;
60+
border-radius: 4px;
61+
outline: none;
62+
width: 59px;
63+
height: 32px;
64+
font-size: 13px;
65+
font-weight: bold;
66+
color: #333333;
67+
padding-left: 7px;
68+
cursor: pointer;
69+
}
70+
71+
72+
.popup {
73+
background-color: $whiteColor;
74+
border: 1px solid $lightestGreyColor;
75+
border-radius: 4px;
76+
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05);
77+
width: 5.8rem;
78+
z-index: 9;
79+
position: relative;
80+
}
81+
82+
.popupItem {
83+
cursor: pointer;
84+
transition: 0.2s ease-in all;
85+
}
86+
87+
.popupItem:hover {
88+
background-color: #fbfbfb;
89+
}
90+
91+
.itemText1 {
92+
font-size: 16px;
93+
font-weight: 600;
94+
line-height: 18px;
95+
96+
}
97+
98+
.itemText {
99+
font-size: 16px;
100+
font-weight: 600;
101+
line-height: 18px
102+
}

0 commit comments

Comments
 (0)