diff --git a/.env b/.env new file mode 100644 index 0000000..2f2b4e5 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +VITE_BASE_URL="https://rexplorerapi.azurewebsites.net/" +VITE_IMAGE_URL="https://regroup.betadelivery.com/" diff --git a/src/Services/api.service.js b/src/Services/api.service.js index 4501820..903a8a4 100644 --- a/src/Services/api.service.js +++ b/src/Services/api.service.js @@ -1,72 +1,24 @@ -// io.service.js +// api.service.js import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { baseQuery } from "./token.serivce"; -export const ioService = createApi({ - reducerPath: "ioService", - baseQuery: baseQuery, + + +export const rubix = createApi({ + reducerPath: "rubix", + baseQuery: fetchBaseQuery({ + baseUrl: import.meta.env.VITE_BASE_URL, + }), tagTypes: [ - "prePopulate", - "getIO", - "getKeyMerits", - "getArtifactsVideo", - "getInvestmentDocuments", - "getIOById", - "getSponser", - "getInvestmentType", - "getInvestmentTypeID" + "getTransCount", ], endpoints: (builder) => ({ - - // =====[get prepopulate data] - - getIOprepopulateData: builder.query({ - query: () => `/io/admin/pre-populate`, - providesTags: ["prePopulate"], - }), - - - getIOById: builder.query({ - query: (id) => ({ url: `/io/admin/${id}` }), - providesTags: ["getIOById"], - }), - - // =====[create] - createIO: builder.mutation({ - query: (data) => ({ - url: `/io/admin`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIO"], - }), - - updateIO: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById", "getIO", "prePopulate"], - }), - - - deleteKeyMerits: builder.mutation({ - query: (id) => ({ - url: `/io/admin/key-merits/hard-delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getIOById"], + getTransCount: builder.query({ + query: () => `api/Analytics/Transactions/GetCount`, + providesTags: ["getTransCount"], }), }), }); - -// Export hooks for usage in functional components export const { - useGetIOprepopulateDataQuery, - useGetIOByIdQuery, - useCreateIOMutation, - useUpdateIOMutation, - useDeleteKeyMeritsMutation, -} = ioService; + useGetTransCountQuery +} = rubix; diff --git a/src/Services/onboard.service.js b/src/Services/onboard.service.js deleted file mode 100644 index 19c1ed3..0000000 --- a/src/Services/onboard.service.js +++ /dev/null @@ -1,224 +0,0 @@ -// io.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { baseQuery } from "./token.serivce"; - -export const onBoard = createApi({ - reducerPath: "onBoard", - baseQuery: baseQuery, - tagTypes: [ - "interest", - "fetchComunities" - ], - endpoints: (builder) => ({ - - - // =====[send otp] - sendOtp: builder.mutation({ - query: (data) => ({ - url: `/send_otp`, - method: "POST", - body: data, - }), - }), - - - // =====[verifiy otp] - verifyOtp: builder.mutation({ - query: (data) => ({ - url: `/verify_otp`, - method: "POST", - body: data, - }), - }), - - - // =====[add profile] - addProfile: builder.mutation({ - query: (data) => ({ - url: `/add_profile`, - method: "POST", - body: data, - }), - }), - - - // =====[get interest] - getInterest: builder.query({ - query: () => `/fetch-interests`, - providesTags: ["interest"], - }), - - - - // =====[selected Interest] - selectedInterest: builder.mutation({ - query: (data) => ({ - url: `/select-interests`, - method: "POST", - body: data, - }), - }), - - - // =====[forgot password] - forgotPassword: builder.mutation({ - query: (data) => ({ - url: `/forgot-password`, - method: "POST", - body: data, - }), - }), - - - - // =====[forgot password] - forgotPasswordVerifyOtp: builder.mutation({ - query: (data) => ({ - url: `/forgot-password/verify-otp`, - method: "POST", - body: data, - }), - }), - - - // =====[Reset password] - resetPassword: builder.mutation({ - query: (data) => ({ - url: `/reset-password`, - method: "POST", - body: data, - }), - }), - - - - // =====[fetch Comunities] - fetchComunities: builder.query({ - query: () => `/fetch-communities`, - providesTags: ["fetchComunities"], - }), - - - - - // =====[select Communnity] - selectCommunnity: builder.mutation({ - query: (data) => ({ - url: `/select-communities`, - method: "POST", - body: data, - }), - }), - - // =====[ /tell-us-about-your-business ] - tellUsAboutYourBussiness: builder.mutation({ - query: (data) => ({ - url: `/tell-us-about-your-business`, - method: "POST", - body: data, - }), - }), - - - // =====[fetch Groups] - fetchGroups: builder.query({ - query: () => `/fetch-groups`, - providesTags: ["fetchGroups"], - }), - - - - // =====[select Groups] - selectGroups: builder.mutation({ - query: (data) => ({ - url: `/select-groups`, - method: "POST", - body: data, - }), - }), - - - // =====[ bussines-profile stepper form ] - updateBussinessStepperForm: builder.mutation({ - query: (data) => ({ - url: `/update-business-profile-step-1`, - method: "POST", - body: data, - }), - }), - - - searchGroups: builder.query({ - query: (searchData) => `search-group?search_data=${searchData}`, - }), - - - searchCommunity: builder.query({ - query: (searchData) => `search-community?search_data=${searchData}`, - }), - - - - // =====[Google Login] - googleLogin: builder.mutation({ - query: (data) => ({ - url: `/sign-in-with-google-login`, - method: "POST", - body: data, - }), - }), - - - // =====[Update user Account type] - updateUserAccountType: builder.mutation({ - query: (data) => ({ - url: `/update-user-account-type`, - method: "POST", - body: data, - }), - }), - - - - - - - - - - - - - - }), -}); - -// Export hooks for usage in functional components -export const { - - - - - useSendOtpMutation, - useVerifyOtpMutation, - useAddProfileMutation, - useGetInterestQuery, - useSelectedInterestMutation, - useForgotPasswordMutation, - useForgotPasswordVerifyOtpMutation, - useResetPasswordMutation, - useFetchComunitiesQuery, - useSelectCommunnityMutation, - useTellUsAboutYourBussinessMutation, - useFetchGroupsQuery, - useSelectGroupsMutation, - useUpdateBussinessStepperFormMutation, - useSearchGroupsQuery, - useSearchCommunityQuery, - useGoogleLoginMutation, - useUpdateUserAccountTypeMutation - - - - -} = onBoard; diff --git a/src/Services/profile.service.js b/src/Services/profile.service.js deleted file mode 100644 index 9bfc365..0000000 --- a/src/Services/profile.service.js +++ /dev/null @@ -1,50 +0,0 @@ -// io.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { baseQuery } from "./token.serivce"; - -export const profile = createApi({ - reducerPath: "profile", - baseQuery: baseQuery, - tagTypes: [ - "getProfile" - ], - endpoints: (builder) => ({ - - - // =====[send otp] - sendOtp: builder.mutation({ - query: (data) => ({ - url: `/send_otp`, - method: "POST", - body: data, - }), - }), - - - // =====[get interest] - getProfile: builder.query({ - query: () => `/fetch-profile`, - providesTags: ["getProfile"], - }), - - - - - - - - - - - - - }), -}); - -// Export hooks for usage in functional components -export const { - - useSendOtpMutation, - useGetProfileQuery, - -} = profile; diff --git a/src/Services/token.serivce.js b/src/Services/token.serivce.js index d500c4f..a629f6a 100644 --- a/src/Services/token.serivce.js +++ b/src/Services/token.serivce.js @@ -1,140 +1,140 @@ -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import Cookies from "js-cookie"; +// import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; +// import Cookies from "js-cookie"; -// Define a base query function with token refresh logic +// // Define a base query function with token refresh logic -console.log(import.meta.env.VITE_BASE_URL); -export const baseQuery = async (args, api, extraOptions) => { - let result = await fetchBaseQuery({ - baseUrl: import.meta.env.VITE_BASE_URL, - prepareHeaders: (headers) => { - const token = localStorage.getItem("accessToken"); - const username = import.meta.env.VITE_USERNAME || 'defaultUsername'; - const password = import.meta.env.VITE_PASSWORD || 'defaultPassword'; +// console.log(import.meta.env.VITE_BASE_URL); +// export const baseQuery = async (args, api, extraOptions) => { +// let result = await fetchBaseQuery({ +// baseUrl: import.meta.env.VITE_BASE_URL, +// prepareHeaders: (headers) => { +// // const token = localStorage.getItem("accessToken"); +// // const username = import.meta.env.VITE_USERNAME || 'defaultUsername'; +// // const password = import.meta.env.VITE_PASSWORD || 'defaultPassword'; - // Encode credentials to Base64 - const basicAuth = btoa(`${username}:${password}`); +// // // Encode credentials to Base64 +// // const basicAuth = btoa(`${username}:${password}`); - // Set the Authorization header - headers.set('Authorization', `Basic ${basicAuth}`); +// // // Set the Authorization header +// // headers.set('Authorization', `Basic ${basicAuth}`); - // Set the token if available - if (token) { - headers.set("access-token", token); - } - return headers; - }, - })(args, api, extraOptions); +// // // Set the token if available +// // if (token) { +// // headers.set("access-token", token); +// // } +// return headers; +// }, +// })(args, api, extraOptions); - if (result.error && result.error.status === 401) { - // Handle token refresh - // const refreshToken = localStorage.getItem("refreshToken"); - // if (refreshToken) { - // try { - // const refreshResult = await fetchBaseQuery({ - // baseUrl: import.meta.env.VITE_BASE_URL, - // })( - // { - // url: "/auth/user/regenerate-token", - // method: "POST", - // body: { refreshToken }, - // }, - // api, - // extraOptions - // ); +// // if (result.error && result.error.status === 401) { +// // // Handle token refresh +// // // const refreshToken = localStorage.getItem("refreshToken"); +// // // if (refreshToken) { +// // // try { +// // // const refreshResult = await fetchBaseQuery({ +// // // baseUrl: import.meta.env.VITE_BASE_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) { +// // // // Save new tokens +// // // localStorage.setItem("accessToken", refreshResult.data.access.token); +// // // localStorage.setItem("refreshToken", refreshResult.data.refresh.token); +// // // localStorage.setItem("refreshTokenExp", refreshResult.data.refresh.expires); - // // Retry the original request with the new token - // result = await fetchBaseQuery({ - // baseUrl: import.meta.env.VITE_BASE_URL, - // prepareHeaders: (headers) => { - // const newToken = localStorage.getItem("accessToken"); +// // // // Retry the original request with the new token +// // // result = await fetchBaseQuery({ +// // // baseUrl: import.meta.env.VITE_BASE_URL, +// // // prepareHeaders: (headers) => { +// // // const newToken = localStorage.getItem("accessToken"); - // // Set the Authorization header again - // headers.set('Authorization', `Basic ${basicAuth}`); +// // // // Set the Authorization header again +// // // headers.set('Authorization', `Basic ${basicAuth}`); - // // Set the new token - // if (newToken) { - // headers.set("x-auth-token", newToken); - // } - // return headers; - // }, - // })(args, api, extraOptions); - // } - // } catch (err) { - // console.error("Failed to refresh token:", err); - // // Handle refresh failure (e.g., redirect to login) - // } - // } - const [ logout ] = useLogoutMutation() - const res = await logout() - console.log(res); - // Remove token and authenticated status from storage and cookies - localStorage.removeItem("accessToken"); - localStorage.removeItem("refreshToken"); - Cookies.remove("isAuthenticated", { path: '/login' }); +// // // // Set the new token +// // // if (newToken) { +// // // headers.set("x-auth-token", newToken); +// // // } +// // // return headers; +// // // }, +// // // })(args, api, extraOptions); +// // // } +// // // } catch (err) { +// // // console.error("Failed to refresh token:", err); +// // // // Handle refresh failure (e.g., redirect to login) +// // // } +// // // } +// // const [ logout ] = useLogoutMutation() +// // const res = await logout() +// // console.log(res); +// // // Remove token and authenticated status from storage and cookies +// // localStorage.removeItem("accessToken"); +// // localStorage.removeItem("refreshToken"); +// // Cookies.remove("isAuthenticated", { path: '/login' }); - } +// // } - return result; -}; +// return result; +// }; -// Create an RTK Query API slice -export const apiSlice = createApi({ - reducerPath: "api", - baseQuery: baseQuery, - endpoints: (builder) => ({ +// // Create an RTK Query API slice +// export const apiSlice = createApi({ +// reducerPath: "api", +// baseQuery: baseQuery, +// endpoints: (builder) => ({ - login: builder.mutation({ - query: (credentials) => ({ - url: "/login", - method: "POST", - body: credentials, - }), - async onQueryStarted(arg, { dispatch, queryFulfilled }) { - try { - const { data } = await queryFulfilled; - console.log(data?.data['access-token']); - // Store tokens in local storage - localStorage.setItem("accessToken", data?.data['access-token']); - localStorage.setItem("refreshToken", data?.data?.refresh?.token); - localStorage.setItem("accessTokenExp", data?.data?.access?.expires); - } catch (error) { - console.error("Login failed:", error); - } - }, - }), +// // login: builder.mutation({ +// // query: (credentials) => ({ +// // url: "/login", +// // method: "POST", +// // body: credentials, +// // }), +// // async onQueryStarted(arg, { dispatch, queryFulfilled }) { +// // try { +// // const { data } = await queryFulfilled; +// // console.log(data?.data['access-token']); +// // // Store tokens in local storage +// // localStorage.setItem("accessToken", data?.data['access-token']); +// // localStorage.setItem("refreshToken", data?.data?.refresh?.token); +// // localStorage.setItem("accessTokenExp", data?.data?.access?.expires); +// // } catch (error) { +// // console.error("Login failed:", error); +// // } +// // }, +// // }), - logout: builder.mutation({ - query: (credentials) => ({ - url: "/logout", - method: "POST", - }), - }), +// // logout: builder.mutation({ +// // query: (credentials) => ({ +// // url: "/logout", +// // method: "POST", +// // }), +// // }), - refreshToken: builder.mutation({ - query: (refreshToken) => ({ - url: "/auth/user/regenerate-token", - method: "POST", - body: { refreshToken }, - }), - }), - // Add more endpoints as needed - }), -}); +// // refreshToken: builder.mutation({ +// // query: (refreshToken) => ({ +// // url: "/auth/user/regenerate-token", +// // method: "POST", +// // body: { refreshToken }, +// // }), +// // }), +// // Add more endpoints as needed +// }), +// }); -export const { useLoginMutation, useRefreshTokenMutation, useLogoutMutation } = apiSlice; +// // export const { useLoginMutation, useRefreshTokenMutation, useLogoutMutation } = apiSlice; -export default apiSlice; +// export default apiSlice; diff --git a/src/Store/Store.js b/src/Store/Store.js index 1f83429..56376c6 100644 --- a/src/Store/Store.js +++ b/src/Store/Store.js @@ -1,66 +1,80 @@ +// import { configureStore } from "@reduxjs/toolkit"; +// import { setupListeners } from "@reduxjs/toolkit/query"; +// // import { sponserMaster } from "../Services/sponser.service"; +// // import { investmentType } from "../Services/investment.type.service"; +// // import { exchangeRate } from "../Services/exchange.rate.service"; +// // import { ioService } from "../Services/io.service"; +// // import { investorDetails } from "../Services/investor.details.service"; +// // import { investorTransaction } from "../Services/investor.transaction.service"; +// // import { api } from "../Services/api.service"; +// // import { keyMerits } from "../Services/Key.merits.service"; +// // import { bankDetails } from "../Services/bank.details.service"; +// // import { contact } from "../Services/contact.service"; +// // import { depositRequest } from "../Services/deposit.request.service"; +// import { apiSlice, baseQuery } from "../Services/token.serivce"; +// import { onBoard } from "../Services/onboard.service"; +// import { profile } from "../Services/profile.service"; +// // import { drawalRequest } from "../Services/drawal.request.service"; +// // import { deleteRequest } from "../Services/delete.request.service"; + +// export const store = configureStore({ +// reducer: { +// [apiSlice.reducerPath]: apiSlice.reducer, +// [onBoard.reducerPath]: onBoard.reducer, +// [profile.reducerPath]: profile.reducer, +// // [sponserMaster.reducerPath]: sponserMaster.reducer, +// // [investmentType.reducerPath]: investmentType.reducer, +// // [exchangeRate.reducerPath]: exchangeRate.reducer, +// // [ioService.reducerPath]: ioService.reducer, +// // [investorDetails.reducerPath]: investorDetails.reducer, +// // [investorTransaction.reducerPath]: investorTransaction.reducer, +// // [bankDetails.reducerPath]: bankDetails.reducer, +// // [contact.reducerPath]: contact.reducer, +// // [depositRequest.reducerPath]: depositRequest.reducer, +// // [drawalRequest.reducerPath]: drawalRequest.reducer, +// // [deleteRequest.reducerPath]: deleteRequest.reducer, +// // Add other reducers as needed +// }, +// middleware: (getDefaultMiddleware) => +// getDefaultMiddleware({ +// thunk: { +// extraArgument: baseQuery, // Pass Axios instance as extra argument +// }, +// }).concat( +// onBoard.middleware, +// apiSlice.middleware, +// profile.middleware, +// // investmentType.middleware, +// // exchangeRate.middleware, +// // ioService.middleware, +// // investorDetails.middleware, +// // investorTransaction.middleware, +// // bankDetails.middleware, +// // contact.middleware, +// // depositRequest.middleware, +// // drawalRequest.middleware, +// // deleteRequest.middleware, +// ), +// }); + +// setupListeners(store.dispatch); + +// export default store; + + + import { configureStore } from "@reduxjs/toolkit"; -import { setupListeners } from "@reduxjs/toolkit/query"; -// import { sponserMaster } from "../Services/sponser.service"; -// import { investmentType } from "../Services/investment.type.service"; -// import { exchangeRate } from "../Services/exchange.rate.service"; -// import { ioService } from "../Services/io.service"; -// import { investorDetails } from "../Services/investor.details.service"; -// import { investorTransaction } from "../Services/investor.transaction.service"; -// import { api } from "../Services/api.service"; -// import { keyMerits } from "../Services/Key.merits.service"; -// import { bankDetails } from "../Services/bank.details.service"; -// import { contact } from "../Services/contact.service"; -// import { depositRequest } from "../Services/deposit.request.service"; -import { apiSlice, baseQuery } from "../Services/token.serivce"; -import { onBoard } from "../Services/onboard.service"; -import { profile } from "../Services/profile.service"; -// import { drawalRequest } from "../Services/drawal.request.service"; -// import { deleteRequest } from "../Services/delete.request.service"; +import { rubix } from "../Services/api.service"; export const store = configureStore({ reducer: { - [apiSlice.reducerPath]: apiSlice.reducer, - [onBoard.reducerPath]: onBoard.reducer, - [profile.reducerPath]: profile.reducer, - // [sponserMaster.reducerPath]: sponserMaster.reducer, - // [investmentType.reducerPath]: investmentType.reducer, - // [exchangeRate.reducerPath]: exchangeRate.reducer, - // [ioService.reducerPath]: ioService.reducer, - // [investorDetails.reducerPath]: investorDetails.reducer, - // [investorTransaction.reducerPath]: investorTransaction.reducer, - // [bankDetails.reducerPath]: bankDetails.reducer, - // [contact.reducerPath]: contact.reducer, - // [depositRequest.reducerPath]: depositRequest.reducer, - // [drawalRequest.reducerPath]: drawalRequest.reducer, - // [deleteRequest.reducerPath]: deleteRequest.reducer, - // Add other reducers as needed + // Add the rubix API reducer + [rubix.reducerPath]: rubix.reducer, }, + // Adding the api middleware enables caching, invalidation, polling, and other features of RTK Query middleware: (getDefaultMiddleware) => - getDefaultMiddleware({ - thunk: { - extraArgument: baseQuery, // Pass Axios instance as extra argument - }, - }).concat( - onBoard.middleware, - apiSlice.middleware, - profile.middleware, - // investmentType.middleware, - // exchangeRate.middleware, - // ioService.middleware, - // investorDetails.middleware, - // investorTransaction.middleware, - // bankDetails.middleware, - // contact.middleware, - // depositRequest.middleware, - // drawalRequest.middleware, - // deleteRequest.middleware, - ), + getDefaultMiddleware().concat(rubix.middleware), }); -setupListeners(store.dispatch); - export default store; - - - diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-Black.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-Black.ttf new file mode 100644 index 0000000..63ceaa4 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-Black.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackItalic.ttf new file mode 100644 index 0000000..3be12b8 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrow.ttf new file mode 100644 index 0000000..9a515c9 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrowItalic.ttf new file mode 100644 index 0000000..3bb12ad Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWide.ttf new file mode 100644 index 0000000..003b259 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWideItalic.ttf new file mode 100644 index 0000000..0b3e948 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BlackWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-Bold.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-Bold.ttf new file mode 100644 index 0000000..9410fe5 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-Bold.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldItalic.ttf new file mode 100644 index 0000000..88434c7 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrow.ttf new file mode 100644 index 0000000..a00b8bd Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrowItalic.ttf new file mode 100644 index 0000000..faeae6e Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWide.ttf new file mode 100644 index 0000000..380eb1a Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWideItalic.ttf new file mode 100644 index 0000000..ae1fc61 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-BoldWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBold.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBold.ttf new file mode 100644 index 0000000..9afdf72 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBold.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldItalic.ttf new file mode 100644 index 0000000..259cb14 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrow.ttf new file mode 100644 index 0000000..d78ebb9 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrowItalic.ttf new file mode 100644 index 0000000..ca261d1 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWide.ttf new file mode 100644 index 0000000..8402b1b Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWideItalic.ttf new file mode 100644 index 0000000..a64e946 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-ExtraBoldWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-Light.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-Light.ttf new file mode 100644 index 0000000..932632a Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-Light.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-LightItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightItalic.ttf new file mode 100644 index 0000000..dcdf61b Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrow.ttf new file mode 100644 index 0000000..907cf20 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrowItalic.ttf new file mode 100644 index 0000000..f683e1a Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWide.ttf new file mode 100644 index 0000000..0e8e283 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWideItalic.ttf new file mode 100644 index 0000000..5128c2c Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-LightWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-Medium.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-Medium.ttf new file mode 100644 index 0000000..df81a4c Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-Medium.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumItalic.ttf new file mode 100644 index 0000000..dcedb9b Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrow.ttf new file mode 100644 index 0000000..06db7f2 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrowItalic.ttf new file mode 100644 index 0000000..1e5caa0 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWide.ttf new file mode 100644 index 0000000..115e54d Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWideItalic.ttf new file mode 100644 index 0000000..0838009 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-MediumWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-Regular.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-Regular.ttf new file mode 100644 index 0000000..4de3cf7 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-Regular.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularItalic.ttf new file mode 100644 index 0000000..4afb907 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrow.ttf new file mode 100644 index 0000000..0b964a4 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrowItalic.ttf new file mode 100644 index 0000000..43281f0 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWide.ttf new file mode 100644 index 0000000..9638efe Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWideItalic.ttf new file mode 100644 index 0000000..4775107 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-RegularWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBold.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBold.ttf new file mode 100644 index 0000000..e032845 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBold.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldItalic.ttf new file mode 100644 index 0000000..6609623 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrow.ttf new file mode 100644 index 0000000..4574fde Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrowItalic.ttf new file mode 100644 index 0000000..a00ce1c Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWide.ttf new file mode 100644 index 0000000..0548afd Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWideItalic.ttf new file mode 100644 index 0000000..c8799f5 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-SemiBoldWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLight.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLight.ttf new file mode 100644 index 0000000..cab35a1 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLight.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightItalic.ttf new file mode 100644 index 0000000..03bdcbd Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrow.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrow.ttf new file mode 100644 index 0000000..a17c8a1 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrow.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrowItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrowItalic.ttf new file mode 100644 index 0000000..4269774 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightNarrowItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWide.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWide.ttf new file mode 100644 index 0000000..da8b6d6 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWide.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWideItalic.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWideItalic.ttf new file mode 100644 index 0000000..23df423 Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans-UltraLightWideItalic.ttf differ diff --git a/src/assets/mona-sans-cufonfonts/Mona-Sans.ttf b/src/assets/mona-sans-cufonfonts/Mona-Sans.ttf new file mode 100644 index 0000000..446c86d Binary files /dev/null and b/src/assets/mona-sans-cufonfonts/Mona-Sans.ttf differ diff --git a/src/components/Pagination.jsx b/src/components/Pagination.jsx index aa35160..2dbaa7e 100644 --- a/src/components/Pagination.jsx +++ b/src/components/Pagination.jsx @@ -50,7 +50,7 @@ const Pagination = ({ {/* Tanami v0.1 */} - + {/* + */} {/* */ } - 1 2 3 4.... + {/* 1 2 3 4.... - + */} + {/* */} ); }; diff --git a/src/index.css b/src/index.css index 5e9fa8d..fb812d4 100644 --- a/src/index.css +++ b/src/index.css @@ -1,5 +1,7 @@ + +@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); :root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + /* font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; */ line-height: 1.5; font-weight: 400; @@ -33,6 +35,7 @@ body { place-items: center; min-width: 320px; min-height: 100vh; + font-family: "Montserrat", sans-serif !important; } h1 { diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index 32a0449..79086ba 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -22,6 +22,7 @@ import Pagination from "../components/Pagination"; import bannerImage from "../assets/images/bannerImg.png"; import bannerImageMobile from "../assets/images/bannerImgmobile.png"; import { BiSearchAlt } from "react-icons/bi"; +import { useGetTransCountQuery } from "../Services/api.service"; const Home = () => { const [isSwitchOn, setIsSwitchOn] = useState(true); @@ -29,6 +30,14 @@ const Home = () => { const [ searchTerm, setSearchTerm] = useState("") const navigate = useNavigate() + const { + data, + isLoading, + refetch, + errors + } = useGetTransCountQuery() + console.log(data?.data); + return ( path.replace(/^\/api/, ''), // Removes '/api' prefix when forwarding to the server + }, + }, }, plugins: [ react(), @@ -40,4 +48,4 @@ export default defineConfig({ }, }), ], -}) +});