Merge branch 'dev' of http://git.wdipl.com/Siddhesh.More/tanami-admin-panel 🐞
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
import React, { useState } from 'react';
|
||||
import { Select, HStack, Text, Box, IconButton } from '@chakra-ui/react';
|
||||
import { ChevronLeftIcon, ChevronRightIcon } from '@chakra-ui/icons';
|
||||
import React, { useState } from "react";
|
||||
import { Select, HStack, Text, Box, IconButton } from "@chakra-ui/react";
|
||||
import { ChevronLeftIcon, ChevronRightIcon } from "@chakra-ui/icons";
|
||||
|
||||
const Pagination = ({ pageSize, setPageSize, totalItems,isLoading, setCurrentPage, currentPage }) => {
|
||||
const Pagination = ({
|
||||
pageSize,
|
||||
setPageSize,
|
||||
totalItems,
|
||||
isLoading,
|
||||
setCurrentPage,
|
||||
currentPage,
|
||||
}) => {
|
||||
// const [] = useState(itemsPerPageOptions[0]);
|
||||
|
||||
|
||||
const totalPages = Math.ceil(totalItems / pageSize);
|
||||
|
||||
const handlePageSizeChange = (e) => {
|
||||
@@ -35,45 +41,54 @@ const Pagination = ({ pageSize, setPageSize, totalItems,isLoading, setCurrentPag
|
||||
{/* <Text className='web-text-small'>Tanami v0.1</Text> */}
|
||||
|
||||
<HStack>
|
||||
<Select
|
||||
|
||||
className="pointer web-text-small"
|
||||
width={"90px"}
|
||||
rounded="sm"
|
||||
size="sm"
|
||||
value={pageSize}
|
||||
onChange={handlePageSizeChange}
|
||||
>
|
||||
{[ 15, 20, 30]?.map((size) => (
|
||||
<option key={size} value={size}>
|
||||
{size}
|
||||
</option>
|
||||
))}
|
||||
</Select>
|
||||
<Select
|
||||
className="pointer web-text-small"
|
||||
width={"90px"}
|
||||
rounded="sm"
|
||||
size="sm"
|
||||
value={pageSize}
|
||||
onChange={handlePageSizeChange}
|
||||
>
|
||||
{[15, 20, 30]?.map((size) => (
|
||||
<option key={size} value={size}>
|
||||
{size}
|
||||
</option>
|
||||
))}
|
||||
</Select>
|
||||
<IconButton
|
||||
mt={1}
|
||||
size={'sm'}
|
||||
rounded="sm"
|
||||
mt={1}
|
||||
size={"sm"}
|
||||
rounded="sm"
|
||||
icon={<ChevronLeftIcon />}
|
||||
onClick={paginationPrev}
|
||||
className="link pointer"
|
||||
isDisabled={currentPage === 1}
|
||||
aria-label="Previous Page"
|
||||
/>
|
||||
<Text w={"81px"} display={'flex'} justifyContent={'center'} className="web-text-medium" as={"span"}>
|
||||
{isLoading ? "0": displayRange?.start} - {isLoading ? "00" :displayRange?.end} of {isLoading ? "00":totalItems}
|
||||
<Text
|
||||
w={"81px"}
|
||||
display={"flex"}
|
||||
justifyContent={"center"}
|
||||
className="web-text-medium"
|
||||
as={"span"}
|
||||
>
|
||||
{isLoading ? "0" : displayRange?.start} -{" "}
|
||||
{isLoading ? "00" : displayRange?.end} of{" "}
|
||||
{isLoading ? "00" : totalItems}
|
||||
</Text>
|
||||
<IconButton
|
||||
mt={1}
|
||||
mt={1}
|
||||
icon={<ChevronRightIcon />}
|
||||
size={'sm'}
|
||||
rounded="sm"
|
||||
size={"sm"}
|
||||
rounded="sm"
|
||||
onClick={paginationNext}
|
||||
className="link pointer"
|
||||
isDisabled={currentPage === totalPages}
|
||||
aria-label="Next Page"
|
||||
/>
|
||||
</HStack>
|
||||
</HStack>
|
||||
);
|
||||
};
|
||||
|
||||
export default Pagination;
|
||||
export default Pagination;
|
||||
|
||||
@@ -70,7 +70,7 @@ const InvestmentType = () => {
|
||||
// toast({
|
||||
// render: () => <ToastBox message={"Status changed succesfully.!"} />,
|
||||
// });
|
||||
// }, 300);
|
||||
// }, 300);
|
||||
|
||||
// ===========================[Table Filter]=============================
|
||||
|
||||
|
||||
@@ -25,57 +25,57 @@ export const baseQuery = async (args, api, extraOptions) => {
|
||||
},
|
||||
})(args, api, extraOptions);
|
||||
|
||||
if (result.error && result.error.status === 401) {
|
||||
if (result.error && result.error.status === 403) {
|
||||
// Handle token refresh
|
||||
// const refreshToken = localStorage.getItem("refreshToken");
|
||||
// if (refreshToken) {
|
||||
// try {
|
||||
// const refreshResult = await fetchBaseQuery({
|
||||
// baseUrl: import.meta.env.VITE_BAS_URL,
|
||||
// })(
|
||||
// {
|
||||
// url: "/auth/user/regenerate-token",
|
||||
// method: "POST",
|
||||
// body: { refreshToken },
|
||||
// },
|
||||
// api,
|
||||
// extraOptions
|
||||
// );
|
||||
const refreshToken = localStorage.getItem("refreshToken");
|
||||
if (refreshToken) {
|
||||
try {
|
||||
const refreshResult = await fetchBaseQuery({
|
||||
baseUrl: import.meta.env.VITE_BAS_URL,
|
||||
})(
|
||||
{
|
||||
url: "/auth/user/regenerate-token",
|
||||
method: "POST",
|
||||
body: { refreshToken },
|
||||
},
|
||||
api,
|
||||
extraOptions
|
||||
);
|
||||
|
||||
// if (refreshResult.data) {
|
||||
// // Save new tokens
|
||||
// localStorage.setItem("accessToken", refreshResult.data.access.token);
|
||||
// localStorage.setItem(
|
||||
// "refreshToken",
|
||||
// refreshResult.data.refresh.token
|
||||
// );
|
||||
// localStorage.setItem(
|
||||
// "refreshTokenExp",
|
||||
// refreshResult.data.refresh.expires
|
||||
// );
|
||||
if (refreshResult.data) {
|
||||
console.log('hit');
|
||||
console.log(refreshResult?.data?.data?.access?.token);
|
||||
|
||||
// Save new tokens
|
||||
localStorage.setItem("accessToken", refreshResult?.data?.data?.access?.token);
|
||||
localStorage.setItem(
|
||||
"refreshToken",
|
||||
refreshResult?.data?.data?.refresh?.token
|
||||
);
|
||||
localStorage.setItem(
|
||||
"refreshTokenExp",
|
||||
refreshResult.data?.data?.refresh.expires
|
||||
);
|
||||
|
||||
// // Retry the original request with the new token
|
||||
// result = await fetchBaseQuery({
|
||||
// baseUrl: import.meta.env.VITE_BAS_URL,
|
||||
// prepareHeaders: (headers) => {
|
||||
// const token = localStorage.getItem("accessToken");
|
||||
// if (token) {
|
||||
// headers.set("x-auth-token", token);
|
||||
// }
|
||||
// return headers;
|
||||
// },
|
||||
// })(args, api, extraOptions);
|
||||
// }
|
||||
// } catch (err) {
|
||||
// console.error("Failed to refresh token:", err);
|
||||
// // Handle refresh failure (e.g., redirect to login)
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
localStorage.removeItem("accessToken");
|
||||
localStorage.removeItem("refreshToken");
|
||||
Cookies.remove("isAuthenticated", { path: '/login' });
|
||||
// Retry the original request with the new token
|
||||
result = await fetchBaseQuery({
|
||||
baseUrl: import.meta.env.VITE_BAS_URL,
|
||||
prepareHeaders: (headers) => {
|
||||
const token = localStorage.getItem("accessToken");
|
||||
if (token) {
|
||||
headers.set("x-auth-token", token);
|
||||
}
|
||||
return headers;
|
||||
},
|
||||
})(args, api, extraOptions);
|
||||
}else{
|
||||
console.log('refresh failed');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("Failed to refresh token:", err);
|
||||
// Handle refresh failure (e.g., redirect to login)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user