From eabe9a8cf0ca9a0451de3e5808481aae442c58af Mon Sep 17 00:00:00 2001 From: Hossein Date: Mon, 1 May 2023 14:19:46 +0330 Subject: [PATCH 01/16] #5, Add buyOrder & sellOrder api --- src/index.css | 5 + src/main/Mobile/Mobile.js | 4 +- .../Sections/OrderSection/OrderSection.js | 4 +- .../Market/components/Order/Order.module.css | 14 +- .../Market/components/Order/api/order.js | 24 +- .../Order/components/BuyOrder/BuyOrder.js | 269 +++++++------- .../Order/components/SellOrder/SellOrder.js | 327 +++++++++++++++++- 7 files changed, 505 insertions(+), 142 deletions(-) diff --git a/src/index.css b/src/index.css index a027bb2..d76c1cf 100644 --- a/src/index.css +++ b/src/index.css @@ -664,6 +664,11 @@ a { -ms-flex: 0.6; flex: 0.6; } +.col-52 { + -webkit-box-flex: 0.52; + -ms-flex: 0.52; + flex: 0.52; +} .col-55 { diff --git a/src/main/Mobile/Mobile.js b/src/main/Mobile/Mobile.js index 49f983e..01c37e9 100644 --- a/src/main/Mobile/Mobile.js +++ b/src/main/Mobile/Mobile.js @@ -58,14 +58,14 @@ const Mobile = () => { dispatch(setLastPriceInitiate()); }, 3000) - const Toast = () => { -
+
{showChart ? : }
-
+
diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/Order.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/Order.module.css index 8d3c813..2594040 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/Order.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/Order.module.css @@ -3,11 +3,11 @@ } .content { height: 100%; - padding: 1vh 0.5vw; + /* padding: 1vh 0.5vw;*/ } .thisButton { - width: 100%; + /*width: 100%;*/ } .alertSubmit{ background-color: var(--orange); @@ -45,4 +45,14 @@ } .stopMarket input { cursor: not-allowed; +} + +.smallInput :global(.lead){ + width: 24%; +} +.smallInput :global(input){ + width: 52%; +} +.smallInput :global(.after){ + width: 24%; } \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/api/order.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/api/order.js index 47fbebc..9f0f853 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/api/order.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/api/order.js @@ -1,26 +1,18 @@ import axios from "axios"; -export const createOrder = async (activePair , side , order) => { - const timestamp = Date.now() +export const createOrder = async (symbol, side, order, type = "LIMIT", timeInForce = "GTC", timestamp = Date.now().toString()) => { const params = new URLSearchParams(); - params.append('symbol', activePair.symbol); + params.append('symbol',symbol ); params.append('side', side); - params.append('type', "LIMIT"); - params.append('timeInForce', "GTC"); - params.append('timestamp', timestamp.toString()); + params.append('type', type); + params.append('timeInForce', timeInForce); + params.append('timestamp', timestamp); params.append('quantity', order.reqAmount.toString()); params.append('price', order.pricePerUnit.toString()); - return await axios.post(`/api/v3/order`, null , { + return axios.post(`/api/v3/order`, null, { params, - headers : { - 'Content-Type':'application/x-www-form-urlencoded' + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' } - }).then((res) => { - return res; - }).catch((e) => { - if (!e.response) { - return false; - } - return e.response; }) } diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/BuyOrder/BuyOrder.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/BuyOrder/BuyOrder.js index d4e1f99..d8bd2af 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/BuyOrder/BuyOrder.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/BuyOrder/BuyOrder.js @@ -3,7 +3,7 @@ import classes from "../../Order.module.css"; import {Trans, useTranslation} from "react-i18next"; import VerticalNumberInput from "../../../../../../../../../../../../components/VerticalTextInput/VerticalNumberInput"; import {setLastTransaction} from "../../../../../../../../../../../../store/actions/auth"; -import {connect} from "react-redux"; +import {connect, useDispatch, useSelector} from "react-redux"; import {BN, parsePriceString} from "../../../../../../../../../../../../utils/utils"; import {useNavigate} from "react-router-dom"; import Icon from "../../../../../../../../../../../../components/Icon/Icon"; @@ -12,15 +12,30 @@ import {Login as LoginRoute} from "../../../../../../../../../../Routes/routes"; import {toast} from "react-hot-toast"; import {images} from "../../../../../../../../../../../../assets/images"; import {createOrder} from "../../api/order"; +import {useGetUserAccount} from "../../../../../../../../../../../../queries/hooks/useGetUserAccount"; +import NumberInput from "../../../../../../../../../../../../components/NumberInput/NumberInput"; -const BuyOrder = (props) => { +const BuyOrder = () => { const navigate = useNavigate(); + const {t} = useTranslation(); + const dispatch = useDispatch(); + + const {data: userAccount} = useGetUserAccount() const [isLoading, setIsLoading] = useState(false) - const {wallets, activePair, tradeFee, bestBuyPrice, accessToken, isLogin, selectedBuyOrder} = props + + const activePair = useSelector((state) => state.exchange.activePair) + const bestBuyPrice = useSelector((state) => state.exchange.activePairOrders.bestBuyPrice) + const selectedBuyOrder = useSelector((state) => state.exchange.activePairOrders.selectedBuyOrder) + + const tradeFee = useSelector((state) => state.auth.tradeFee) + const isLogin = useSelector((state) => state.auth.isLogin) + + const quote = userAccount?.wallets[activePair.quoteAsset]?.free || 0; + const [alert, setAlert] = useState({ submit: false, reqAmount: null, @@ -36,13 +51,39 @@ const BuyOrder = (props) => { pricePerUnit: new BN(0), totalPrice: new BN(0), }); + + /*useEffect(() => { + if (alert.submit) { + setAlert({ + ...alert, submit: false + }) + } + }, [order, activePair])*/ + useEffect(() => { if (alert.submit) { setAlert({ ...alert, submit: false }) } - }, [order, activePair]) + }, [order]) + + useEffect(() => { + setOrder({ + tradeFee: new BN(0), + stopLimit: false, + stopMarket: false, + stopPrice: new BN(0), + reqAmount: new BN(0), + pricePerUnit: new BN(0), + totalPrice: new BN(0), + }) + setAlert({ + submit: false, + reqAmount: null, + totalPrice: null, + }) + }, [activePair]) const currencyValidator = (key, val, rule) => { if (!val.isZero() && val.isLessThan(rule.min)) { @@ -78,7 +119,7 @@ const BuyOrder = (props) => { ...alert, [key]: () }) } @@ -123,7 +164,7 @@ const BuyOrder = (props) => { }; useEffect(() => { - if(order.totalPrice.isGreaterThan(wallets[activePair.quoteAsset].free)){ + if (order.totalPrice.isGreaterThan(quote)) { return setAlert({ ...alert, totalPrice: t('orders.notEnoughBalance') @@ -163,10 +204,24 @@ const BuyOrder = (props) => { currencyValidator("reqAmount", reqAmount, activePair.baseRange); }, [selectedBuyOrder]); + useEffect(() => { + const reqAmount = new BN(selectedBuyOrder.amount); + const pricePerUnit = new BN(selectedBuyOrder.pricePerUnit); + setOrder({ + ...order, + reqAmount, + pricePerUnit: pricePerUnit, + totalPrice: reqAmount.multipliedBy(pricePerUnit).decimalPlaces(activePair.quoteAssetPrecision), + tradeFee: reqAmount.multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + }); + currencyValidator("reqAmount", reqAmount, activePair.baseRange); + }, [selectedBuyOrder]); + const fillBuyByWallet = () => { + if(order.pricePerUnit.isEqualTo(0) && bestBuyPrice === 0 ) return toast.error(t("orders.hasNoOffer")); if (order.pricePerUnit.isEqualTo(0)) { - const totalPrice = new BN(wallets[activePair.quoteAsset].free); + const totalPrice = new BN(quote); setOrder({ ...order, reqAmount: totalPrice.dividedBy(bestBuyPrice).decimalPlaces(activePair.baseAssetPrecision), @@ -176,7 +231,7 @@ const BuyOrder = (props) => { }); } else { buyPriceHandler( - wallets[activePair.quoteAsset].free.toString(), + quote.toString(), "totalPrice", ); } @@ -189,6 +244,8 @@ const BuyOrder = (props) => { ); }; + console.log("activePair.symbol" , activePair.symbol) + const submit = async () => { if (!isLogin) { navigate(LoginRoute, { replace: true }); @@ -198,121 +255,117 @@ const BuyOrder = (props) => { return false } setIsLoading(true) - const submitOrder = await createOrder(activePair, "BUY", accessToken, order) - if (!submitOrder) { - setIsLoading(false) - } - if (submitOrder.status === 200) { - setOrder({ - tradeFee: new BN(0), - stopLimit: false, - stopMarket: false, - stopPrice: new BN(0), - reqAmount: new BN(0), - - pricePerUnit: new BN(0), - totalPrice: new BN(0), - }) - toast.success(); - setTimeout(() => props.setLastTransaction(submitOrder.data.transactTime), 2000); - } else { + createOrder(activePair.symbol, "BUY", order) + .then((res) => { + setOrder({ + tradeFee: new BN(0), + stopLimit: false, + stopMarket: false, + stopPrice: new BN(0), + reqAmount: new BN(0), + pricePerUnit: new BN(0), + totalPrice: new BN(0), + }) + toast.success(); + dispatch(setLastTransaction(res.data.transactTime)) + }).catch(() => { toast.error(t("orders.error")); setAlert({ ...alert, submit: true }) - } - setIsLoading(false) + }).finally(() => { + setIsLoading(false) + }) } const submitButtonTextHandler = () => { if (isLoading) { return linearLoading } - if (alert.submit) { + /*if (alert.submit) { return {t("login.loginError")} - } + }*/ if (isLogin) { + return t("buy") + } + /*if (isLogin) { return {t("buy")} {order.reqAmount.minus(order.tradeFee).decimalPlaces(activePair.baseAssetPrecision).toNumber()}{" "} {t("currency." + activePair.baseAsset)} - } + }*/ return t("pleaseLogin") } - const volumeTop =
{fillBuyByBestPrice()}}> - - {wallets[activePair.quoteAsset].free.toLocaleString()}{" "}{t("currency." + activePair.quoteAsset)} -
- - const pricePerUnitTop =
{fillBuyByWallet()}}> - - {bestBuyPrice.toLocaleString()}{" "}{t("currency." + activePair.quoteAsset)} -
- - const totalPriceTop =
-

{t("commission")}

-

- {order.tradeFee.toFormat()}{" "} - {t("currency." + activePair.baseAsset)} -

-
- return ( -
- -
-
- buyPriceHandler(e.target.value, "reqAmount")} - //alert={alert.reqAmount} - /> -
-
- buyPriceHandler(e.target.value, "pricePerUnit")} - /> +
+ +
+
{fillBuyByWallet()}}> + {t("orders.availableAmount")}: + {new BN(quote).toFormat()}{" "}{t("currency." + activePair.quoteAsset)}
-
-
-
- buyPriceHandler(e.target.value, "totalPrice")} - //alert={alert.totalPrice} - /> +
fillBuyByBestPrice()}> + {t("orders.bestOffer")}: + {new BN(bestBuyPrice).toFormat()}{" "}{t("currency." + activePair.quoteAsset)}
-
-
-
@@ -321,22 +374,6 @@ const BuyOrder = (props) => { ); }; -const mapStateToProps = (state) => { - return { - activePair: state.exchange.activePair, - bestBuyPrice: state.exchange.activePairOrders.bestBuyPrice, - selectedBuyOrder: state.exchange.activePairOrders.selectedBuyOrder, - wallets: state.auth.wallets, - tradeFee: state.auth.tradeFee, - accessToken: state.auth.accessToken, - isLogin: state.auth.isLogin, - }; -}; -const mapDispatchToProps = (dispatch) => { - return { - setLastTransaction: (time) => dispatch(setLastTransaction(time)), - }; -}; -export default connect(mapStateToProps, mapDispatchToProps)(BuyOrder); +export default BuyOrder; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/SellOrder/SellOrder.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/SellOrder/SellOrder.js index 7bb5f51..68ad7e5 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/SellOrder/SellOrder.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Market/components/Order/components/SellOrder/SellOrder.js @@ -1,17 +1,336 @@ -import React from "react"; +import React, {useEffect, useState} from "react"; import classes from "../../Order.module.css"; -import {useTranslation} from "react-i18next"; +import {Trans, useTranslation} from "react-i18next"; +import {useNavigate} from "react-router-dom"; +import {useDispatch, useSelector} from "react-redux"; +import {useGetUserAccount} from "../../../../../../../../../../../../queries/hooks/useGetUserAccount"; +import {toast} from "react-hot-toast"; +import {setLastTransaction} from "../../../../../../../../../../../../store/actions/auth"; +import {BN, parsePriceString} from "../../../../../../../../../../../../utils/utils"; +import {createOrder} from "js-api-client"; +import {images} from "../../../../../../../../../../../../assets/images"; +import Icon from "../../../../../../../../../../../../components/Icon/Icon"; +import NumberInput from "../../../../../../../../../../../../components/NumberInput/NumberInput"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + + const SellOrder = () => { + const navigate = useNavigate(); const {t} = useTranslation(); + const dispatch = useDispatch(); + const [isLoading, setIsLoading] = useState(false) - return ( -
+ const tradeFee = useSelector((state) => state.auth.tradeFee) + const isLogin = useSelector((state) => state.auth.isLogin) + const activePair = useSelector((state) => state.exchange.activePair) + const bestSellPrice = useSelector((state) => state.exchange.activePairOrders.bestSellPrice) + const selectedSellOrder = useSelector((state) => state.exchange.activePairOrders.selectedSellOrder) + + const {data: userAccount} = useGetUserAccount() + const base = userAccount?.wallets[activePair.baseAsset]?.free || 0; + const quote = userAccount?.wallets[activePair.quoteAsset]?.free || 0; + + const [alert, setAlert] = useState({ + reqAmount: null, + submit: false, + }); + + const [order, setOrder] = useState({ + tradeFee: new BN(0), + stopLimit: false, + stopMarket: false, + stopPrice: new BN(0), + reqAmount: new BN(0), + pricePerUnit: new BN(0), + totalPrice: new BN(0), + }); + + useEffect(() => { + if (alert.submit) { + setAlert({ + ...alert, submit: false + }) + } + }, [order]) + + useEffect(() => { + setOrder({ + tradeFee: new BN(0), + stopLimit: false, + stopMarket: false, + stopPrice: new BN(0), + reqAmount: new BN(0), + pricePerUnit: new BN(0), + totalPrice: new BN(0), + }) + setAlert({ + submit: false, + reqAmount: null, + totalPrice: null, + }) + }, [activePair]) + + + const currencyValidator = (key, val, rule) => { + if (!val.isZero() && val.isLessThan(rule.min)) { + return setAlert({ + ...alert, + [key]: ( + + ), + }); + } + if (val.isGreaterThan(rule.max)) { + return setAlert({ + ...alert, + [key]: + () + }) + } + if (!val.mod(rule.step).isZero()) { + return setAlert({ + ...alert, + [key]: () + }) + } + return setAlert({...alert, [key]: null}); + }; + + const sellPriceHandler = (value, key) => { + value = parsePriceString(value); + switch (key) { + case "reqAmount": + const reqAmount = new BN(value); + currencyValidator("reqAmount", reqAmount, activePair.baseRange); + setOrder({ + ...order, + reqAmount, + totalPrice: reqAmount.multipliedBy(order.pricePerUnit).decimalPlaces(activePair.quoteAssetPrecision), + tradeFee: reqAmount.multipliedBy(order.pricePerUnit).multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + }); + break; + case "pricePerUnit": + const pricePerUnit = new BN(value); + setOrder({ + ...order, + pricePerUnit: pricePerUnit, + totalPrice: pricePerUnit.multipliedBy(order.reqAmount).decimalPlaces(activePair.quoteAssetPrecision), + tradeFee: pricePerUnit.multipliedBy(order.reqAmount).multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + }); + break; + case "totalPrice": + const totalPrice = new BN(value); + const req = totalPrice.dividedBy(order.pricePerUnit).decimalPlaces(activePair.baseAssetPrecision); + setOrder({ + ...order, + reqAmount: req.isFinite() ? req : new BN(0), + totalPrice, + tradeFee: req.isFinite() ? totalPrice.multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision) : new BN(0), + }); + currencyValidator("reqAmount", req, activePair.baseRange); + break; + default: + } + }; + useEffect(() => { + setOrder((prevState) => ({ + ...order, + tradeFee: prevState.totalPrice.multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + })); + }, [tradeFee]); + + useEffect(() => { + sellPriceHandler( + bestSellPrice.toString(), + "pricePerUnit", + ); + }, [order.stopMarket]); + + useEffect(() => { + const reqAmount = new BN(selectedSellOrder.amount); + const pricePerUnit = new BN(selectedSellOrder.pricePerUnit); + setOrder({ + ...order, + reqAmount, + pricePerUnit: pricePerUnit, + totalPrice: reqAmount.multipliedBy(pricePerUnit).decimalPlaces(activePair.quoteAssetPrecision), + tradeFee: reqAmount.multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + }); + currencyValidator("reqAmount", reqAmount, activePair.baseRange); + }, [selectedSellOrder]); + + const fillSellByWallet = () => { + if(order.pricePerUnit.isEqualTo(0) && bestSellPrice === 0 ) return toast.error(t("orders.hasNoOffer")); + if (order.pricePerUnit.isEqualTo(0)) { + const totalPrice = new BN(quote); + setOrder({ + ...order, + reqAmount: totalPrice.dividedBy(bestSellPrice).decimalPlaces(activePair.baseAssetPrecision), + pricePerUnit: new BN(bestSellPrice), + totalPrice, + tradeFee: totalPrice.multipliedBy(tradeFee[activePair.quoteAsset]).decimalPlaces(activePair.baseAssetPrecision), + }); + } else { + sellPriceHandler( + quote.toString(), + "totalPrice", + ); + } + }; + + const fillSellByBestPrice = () => { + sellPriceHandler( + bestSellPrice.toString(), + "pricePerUnit", + ); + }; + + useEffect(() => { + if (order.reqAmount.isGreaterThan(base)) { + return setAlert({ + ...alert, + reqAmount: t('orders.notEnoughBalance') + }) + } + return setAlert({ + ...alert, + reqAmount: null + }) + }, [order.reqAmount]); + + const submit = () => { + if (!isLogin) { + return false + } + if (isLoading) { + return false + } + setIsLoading(true) + createOrder(activePair.symbol, "SELL", order) + .then((res) => { + setOrder({ + tradeFee: new BN(0), + stopLimit: false, + stopMarket: false, + stopPrice: new BN(0), + reqAmount: new BN(0), + pricePerUnit: new BN(0), + totalPrice: new BN(0), + }) + toast.success(); + dispatch(setLastTransaction(res.data.transactTime)) + }).catch(() => { + toast.error(t("orders.error")); + setAlert({ + ...alert, submit: true + }) + }).finally(() => { + setIsLoading(false) + }) + } + + const submitButtonTextHandler = () => { + if (isLoading) { + return linearLoading + } + /*if (alert.submit) { + return {t("login.loginError")} + }*/ + if (isLogin) { + return t("sell") + } + return t("pleaseLogin") + } + + + return ( +
+
+
{fillSellByWallet()}}> + {t("orders.availableAmount")}: + {new BN(base).toFormat()}{" "}{t("currency." + activePair.baseAsset)} +
+
fillSellByBestPrice()}> + {t("orders.bestOffer")}: + {new BN(bestSellPrice).toFormat()}{" "}{t("currency." + activePair.quoteAsset)} +
+
+ sellPriceHandler(e.target.value, "reqAmount")} + alert={alert.reqAmount} + customClass={`${classes.smallInput} fs-0-8`} + /> + sellPriceHandler(e.target.value, "pricePerUnit")} + customClass={`${classes.smallInput} fs-0-8 my-05`} + /> + sellPriceHandler(e.target.value, "totalPrice")} + customClass={`${classes.smallInput} fs-0-8`} + /> +
+
+

+ {t("orders.tradeFee")}:{" "} + {order.tradeFee.toFormat()}{" "} + {t("currency." + activePair.quoteAsset)} +

+

+ {t("orders.getAmount")}:{" "} + {order.totalPrice.minus(order.tradeFee).decimalPlaces(activePair.baseAssetPrecision).toNumber()}{" "} + {t("currency." + activePair.quoteAsset)} +

+
+
); }; From e1e41135328aac54d5028279fa85a0301aab0188 Mon Sep 17 00:00:00 2001 From: Hossein Date: Mon, 1 May 2023 18:27:30 +0330 Subject: [PATCH 02/16] #6, Add deposit address --- .../Wallet/components/Deposit/Deposit.js | 174 +++++++++++++- .../components/Deposit/Deposit.module.css | 12 + .../Deposit/components/IRT/IRT.module.css | 0 .../Deposit/components/IRT/IRTDeposit.js | 219 ++++++++++++++++++ .../components/CallbackPage/CallbackPage.js | 66 ++++++ .../CallbackPage/CallbackPage.module.css | 28 +++ .../components/Deposit/components/Transfer.js | 78 +++++++ 7 files changed, 574 insertions(+), 3 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRT.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRTDeposit.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/components/CallbackPage/CallbackPage.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/components/CallbackPage/CallbackPage.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/Transfer.js diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js index b66fa51..d34f93b 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js @@ -1,9 +1,177 @@ -import React from 'react'; +import React, {useEffect, useRef} from 'react'; import classes from './Deposit.module.css' +import QRCode from "react-qr-code"; +import {Trans, useTranslation} from "react-i18next"; +import TextInput from "../../../../../../../../../../components/TextInput/TextInput"; +import {useParams} from "react-router-dom"; +import {useGetDepositAddress} from "../../../../../../../../../../queries"; +import {toast} from "react-hot-toast"; +import Loading from "../../../../../../../../../../components/Loading/Loading"; +import Error from "../../../../../../../../../../components/Error/Error"; +import Icon from "../../../../../../../../../../components/Icon/Icon"; + + const Deposit = () => { - return ( -
+ const {id} = useParams(); + const {t} = useTranslation(); + const addressRef = useRef(null); + + const copyToClipboard = () => { + addressRef.current.select(); + document.execCommand("copy"); + toast.success(); + }; + + const {data: address, isLoading, error, refetch} = useGetDepositAddress(id) + + useEffect(() => { + if (id !== "IRT") refetch() + }, [id]); + + const helpText = () => { + if (id === "TETH") { + return
+ {t("DepositWithdraw.important")}: +
+ {t("DepositWithdraw.DepositTETHContentBefore")} + window.open('https://faucet.dimensions.network/')}>https://faucet.ropsten.be + {t("DepositWithdraw.DepositTETHContentAfter")} +
+
+ +
+
+ +
+
+ } + if (id === "TBTC") { + return
+ {t("DepositWithdraw.important")}: +
+ {t("DepositWithdraw.DepositTBTCContentBefore")} + window.open('https://testnet-faucet.com/btc-testnet')}>https://testnet-faucet.com/btc-testnet + {t("DepositWithdraw.DepositTBTCContentAfter")} +
+
+ +
+
+ +
+
+ } + if (id === "TUSDT") { + return
+ {t("DepositWithdraw.important")}: +
+ {t("DepositWithdraw.DepositTUSDTContentBefore")} + window.open('https://bit.ly/ROPTokens')}>https://bit.ly/ROPTokens + {t("DepositWithdraw.DepositTUSDTContentAfter")} +
+
+ +
+
+ +
+
+ } + } + + + const lowestPrice = (id) => { + switch (id) { + case "BTC": + return 0.001; + case "ETH": + return 0.001; + case "USDT": + return 10; + default: + return 0; + } + }; + + + + // if (id === "IRT") return + if (isLoading) return
+ if (error) return
+ + + return ( +
+
+ + copyToClipboard()} + customClass={`hover-text cursor-pointer`} + /> + } + customClass={`${classes.depositInput} my-3`} + readOnly={true} + type="text" + customRef={addressRef} + value={address.address} + /> + +
+ { (id === "TETH" || id === "TUSDT" || id === "TBTC") && helpText() }
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.module.css index e69de29..5307d94 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.module.css @@ -0,0 +1,12 @@ +.depositInput { + width: 100%; +} +.depositInput :global(.after) { + width: 15%; + cursor: pointer; +} +.depositInput :global(input) { + width: 85% !important; + cursor: not-allowed; + font-family: 'Roboto', sans-serif; +} \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRT.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRT.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRTDeposit.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRTDeposit.js new file mode 100644 index 0000000..32fb268 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/IRTDeposit.js @@ -0,0 +1,219 @@ +import React, {useEffect, useState} from "react"; +import classes from "../../../../DepositWithdraw.module.css"; +import {useLocation, useParams} from "react-router-dom"; +import {useDispatch, useSelector} from "react-redux"; +import {Trans, useTranslation} from "react-i18next"; +import NumberInput from "../../../../../../../../../../../../../../components/NumberInput/NumberInput"; +import {BN, parsePriceString} from "../../../../../../../../../../../../../../utils/utils"; +import Button from "../../../../../../../../../../../../../../components/Button/Button"; +import QRCode from "react-qr-code"; +import moment from "moment-jalaali"; +import {toast} from "react-hot-toast"; +import Loading from "../../../../../../../../../../../../../../components/Loading/Loading"; +import Countdown from "react-countdown"; +import CallbackPage from "./components/CallbackPage/CallbackPage"; +import {setIPGInitiate} from "../../../../../../../../../../../../../../store/actions"; +import {useGetIpgOpenInvoice, useIPGDeposit} from "../../../../../../../../../../../../../../queries"; +import {cancelIPGDepositReq, sendIPGDepositReq} from "js-api-client"; +import Error from "../../../../../../../../../../../../../../components/Error/Error"; + + +const IRTDeposit = () => { + + const {t} = useTranslation(); + const dispatch = useDispatch(); + const KYCStatus = useSelector((state) => state.auth.kyc) + + + + const [sendIPGLoading, setIPGIsLoading] = useState(false) + + const params = new URLSearchParams(useLocation().search); + const paymentStatus = params.get("payment_status"); + + const [disable, setDisable] = useState(false); + const [req, setReq] = useState({amount: {value: "", error: []}}) + + const apiBaseUrl = window.env.REACT_APP_API_BASE_URL; + + const dataMin = 1000 + const dataMax = 50000000 + + const fund = useSelector((state) => state.auth.wallets.IRT.free) + const ipgLock = useSelector((state) => state.exchange.ipgLock) + + const {id} = useParams(); + + const {data: openInVoice, isLoading, refetch} = useGetIpgOpenInvoice() + const {refetch : refetchIPGInvoice} = useIPGDeposit() + + useEffect(() => { + refetch() + }, [fund]); + + + const cancelIPGInvoice = (reference) => { + setIPGIsLoading(true) + setReq({amount: {value: "", error: []}}) + cancelIPGDepositReq(reference) + .then(() => { + toast.error(t("DepositWithdrawTx.cancelPayment")) + refetchIPGInvoice() + refetch() + }).finally(() => setIPGIsLoading(false)); + } + + const submit = async (e) => { + e.preventDefault(); + const amount = new BN(parsePriceString(req.amount.value)).multipliedBy(10) + + if (amount.isGreaterThan(dataMax) || new BN(parsePriceString(req.amount.value)).isLessThan(dataMin)) return false + setIPGIsLoading(true) + sendIPGDepositReq(amount).then(() => { + toast.success() + refetchIPGInvoice() + refetch() + }).finally(() => setIPGIsLoading(false)); + }; + + const inputHandler = (e) => { + let errorMessage = [] + const min = parsePriceString(e.target.dataset.min) + const max = parsePriceString(e.target.dataset.max) + const value = parsePriceString(e.target.value) + + const amountValidator = () => { + if (typeof min === undefined || typeof max === undefined) { + return false; + } + if (value < min) { + return false; + } + return value <= max; + } + if (!amountValidator()) { + errorMessage.push() + } + setReq({...req, [e.target.dataset.name]: {value: e.target.value, error: errorMessage}}) + } + + const openIPG = () => { + window.open(`${apiBaseUrl}/ipg/v1/payment/pay/${openInVoice[0].reference}`) + setDisable(true) + dispatch(setIPGInitiate(new Date().getTime() + 2 * 60 * 1000)) + } + + useEffect(() => { + if (ipgLock && new Date().getTime() < ipgLock) setDisable(true) + }, [ipgLock]); + + const payButtonTitle = (amount) => { + if (disable) { + return {t('DepositWithdraw.pay')} (
{props.minutes}:{props.seconds}
} + onComplete={() => setDisable(false)} + />)
+ } + return {t('DepositWithdraw.pay')} ({amount} {t("currency." + id)}) + } + + if (KYCStatus !== "ACCEPTED") return + + const content = () => { + if (isLoading || sendIPGLoading) { + return
+ +
+ } + if (openInVoice?.length > 0) { + const amount = new BN(`${openInVoice[0].amount}`).multipliedBy(0.1).toFormat() + return
+ +
+ +
+
+ +
+
+ {!disable ? : ""} +
+
+ } + return
submit(e)} className={`px-1 py-2 column jc-around ${classes.content}`}> + + inputHandler(e)} + alerts={req.amount.error} + /> +
+ } + + ); +}; + +export default CallbackPage; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/components/CallbackPage/CallbackPage.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/components/CallbackPage/CallbackPage.module.css new file mode 100644 index 0000000..30c7285 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/IRT/components/CallbackPage/CallbackPage.module.css @@ -0,0 +1,28 @@ +.container{ + width: 100%; + height: 100%; + position: fixed; + top: 0; + /*background-color: #0304038f;*/ + background-color: rgba(0, 0, 0, 0.66); + z-index: 6; + right: 0; +} +.content{ + position: fixed; + top: 27.5%; + left: 37.5%; + width: 25%; + height: 45%; + background-color: var(--cardBody); + z-index: 7; +} +.content img{ + width: 7vw; +} +.thisButton { + width: 100%; + background-color: var(--orange); + color: #000 !important; + +} \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/Transfer.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/Transfer.js new file mode 100644 index 0000000..5ec71a4 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/components/Transfer.js @@ -0,0 +1,78 @@ +import classes from "../../../DepositWithdraw.module.css"; +import TextInput from "../../../../../../../../../../../../../components/TextInput/TextInput"; +import Button from "../../../../../../../../../../../../../components/Button/Button"; +import React, {useState} from "react"; + +const Transfer = () => { + const [transferInput, setTransferInput] = useState({ + amount: "", + destinationUserNumber: "", + }); + return
+
+
+ + setTransferInput({...transferInput, amount: e.target.value}) + } + type="text" + /> + + موجودی قابل برداشت: 0.05 بیتکوین + + + سقف برداشت روزانه شما: 1 بیتکوین + + + سقف برداشت ماهانه شما: 10 بیتکوین + +
+
+
+ + setTransferInput({ + ...transferInput, + destinationUserNumber: e.target.value, + }) + } + /> + + لطفا دقت کنید! ورود اشتباه آدرس می تواند به از دست رفتن سرمایه + منجر شود. + +
+
+
+ + کارمزد: ... + + + دریافتی شما: ... + +
+
+
+
+
+ + باتوجه به ملاحضات امنیتی ممکن است انتقال به حساب با کمی تاخیر صورت + بگیرد. می توانید وضعیت برداشت را در همین صفحه از بخش ترکنش های{" "} + {`${t("DepositWithdraw.title")}`}{" "} + ببینید. + +
+
+} +export default Transfer; \ No newline at end of file From 8739c823b21c65cf22710a43b94c570e96a83f07 Mon Sep 17 00:00:00 2001 From: Hossein Date: Tue, 2 May 2023 16:15:59 +0330 Subject: [PATCH 03/16] #6, Add WithdrawReq --- public/assets/locales/en/translation.json | 1 + public/assets/locales/fa/translation.json | 1 + src/assets/fontIcon/opex-icon/config.json | 10 +- .../opex-icon/css/opex-icon-codes.css | 5 +- .../opex-icon/css/opex-icon-embedded.css | 17 +- .../opex-icon/css/opex-icon-ie7-codes.css | 5 +- .../fontIcon/opex-icon/css/opex-icon-ie7.css | 5 +- .../fontIcon/opex-icon/css/opex-icon.css | 19 +- src/assets/fontIcon/opex-icon/demo.html | 17 +- .../fontIcon/opex-icon/font/opex-icon.eot | Bin 37928 -> 38208 bytes .../fontIcon/opex-icon/font/opex-icon.svg | 8 +- .../fontIcon/opex-icon/font/opex-icon.ttf | Bin 37756 -> 38036 bytes .../fontIcon/opex-icon/font/opex-icon.woff | Bin 23368 -> 23556 bytes .../fontIcon/opex-icon/font/opex-icon.woff2 | Bin 19524 -> 19640 bytes .../NumberInput/NumberInput.module.css | 2 +- src/components/TextInput/TextInput.js | 2 +- src/components/TextInput/TextInput.module.css | 2 +- .../Wallet/components/Deposit/Deposit.js | 5 + .../components/withdrawal/withdrawal.js | 276 +++++++++++++++++- .../withdrawal/withdrawal.module.css | 63 ++++ .../components/WalletNavMenu/WalletNavMenu.js | 5 +- 21 files changed, 401 insertions(+), 42 deletions(-) diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index 721a0dd..96abac7 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -234,6 +234,7 @@ "title": "Deposit / Withdraw", "success": "The Address is copied.", "copy": "Copied!", + "paste": "Pasted!", "IRTAllowable": "The minimum amount must be {{min}} IRT and the maximum {{max}} IRT.", "emptyInput": "Enter the required value.", "IRTText": "The invoice with the amount of {{amount}} IRT is created on {{date}}, {{time}. you will be directed to the payment portal through the green button below. To create a new invoice, pay or cancel the previous invoice.", diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index 7f64442..f2d31a5 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -234,6 +234,7 @@ "title": "واریز/برداشت", "success": "آدرس کپی شد", "copy": "کپی شد", + "paste": "paste شد", "IRTAllowable": "مقدار حداقل باید {{min}} تومان و حداکثر {{max}} تومان باشد.", "emptyInput": "وارد کردن مقدار الزامی است.", "IRTText": "صورتحساب با مبلغ {{amount}} تومان در تاریخ {{date}} ، ساعت {{time}} ایجاد شده است. از طریق دکمه سبز رنگ زیر به درگاه پرداخت هدایت می شوید. برای ایجاد صورتحساب جدید، صورتحساب قبلی را پرداخت و یا لغو کنید.", diff --git a/src/assets/fontIcon/opex-icon/config.json b/src/assets/fontIcon/opex-icon/config.json index 6a22ec0..7542e45 100644 --- a/src/assets/fontIcon/opex-icon/config.json +++ b/src/assets/fontIcon/opex-icon/config.json @@ -494,7 +494,7 @@ }, { "uid": "c759418c008e9562944080fee617fc76", - "css": "cancel-circled", + "css": "cancel-circled-1", "code": 353, "src": "entypo" }, @@ -518,7 +518,7 @@ }, { "uid": "fd32deda7b2f5b8cad46d13897c19ae8", - "css": "cancel-circled-1", + "css": "cancel-circled-2", "code": 357, "src": "elusive" }, @@ -935,6 +935,12 @@ "css": "play", "code": 528, "src": "typicons" + }, + { + "uid": "b429436ec5a518c78479d44ef18dbd60", + "css": "paste", + "code": 529, + "src": "fontawesome" } ] } \ No newline at end of file diff --git a/src/assets/fontIcon/opex-icon/css/opex-icon-codes.css b/src/assets/fontIcon/opex-icon/css/opex-icon-codes.css index 7c9d209..6b5e5f6 100644 --- a/src/assets/fontIcon/opex-icon/css/opex-icon-codes.css +++ b/src/assets/fontIcon/opex-icon/css/opex-icon-codes.css @@ -60,10 +60,10 @@ .icon-help-circled-2:before { content: '\0158'; } /* 'Ř' */ .icon-help-circled-alt:before { content: '\0159'; } /* 'ř' */ .icon-menu_vertical:before { content: '\0160'; } /* 'Š' */ -.icon-cancel-circled:before { content: '\0161'; } /* 'š' */ +.icon-cancel-circled-1:before { content: '\0161'; } /* 'š' */ .icon-cancel-circle:before { content: '\0162'; } /* 'Ţ' */ .icon-cancel-circle-1:before { content: '\0163'; } /* 'ţ' */ -.icon-cancel-circled-1:before { content: '\0165'; } /* 'ť' */ +.icon-cancel-circled-2:before { content: '\0165'; } /* 'ť' */ .icon-cancel-circle-2:before { content: '\0166'; } /* 'Ŧ' */ .icon-profilesetting:before { content: '\0167'; } /* 'ŧ' */ .icon-protectsetting:before { content: '\0168'; } /* 'Ũ' */ @@ -109,4 +109,5 @@ .icon-down-dir:before { content: '\0208'; } /* 'Ȉ' */ .icon-up-dir:before { content: '\0209'; } /* 'ȉ' */ .icon-play:before { content: '\0210'; } /* 'Ȑ' */ +.icon-paste:before { content: '\0211'; } /* 'ȑ' */ .icon-cancel-circled2:before { content: '\e801'; } /* '' */ diff --git a/src/assets/fontIcon/opex-icon/css/opex-icon-embedded.css b/src/assets/fontIcon/opex-icon/css/opex-icon-embedded.css index 2a018d3..69bfb27 100644 --- a/src/assets/fontIcon/opex-icon/css/opex-icon-embedded.css +++ b/src/assets/fontIcon/opex-icon/css/opex-icon-embedded.css @@ -1,15 +1,15 @@ @font-face { font-family: 'opex-icon'; - src: url('../font/opex-icon.eot?19085055'); - src: url('../font/opex-icon.eot?19085055#iefix') format('embedded-opentype'), - url('../font/opex-icon.svg?19085055#opex-icon') format('svg'); + src: url('../font/opex-icon.eot?66750795'); + src: url('../font/opex-icon.eot?66750795#iefix') format('embedded-opentype'), + url('../font/opex-icon.svg?66750795#opex-icon') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'opex-icon'; - src: url('data:application/octet-stream;base64,d09GRgABAAAAAFtIAA8AAAAAk3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAARAAAAGBXU0nvY21hcAAAAdgAAAMQAAAH3PKCR4VjdnQgAAAE6AAAAAsAAAAOAAAAAGZwZ20AAAT0AAAG7QAADgxiLvl6Z2FzcAAAC+QAAAAIAAAACAAAABBnbHlmAAAL7AAASEMAAHACIxm7r2hlYWQAAFQwAAAAMwAAADYjJvD0aGhlYQAAVGQAAAAgAAAAJAgZBJVobXR4AABUhAAAAM0AAAHAiS3/pWxvY2EAAFVUAAAA4gAAAOIs7Q5sbWF4cAAAVjgAAAAgAAAAIAKMEA9uYW1lAABWWAAAAYIAAALZ7BkGcnBvc3QAAFfcAAAC7QAABS3I7FWwcHJlcAAAWswAAAB6AAAAnH62O7Z4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgYW5mnMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDAcYGV4wMgf9z2KIYl7DcAwozIiiiAkAXlwL2Xic5dXXflRlFMbh/7vTiCKGTqyhE2voxBoglFhDJ9ZATCA2sMMZdvEoCmq4Ba/Ba/AaPOQu8F3zbk+5AWfyZDJ7fvlmrbXXtz6gB+iyJ6wbmkXkv9CvvqrO9S7u6Vzv1pzfP8KAryxTvwY1rFFNaEozmtdVXdetpr8ZuK07d/z/aEBDGtGYJjWtWV3WNS00/Pf5XR7yd4xwgJPMcYWfWWCRP/mLv/nHz/q8cQTdjryXPpbQ7/juZSn3sYz7Hd1yVrCSVaxmDWtZxyAP8CAP8bDXfZQh1rOBjWxiM1vYyjaGeYzHneeTPMXT/ubt7GAnu9jNHvayj1Ge4Vme43le4EXG2O/YDjLOIQ5zhKNM8BIv8wqv8hqvM8kxjnPC0Z/iNGc4yxRv8CZv8Tbv8C7TnOM8M7zHrPO7wEXmeZ8P+JCP+JhLTq/3rtX5fzyW1q+e8fZdVQXaxvRPy32AWtXDalUfq1X9rZb7pVPdToX7/NpyD6GWuwm1qu81EO4wtDwqOq0Idx1aGe4/tCrciWh1UGusCWqNtUGtsS6oNQaDWmMoqDXWB7XGhqDW2BjUGpuCWmNzuO/RlvAOQFvDewFtC+8KNBzeH2gkvFPQ9qBi2RFULDuDimVXULHsDiqWPUHFsjeoWPYFFctoULGMBRXL/vC+RAfCOxQdjJpVGg/vWnQovH/R4fBORkeCyuloUDlNBJXTZFA5HQsqp+NB5XQiqJxOBpXTqaByOh1UTmfCcwOdDU8QNBWeJWg6PFXQufB8QefDkwbNBFWb2aBqMxdUbS4EVZuLQdVmPqjaXA6qNp8EVZtPg6rNZ0HV5vPwXENfhCcc+jI869BX4amHroTnH7oanoToWlA1/jqoGn8TVI2/DarG3wVV4++DqvEPQdX4x6Bq/FNQNb4eVI0XwnMX/RKewHWmdXgWoxvhqYxuhucz+i08qdHvQd2rP4K6V4tB3atb4Yle46jDs51G4SlP04TnPU1XePLTdIfPAJqe8GlA0xs+F2j6wicEzZLwWUHTHz41fKaGzw9uK7j0L8cUhr14nGNgQAYAAA4AAQB4nK1Xa1sbxxWe1Q2MAQNC2M267ihjUZcdySRxHGIrDtllURwlqcC43XVuu0i4TZNekt7oNb1flD9zVrRPnW/5aXnPzEoBB9ynz1M+6Lwz886c65xZSGhJ4n4UxlJ2H4n5nS5V7j2I6IZL1+LkoRzej6jQSD+bFtOi31f7br1OIiYRqK2RcESQ+E1yNMnkYZMKWtVVvUlFLQdHxeWa8AOqBjJJ/KywHPhZoxhQIdg7lDSrAIJ0QKXe4ahQKOAYqh9crvPsaL7m+JcloPJHVaeKNUWiFx3EoxWnYBSWNBU9qgUR66OVIMgJrhxI+rxHpdUHo2vOXBD2Q6qEUZ2KjXj3rQhkdxhJ6vUwtQk2bTDaiGOZWTYsuoapfCRpndfXmfl5L5KIxjCVNNOLEsxIXpthdJPRzcRN4jh2ES2aDfokdiMSXSbXMXa7dIXRlW76aEH0mfGoLPbjeJDG5HhxnHsQywH8UX7cpLKWsKDUSOHTVNCLaEr5NK18ZABbkiZVTLgRCTnIpvZ9yYvsrmvN518SSdin8lodi4EcyiF0ZevlBiK0EyU9N92NIxXXY0mb9yKsuRyX3JQmTWk6F3gjUbBpnsZQ+QrlovyUCvsPyenDEJpaa9I5LdnaebhVEvuST6DNJGZKsmWsndGjc/MiCP21+qRwzuuThTRrT3E8mBDA9USGQ5VyUk2whcsJIenCyLGVSK1Kt6yKuTO201XsEu6Xrh3fNK+NQ0dzs6IYQour6vEaiviCzgqFkAbpVpMWNKhS0oXgNT4AABmiBR7tYrRg8rWIgxZMUCRi0IdmWgwSOUwkLSJsTVrS3b0oKw224qs0d6AOm1TV3Z2oe89OunXMV838ss7EUnA/ypaWAnJSnxY9vnIoLT+7wD8L+CFnBbkoNnpRxuGDv/4QGYbahbW6wrYxdu06b8FN5pkYnnRgfwezJ5N1RgozIaoK8UJB3Rk5jmOyVdMiE4VwL6Il5cuQ5lF+c4hw4svkP5cuOWJRVIXv+xyBZaw5abY87dGnnvs0wrUCH2teky7qzGF5CfFm+TWdFVk+pbMSS1dnZZaXdVZh+XWdTbG8orNplt/Q2TmWnlbj+FMlQaSVbJHzDt+WJuljiyuTxY/sYvPY4upk8WO7KLWgC96ZfsKpf1tX2c/j/tXhn4RdT8M/lgr+sbwK/1g24B/LVfjH8pvwj+U1+MfyW/CP5Rr8Y9nSsm0K9rqG2kuJRNNzksCkFJewxTW7rum6R9dxH5/BVejIM7Kp0g3Fjf2JDJe9f3ac4my+EnLF0TNrWdmphRGaInv53LHwnMW5oeXzxvLncZrlhF/ViWt7qi08L1b+Jfhv647ayG44Nfb1JuIBB063H5cl3WjSC7p1sd2kjf9GRWH3QX8RKRIrDdmSHW4JCO3d4bCjOughER4+dF28SBuOU1tGhG+hd63QRdBKaKcNQ8tmhU/nA+9g2FJStoc48/ZJmmzZ86ii/DFbUsI9ZXMnOirJsnSPSqvlp2KfO+0MmrYyO9R2QpXg8euacLezr1IpSAaKynhUsVwKUhc44U73+J4UpqH/q23kWEHDNr9YM4HRgvNOUaJsT62giSAZZRRc+Sun4kQ2osFGFPGbd9IvdaEQ2uNYSMyWV/NYqDbC9NJkiWbM+rbqsFLO4p1JCNkZG2kSe1FLtvGgs/X5pGS78lRQpYHR3ePfLjaJp1V7ni3FJf/yMUuCcboS/sB53OVxijfRP1ocxW26GEQ9F2+qbMetbN1Zxr195cTqrts7seqfuvdJOwJNt7wnKdzSdNsbwjauMTh1JhUJbdE6doTGZa7PVRv5FB9ovnWdC1Th+rRw8+z52zqbwVsz3vI/lnTn/1XF7BP3sbZCqzpWL/U4t7ODBnzLG0flVYxue3WVxyX3ZhKCuwhBzV57fI3ghldbdBO3/LUz5rs4zlmu0gvAr2t6EeINjmKIcMttPLzjaL2puaDpDcBv65EQ2wA9AIfBjh45ZmYXwMzcY04HYI85DO4zh8F3mMPgu/oIvTAAioAcg2J95Ni5B0B27i3mOYzeZp5B7zDPoHeZZ9B7rDMESFgng5R1MthnnQz6zHkVYMAcBgfMYfCQOQy+Z+zaAvq+sYvR+8YuRj8wdjH6wNjF6ENjF6MfGrsY/cjYxejHiHF7ksCfmBFtAn5k4SuAH3PQzcjH6Kd4a3POzyxkzs8Nx8k5v8Dmlyan/tKMzI5DC3nHryxk+q9xTk74jYVM+K2FTPgduHcm5/3ejAz9EwuZ/gcLmf5H7MwJf7KQCX+2kAl/AfflyXl/NSND/5uFTP+7hUz/B3bmhH9ayIShhUz4VI/Omy9bqrijUqEY4p8mtMHY92j6gIpXe4fjx7r5BSXaAUEAAAAAAQAB//8AD3ictb0JfBzFlT9eVX339Jw9Mz235h5pdM6ty9JYtmxZli3Lli3LCF8Yy/KBhY3tQGxFENsYwhWSEOIAwSyL2RwkgVwf4JdfNkuy+eWEbIBcGxJ+CYEk/2Q3IdnEa7X/r7pHvoAcv92VZqqrq6uru169eu/7ql7VIIzQuZ8znyENyI38Va8VI4yHCIbDMYTQQbfmYnh/o4T5eAani724nNckCOqw1818RN8qR2R9q8VyJRxxPa63hJQJC75Tv8piwfdbIvKExaJ/F5ItE5YQQvAshOBZS8xncRgRPIQIIsfgeeig5jaelRLgWfSBrfDACn2g8awJKE7/rv5dS8hyJZT+ABwh2DUhy7hBf1GW6XX8gExfBx6FyLk/nfs8PkXOoQxqQg3VNGI59hjiCHcMnkqOIcxADRnEGNV0un0NmTTPhxpTZa9gI4l4Jg11zaQTcTvh05UeUshrXjvmNW8hX64wxagjipe7fA4uPprdU59oK4b8nNNi9QqqzyFE1jXszSRaS0E/47IEpEcwq59N8UkH540MD165o+LiGI4ISZvgjg4v27ij3cWwDLniJv0sMmh07n8xi+C9g6hUzSMOmS98nOUJNA0ao0eENzG0iYYx8gHV7FZZ4lkUxEGB9zbifATzrdjjtuF0piLE08VypZAplvNewUO+19RNqtlnuze0E+Y7Td3dTd9hutdVCf5yz2gPZr7TCFcbaFI3fi7b05N9Duj4+3MzzA+ZPAqjIkpV4/mWbDoekBiRMgqifEJo42GkOlEYhxl4Aw6aTuApBaEJy72kXMjXkQi2Y83LYxscK+U6TC9n0jQjTSc/U93Pv9hU3yDnR69KRfOvb/fmW31X/74tnv5sXmjR81ixuD8f9H++ifee+l7EsmGDNfLdU56DyvXX+4Lh/O+Wb0hsFAI/aW39SZDdnHjkt4lOvI6tFid22Wy7ng+736uxgX/+5wCrvVelND539tyTzBSZQwHkrNq8DguDllE2UKGBG3G5Qvmboy+seoGSvAAcoGbS5Qpu6G/mk9w+7LIrytcrTMD2b3dttgdI+9cVxY5/e+82u/1shIkoT+m/tbvFEyMVyWvDtqcsEdbkfXIdeT/QMVINBlSFZSn7M/g8/7t9bj/LBxqB3SlJ3AJv0DFOu10GWhFeCt6MjEajN98cjUbW1d18c2T9AgjrFqyP0Dh5Wx1NrBuNRuj5gnUQRkd7aRJioB1/y0bJ15AfxaFHlKsFeCeGw8wU8BhLOHaKh1dBZBwOBG2BGBoJBhqz6VRdJBAPxkOawPvg3aB3CHw000IytFtUylEtQrh8uZiO825vxc23kHIl72Vlr1coH144rT8/XZ0pil4vX56pXosbrq3OlHVh+c6d79+581Pd6yk3Nnbjw+GIZclNTatWNc8OyDQ+27R6dfPMwEu7Idv7d3+2sYd0bmhnexCSoF9fw/yAWYkEZEcaqoP+3YoqqBcNoFy1pbvSlAlJPEMFC9TgGIsJA52dwdDPMT64sNq/uDqwcKBUTCU52ldoq0KPx1C5NMQph9LWxrTd4UKqhYZ1mAE2xoINpyLQIMC0wBfAxT2Yy3ttpAWX8S9LgtsTKSp648mTnqwgN+EvF8wUEpSbkh/4gCd79jsem+xYbF/67joSfvdSOUtuuixB/9rmW8nxZ06Q28j2e731opxN6+8rAfGgHP2z9xrlJvHjkbKtCI/7vpz1RNnQu+deNsrw2PbITW5aEok4FtsG3u21Hb31iyfYu568m7Ke/GfoNoLGqqMYM6gjRljGLwEz5BoI4ZwYEw7oyCAgHsHHESNglmNY4Bi4Oo44jmwBbuHIyOCyhdWVK5aNDI6Y9K2A6BQpfQWTwOfpWzEJjDOQSKWBljEozFSAuHCdy2gGhVUBiEuvU+kVwW6eodxFuYxECiap9TpKVErpd5dMUuOf1FLmOig5gLRdlKreOkJ2XZag37vlViDOiS3llSt3Dw3BuUlvfe88uevuNemN76K09kbK+PZ3DxgUn7v3osIoxclOSmyLY7HO3fb5O9jjXz6Kp4ag1N1DVN0ZOu8u0otcKITSaEG1MxGwcaCM8BD0el4kLHS/KQEbJIUD0JQxaOpW06lY1KepIXfIrbpdEogG57wUiOB54VABykQwlRAckMcQpvmjT/YNLFv4uaPkxGdo5MmjP8m0t68ML14cxr8IllcFl/QHV+GNVx7t61+y8OiT5uHp9uEyCS/qCz8UXNVOAov7QjV9nSOrkQ25qnaFI2iZKalcBGQBfRkDDICoknA6WXTgHG5z5ZMu/Qb9ehfx+CH2HG51JfMu/Xp8MxW9tTLbyLhZpswQNGiWqdEyS8WKBPKvhgDSLnwzPu5MFJ36c/q3oOTTASe+Wb/eWUw4cU7/ljMB+uncuZ3Mq8walETDqLmalYBTqWIioN7Nvg/PG0cMgzbR1hhePlgu+bQCSyW9080nYkBCZ7GHAXXfi3uYCFOHIzzogB5QXi1AYaqfbLiFyQD/QpQHttUibL6HYV4tps5+NVnGlrhSr5biLbtJOdASafOVye6WxfVpJW7Rv/SeFp5wHtbB3dhLghmlLdISKJMd63kb5+EI3/IeriXQUt9U3+bL45/N/ShVLKZIXJSiYtxWH4gPk3qXl7i8SXY4XgzFxaikP74zztn4MBS6sZm4w5J5eXAhFBaGQuM7ubgroCghRxLIzAKW+AzzPsAScdSPdqC96B+qj3hsxCW054hNvGKU2CVmyA06HB3jMOYxFZdQYSLMehULI7h4wTXjxFYX47Iys4hRXYw6I2NRtamibdaBbZJqk2aQXbIf92Aeuay8axKpoqSOIVWVtiBJlUaWLkkmMNq7a+fU1VdtnFg/tmZkaHDJjqU7+qpdHaViW0tDJtGf7K8L+7wup9UCKCaO4xqVHHE+jBM0cHu7sIeP4HwPzpQAfS3AxXQjLhXTf0UW7q/IUvAkMkKChJ2+rOr1qlkie/wemWRVTVOzfv0hmk6j59NpJh8pvXn+uXesSQh8gpzzO7Ne9TnVm1U0q1VTaidOv/6vAWeDpj6ravNXjJMGl3/0rW4ZPYJN+GBgw6PQnovQKtRd7VjAg6quDxLMkCEWIw6UHSJToO2wwfF4E0W5w/2LMVo+uHhV/6pEFC3CfbxJXuBlocbSdZh3ayCBgfVBknjpoQvnoT+UQV7TA6i8cjFT6xN2nKaHhABSCEBmvAUXezD+tF1jbIVsvy0o9oqcUmbZssJBNGjrb8zbGM0+QzPkmmoZLBWWrVgggxCy9WfKNENv84rm5hUbaEDOqfalakLjZOsea1huSyaTbXIY4jKnJVwDdlW1DziTxmVbSG7zdfvOX455ltrVM7VyIKjR7efMLvIiioDWA7rxQE4QPMwkIlSjEarRMDY0GqUZh4ejdRglE3WZaEbzuOyygCI4QhWaGrdhj9PtLcTy5ZKzmKbio1guxLw9uAjSgslT2QUpZ2Kd8VycDCTa2hJzLzv9fieJ1FoVTuJ+P3k+3hGfezmey8XxqUSbP+Gr8ZG+yQeX4z54b6723s8DZkujAqqiFWhbdYuVJ4AnhyxEZqCLH1Mwi8Gyod3XinmR4cdtWGQYkR5EZoskcHDCjPQtLBXrM8EARgNLF67oW9HVWayWqi3NmUJ9IRYNpINpi4z82Gc3uUPg60D4gc7txaCSK/mK0WOgujytvll55uITwexlZs+65AT3S05GtmWfVvwx61NZ3itxouhR8AZ/Op1PpX7hT6XyaTgYZ6+ZB/K8Itm92aesMb/ydJbnGNEh3aF4Uv65O/3pVIBc60/pT6ShM0F2P04EUqdT/iM0fsSfWpMKNNBMECAkAg2pfqg3cG8e9aCl0HfG0Vb0UPVDiIf+wYNoI3aHnThmVYzc0PqIm2KhxwHaYSY9WPBiSRakSST7rBpjUWTLlA0rAaefsRPFPuXCDlF0jMPBIW5CokMcvmLD6pFlA9XeUiGZoPTetHHD1iu2rls7Mr56fMXQwKplqxYv6l1aXdrVXugp9TQ1JPLJnImxgdcciswx0A7+YK0dEiaRCzFQUtArS1RsAafNM5o6f7nGj0KBXmk0gJM2n6kwHxHekIJfr69aP26wYRI48kxb4uPWar3Jo3dQvsUraHjmNA1PO30+J73m833OzHLPJWdMfUsK+P1z8Rw+BIWdTrSlWtbQ63G//oTfqZeNAr8KEs3k8UfoTfOfIxefGLy/kznHrEYyIIUIakGd6GRVam+VMcsCul/+Cf+q9dUiInA2jQTQYQKahT5zFLESZniW2YF4GXMiz00iEWNxDIki7dsiHg6C6UNYQAZ/013j1UCszmnv7CjlG9J1LbEWv9cecUac7qLFGCA53whMzBkTQCyUclQw5L2enJu2Yhq6Qhmkqhc6Bp+qIY+SExfwOR0nQ8w7gqlDZ3/DOG/R220ulw1/BcLf/lpWFPnXFkXB30sFz94YSuJzMrNan537biiZDJH6uZ+QFftcNnqDVR2zyi7Zqlgg+OB8Bv1btTGFrzKnmCqg/nA1APKMZbhLx17Cbo2OvWCwPFU6cmBiS0BjYPdCmDJNYi9zyv7VNsWj/OcZxavgtq/Z6rBvxhJVjmBfFL+m2L+kv6ZYHFg4elRwyayItS/ZFQ9Xr2uaXs8ZeGSK/SAzgtxgBafB/mirNis8CGI8JGIwwSlo41lCYZvAkfnBGRXQr+oJJUQ+Ai/Is5l4RuN6QFHBm5WTUdYrmMZnvpx5Q4T94AP6vz14wzTRP9gEKmnnA9iBe7Drvj9lu7LwOXPJAd8488IMzjC7uo5n0m+7e+aFw4dfmAnTK9nIJYcaTefrEqr6FWN0plaL2thZKEER7Zu+8Vu91pu9Qe1ZzKvkn4Bm8KygMUZnvfhRyTg8CwAttFwinuEpak1nSuly2kS1pBdERqZIR7EimHn1+CsnMtlr3hNMyjYGOgKjsFa34HYI9vXb8KqjT2878cpxvHHLw5vZLWmRxYqMicgyds7mFUMhNZu/e3TZ0c3tmx9GAsXe7CHGAnzEIQkpyAHUSKPV1WGMJVBRkCYdR7IIMIWRyaTAKQxF42NGBAA5iy0MxeQ8j1A6EQq6VZfTYbcBD/MSL4kCx1IOtVK9C4JajWUqCbA0EqlYJsEVMomKCpaHMTIJRqRKO9tBPHEaO/5Jf/uKfXefIp144tN6Dh/Z9wE88Y+n7v7Ci4I895ocl+Zek4j4ouwi73Thv9dvx/v11fixgRde0Pvxfji80KG/LAekuWcsFtItBWQcsZtY+huApZ9HThRACdSEOqplCVMFDNVjGdbgWMLMjy7igwQ1ZjPpeCwS9vs8bkUWBeQkTpmKdVOLUqxVE9vYFMZ5r/aGCLNwbnsi548rm8nSRC6nq1ra601rp7W0Bp9HvPTgJc/n4nMHXRpWNufj+PV4Tn9Cpele9ZJDzSb4OdTjI6AP+8BiWo9fq3qrC4hiKdcRm1KIE6u9qYGIVhZErAQidhBZeIW37HNhxcYr08hqFyXrPiRKkjjtwEh2Et6C+CkV25DdarNPgVQlwjiSOAYIIeGdSBDIFrArBDISXP4JGUocRjJv4eV9yALlTr9FuU7My399sRYodskbX1SgBQrCm7+ohAWjMAHvhKhAthqlrYbS1P/maleHLinMNkNLs1vF2f+n4sbhr1oYARBBwcXa0VXrR9YPLls0vHi4t6ers7WFcl2gL9inuhx2qyJLAk9hndsAryZWMCBbzAjnUUOejjlCb9IoLGilfao28JguVmpjj2DsV8qcqb9MbcbND8qcBsZMgErHr4NSp/FOp09J+nz1CvBtff36+qSSMBKiii9ujRoJOmdiBnwCwMfiXI58JBfXlXiOQgT6zRl8fIcvoSQhf70S9yv1Pl9SqSVErXG/NUoT+vzOR+gNEGRpQYtz87bSZ8jTjIiC0FtL1TxLeAZQPofwLPTOo4jhOMNI4rYgjuFGMKI9lY6mW8QLI+leoBcYSKCqW0F2O6kCL9FOGcYpT6FElQyZdde3dWfL+o/as91tEfe27c9s17/zlfJEGf8w7dVvaHO5HA6Xqw0f96aXXPO2t12zZMOGDcXOTmMY5JxO5TpgHCdKAcJ5z6frMIB56HgKcGAB8SBQ+H0cZgTCCDNIYInAziDgAhbP0DqAtgH7bxwOiGyhkhJYrWjexcz+LbeNVzWMmpsa6lPJRDwW9ftkCTqgUzJnE4jmtpEWtofgcqnYQuI2Iri1csGbr+RBz9pIBAOK3P65E0Nk5YnPPPuZE0Ps6OwX8FOji6974LEHrusjo8njy76+7Pimw5+6gb3po0eZ1VTHXP3k0dVk5fEnv/rk8ZVz9v3vGnvgusVww9i79n92YODx8Rlyw2fexh81xs/O/R35HuNHGoqierSsuoSIBIGCQ8IsXOURw9OujDhW4KaglpgdRyxLQRuLh2MxjGL1MahXOOT3uVWHTeKRhjXZbF3tPAyjcyQlc46EoRxtI17VaF/BQ65t7MY92bn/oNMlxcMfPoyfDdXXt6dJ9qaedd0Y/7gnq7+HTpbgPZBxat0NN6yb0kfqy1mS7kziG+5r6u7J3mfIXbMeLKCwetAf99YgLDQULwjMPlCzFjBGCA+dH8wWQdxBYQao0SkFSywrjcFBYjcBUmUBwpaM23hGmP1b7huvxhoaYlGea2hqaGrMppJRIE7ApzosElfH1zmdVkAsqWLem1aBOp7Cm5CoUtYoVSj3q86YE2ePk1v7196AixdTqbupraOpGz/X8/25/7hu8QlCfn54dOpSOnVvDIR2AGWAPnMb8B79PWZbfwZoxIGGrUftdFS62EznH3iBLTURLCoY8cwQYjlABtD6gsgJ4gzl4ONwLwegdgoIADYwngK+QPw4AmCxBSJoJJ0Iu1xet0uT+LpGXKb9mk4zgiHlcfMtGGoHCFfz5jmaUvZSk7fEp1XjkDDzgc1EZv1V+6qXV7XOFCLZKI3lb9P/BGeL7mtvu7V94FEHxMv5bcvhpFiaJp/2h2L6Ro991aoWsf7XnigJaeQRepr3tfKZQ7FAOWdL3BCN6j+F64f8Azlb8m0eE+/N06GhmlYMvIcYFsCFaeobqI8gwBrkoFErjg/+uVq92Xv/mZejsgnod+7z7NvJOWQHfm1EFdQNlvPe6m6ErYAHMZlEAkhG0C5gKYGeEqUpxNkwa+HYSQeWkYUBO9kYex0zxl6hEgD0eha0NMWjTgdBi/oWLO1Z2t3V2VHMNVVaKvWpaGO80e911DkjsoDsxO6kM4nAeRmnaUcJwIlgEANDeis12JQBtJs2rSobzlwUrwALx7UaigKmZX509vMLN+CJKtO3cAJvOHvYE8URL9PniUQ8c//xHD08Z1DgQvTJb+Jnd3QM4MF9AwN9E1UiLpyYWDj3x4UbyHejnrk/GgUQ0RvBemM0GwGyPgdfiPmnnmtqqrN7wTpsMcf/z32IfIIJAzYOoDhaXh3wYQaEPBifiAPcPCXRQTwWgPiUiI2ROzjMD90Fgy4nRsF4MF4XgdYNuAJWBSSYAzvk8/qp1j1p31TNeTjBTYVXC4Zuij+w/+Gt/fonl2ydfrhLi0byIRL9w+bbtmIm/PA+fWH/tm39+HjH/ofmroq2RaOaL45XdfRvJtsWddSw4vy7++DdG9FQdRlgXsTCC0/RmUteJEb7C5woTIHhjDE3Bof5UbSAH6NsQzoFEDgeiGle1TX/+pZLXz9jvD7jiRmvjWnrxihSqcyj4Fo9PrFkM55+uISHaRU0Lar3RbUfR1uj0Zb4ZRXSf9lhVGTuy1Ef1vTXfNFHtTitY21cbSf5DehdD+jdElqABtCa6qoUVjhjSlsSsESFqQUJlilqvQAhOAVxk2DhWFnFCmqGYdgxUDPMJtoth5f0L6x2dVZAQqiqmi6WILSBnKEYqVLDC1SzmOMyFbdXo04EIEAzYAhoNcUTxiag8Gj0aMMetViOENqd0+X6h3/xcKYdP3zg6QMP985ueHrDLHbZ5r5pc+EreydmJ3pvevymjWcGdg70JotJ7LWVbZ53/iBTxkcOPPzwgSPt6R/QI9xz0/gPbA7ssm48Up2YqB45smF2dsORI8VBsqSs3+JPk3ilvaGhneKSP5zbyfwe6BM06NNeLaksYblElDAsobNaYJhRZYuAa5kpsHgwGQNZRFud4GHN73Z1BakzhZaulCtpkEdlY56YzqQLdNrPmHSJpWs4U6UD0HSgsQdD1jjP2jKHPjqakElbdhR71zS2sVJi9KOHMoG2s+/zxCvMrj0PDDdPtKx8cK21c5HcfrxdWtRptR3+zuGpxuDK9NQ9leMPt09NdTx0onzPVHplcH0guSzhiEQcCeKc/PaIbeFC2+pnd1z74INIAfv1FsBfBcBf1KIrGaODY+gKtA3tQQfRYfRA9YMJbIXeehjQxHLaJayInURWj8M6hjxe7NA8jklAJoyqMZNIRW676p5EdqfNPoacLmyzOG2TwEaKZFEmwRiWBUmepFoa9NYksCFPOOg+l5Hv7dcf3L9v756dU9u3bdl85RUbxtevG105tHTxoirA+0ounysmEsVKwQcM5qFKOUadcWhHooNOFVM4ZpzGgBNlL7UIwtMNnFYyIon5iDAfgUuUUTWq7IFFqRgFlkxwF+4DmeoGzjUjQiKegocUMuV6cpff/ZSrXH/2O5n2qsPONAFDHq4vz90Jxx4H+abDMZd3vNXRZTWZ8QdWV+9992G/HR9yOPRb7Pb7L3ywP+078pSf/BqY2fWU2z/3GETa01C8w04K5cwRl3VusyOK9zii19gj9ICPPGVcNcKWIx+9cLHOn8ZPzdu/58COd6AYyqIC6qq2N2Ie2hh6Nc+wPB0PZFg6OcCDgOa5nZc3kFv1lEElCXy4sWTqJmgA00qo0b8Xl8FeoIPlGlfswcD4LRiu9OAWwg+UyOrFqfsaG+9LLZ57rAR9NkBWJ5z3ezz3OxNzj8Fbknx5VZG0D3XG0nnolOX4Nvx6YbDrTF/fma6BEmQIn4nFzoSTgTOZMukc7CTljN/Ix2bN+u1kxqHvqsY4xRr0L1WLG7D/6i4iWAjYFi5qK9uxwlgYZZ/DZmUsAnxmVKcsshRQ8jMS5jmOnwZJyBIM7E4QoxBm0gXGE+LG4MChzVSKrgpWB2oFWWbfsiSG52b+clHj1WwyGQwm1yTXjKwaXrliaGG1t2dBd2dHe6Vcqs+kU8FEMKGm3aWym2KdCJ7n+IzZB7waYFKQKABKgYEzpZizAhg1UekhQsFNJ7TqcIImZChvewoCdUNKFKkDknGuCUzB4Y1ocy4QU1Evft1btg9+mxM+zn/5VUjR1zx6f7YTmAP0M9SDdDf+XXrX7vR9DR0AhSCN4buyD6V37iEzjqJvbsYogzkMB68j/W0n/3Hh7CdId9Tz2tlH3tnVtYGVeUzHrVlmQ1fXvQ90dY2zMmhTwPPj9NzQT53Mh5kbAQXnUB9ajkbR0eqNQRksuDos8wDBZAqDQVNSduVlzMszSLIKVglQMQEQAcSesgMKs0qy1TALFBA4DqwgC6fQ6QtK/XEbpf4WSv2RFUOLF2UbRlYNja4YHVi6aPni5dXeTgBRLc0NuWzOlyjUu52U7F6PGzisVHRVSpkS0LkHV+iQIggNj+DxatQ9kHrGUA3uSLO8w6saEw2Z2vA3KMFM3uuiE/sUq7RgMLOYsTX6r/QZ/Vf/9jgpGBjsWU+ExNUivm8fH7Rno8QW4PTr3v/CC/q3X3jhazs80ajnPgiyUVy88TPkSf1p9lPv3HWS3PP9e8hJ4j/w3i/qvybY+4VPYVnFTAEQGY7Wx3EBM87dUsAeabIHuLljL+CWF8i39W9+Gz8AsA2g3H3eSMR7/+d0/XOfw+Rzc188+YJRpDGOcD9zJxMDlOOm1if1KOIYws1KAkhvhuNnxPOzicAe/BgYHXgLnY4bkQArSW7pwqimDHpTxKKJ3UAAsciFcCkBDAgsCNyJn/sc5vUz+l36H4HL8AdOTz/66DQThpQ79LMsVvBObNP56dM0HaSURPEZvFsY+roGuroO+nsaZFoZeOa26i05Ooo2lMQCXs4CxHS6nMg1q2KnG7sYp2sKDEi7QkSJESf9Dp/Vy0k2mfCCxE9qFg8jYCyMGRGBij0BD2cy0Wgo5PO53RTslIqtLZlsJttQn05FE9FEPBaqC9VFwr6gLxjwuzX4BxTkdDoCICZxAeBcwUMHiyql2hHq7anAl6sdtUqCHnDNCqfAL3VRnLx6+uw7HwUgjqdpoPdNT0/jYQhegu+0fn28JU4ACOKV0dY4BjhIPnb2t4ytvaWvr6XdCOc+uHcv5H2pFtLbb57WAPNO+6JR3/kYuoSuFAPaa9SNGJQ9Vr0phUF2DIWwBS+HrmZ32LFj1ontoHBYu2OKwkWP5BZUjpNZbtKmEFmzehkLkS1U/CFDk1BfFIKGKTEdDkURRUrOhvpE/GICej0O1QG8o9gV4B7RIlpcTiCoDzoiB+SkJMUlyjbml7sQfysiMneefec0uX96rnF6L/zPfds46NLlxNvC2OauIvfrj+81/n5MSfwW5LIb+uYU6BvmEmpRXiyA1diFetEw2k+R1MIUCbuWNScZNUyGoM8FsCsccU3F6khYlcJjQaz6NSsjiaq0w+dVGNHjFBiOFblJtwP0st0CVhHIvEngUgaFQmjMiKDQJhRCoeF903t2Tm6/CgDTujUrhvoXU+XRZWqPYq61IUPHtYA9Q0BbH1CW9snanyMOSApAd4J+Mxcd8WVHhiL2BB38oPgnX8YX5a/Urmm1a5WLhk2MMUNz5q9Qiwl0aGXpqVNfevzxL82H+INPPPHC44/jj5469cITTzyj8ElBxmb4QSPphVOnXLKYEBQMoSi/2BQ6++twNhseKKaSqeIL5WQiVcZLw9nhU6dOJR9//PHkqblnTp2hQfJx3HbKKO0UvVtPw7VTp3ZdlNQ0V6JFka+Fs2XqhVQ2w2wNT5jtq0KbLkU3VxUPRwQSthJGoICCjuk3WSRIYhhhn4xFOk4tEipgqIsp3oHoOMwYHVTYBJiKHw5Wm83sRGBm/4r841XXksULAf0WUuV0Op10OhTaZDFnrGJMh8/79+TLqcvO/6pmYFxnf/2iLCZF2QjwRw3y/gUak+5dp2imS4O3JCPoDnTuJCMy9agF5UGOdIKtsQQNopVoNVqHNqKtaDvaia4Bq+MGNINuQsfx6GfrHFaGinBzfmMHzwK/Ox0OtI/OCqSCxImwcwrgo6M54WfsNod9R1Pcx9gaYxpjVWzWySyAEKWhzsNYZMUyWR9xM3I+kwu3qa2CJMrSZDrkYuj0yJgREYVNLVgQBWieqdqjnMgx+z/7rPHq7kOHNm1aurS1FaHjx46+86YbZ98xc+Tw2w/dcOiG69924Lprp6/Zs3vXzqkdk9uv3nbVpq2btoJRNAE20drRNatNpLh86eDSwWUD/YsXVi/q9IXWfGs+1wbkbvHQHu91FkATeZyFIp0QzYNpDZKyUvaWtXyEcWu1E+OUAIc46QA/7d2l2rfizgOEiXvU/2L6BGYZR7wlqci4wrKOqM8VgF6Ny4Swisun+uI2cWKu4121v6WDg+P31v5mli9vnY8/unw5d1vtbzsjhOWo1wF/TTLV0mxSFsWAkhRCIb+f1PNewbhy9k+fnJ72HvLe5Jm+Iha7KRabu/6vPUfIArbyFPMayIEMyPM1hpW8CV2FJtEutBfk+5er/zSMZakVi04yZLCP3WphJBlJk5SDqBp0Y3kqGiDubCwTTHIel9szGfERV0Nd2p/gVIdLnQx5iaM+nNLinFN0OCeNuTvqgiFsQpRZpqd3796xY9u2zZsnJtavHx1dtWp6//T+fdfu3rt77zV7duzaAXyybXIbcMrmqzZftXXLxKaJTRuvXH/FejCiR8dGx9atXbVmFXDNiuUD1Jzu7e5qB4xbLCVU+pdorFnU2kUDMpcezUHIjGnnFQw7m8objzkhlrj8SK1vUMiZ2vet4m3Jm4EHnq59b07kcVvy7BcS+apsYaoyCGfLJdch5b4j9G+jEV5phH3kZbiv1+pyWXsvDtuScxGjQOpIQl6WlTdmUeS5v9+48T7jo3/ljbEL/nPPg37XqP+c10rAyhgCgY2p7yHYHOQoi83lKZiuTqFD1MOKgpGiKZrqEFhkAbvFnII0KVdMJzg6lNtlDPZVTlPvSXKShnN3PudVR1Xvc+T52lT3Gf1f6QWcODNvv8+/SwK1onXVNc3JuJ/lBcP/woTiEiYIcwRPymDrCDwnADhnWWNGgE6F8CxgL+BJ1NqSzfgSvkRdyO1UNJsmcshCLJbaJP38qwo1Lz9qy1z81pQb6JBeyZmJ0Xl6RyDgICchXDD3jw6v10F6HR7P3EefC9hHHf7nfu2wlq2O43iWPB+I+gORYI/FpSguyxTUj94J9fuK/pTidCq4/0PzY/C/Yt5HvoGc0Osa0QZDT9xSPT7WU2BYaAAVg1VyTPEQC7SDhczasJXjOSs/68aihLFFpPUndsxAfwTzj3VizgqY1IV5QeDB+uZ52rN4Ybi5yeVCCEQr9JeJK9asWrSws71pQ/OGRsD3rowrHbsEOsHrOL2Ge1qCM90hNc5rDMiDGDVMGfN7wSfNk0jl6SBfHabSF1Ob0VgNBHZhKwYrvJRzUy/rRupM2mssBKiVgb/KsvoTDpfLgVeodb5do8YfTlJ+OLJmzdzvZAcT5llGjDN2QXZwfKVLUlXJyaYwI6UYB8/KTpbv6eRVEl4Df+QbixjNMXfWoTGLmIBKbnUElo+uWUM/wGCvq9romrBFXsJbRMG1nJdtqnjtbkdEFtYQTuIE2xpBtnnl3ZA0DbfMzzOb/OiBFlpSXZQOA7tTF3Sw8TE5LrEiY3QMI4LwFuqOCb1jxOclqD6TiIaC3kZfo8tplXkOeYhHvsB76nlOMwb2E2+aSvmOUuNZTX1E1Z41etBlCUZH0h+f70V4pek0clnKvH8x9Rd3o3q6QiiGjYU01AeBMafNWXPumL0wd4yhFpGgRUZu7DaW1MSp9xFYL5o3XylXykXqOM9kDPu/kKNilC5tyvFx/Pq1Wza2d3S0b9zy8nyEu8Wqqap2RFGsMXLukktGZO5zt1odRh3/9xFrzKrQseqz5+5iTjJN0BNU1IC2Vjcp8NaJuE9jOYCntPPzAjeLOJbnWGqrS/Ne0ogXGH5KxsacMXUrpGY7i0c8bhkM93QyGgn63Q2eBodNUmXVNN0NyVAGs516Jmlx3sPTBYGlIgNYMwPs3IvL1ELQyoU8HQb58uexg9f/oB/Vf81j5bfZFhKPpls+FdlddLX5bHI20BY52O4oehUlGWCyRP+jmVPGh7HrnrZAKNoU7Zx7rFj0JdMPbu5sCcTj9+4w55TMdnKgKEpSrgNhx3OYn6WzSrR6kyKm3g4MZ8q9sQtyj04o0Vn+gOaMuuoUWaDzMXbpgnuIMfliCujLfEvB6oydjue1tAYWG7SBfovhN/o69fjQFfy6rpBzucTc/zVkeRiynTZcOvKmS9IaXTF8HubOfZLZxFBLsYIWo4FqfwPmGLpqA0FrgaAiLF1rwBGGmwGLkrACoSvUoIKANUBi4THgQ34L4jE/4ok0qt502vAMvBz6q8UW0MDUjRlaqNJDJ5vcvGDD1EKj14vGcg/NcGAnPXTRJH5dFndRJA/BnT0TuRNLJesgy0tcJNWe9QYT3di45HOF5IhbeXHfl1/9yjX8DU+//uTM6vnbZPyO3GjLIaulwgrpYMTlCSj2vpQbLrjiFgcfCNWvPvDMddc98wsaXMK7XrCT11fXtpeh3ipdtDYEDUd5FjiXYTlmxphrITO0gVke0clCOiw9DgdC+ZbgEcq1mXQ8Gg46bZJX9pocK13MsSAxSmWDTAIIbRUYN01pZEznG1PFHjdd72KsDZhPBZa+jI+fjqRJOkJCEIYeDexcXa1fzF7jcKxUHA5R8cqyx8Lb2N0s7w21XM7Uc5F0KJJOwpfggXjTyqFAdgfLBkI+t9vn8iqiXRCdkujuFFnF4Xa44kAjOkfzYWOOpogWUPSR0lTGXODHomPAMez5hT50sHnnBVf+LXQSckRVW8JpLUmH653FHkLxvY1tIZj2UQ/17onzGeALA+b14nwPAWapULowtC+0EH5w5qNbNj12eIgMzH74H+GIV9a1tOQJz/I2Uu9VDjA8dtt8vOrGo9W19uyiLEkvqccb6S0Y7v3CR2cH4PgYtl0d9nKMyCnEowR86QDD8MAYkqM+mVus3x6Nx6txTJftIPaiOsfQIjSE7vpsIZ1gOMM3iJrbZcQDAODZWUTX49GOIhIi7KP9i0fGik5R4ERz5mKczlxspRyyOlitvMmNokBm/9Kd41VFVVtDHs2nJakLxXlKMtB7Ku4I6WEq0OHiNlzRykBWk4lqVKWLqXqNJVVvSleDSHA82L7xprtmN5fxxoc+//DEi3XNW1jMc6QdSMwz2C2oiknjNc430Ph/PzYzCCTetPToRCcpb55dtumhjRsfGrk6rLEiBrKFgeCpAMMTLLIWgXfWJy4mOZWnc2SUPAP9kHp39lV76QoRCiGnBAgpfIL+xnIcC/2NZanLGMuNqC7a4zSvK6AGbFbJKTsv6nHzrnHMGyL4P1PF4mCxmLrkQJ6h4WBR//3540CpOFiYxxhPMgMAbOkYdH01ddGIsgWwxBAxlnBRp1OMzHdgzPl1Bx9NO8q4khEygiZoFa2CH37sD3/QH/7DHzB7ct3Je9efPLn+3pPrGGKmTfxBnzi57t574QoNa8++MP79Nzx7fng7c+Hhlw1v33P77cN33D4M4e13XDbIPfeJ+QsQGu/wf5hG8jt4gyh9h4tG8t7wDiYSMd+BghA3hSNxCkKKFI6oF9PinumNV5QqldIVG1/aOFGuVMoTG//pyNrDM6PveMfozOG15HeV0sTGf900AXnKV2z6140Q0XcfGT0ys/bIkbXvOLKmRp8p5hfMGoM+sWrkcvqg+VdTa4smDUHMogp9gxpxcBrfh+tZ/cf6hP7yi0fuu2/+gzd+C6eJ/iN9o/4jgtOFiy6df/arzAhSkI8+e35kE55vOb88n/qHe1TTFd2Goy3Y0YOjoO0qF1qGuoTr//bK8eOvYMcrx/WPLT11av6Drzwxnw557rroyvxc4/8F7KugOrQT7UfT1T07rq7PhDmebL5ybE1Xe1uTKPDDKxeC0GGodYbNpcQgrAVWYNhZmZMY6r4mGO5rDCuMI0GgSEVgh3fvikZtVoym9+7av3t/dGd0atlSn9daZ6sDzKJgRTH6mQ27jVV9IH0YA3pSAFCIUa+fSiZdiJuqLJPmPQJgNQ3YwUMH1+FgrnbTwCgxEEFttVupUk4nMkU6hJSBIFNb71ZMCBeWzFxYqNa8dHRjRz9g6A3Wxnqu/AonsKpsU1KMnIIqx0B+MjE2RViOpPiIyvL8MCeycXeakdJwPU4IG2fTIIqzUS9rTdU1NS1oqCfPQ+FDzc1D8AS97PFlWjp7VC3Z2j2ZAuHSIPKi4oSbFzGSn5WtgoUTISL1Ue9zB+sVsgwnZq1uB2TpY+kVq+Cx+llxETSB0y81SMebepqaehtN/nkvswv6dgjlUGO1Pk0dkIasmFlWcy+7sFEGczDX1lCfTISCLCU7R0W7AfLhv1wx/ular0wqHWdoV8vVFiprOa+hY/G/6D/0hhrTfe2LO1taOhe396UbQ179h/ZE+TqrVYlZx563xhSr9d+tMcZ3o9zge2bf1rWLOtJRSYqmOxat3brvGV+DfKM093cHILPVuv55CGLKb601P6X3GGu8RKhHDxpF76zONmOZb0oQTu6ja9aHbAKpDVY44ALHywCsFFY5bqWCHiy0SQR2sigRcQpJiJclfsoCioPlxuHAUYbk2OFqbyFP5/SM+YXR6mhHe76n0CPlpLZMui7s11wOq2KKQOf8Clbqy6NdGA8y4TRd8053GGmlCycBeNaRiumEffF6SmDcDF3EorXlNOocA4ZUCzYsVI06/j9rQO/+lN+pfNxlERjSsXnPRCcrpUYBi4dbQ6HWThrgn9ttT2xWYgEr2EvKc4oi2Jh6r5rNqt415vLVtsTcnYlc2j8QtYiKJdERCxdiYnoUfzGeexYKaQuF2jrbgvrjChTji0Mx1uegAeiKjfP9/xwKowS6Bh1CN1QPRYCaGubI7qmmRoCv27ZcMdbbXWwDMbAGZD43tLofoMVyERu7CpgLJjjKZSAPMDsrYU6GDstRaYAvkQbTe5NJjK7bv/fQ9KHkNck9K5bH6rxukUdhHLJc5NweS2dyRej9ADbygPC0UpG6YghaIp4uaf8D0uCM0RCayrML9y8RwnxY8X/FHxN/9rTq/c5/TRpQv/h83jCptidy9U18mB84vFpm2Vvi8Ijen2nqmf8GaXAk15+DDzq/98w3ydfRAMpUkz2lQraeEtkiX65kU0k0gAeYmgA2ZC7IAUDREQL2ghnDFPRRlyJjGShQE0AipR2N4R5ixKjMyAAW//3Ex+5o5bhI06gs8k6fVxytL3cIWPH6Vba7XPLH/bliF6v6vQoW2kuNI6LX5wTwvKq1juVab/8Y+fqSG8cUkZPk9vxo7dpoIjwt+z0WYlcOquw76AqBd7CO/YqdWDx+eU8oOVJ71Kpyh2jhrMLYjf3n92t4hnwEBVE9KqGF1R7AgoACQWtTDGhYYxctsd5C5eNItiEcwqittaGULSXiofpwvd1GVxFI5wdEakMimjdqCksKSDLpS7q8drEuw6/fuHvNwoYQy4YaFq7ZjQmcZYOyHMzC2Y0dm9rbN+2jQUe8Ix7vWEwD8pG+wtpSl+QWu8prC319+bWVTlXtrKzN9x2p5YZgTS03BPPY8kNMHRM25mxHqisVLEvyMQ4kJXPcaiGSTSTUm3zSYRcYamuOGRFMNtGFepgMh0LmxP+bTKw6qa+1MfonJCrGt1QwvgXB+IIUFJi6D4Q+/U+h6dBLob3Bd50MfvqZII1Ph96l/wCO+JsvTf8Y/qZfmn4J/vRPvvSSyacfY44ydpRH49V1dgVYE+QLXRcaDoBdxgyBCYiXI7ogi2OMMRGK5Q3vIzoSCgY0b7hv0mEElh/BiE69h4L07W1WlMd5cb7dMkIlQ9sLTOEI0RKego0IpYSnBWRzKXHZIBf+l+0bxhZ0Jr830Lywb8XA6B3jYjwujt8xOrDhfdmmZV2dW6/+1batnV0Q2cbYmxpXtH8vuaw7lRZqucwbpG0rRiYOzuczbqDtRNcxf5tZSH6BvIY/dhFV0TK0Fm2k48EIK3YF22edGKmci6Hea1M8pm4IjCCy1DNXNHwQFNFYu4zsDsU+iRyEOMaQw0E2IeIgw0ODfQsrpeameNSnYTSxYWzd6uHBtUNrl/QvXNa3bEFnqVqp5tqais1F01c7FNTqfHV2hWeRF3t8psbzOM3dFiK4EANGNoeN5kUlnXKdX5ss/NWJXAxENJ3DxWy6ErW6Uj0p/NVkT6qS1q+zulwBl+vAs1ZVtT4LJ1f8xQT9dXybT//7uiz5RSWja6q1AcqDD8lnKqdp1vnPkbc8+ZmcSmbrar7d72L+mcmhLpCYV2NL1Z2IEoGr5IkkapiRAKSydB2dFUz2DQi0GidQfy2R48UZJFKn+RnESKwEQNgBWQmr7LNjK7HZrPuc1D1cQHSwXlItcEVip5ANyzYwyhGWCXCzzSZvRbJNBrN+4q8qnMwapROrbfZvKX68mhtctqAbo62br7xi/djo6uEVy64evHpRX/fAgoFyMdtAVzm6XQ67BSQq6sKd7kvUcSlRgu5SAI6gXaWF7glGsXmp4IlgLUEdfkFF1IGmoPMCGvXqVy8WhEJt5o2yw3kgla5N558OZTIhvKAQK1VBQTXGXYpN4yKh3PauwqLcAjzIpDuT4VjLIl9ytFnxZoLR3l29vbtmdvf27u61uftsbretzx1SF9lUt3WRm8llQnOJUGbFhqVCV4sWZEMhq5OXPeuae8SBAbGr0Rv0e50eUbLHfAGCVwQzWG+tFTezq3ebalukhi4p1ZSv32D6yK8N/6FF1SpdpwIqfrY2nmcoF7oF0Bv8gGN1GGWSddlY1udx2RUJRXBYrGlcIK1mdLHyhS0o5gdpL9oAAFuCLUFZaosRj01VbXO/pK+GXw+l0yH93a/Rk9eg5uTXkGvuUZsca3QH3WpIzYSIJ5T5CtQFalHj89+A7PkGsgLSy1Nf+TzgtVw6FjXG2AE1M+ZYnMAeA04UjiHgxmOGO9y44Q7H0N1lRuw2jKibUzJRF9HctrA9BPxixVb5Ar90GcvsKoXLRp6Zgidz8XZohnFhNH5RVfcFM5kgfpzW6iuPdI3KQblxSA565G0WiHWRb0CjPhrKRBNkfSJqxqGC60MZ/fenu9fIcuMKyR2Ut0Gk67z+vxd/vTYW1FmtgAQlPEcnccZrUYS30ElthP/sGJA6L81ib4hc01KtTlSr+LaWat/6PuNonH+9uqGvb0P14rDmj7aX+RGzAogsIRtSwdoPo7ixs+FgdalDJnRvQ6eF0N0NQV/T0VC7ZKyfN9alo2NWAZjrYFMj7aupJHWFouMnPs3lNP+dLjr3TXc1dJ4P8J8/ZfWz5797LjnbjTn9P+e/9psg5Tfzwdyjf+6Ukt4FdV3LupgdhidZAupIfciWo2HD22A/2Bg3o3ehD6IPoY+jJ9Bc9Uwx2uKu58S4l8gWUZ4sJVq1Bs4S8xCJtUiT+VCTI82xERfhBZafLNQ1qxlOCDsJB3w62ebLKkkOBWzEmDPJBRvtKY5Cu7FalMGb/FZCV+J84hOnHrzvvttvO3Hi+rddd93V2zZvHlk1NLSgu70d+DnpcTscGH3iiU888fgn/+GRBz9+6rH7PnTfhx64/3133/bB20+eeNeJd916y40zb7v5+uPXHbru0MEDe3Zu23/1PtNLYXzdqk0jG4eGh4ZXrujv616+YLC9q72rsyPXUl9pKCczSWiycMCd8MRNd0CJR3ZsKwODVczFuILh8AwiQANkol5IM2bc3ioN//X3Uvv18nuFWlrlonv/qrTn6HLIqcZu3N00NTVFFwuawdRUtseIw9Up/HxjT7Vhh5Frx44djT09jTtoLohne7Bx0pPdsQM/D2fdcAZhs3ntrc7ugPxN3fTWbM+zO3aQBeZLQJjteW5qitAnGOfwsOd27Jj7j//Z/IZeADmziBwx/Bhy1RZ2HqXSXZwYMgYHQpcXEWbYqgCucygA4S44Uhi7fNZEvxE3fRQqtR0+5+6k9CLXGu9ET3qy5EjPaE/3+m79vXTZKkTO7yn1IRDQYQSiGFWqRRkzgwxGy1jMcMwxui8dd4y/sEmlICAkWAWrYpFE6pzncoq8rxHwsZApLCCJCmDkf58+/ej09KOnp39z+h/+4fRLj54+/aiJ2Xfis8xqkGDhaoDFeBAE5zJzp1mGlgxiyEG3vywVnLQYZ0H48Id1Hb478K90XXfrtb3jXiUP0Qc/ARg/3+isSFjDmffizXjze3XlvcT2Xv0U3kSjpv/ETnIzPFM8v2tDiUrMZsyxSbBwgnSXnyEZsxaoJph1Il1rD5KAomdD3hvTAFsE+pIjxUJba2PWrZr/LsWQmGVTojvfEKHe7nSTvrT6hsjA9sHB7QMXh/j2we1L2JUbV7OXHQPFgYEdAwP4owXINjiIP2Kezy1+8/SaDb+TnIA6C0Ajnhg0wpqEBfxeSiKDOA/ije8zjvqDkHjRPZSuPAP3eCQMd2G82cgB5CQmhU+9T1dqOvJVcouxJruB6kgFEc5cQkPt41lqenFkpraSZurCbJI5Uwn007IpukLMaRjDBcMy9hhmcsIwjFPGXEkL5jWDoDac5juHt9z4zlvePrmselEUi7c+cyt81q0/vB4+eGNuwapcN+ksDS1L5bpX5RaQrtLQQGrjTTc9fRM5fkX36OjbRsn62tjVp5hXGYJiqAX1g4bprnZUoKGX9pRTSQSEC1MTeMiC0SCqzQUh2jFpNZgttF+O9C/KtzU3luhWgrV60C0SKsZyIIEHnEtdWWhdtAqFvL10BFCtGP4CmQrAtwt1jvfSpRW8WbFwZFC2smzBae9obbirobXD7ijZ7TnRqG5rm7S4kHNtvfWTDRC09hKWnKeIv/0aaTFeAiRoW0BuBPMuKgSuHh44M7Bqm1+uE/3rWEqLwa5Rn7+wSh49qh9eetPGwa49hBTnyfWh/+X3FVZChZ1An5uZrxrzGnawOUOAN6jvahF1guW5BA2h1Wg9WJ9Xo93o9uqtu668YmQ4H/R7VFlEg81EEBelQANvGVvb01WJ1VktMpbYIWrGHkNYwsftWLRhgRGFKaeVZxiHAnYrRwHxpAWzksSOw4GVttC7pJFEQpKmdmy7ivp6Dixd0t+3sNoL+rGN4plEfaI+k3Y6JLtkV11uc4YlCWItiSp0ZJou8KFrEHnjjGe8GsRVGqdemWZ6KUHTCyVeM7KW6NVEqQAXhRJNSKhGCYxRnhGaN0AaDuG7cITor+i79VcXCAeLHY3sU0+xsZ7K9rcXOhoH3zm4/kC1oaSxDf2DTz+9cnldY/8A2ZDKrST928jK3ILFg/0N7NNPs9HBlQP9uQ2kdGB9a6mhOtjYkb9S6SgeEKGsGPsUf3UFX/N/cIDoL+v79B+z2PfUIwdS2s4DdTsm/I3XnshoVy/3zpWG1Oqoiu17t3vZp+ruZwLrD2js94fmTm/re4r9bN82Jxtlvdv31m1dH2DqWG3/0Nmn1KG4Osqg5VdrmYm5m7XUgUcO4PUTO95/bWNNN+wkvwUekAGLxat1IsbLzJ1gDS8gdN4JSA0YW3eD9GOpC4GEqYOkuRj5h7jzhyX9af3p0g8mjk7AB3/vvh+R7z/w9iV0150lb++jaRPGs15k7iQ/A15rRi9/xgc9jpt3fa7Qpf6isM8iAW4TOTQjs/BUEYGEoV1yGuSWKPDipDEsR9ebU6HG4FVBcyeN9j93u0iYmbe8v9ph3srN/s33jo9Xg5qGkNasNWczyUQ0HPBD3bwFtQC6I9CYoqrS9E5fgOmaGGPdZgmDHi2ZK9oET6Jken0JHtL76KPTm5fqjy/Zujeu4ZVaHOuPn/6H6a1L8MolW/HeqE9/3BfFn33ppY7+rVv7Ozq8cRzxd+DhH/+40r8Vb1tcqdB1GxWDzp9krmAs0EGWoiurG6Cf8lIr5ngN5B00MAPdVBJ5sGBmQfnzYO6QWbrmiad1BeUIunoWujHPiTwdBq3trbqFWk4jS/rTqVQ5lS65kzId+3N76H5UaWMvmfntz3g7pvsJGvKSnqu1ZdEgHtPUdQr+jVXSJToc4AV5mvcyy5M//cDIvd0DlpDXaztj8xJpRf22yuBNGd7HKrtE2eZ2mKmrp5dDosYpewUFJ1/5wMhJepMPA6i/58mejgGLcbs3ZFmRzOLBHrkdoNXnaikrzHOereW8ML9K978N07FRn5twvI1afrSJmSEPZgdFugwMyIFmqUHIIzwDuoXnWKAOXcc/DjiCqgvMjNjt9rA9HFeTcVccUDx1Ro8Jxn7yBWOLMKacpArEGasYhMB3P7j7niNfjN2a0H/1xLfuviWB3U986z1369eYyffA9V33HPjYK/hu/MxjP72bXoBzVLPX/wT6+QhI8TgqUP8wCwFFYYXWutjHinqKzZi6jbIxYXkCL81xxktTJwfMjWjepNvj81LvGZzOeM19JYoVXojgaNnc6dEY4af4Pl/m3ALPRpPGXHsTZjUvc2rtbPzuZ++Oz65d/mPMvqx/1mFZss3hdSxuszjw9ywr9T/q39f/uNJiWYlFnMbiSgvuPLqwc9Hke8ldU4s6Fx7dd+IEXgZ5t/VbHA5L22LH11X1xpMnb1TT7tmT5IEZN0JKbY/H1RDrAU2+Dp1A70MPom+js7gFd+ElJPzpU1gg8+JknQamMjAat6/OF1aCHI8Fnm6NgwQ8DciARdPUyCY2ddINxjQYgAJHhKmINyQHONYDhrWLbhTosttdY8jlsm9xOojdZR+p7Rw19talU2r/V4qn+8Ws/wvFC4id+X8rvzo+XzQ/+99c9vj4+MIhvAB34zbcit6P7kG3olvQCkARVdSLF+EqXFkC15fgMi7hVmizNvjGcRDLAMleR/8f+hF6EX0NfRX9H/QV9M/oy2D9fxjdj05CSQ9CeQ+iu9CdUOL7oNz3waseQtvRlWgNWgVPWAfPWQeIpR/1Am9U4VsEDfMB5AGdFgW29zdemIIBgG7sV0DnZqmbHJ0utBk/UcC76RBlBANQpTsfFQxvprIxLXvhXihHNSyyHDUCtP+2klItBpDMUGzciKNGQfCfM7wdHLQsozhjbonuye9gbAxch+zGvtXUr828UAHMGWEgq4dn/rZ3g5xv9XZkb6yjryNmBI8Ti5TyhRrcuVWxSqOrIeRLSRZA/4D/zQti/jN58UKy/u3iWKEwtoMG73YF6Ph6YN1/Qxk4RCwWR6CwFKuqf/Tv9N8psWZP1N8mM3S5tkV2DzQnUlb8J6Ux2jyQYcEEDXUsL4Z9X/aHioMdYZoLY4cN0kJ+mra8I0TTVv1NL4aJ/vybvNrGWI1YsY7r3liGO/dgzm0mU/1hJqr5B/P6F2oFQYDHAskAfNj/4v03RZq8sUBrjSpAsNyyeXpFmzwNXRaJlixZOteUJZLS187TARvkCvmvWl1Q27KpixMpDfG6v/qt1Ab96Bvfa9634DXAnnQcsA6V0YbqGNiDTEOcEJ6A0W6MOPMMRSaz1GgAMMazzCQIJGMgnR7nh9I9boIKueYm+msWsai7zlNHnaTMbYaUCxsynh9vxglnIQPc3kMidM4BJ0plw7dR88AFj2HowQXm1rPfyVQqGaYJwrkvHznSo0YdYjCd8CTx948Qe12qzk6OHNF80Uh6YZpZXclcyH/2O/jTvZ5EOig6omogqStnXDG3O+Y6gz+9Mub2Zweyhh/oWaDB68wG0Gsa4LUc6ql2AU1RI1QqTcdnhgCZYQ4Tw0sYG17CzFFkDF2g8+twPD632qdSa1vN0M0otBjgCxtOxbw2Iqg9OM2d79VQZ02gv+ChRkgld/bOFS///tu9+g7B3jm5DN+P65qDt3z/7V9PODP6rtzo1tGcEfznXTf8825hwdcDmw914Qf+uPkq5407cW6sd//vv3EA462Ft+2/LVfLmhv90p9cd//oP3bpH2pf7nMYv8Xy+3OTrBXaeTdqqjasH16xeGG5OW6X8DJijsEYaGsLrckIRov60G68y3A8oBLQhs1J9XIpw5sz6iCnjKBSpM4HxryS19iEBv5LaSMC4sx0W8qbnkuQR6B4RjBcBekGNYY7gzlPb9yYIfjwnl1Ll9WnU6PrDjhduD4W8tIVG6xst4AwwYpFc9sUKVKIpvjAoqaOSAIHAyJmnKLF7vaF473v7I2HfW67RXQByA6EcKKuo2mRXZJFyXVg3WgqXb9s6a49h5nVuL2yZdvrB/avW18PRvEmiWEskk1SpIDbJvE2kSeY2CS7tcAxjhZNdAdynRPpgZA70NRMkbvFqjmdmtXCQndsbvJ7QgPpic683y1avYH4bYooMvXr1+0/8Pq2LZV2PL+H7beYjagdVasLNKB2NASdpgFTb712J3Qhjo5+nHfaM92sjX3IjB9T4g4m4u6MN0J5C9oDdAUvtGAb9BktnczYMDW2PW7gOLqHWoRoxu60tYnAsuFTU66w3+ofqu+wLV9buveu9cK9+m82x0hnZUGpONEZjft8jqWbyoseWhuJjH1p8vQdN24ez7Xi5QXywzrJN9DU5GyPd8yuDIfFWw923LgvRSJM19SAInGF4WZcqrDtnQu792y/6cisx1JeYdb3K/g35AyyIq3qNob1Lvhn+kz/zPnfszB+hALf7MqlXPqzuI3+iAXeAufJolN/Vv+Ws5hwzfvMfBHK/D3gIl/VIxvTQhcKNX/VIkd/1SJNXTxqv2qR079FC8LH9RvUtrTfBXCnzVWME1W/Xr/elaxh+J3MTwHT2lEKdRm/YHXBW4pjuUv2gkMHr4a/UsH4BavzViWdFYxgp3Helju/BXVbDozLN09lfhpyn327OxhSmWPuUMg9F/17NRR0P0x+7A7XzkKqcdbzML0OAWja5x6md9AE/Yb55FBt3sqsA91rJ48WoVF0NTqIbkb3otnqkYDDb3NxlFJOOwH0f8ynaLKXEyXxGHU8IdIxD+9mVW5+O2jm4K0nrj+0Y/vY2iWLS4VkXHUSdPedJ+699f03zhy6+frj03u2H9xxYNPE2qvHtq1cvnh0yZoFnYVFpb6mhng+mQv6nDE1CjIfECndW53uTEJnO6ixaZAKX54Q+4sJ/yO3tP0dJaERkJ/Mx8OqfufDRlNQUut3vVmekBvyuIOQh7bSm+VRw7U80Fq0MGZ1LREuzwVrmd8iwPuMm2p3mrHzBUEM7zfKCquX3GWO2eMX8b+ANW2vUk8dOpx60EF/aSsVq+AX9YZf/vxX6JJ88meN32SjWSqZ2C9/iV+kOWp5SIgshzyeqgu6r/lzNMZQFaACb6NESEj/nf7vZLmewd9783sGL7unBBjHiu378Pf0jNmf/x2Y72t0XqbqtuBL/KhTTtqdK3xt26G8hh+PjNFpnaYIHrNHehqJ2NSNI/onjf477xfupLPm1daLVlBa6PJZZK5VfbPRcRdr/NjPvKu428sa++molQx1Gxc0ISNc4jM+9Qrue+UV/fOvvPuWW/bMfy5zHv/WQz8lr+Lqq+Sn+vMX5fr/AU570tAAeJxjYGRgYADitS+cw+L5bb4y8DO/AIow3J9/bRWM/v/1vxXLeeZGIJeDgQkkCgCeuQ9UAHicY2BkYGAO+p/FwMBy/v/X/69ZzjMARVBAAQCwYge1eJxjfsHAwAzFjAv//2R2ArIv/P/KnPr/D1MJAwOLKJB9BSgOwv1AOUMgNgCp//+fGUkvHP8H4gVAfbMhGCTGUoZQy7QHrPcf000gGwmzVAHpg1D8Dqjm9f9vYDteAdmRQLwKYi4G5sDjlhn//4DpyP9/weyVQHUg/BUo5gHVr41FHzoG+fk4lI1MzwDie0C3CwJpYLgxFgHxH6g/W4C4A4Lh5pwE8j9B7Y3EZtf/PyyM/7+ynAea8x6CmZ9AMON1CGaSgWJOiB4AGBp16AAAAAAAAAAANgBsAMgBEAF6AbQB9AJYAvQDsAQOBDgEYATuBdYGcgbOB3AITAjyCTYJnAnSCh4KlAr4DGwMvg1QDbQORg7KDwwPsBAOEHoRChF+EngS6BPKFJAU3hWKFiAXEBe0GRQaEhpYGs4boBwGHGAc2h04Hb4eUB7KH4If0iAQIFIgoCDeIR4h/iJiIx4kBiSIJQAlWiXUJp4nsCgSKIgo0ilIKrwrACs0K1YrbivoLAIsGix8LQwuDi5ELvgvji/qMGIzTDPONEA0/jV2NaA1zDYuNzA3RDdWN3A3iDesOAEAAAABAAAAcAFHABQAAAAAAAIAbAC6AI0AAAEODgwAAAAAeJx1kM1OwkAUhc/IjwESF5q4no1GYihQ48aFISHozoULWJcytMXSaaaDgZVv4Tv4QG59Fg9lQoxim2m/c+bMvbcFcIovCOyuW64dCzSodnyEY9w7rtAfOa6SnxzX0MLEcZ3+1HET13hx3MIZ3llBVBtUC3w4FjgVZ46PcCIuHFfo3ziukkeOazgXE8d1+kvHTYzFm+MWLsXnUOcbk0SxlVfDtvR7vi+nG6lpJVmQymBlY20KOZBznVmVptoL9VLnat1JQp09q2iVBmav9zBWpkh0Jvteb+89qkyZwKrZtkPxGvnWzuXc6KV8cLVlbvRChdaLrc3vut2fPTGERo4NDBJEiGEhcUW3zbePHpdPmjIhmdylEmQIkNIJsOKJuNwpqAdcc6qMrmIiJXsI+VyWfRTW6PB8WGaeqSNWSFnHHNj/64ypt52SUkn0Wb13IPdInZXZoJxktv+GAq/s6dO1nHQ7rSmnk3j4Nbdk1e3egk5I3yv/jqV7hy7vf77zGyzHhicAAHicbVMHm9s2DPU7y7YseVy6994t28hO0r33HuleV1qCLPYkUiFpu+6vL0XLvjhf9X0C8QAQeCTAzkln90Wd//9qnKCLAD30MUCIISLEGGGMCaY4xSXchttxB+7EXbgb9+Be3If78QAexEN4GI/gUTyGx/EEnsRTeBrP4Fk8h+fxAhhexEu4jAQzzHEFV3ENL+MVvIrX8DrewJt4C2/jHbyL9/A+PsCH+Agf4xN8is/wOb7Al/gKX+MbfIvvcB3f4wf8iJ/wM37Br/gNv+MP/Ikz/AWOBVJkIORYooDA3zhHiQoSCjVudIaZ2kimapKDVe3XQMhcBXW5MoGxXMeNYLkoS8r6KZcplV3aUmRWsrV2nRq6TUIKu40P+VgybDOyZExyTaXTPe5XXJ+TDQ1ZK+TS9Dfc5bEDnqZqJW3opXOEFRnDl2T6nkMSpAW3caqqiqRlvLSDVh9kgldKZtP9BpYpaykLDM8pKFV6Pl4Z0iwVOi0dh7gx7c/k9STIS76MG9Hae+uU69Y7i/xCVW23O8s8aBIGUlnqWr6M3B5i9I+7nKGxqt5wmxZxc4dtzVHKS5KZO4WQ63APooM1mRxUX+XCM7tQ531XxpIe7xa5IzqtRKqVUbk98wTGrtyuYy7G9NKG76jpaUslC1JVb0cFlfXeMrkZOC5HcHZ6BN21j92dr87WpK1w3Ca7odgHjI/g9Aix5PQ4mCW3BMwmtVbNZbaz0UBLqW3h1BUVuaBs725Cr68WLYzcYQ1lZ24+e+53XS24KaKSG2s1z8gMqq3SGemel0MvF0qdh8olXgva9NzgsPmJLSJbMLWypZB0Qjemmoz4l9j+zJduwSy5ae5ng4XmTWuGJeXW2yItlsVO9cRmg0aqPO8tS7Wg0PWIW6Gkm1VVD7nWauMmZxMfNJb4ffOeqtnla15e9fKKlzMv5/GhIEtGFyVZ0nVpgqUWWeiepJ+XyPP1aujVTOi+c7rFvX2+Pe5LNut0/gNsbJKWAAAAeJxj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxnYnTYyMGhBaC4UeicDAwM3EmsnAzMDg8tGFcaOwIgNDh0RIH6Ky0YNEH8HBwNEgMElUnqjOkhoF0cDAyOLQ0dyCEwCBDYy8GntYPzfuoGldyMTg8tm1hQ2BhcXAJQcKgcAAA==') format('woff'), - url('data:application/octet-stream;base64,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ci0xDmNhbGVuZGFyLWVtcHR5CmNhbGVuZGFyLTIKY2FsZW5kYXItMwZmaWx0ZXINZmlsdGVybmZpbGxlZA9taWNyb3NvZnRfZXhjZWwNY2xlYXItZmlsdGVycwVjbG9jawxpbmZvLWNpcmNsZWQEY29weQxoZWxwLWNpcmNsZWQOaGVscC1jaXJjbGVkLTEOaGVscC1jaXJjbGVkLTIQaGVscC1jaXJjbGVkLWFsdA1tZW51X3ZlcnRpY2FsDmNhbmNlbC1jaXJjbGVkDWNhbmNlbC1jaXJjbGUPY2FuY2VsLWNpcmNsZS0xEGNhbmNlbC1jaXJjbGVkLTEPY2FuY2VsLWNpcmNsZS0yDnByb2ZpbGVzZXR0aW5nDnByb3RlY3RzZXR0aW5nD3ZlcmlmaWVkc2V0dGluZw5maWxlU3Vic2V0dGluZwpjbG9zZWRfZXllBWV5ZS0xBGhhc2gKbGFzdHRyYWRlcwdteW9yZGVyBW9yZGVyCW9yZGVyYm9vawhvdmVydmlldwVkb3QtMwJ0aAp0aC1vdXRsaW5lAmVxD3Jlc2l6ZS12ZXJ0aWNhbBFyZXNpemUtdmVydGljYWwtMQtkb3duLW9wZW4tMgdicmFpbGxlCWxlZnQtb3BlbgpyaWdodC1vcGVuBWV5ZS0yB2V5ZS1vZmYFZ2xvYmUIbG9jYXRpb24EbG9vcAlhcnJvd3MtY3cLYXJyb3dzLWN3LTEFZXllLTMFb3AtMDYFb3AtMDUFb3AtMDQFb3AtMDIFb3AtMDMLbGVmdC1vcGVuLTEMcmlnaHQtb3Blbi0xA3JvdwRncmlkCHVwLW1pY3JvCmRvd24tbWljcm8IZG93bi1kaXIGdXAtZGlyBHBsYXkPY2FuY2VsLWNpcmNsZWQyAAAAAAAAAQAB//8ADwAAAAAAAAAAAAAAAAAAAACwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwjISMhLbADLCBkswMUFQBCQ7ATQyBgYEKxAhRDQrElA0OwAkNUeCCwDCOwAkNDYWSwBFB4sgICAkNgQrAhZRwhsAJDQ7IOFQFCHCCwAkMjQrITARNDYEIjsABQWGVZshYBAkNgQi2wBCywAyuwFUNYIyEjIbAW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') format('truetype'); + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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bgZtYXJrZXQIc2V0dGluZ3MGd2FsbGV0B2FjY291bnQIY291bnRpbmcIbWVzc2FnZXMGc3Rhci0xBGNoYXQLY29tbWVudC1hbHQHY29tbWVudAdkaWFtb25kD21lc3NhZ2VzLWRvdHRlZARzYWZlBGxvY2sNdXNlci1jaXJjbGUtbwtsb2NrLWZpbGxlZAZsb2NrLTEEZmxhZwtmbGFnLWZpbGxlZAV2Y2FyZAZsb2NrLTIKbG9jay1lbXB0eQZsb2NrLTMEdXNlcgRub3RlA3RhZwpmaWxlLWV4Y2VsCXN0b3B3YXRjaAtwbHVzLWNpcmNsZQxjYWxlbmRhci1pbnYIY2FsZW5kYXIKY2FsZW5kYXItMQ5jYWxlbmRhci1lbXB0eQpjYWxlbmRhci0yCmNhbGVuZGFyLTMGZmlsdGVyDWZpbHRlcm5maWxsZWQPbWljcm9zb2Z0X2V4Y2VsDWNsZWFyLWZpbHRlcnMFY2xvY2sMaW5mby1jaXJjbGVkBGNvcHkMaGVscC1jaXJjbGVkDmhlbHAtY2lyY2xlZC0xDmhlbHAtY2lyY2xlZC0yEGhlbHAtY2lyY2xlZC1hbHQNbWVudV92ZXJ0aWNhbBBjYW5jZWwtY2lyY2xlZC0xDWNhbmNlbC1jaXJjbGUPY2FuY2VsLWNpcmNsZS0xEGNhbmNlbC1jaXJjbGVkLTIPY2FuY2VsLWNpcmNsZS0yDnByb2ZpbGVzZXR0aW5nDnByb3RlY3RzZXR0aW5nD3ZlcmlmaWVkc2V0dGluZw5maWxlU3Vic2V0dGluZwpjbG9zZWRfZXllBWV5ZS0xBGhhc2gKbGFzdHRyYWRlcwdteW9yZGVyBW9yZGVyCW9yZGVyYm9vawhvdmVydmlldwVkb3QtMwJ0aAp0aC1vdXRsaW5lAmVxD3Jlc2l6ZS12ZXJ0aWNhbBFyZXNpemUtdmVydGljYWwtMQtkb3duLW9wZW4tMgdicmFpbGxlCWxlZnQtb3BlbgpyaWdodC1vcGVuBWV5ZS0yB2V5ZS1vZmYFZ2xvYmUIbG9jYXRpb24EbG9vcAlhcnJvd3MtY3cLYXJyb3dzLWN3LTEFZXllLTMFb3AtMDYFb3AtMDUFb3AtMDQFb3AtMDIFb3AtMDMLbGVmdC1vcGVuLTEMcmlnaHQtb3Blbi0xA3JvdwRncmlkCHVwLW1p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') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ @@ -17,7 +17,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'opex-icon'; - src: url('../font/opex-icon.svg?19085055#opex-icon') format('svg'); + src: url('../font/opex-icon.svg?66750795#opex-icon') format('svg'); } } */ @@ -118,10 +118,10 @@ .icon-help-circled-2:before { content: '\0158'; } /* 'Ř' */ .icon-help-circled-alt:before { content: '\0159'; } /* 'ř' */ .icon-menu_vertical:before { content: '\0160'; } /* 'Š' */ -.icon-cancel-circled:before { content: '\0161'; } /* 'š' */ +.icon-cancel-circled-1:before { content: '\0161'; } /* 'š' */ .icon-cancel-circle:before { content: '\0162'; } /* 'Ţ' */ .icon-cancel-circle-1:before { content: '\0163'; } /* 'ţ' */ -.icon-cancel-circled-1:before { content: '\0165'; } /* 'ť' */ +.icon-cancel-circled-2:before { content: '\0165'; } /* 'ť' */ .icon-cancel-circle-2:before { content: '\0166'; } /* 'Ŧ' */ .icon-profilesetting:before { content: '\0167'; } /* 'ŧ' */ .icon-protectsetting:before { content: '\0168'; } /* 'Ũ' */ @@ -167,4 +167,5 @@ .icon-down-dir:before { content: '\0208'; } /* 'Ȉ' */ .icon-up-dir:before { content: '\0209'; } /* 'ȉ' */ .icon-play:before { content: '\0210'; } /* 'Ȑ' */ +.icon-paste:before { content: '\0211'; } /* 'ȑ' */ .icon-cancel-circled2:before { content: '\e801'; } /* '' */ diff --git a/src/assets/fontIcon/opex-icon/css/opex-icon-ie7-codes.css b/src/assets/fontIcon/opex-icon/css/opex-icon-ie7-codes.css index f7f8dda..b3c009e 100644 --- a/src/assets/fontIcon/opex-icon/css/opex-icon-ie7-codes.css +++ b/src/assets/fontIcon/opex-icon/css/opex-icon-ie7-codes.css @@ -60,10 +60,10 @@ .icon-help-circled-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ř '); } .icon-help-circled-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ř '); } .icon-menu_vertical { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Š '); } -.icon-cancel-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'š '); } +.icon-cancel-circled-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'š '); } .icon-cancel-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ţ '); } .icon-cancel-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ţ '); } -.icon-cancel-circled-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ť '); } +.icon-cancel-circled-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ť '); } .icon-cancel-circle-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ŧ '); } .icon-profilesetting { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ŧ '); } .icon-protectsetting { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ũ '); } @@ -109,4 +109,5 @@ .icon-down-dir { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ȉ '); } .icon-up-dir { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ȉ '); } .icon-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ȑ '); } +.icon-paste { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ȑ '); } .icon-cancel-circled2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/src/assets/fontIcon/opex-icon/css/opex-icon-ie7.css b/src/assets/fontIcon/opex-icon/css/opex-icon-ie7.css index 9bf0461..73fd2da 100644 --- a/src/assets/fontIcon/opex-icon/css/opex-icon-ie7.css +++ b/src/assets/fontIcon/opex-icon/css/opex-icon-ie7.css @@ -71,10 +71,10 @@ .icon-help-circled-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ř '); } .icon-help-circled-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ř '); } .icon-menu_vertical { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Š '); } -.icon-cancel-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'š '); } +.icon-cancel-circled-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'š '); } .icon-cancel-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ţ '); } .icon-cancel-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ţ '); } -.icon-cancel-circled-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ť '); } +.icon-cancel-circled-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ť '); } .icon-cancel-circle-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ŧ '); } .icon-profilesetting { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ŧ '); } .icon-protectsetting { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ũ '); } @@ -120,4 +120,5 @@ .icon-down-dir { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ȉ '); } .icon-up-dir { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ȉ '); } .icon-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'Ȑ '); } +.icon-paste { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = 'ȑ '); } .icon-cancel-circled2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/src/assets/fontIcon/opex-icon/css/opex-icon.css b/src/assets/fontIcon/opex-icon/css/opex-icon.css index a835367..208106c 100644 --- a/src/assets/fontIcon/opex-icon/css/opex-icon.css +++ b/src/assets/fontIcon/opex-icon/css/opex-icon.css @@ -1,11 +1,11 @@ @font-face { font-family: 'opex-icon'; - src: url('../font/opex-icon.eot?42850643'); - src: url('../font/opex-icon.eot?42850643#iefix') format('embedded-opentype'), - url('../font/opex-icon.woff2?42850643') format('woff2'), - url('../font/opex-icon.woff?42850643') format('woff'), - url('../font/opex-icon.ttf?42850643') format('truetype'), - url('../font/opex-icon.svg?42850643#opex-icon') format('svg'); + src: url('../font/opex-icon.eot?88500404'); + src: url('../font/opex-icon.eot?88500404#iefix') format('embedded-opentype'), + url('../font/opex-icon.woff2?88500404') format('woff2'), + url('../font/opex-icon.woff?88500404') format('woff'), + url('../font/opex-icon.ttf?88500404') format('truetype'), + url('../font/opex-icon.svg?88500404#opex-icon') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +15,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'opex-icon'; - src: url('../font/opex-icon.svg?42850643#opex-icon') format('svg'); + src: url('../font/opex-icon.svg?88500404#opex-icon') format('svg'); } } */ @@ -115,10 +115,10 @@ .icon-help-circled-2:before { content: '\0158'; } /* 'Ř' */ .icon-help-circled-alt:before { content: '\0159'; } /* 'ř' */ .icon-menu_vertical:before { content: '\0160'; } /* 'Š' */ -.icon-cancel-circled:before { content: '\0161'; } /* 'š' */ +.icon-cancel-circled-1:before { content: '\0161'; } /* 'š' */ .icon-cancel-circle:before { content: '\0162'; } /* 'Ţ' */ .icon-cancel-circle-1:before { content: '\0163'; } /* 'ţ' */ -.icon-cancel-circled-1:before { content: '\0165'; } /* 'ť' */ +.icon-cancel-circled-2:before { content: '\0165'; } /* 'ť' */ .icon-cancel-circle-2:before { content: '\0166'; } /* 'Ŧ' */ .icon-profilesetting:before { content: '\0167'; } /* 'ŧ' */ .icon-protectsetting:before { content: '\0168'; } /* 'Ũ' */ @@ -164,4 +164,5 @@ .icon-down-dir:before { content: '\0208'; } /* 'Ȉ' */ .icon-up-dir:before { content: '\0209'; } /* 'ȉ' */ .icon-play:before { content: '\0210'; } /* 'Ȑ' */ +.icon-paste:before { content: '\0211'; } /* 'ȑ' */ .icon-cancel-circled2:before { content: '\e801'; } /* '' */ diff --git a/src/assets/fontIcon/opex-icon/demo.html b/src/assets/fontIcon/opex-icon/demo.html index c150d0e..1031397 100644 --- a/src/assets/fontIcon/opex-icon/demo.html +++ b/src/assets/fontIcon/opex-icon/demo.html @@ -146,11 +146,11 @@ } @font-face { font-family: 'opex-icon'; - src: url('./font/opex-icon.eot?12809373'); - src: url('./font/opex-icon.eot?12809373#iefix') format('embedded-opentype'), - url('./font/opex-icon.woff?12809373') format('woff'), - url('./font/opex-icon.ttf?12809373') format('truetype'), - url('./font/opex-icon.svg?12809373#opex-icon') format('svg'); + src: url('./font/opex-icon.eot?57753066'); + src: url('./font/opex-icon.eot?57753066#iefix') format('embedded-opentype'), + url('./font/opex-icon.woff?57753066') format('woff'), + url('./font/opex-icon.ttf?57753066') format('truetype'), + url('./font/opex-icon.svg?57753066#opex-icon') format('svg'); font-weight: normal; font-style: normal; } @@ -425,7 +425,7 @@

opex-icon font demo

Š icon-menu_vertical0x0160
- š icon-cancel-circled0x0161 + š icon-cancel-circled-10x0161
Ţ icon-cancel-circle0x0162 @@ -436,7 +436,7 @@

opex-icon font demo

- ť icon-cancel-circled-10x0165 + ť icon-cancel-circled-20x0165
Ŧ icon-cancel-circle-20x0166 @@ -595,6 +595,9 @@

opex-icon font demo

Ȑ icon-play0x0210
+
+ ȑ icon-paste0x0211 +
icon-cancel-circled20xe801
diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.eot b/src/assets/fontIcon/opex-icon/font/opex-icon.eot index 226bce2708eb0f4c51c4ae184d86640f801b87e6..cd43abfc666cc90e9907e2cfa2422683336533da 100644 GIT binary patch delta 731 zcmY*XT}YEr7=GXL{cU5pE!{W8nwwh+)`X_pq#uxkpdVUD5C&mu&aK$oH#htl>J;-r z&_X^75rcw42?FB-i|Rrsyy+^CAc(Lqm?d5n*hRB3g^@9`T~y9ZO^ermcIAiSN>x zZ{x}EnUF_5{R3d=H3>Eop#g27gV$zZXfC| z7A-UsjTah(N@gJgO-KUdX}jVC>RW3ubR=^;z}`(R&$WXNDxn$zaG~|wegoq~S-B?-stxG3P z>V2+&ueq+?Su5JC6>`Ao^_Mr*3zl4kC^?JeVz4y(sUS;Mxd!csPx0rLY{w6`4N{?B zGNM6;lak@i;v(7|@}Di69SiR%IAqo-JJ6`xG|NHkw%hU#-I4)~qPyrR%q;E{CQGso zhn4M=R?j8frpXU;Qe8wNBHCUtr?$)CFwx^|$>)^;$N7DQzyhit44IZ~BIo zTJ9T8@=Ipq|0+uof>aM Yul8zu4rM_Jr85!J{}QhjnRrw77qnuuJ^%m! delta 450 zcmX@GifP3PCN_;J3=B1sC$gEbdO zmsXITo22)%ih-f!3Xsc_o>*J}6c+&U_W)^*^qk5xWy#&^85lTw7#IqeGEx&$l+`|b zVPL470F*b&019wOvP=c?PXPHU8M!4Dox1;*0{L%%b{@#dPxegIdCQl>z)-ygsNhj< zVnqQ{j{rZ=kst#U@)C1X-$=3*0r?vk7?^GrCU0PhWqdH1kNM%|kIX!b zoGu^@K#;$gja7@4>jlsN5C-x+xFYi>&#l@lv-Wwwr+9vwuMGUmFF;D~&%d?`Mo-SE zHfJo@yrlX7 -Copyright (C) 2022 by original authors @ fontello.com +Copyright (C) 2023 by original authors @ fontello.com @@ -128,13 +128,13 @@ - + - + @@ -226,6 +226,8 @@ + + diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.ttf b/src/assets/fontIcon/opex-icon/font/opex-icon.ttf index 4a04ae67c1d48ecb9decfbc5861e70b46e15fb17..6829f312b5d4db45dfefc1e496e0e35d48da3a00 100644 GIT binary patch delta 727 zcmY*WT}YE*6h7zu{11$9x@MNxcVKXf4!-Eo4v=b z?#x&&cy0jTLjdVpxG(L1(wg`{P}ZeHyE__x4FOE75j93bDTV50;>(1(Xne41{Hf3f zpuY~F6k?H3r+e932QWk&{4px%s`xqLMZG)LogSF7ZrmoGrEy?4`vAshfDll6Bg*LFo<#sPKa+p6 zbsmsxfV04rb~^|SWSj>cV`>&%Xi<4~8b7NY?2|xuK~X)<<<&FXCX=z~6pj@$Ek!%Y zHwcx?LT(C30OaWGVgUKH%lfuNh6mU<$K|+I&_N|sLjaEMKfKw%c+QKAuSS7!M?gYA z3C2jm@j5OFJTQT0Q4pvsU=%o7YO`bEEhUG{+GPhCbt`5$h+TGD?v`6Jpiy)eJ%yQt^}=LH*5C~uYl6yT6#nF{2e z0PYb^k8~^4|dMJdl&0?3t+ZmM@2ap?VEa!K2*7iUOt{0e%LC8jt}Bd5O8H zZzS1@fcy;%3`{o*@{3DOya@%e>wy-s>J}8G7SwIC-p0T%>A}Pwr)6g_FaotPFiv7% z2D5a4G#60g3eXK4Z5(x4) zN3m$Ja=ieW2Esu89L~u6$sa2>%dCAK@F||(<|_j~^9zvD`}41@g3*%?RGBjtZ2nPo zfN}DknunYqtsq>md08zdBcsve4RyO1jW%c32Qe}hOy1Y)EwR9 f%%bF+)Rf6zn)MhBH!HWyV4QrgRb=z!)`NTiC1QkL diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.woff b/src/assets/fontIcon/opex-icon/font/opex-icon.woff index cdcb8aec328be28ec18fafd108b80e91a91ac0f9..64156aa13ed501c22647c9347a2f79c9dd9efc24 100644 GIT binary patch delta 20510 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 delta 20348 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 diff --git a/src/components/NumberInput/NumberInput.module.css b/src/components/NumberInput/NumberInput.module.css index cbe66a7..c737192 100644 --- a/src/components/NumberInput/NumberInput.module.css +++ b/src/components/NumberInput/NumberInput.module.css @@ -93,6 +93,6 @@ } .alert { - font-size: 0.7vw; + /*font-size: 0.7vw;*/ color: var(--red); } diff --git a/src/components/TextInput/TextInput.js b/src/components/TextInput/TextInput.js index a70cb79..3e1c905 100644 --- a/src/components/TextInput/TextInput.js +++ b/src/components/TextInput/TextInput.js @@ -27,7 +27,7 @@ const TextInput = (props) => { onChange={onchange} options={options} classNamePrefix="select" - className={classes.selectBox} + className={`select ${classes.selectBox}`} {...other} /> } diff --git a/src/components/TextInput/TextInput.module.css b/src/components/TextInput/TextInput.module.css index 592cf9d..6611c79 100644 --- a/src/components/TextInput/TextInput.module.css +++ b/src/components/TextInput/TextInput.module.css @@ -100,7 +100,7 @@ } .selectBox { width: 50%; - font-size: 0.75vw; + /*font-size: 0.75vw;*/ } :global .select__control { border-color: transparent !important; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js index d34f93b..dbe4eaa 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/Deposit/Deposit.js @@ -17,6 +17,10 @@ const Deposit = () => { const {t} = useTranslation(); const addressRef = useRef(null); + useEffect(() => { + toast.dismiss() + }, []) + const copyToClipboard = () => { addressRef.current.select(); document.execCommand("copy"); @@ -135,6 +139,7 @@ const Deposit = () => { // if (id === "IRT") return + if (id === "IRT") return

{t("comingSoon")}

if (isLoading) return
if (error) return
diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/withdrawal/withdrawal.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/withdrawal/withdrawal.js index 696cca1..4d01cab 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/withdrawal/withdrawal.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/components/withdrawal/withdrawal.js @@ -1,10 +1,280 @@ -import React from 'react'; +import React, {useEffect, useRef, useState} from 'react'; import classes from './withdrawal.module.css' +import {useParams} from "react-router-dom"; +import {Trans, useTranslation} from "react-i18next"; +import {useGetUserAccount} from "../../../../../../../../../../queries/hooks/useGetUserAccount"; +import { + useGetCurrencyInfo, + useGetUserAssets, + useGetUserAssetsEstimatedValue, + useWithdrawTxs +} from "../../../../../../../../../../queries"; +import {BN, parsePriceString} from "../../../../../../../../../../utils/utils"; +import {sendWithdrawReq} from "js-api-client"; +import {toast} from "react-hot-toast"; +import {images} from "../../../../../../../../../../assets/images"; +import ReactTooltip from "react-tooltip"; +import Loading from "../../../../../../../../../../components/Loading/Loading"; +import Error from "../../../../../../../../../../components/Error/Error"; +import NumberInput from "../../../../../../../../../../components/NumberInput/NumberInput"; +import TextInput from "../../../../../../../../../../components/TextInput/TextInput"; +import Button from "../../../../../../../../../../components/Button/Button"; +import Icon from "../../../../../../../../../../components/Icon/Icon"; const Withdrawal = () => { - return ( -
+ const {t} = useTranslation(); + const {id} = useParams(); + + const [amount, setAmount] = useState({value: 0, error: []}); + const [networkName, setNetworkName] = useState({value: 0, error: []}); + const [address, setAddress] = useState({value: "", error: []}); + const [isLoading, setIsLoading] = useState(false) + + useEffect(() => { + toast.dismiss() + }, []) + + useEffect(() => { + setNetworkName({value: 0, error: []}) + setAmount({value: 0, error: []}) + setAddress({value: "", error: []}) + validation() + }, [id]); + + const {refetch: getUserAccount} = useGetUserAccount(); + const {refetch: getWithdrawTxs} = useWithdrawTxs(id); + const {refetch: getUserAssets} = useGetUserAssets("IRT"); + const {refetch: getUserAssetsEstimatedValue} = useGetUserAssetsEstimatedValue("IRT"); + + const {data: userAccount} = useGetUserAccount() + const freeAmount = userAccount?.wallets[id]?.free || 0 + + const {data:currencyInfo, isLoading:CILoading, error:CIError} = useGetCurrencyInfo(id) + + const tooltip = useRef() + const selectRef = useRef() + + + + + + const withdrawFee = new BN(currencyInfo?.chains[networkName.value]?.withdrawFee).toFormat() + + + const pasteFromClipboard = (e) => { + e.preventDefault(); + if (navigator.clipboard !== undefined) { + navigator.clipboard.readText() + .then(text => { + //console.log('Pasted content: ', text); + setAddress({...address, value: text}) + toast.success(t('DepositWithdraw.paste')); + }) + .catch(err => { + console.error('Failed to read clipboard contents: ', err); + }); + } + else return toast.error(t('error')); + + } + + const validation = () => { + if (new BN(amount.value).isGreaterThan(freeAmount)) { + return t('DepositWithdraw.noInventory') + + + + // return toast.error(t('DepositWithdraw.noInventory')); + } + if (new BN(amount.value).minus(withdrawFee).isLessThanOrEqualTo(0)) { + return t('DepositWithdraw.allowableWithdraw') + } + /*if (currencyInfo?.chains[networkName.value]) { + return t('DepositWithdraw.fillNetwork') + }*/ + if (address.value.length <= 0) { + return t('DepositWithdraw.fillAddress') + } + } + + const sendWithdrawHandler = async (e) => { + e.preventDefault() + if(isLoading) return + setIsLoading(true) + sendWithdrawReq(amount.value, id, address.value, withdrawFee, `${currencyInfo?.chains[networkName.value]?.network} - ${currencyInfo?.chains[networkName.value]?.currency}` ) + .then(() => { + setNetworkName({value: 0, error: []}) + setAmount({value: 0, error: []}) + setAddress({value: "", error: []}) + toast.success(); + getUserAccount() + getWithdrawTxs() + getUserAssets() + getUserAssetsEstimatedValue() + }) + .catch(() => { + toast.error(t('error')); + }) + .finally(() => setIsLoading(false)) + } + + const submitButtonTextHandler = () => { + if (isLoading) return linearLoading + return t('DepositWithdrawTx.withdrawReqSubmit') + } + const fillByWallet = () => { + setAmount({ + value: freeAmount, + error: [] + }) + }; + const fillByMinWithdraw = () => { + setAmount({ + value: new BN(currencyInfo?.chains[networkName.value]?.minWithdraw).plus(withdrawFee).toString(), + error: [] + }) + }; + + const enableButton = !(new BN(amount.value).minus(withdrawFee).isGreaterThan(0)) || new BN(amount.value).isGreaterThan(freeAmount) || address.value.length <= 0 + + useEffect(() => { + ReactTooltip.rebuild(); + }, [enableButton]); + + useEffect(() => { + ReactTooltip.hide(tooltip.current) + }, [enableButton]); + + if (id === "IRT") { + return

{t("comingSoon")}

+ } + + const content = () => { + if (CILoading) return + if (CIError) return + else return
sendWithdrawHandler(e)} className={`px-2 py-1 column jc-between height-100 ${classes.content}`}> + +
+
+ {t("DepositWithdrawTx.freeWallet")}: + {fillByWallet()}}>{freeAmount} {t("currency." + id)} +
+
+ {t('DepositWithdrawTx.minWithdraw')}: + {fillByMinWithdraw()}}> {new BN(currencyInfo?.chains[networkName.value]?.minWithdraw).plus(withdrawFee).toString()} {t("currency." + id)} +
+
+ {t('DepositWithdrawTx.maxWithdraw')}: + 2 {t("currency." + id)} +
+
+ {t('DepositWithdrawTx.maxMonthWithdraw')}: + 2 {t("currency." + id)} +
+
+ + + {return {value: index, label: `${chain.network} - ${chain.currency}` }})} + lead={t('DepositWithdraw.network')} + type="select" + value={currencyInfo?.chains[networkName.value] && {value: networkName.value, label: `${currencyInfo?.chains[networkName.value].network} - ${currencyInfo?.chains[networkName.value].currency}` }} + onchange={(e) => setNetworkName({value: e?.value || 0, error: []})} + customRef={selectRef} + alerts={networkName.error} + customClass={`${classes.withdrawalSmallInput} `} + /> + + setAmount({...amount, value: parsePriceString(e.target.value)}) + } + type="text" + /> + +
+
+ {t("DepositWithdrawTx.destAddress") + " " + t("currency." + id)} + pasteFromClipboard(e)} + customClass={`hover-text cursor-pointer`} + /> +
+ setAddress({...address, value: e.target.value})} + /> + {t('DepositWithdrawTx.withdrawWarn')} +
+ + +
+
+ {t('commission')}: + + {amount.value ? withdrawFee : 0} + {t("currency." + id)} + + + +
+
+ {t('DepositWithdrawTx.reqAmount')}: + + {new BN(amount.value).minus(withdrawFee).isGreaterThan(0) ? new BN(amount.value).minus(withdrawFee).toFormat() : 0} + {t("currency." + id)} + +
+
+ + +
+ {t('DepositWithdraw.securityConsiderations')} +
+ + ${validation()}` : ""} + > +
-
-
- Ė icon-wallet0x0116 -
-
- icon-account0x0117 -
-
- Ę icon-counting0x0118 -
-
- ę icon-messages0x0119 -
-
-
Ġ icon-star-10x0120
ġ icon-chat0x0121
+
+
Ģ icon-comment-alt0x0122
ģ icon-comment0x0123
-
-
Ĥ icon-diamond0x0124
-
- ĥ icon-messages-dotted0x0125 -
-
- Ħ icon-safe0x0126 -
ħ icon-lock0x0127
@@ -382,202 +354,115 @@

opex-icon font demo

ň icon-calendar-30x0148
-
- ʼn icon-filter0x0149 -
-
- Ő icon-filternfilled0x0150 -
-
- ő icon-microsoft_excel0x0151 -
-
-
-
- Œ icon-clear-filters0x0152 -
-
- œ icon-clock0x0153 -
Ŕ icon-info-circled0x0154
-
- ŕ icon-copy0x0155 -
-
-
Ŗ icon-help-circled0x0156
ŗ icon-help-circled-10x0157
+
+
Ř icon-help-circled-20x0158
ř icon-help-circled-alt0x0159
-
-
-
- Š icon-menu_vertical0x0160 -
š icon-cancel-circled-10x0161
Ţ icon-cancel-circle0x0162
+
+
ţ icon-cancel-circle-10x0163
-
-
ť icon-cancel-circled-20x0165
Ŧ icon-cancel-circle-20x0166
-
- ŧ icon-profilesetting0x0167 -
-
- Ũ icon-protectsetting0x0168 -
-
-
-
- ũ icon-verifiedsetting0x0169 -
-
- Ű icon-fileSubsetting0x0170 -
-
- ű icon-closed_eye0x0171 -
-
- Ų icon-eye-10x0172 -
-
-
ų icon-hash0x0173
-
- Ŵ icon-lasttrades0x0174 -
-
- ŵ icon-myorder0x0175 -
-
- Ŷ icon-order0x0176 -
-
- ŷ icon-orderbook0x0177 -
-
- Ÿ icon-overview0x0178 -
Ź icon-dot-30x0179
ƀ icon-th0x0180
-
-
Ɓ icon-th-outline0x0181
Ƃ icon-eq0x0182
+
+
ƃ icon-resize-vertical0x0183
Ƅ icon-resize-vertical-10x0184
-
-
ƅ icon-down-open-20x0185
Ɔ icon-braille0x0186
+
+
Ƈ icon-left-open0x0187
ƈ icon-right-open0x0188
-
-
Ɖ icon-eye-20x0189
Ɛ icon-eye-off0x0190
+
+
Ƒ icon-globe0x0191
ƒ icon-location0x0192
-
-
Ɠ icon-loop0x0193
Ɣ icon-arrows-cw0x0194
+
+
ƕ icon-arrows-cw-10x0195
Ɩ icon-eye-30x0196
-
-
-
- Ɨ icon-op-060x0197 -
-
- Ƙ icon-op-050x0198 -
-
- ƙ icon-op-040x0199 -
-
- Ȁ icon-op-020x0200 -
-
-
-
- ȁ icon-op-030x0201 -
Ȃ icon-left-open-10x0202
ȃ icon-right-open-10x0203
-
- Ȅ icon-row0x0204 -
-
- ȅ icon-grid0x0205 -
Ȇ icon-up-micro0x0206
@@ -587,20 +472,168 @@

opex-icon font demo

Ȉ icon-down-dir0x0208
-
-
ȉ icon-up-dir0x0209
+
+
Ȑ icon-play0x0210
ȑ icon-paste0x0211
+
+ Ȓ icon-shield-lock-black-icon0x0212 +
+
+ ȓ icon-shield-lock-black-icon-10x0213 +
+
+
+
+ Ȕ icon-user-clipboard-icon0x0214 +
+
+ ȕ icon-privacy-icon0x0215 +
+
+ Ȗ icon-file-user-icon0x0216 +
+
+ ȗ icon-task-user-icon0x0217 +
+
+
+
+ Ș icon-privacy-icon-10x0218 +
+
+ ș icon-username-icon0x0219 +
+
+ Ƞ icon-user-key-icon0x0220 +
+
+ icon-market0xe800 +
+
+
icon-cancel-circled20xe801
+
+ icon-settings0xe802 +
+
+ icon-wallet0xe803 +
+
+ icon-account0xe804 +
+
+
+
+ icon-counting0xe805 +
+
+ icon-messages0xe806 +
+
+ icon-messages-dotted0xe807 +
+
+ icon-safe0xe808 +
+
+
+
+ icon-filter0xe809 +
+
+ icon-filternfilled0xe80a +
+
+ icon-microsoft_excel0xe80b +
+
+ icon-clear-filters0xe80c +
+
+
+
+ icon-clock0xe80d +
+
+ icon-copy0xe80e +
+
+ icon-menu_vertical0xe80f +
+
+ icon-profilesetting0xe810 +
+
+
+
+ icon-protectsetting0xe811 +
+
+ icon-verifiedsetting0xe812 +
+
+ icon-fileSubsetting0xe813 +
+
+ icon-closed_eye0xe814 +
+
+
+
+ icon-eye-10xe815 +
+
+ icon-lasttrades0xe816 +
+
+ icon-myorder0xe817 +
+
+ icon-order0xe818 +
+
+
+
+ icon-orderbook0xe819 +
+
+ icon-overview0xe81a +
+
+ icon-op-060xe81b +
+
+ icon-op-050xe81c +
+
+
+
+ icon-op-040xe81d +
+
+ icon-op-020xe81e +
+
+ icon-op-030xe81f +
+
+ icon-row0xe820 +
+
+
+
+ icon-grid0xe821 +
diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.eot b/src/assets/fontIcon/opex-icon/font/opex-icon.eot index cd43abfc666cc90e9907e2cfa2422683336533da..3b2827015ae72054437976acdc096a7ae019ba2e 100644 GIT binary patch delta 7136 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 - - - - - - - - - - - - @@ -56,10 +44,6 @@ - - - - @@ -104,20 +88,8 @@ - - - - - - - - - - - - @@ -126,8 +98,6 @@ - - @@ -138,30 +108,8 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -198,24 +146,10 @@ - - - - - - - - - - - - - - @@ -228,7 +162,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.ttf b/src/assets/fontIcon/opex-icon/font/opex-icon.ttf index 6829f312b5d4db45dfefc1e496e0e35d48da3a00..bf04c7cec0e9688fa59bb1f26ec5757cbed0c1e5 100644 GIT binary patch delta 7126 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 delta 2286 zcmYM!du&rx90&04x$PdEqwB`T*v3X-8;ot;#$FvS84r<{Fc5(O3Z=VSC+m9Gma!4E zJQawWgHvE2=wjj@2pY_t#6KpQNHjqhh7c2t5<)OpkOX7IOry--=`X}4pYy%v_V(O! ze&^oqy{SddYkgBA%N_xu0l+q|-(#fibDg99B_QE}w=?Xd^Yl6N6E*f`qs70y?62L_ ze@NZr7Ej2a^A76Yrc7*U>ux^ySzISzI|~?3e7dKp;CAISU^n$q>!TBiS=N)(SJxN# z{Nb*i4H;t}(1}sH>D9J?*W;S72ZoGbZ&SgN39vj^(4#;(4z7R4h%Jnl4Gz3Hxme^4#WfBc? z23FytFY;&|7TASNWQiGKmRKelg;%tSZgE7M)@)kph!`8A-$OWrQ&fn0(IB=7T^M4o z=+mG%)c10MmYXYRtO_i|Iy9pTN709Ve25_o<1X&WquK@Ow$zysOR}&vs43CMkWuS} zNIDHqKDdl1Y7v*ydWf3}9!cb26JfppYSjwPQwTwZn ziZ(Fz?xO|Cg5PKI?d0H7%c?(`+tPCK$W?VVH4#shRu}68MaVLhL^g ze!AnFReoIghg@q6neSIgs~p!cVAj<2YvxBCR}|cvIK2O&ukLkLlJcgx2_V(sy%%t8o z{OkWyKImC4@AjtK#Uq*_vD{bW?A{zPBLD8qk9;2=j2})g5?3bvZmYGOwcSd}ONu6q zCbuPD8P_mw(7wceEhRbSlEd!Uotl*TdRkZ7$oOmNed%{Hj!tl9Ix+{d(zDaDH)ap# z3`~ljv~ALlxplc$@*484P2NBGmeb)}>l|?2nUXi<$<*!nc?IzWhYL}-sqpr+cc)(} zN-H|Nyy(`9rNu)fD5)-4U(#MOQmU0^m+o;Tm)Xk}myMS9mOrT2UbV7nxVpajNlj^oH~cSegc zQv7--9SG{~I(RdH6IC*+f@{Vths^1b@FfZ?jBjkPtgwmQ~U#@ec9+VtkI uD`4pDu9?Zf))wE>jwKk_Wo-$zHpwqemOE0so_4R^_H+uB=I8xi+5ZD{Lb4$M diff --git a/src/assets/fontIcon/opex-icon/font/opex-icon.woff b/src/assets/fontIcon/opex-icon/font/opex-icon.woff index 64156aa13ed501c22647c9347a2f79c9dd9efc24..d0d3a6b49863bb0afffbfc7e3b1d9897db80a042 100644 GIT binary patch delta 24309 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 delta 21174 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 z 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 bH3J{1Yf0Pr2+!09@y^n56=LhB&jai)%2u$- literal 19640 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 { const {t} = useTranslation(); + const {path} = useParams() + + const content = () => { + + if (path === "profile") { + return + } + if (path === "security") { + return + } + if (path === "authentication") { + return + } + if (path === "api-key") { + return + } + + } return ( -
- {t("comingSoon")} - props.onThemeChange(e.target.checked)} checked={props.isDark}/> +
+ {content()}
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/APIKey/APIKey.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/APIKey/APIKey.js new file mode 100644 index 0000000..f064d8a --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/APIKey/APIKey.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const APIKey = () => { + return ( +
+ +
+ ); +}; + +export default APIKey; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/APIKey/APIKey.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/APIKey/APIKey.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js new file mode 100644 index 0000000..463c72e --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const Authentication = () => { + return ( +
+ +
+ ); +}; + +export default Authentication; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js new file mode 100644 index 0000000..65ca6d3 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const Profile = () => { + return ( +
+ +
+ ); +}; + +export default Profile; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js new file mode 100644 index 0000000..65fc304 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const Security = () => { + return ( +
+ +
+ ); +}; + +export default Security; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/Wallet.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/Wallet.js index a95a357..110a3e7 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/Wallet.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Wallet/Wallet.js @@ -26,7 +26,7 @@ const Wallet = () => { } return ( -
+
{content()}
); diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js b/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js index c638a9b..2a579f7 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js @@ -2,16 +2,19 @@ import React from 'react'; import Icon from "../../../../../../../../components/Icon/Icon"; import {useDispatch} from "react-redux"; import {activeActionSheet} from "../../../../../../../../store/actions/global"; +import {useLocation} from "react-router-dom"; +import {useTranslation} from "react-i18next"; const SettingsHeader = () => { + const {t} = useTranslation() const dispatch = useDispatch(); - + const location = useLocation() return ( <> -

dispatch(activeActionSheet({subMenu: true}))}> - امنیت +

dispatch(activeActionSheet({subMenu: true}))}> + {t("routes." + location.pathname)}

dispatch(activeActionSheet({menu: true}))} diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Menu/Menu.js b/src/main/Mobile/Pages/UserPanel/Secttions/Menu/Menu.js index b66ac25..8688efd 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Menu/Menu.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Menu/Menu.js @@ -6,6 +6,7 @@ import * as RoutesName from "../../../../Routes/routes"; import {activeActionSheet} from "../../../../../../store/actions/global"; import {useDispatch} from "react-redux"; import {useTranslation} from "react-i18next"; +import {Profile} from "../../../../Routes/routes"; const Menu = () => { @@ -44,15 +45,15 @@ const Menu = () => { {t("wallet.title")} - {/* isActive ? `${classes.selected} width-50 row jc-between ai-center py-1` : "width-50 row jc-between ai-center py-1" } > {t("settings.title")} - */} +
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/NavMenu/components/SettingsNavMenu/SettingsNavMenu.js b/src/main/Mobile/Pages/UserPanel/Secttions/NavMenu/components/SettingsNavMenu/SettingsNavMenu.js index 589c33e..7d3ae2b 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/NavMenu/components/SettingsNavMenu/SettingsNavMenu.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/NavMenu/components/SettingsNavMenu/SettingsNavMenu.js @@ -3,48 +3,52 @@ import classes from "../../NavMenu.module.css"; import {NavLink} from "react-router-dom"; import * as Routes from "../../../../../../Routes/routes"; import Icon from "../../../../../../../../components/Icon/Icon"; +import {useTranslation} from "react-i18next"; const SettingsNavMenu = () => { + + const {t} = useTranslation(); + return (
+ to={Routes.Profile} + className={({isActive}) => isActive ? `col-25 column jc-center ai-center ${classes.selected}` : `col-25 column jc-center ai-center` } > - - امنیت + + {t("SettingsSubMenu.userProfile")} + to={Routes.Security} + className={({isActive}) => isActive ? `col-25 column jc-center ai-center ${classes.selected}` : `col-25 column jc-center ai-center` } > - - احراز هویت + + {t("SettingsSubMenu.security")} + to={Routes.Authentication} + className={({isActive}) => isActive ? `col-25 column jc-center ai-center ${classes.selected}` : `col-25 column jc-center ai-center` } > - + - مشخصات کاربری + {t("SettingsSubMenu.authentication")} + to={Routes.APIKey} + className={({isActive}) => isActive ? `col-25 column jc-center ai-center ${classes.selected}` : `col-25 column jc-center ai-center` } > - + - شخصی سازی + {t("APIKey.title")}
); diff --git a/src/main/Mobile/Routes/routes.js b/src/main/Mobile/Routes/routes.js index 637068a..fc6571c 100644 --- a/src/main/Mobile/Routes/routes.js +++ b/src/main/Mobile/Routes/routes.js @@ -27,7 +27,8 @@ export const Personalization = "/panel/settings/personalization"; export const PersonalizationRelative = "personalization"; export const Authentication = "/panel/settings/authentication"; export const AuthenticationRelative = "/authentication"; - +export const APIKey = "/panel/settings/api-key"; +export const APIKeyRelative = "/api-key"; export const Overview = "/panel/market/overview"; From 83fc9abbaeeb40d6ce868fb4b9188efc4ae73f15 Mon Sep 17 00:00:00 2001 From: Hossein Date: Sun, 7 May 2023 11:45:37 +0330 Subject: [PATCH 07/16] #7, Add UserActiveSessions api --- .../Content/components/Settings/Settings.js | 20 ++++- .../Settings/components/Security/Security.js | 10 ++- .../ActiveSessions/ActiveSessions.js | 85 +++++++++++++++++++ .../ActiveSessions/ActiveSessions.module.css | 16 ++++ .../components/Details/Details.js | 44 ++++++++++ .../components/Details/Details.module.css | 76 +++++++++++++++++ .../components/Session/Session.js | 65 ++++++++++++++ .../components/Session/Session.module.css | 10 +++ 8 files changed, 320 insertions(+), 6 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.module.css diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js index b1a5ba1..1691634 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js @@ -2,18 +2,21 @@ import React from "react"; import {setThemeInitiate} from "../../../../../../../../store/actions"; import {connect} from "react-redux"; import {useTranslation} from "react-i18next"; -import {useParams} from "react-router-dom"; +import {Navigate, Route, Routes, useParams} from "react-router-dom"; import Profile from "./components/Profile/Profile"; import Security from "./components/Security/Security"; import Authentication from "./components/Authentication/Authentication"; import APIKey from "./components/APIKey/APIKey"; +import * as RoutesName from "../../../../../../Routes/routes"; const Settings = (props) => { - const {t} = useTranslation(); + const {path} = useParams() + console.log(path) + const content = () => { if (path === "profile") { @@ -32,8 +35,17 @@ const Settings = (props) => { } return ( -
- {content()} +
+ + + + }/> + }/> + }/> + }/> + }/> + +
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js index 65fc304..4dca009 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js @@ -1,10 +1,16 @@ import React from 'react'; +import ScrollBar from "../../../../../../../../../../components/ScrollBar"; +import ActiveSessions from "./components/ActiveSessions/ActiveSessions"; const Security = () => { return ( -
-
+ + + + + + ); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js new file mode 100644 index 0000000..c349e54 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js @@ -0,0 +1,85 @@ +import React from 'react'; +import classes from './ActiveSessions.module.css' +import {useTranslation} from "react-i18next"; +import {useGetUserActiveSessions} from "../../../../../../../../../../../../queries"; +import {expireAllSessionsExceptCurrent} from "js-api-client"; +import {toast} from "react-hot-toast"; +import Icon from "../../../../../../../../../../../../components/Icon/Icon"; +import ScrollBar from "../../../../../../../../../../../../components/ScrollBar"; +import Error from "../../../../../../../../../../../../components/Error/Error"; +import Loading from "../../../../../../../../../../../../components/Loading/Loading"; +import moment from "moment-jalaali"; +import Session from "./components/Session/Session"; + +const ActiveSessions = () => { + + const {t} = useTranslation(); + const {data: activeSessions, isLoading, error, refetch} = useGetUserActiveSessions() + + const expireAllSessions = () => { + expireAllSessionsExceptCurrent() + .then(() => { + toast.success(t("ActiveSessions.logOutAllSuccess")); + refetch() + }).catch(() => { + toast.error(t("ActiveSessions.logOutAllError")); + }) + } + + const content = () => { + if (isLoading) return + + if (error) return + + const current = activeSessions.filter((s) => s.inUse)[0] + const other = activeSessions.filter((s) => !s.inUse) + + return <> +
+ {t("ActiveSessions.thisSession")} +
+
+ {moment(current?.lastAccess * 1000).format("HH:mm:ss , jYY/jMM/jDD")} + {other.length > 0 ? + + {t("ActiveSessions.closeOtherSessions")} : ""} +
+
+
+ {current?.ipAddress} + +
+
+ {current?.agent} + +
+
+
+
+ {t("ActiveSessions.otherSession")} +
+
+ + {other.length > 0 ? other.map((list) => ) + :
+ {t("ActiveSessions.noData")} +
+ } +
+ + } + + return ( +
+
+

{t("ActiveSessions.title")}

+
+
+ {content()} +
+ +
+ ); +}; + +export default ActiveSessions; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.module.css new file mode 100644 index 0000000..d424cfc --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.module.css @@ -0,0 +1,16 @@ +.container { + height: 52vh; +} +.header { + height: 15%; +} +.content { + height: 85%; +} + + +.thisSession { + background: var(--cardHeaderAlpha); +} + + diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.js new file mode 100644 index 0000000..c3287de --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.js @@ -0,0 +1,44 @@ +import React, {useEffect, useState} from "react" +import classes from "./Details.module.css"; +import {browserName, deviceType, fullBrowserVersion} from "react-device-detect"; + + +const Details = ({details, setWrapper}) => { + const [close, setClose] = useState(false); + useEffect(() => { + setClose(false) + }, []) + + const clickHandler = () => { + setWrapper(false) + setClose(true) + } + + + return ( + <>{details ?
: ""} +
+ {!details ? "" : + <> +
+ نوع + {deviceType} +
+
+ نام + {browserName} +
+ +
+ نسخه + {fullBrowserVersion} +
+ + } +
+ + ); +}; + +export default Details; \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.module.css new file mode 100644 index 0000000..56445f8 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Details/Details.module.css @@ -0,0 +1,76 @@ +.container { + width: 30%; + background-color: var(--popupAlpha); + height: 0; + position: absolute; + top: 29%; + right: 7%; + border: none; + +} + +.container.expand { + animation: TopToBottom ease 0.5s forwards; + -webkit-animation: TopToBottom ease 0.5s forwards; + -moz-animation: TopToBottom ease 0.5s forwards; + -o-animation: TopToBottom ease 0.5s forwards; + -ms-animation: TopToBottom ease 0.5s forwards; + + border: 0.3vh solid var(--cardBorder); + border-radius: 9px; +} + +.container.close { + animation: BottomToTop ease 0.5s forwards; + -webkit-animation: BottomToTop ease 0.5s forwards; + -moz-animation: BottomToTop ease 0.5s forwards; + -o-animation: BottomToTop ease 0.5s forwards; + -ms-animation: BottomToTop ease 0.5s forwards; + + +} + +.wrapper { + position: absolute; + width: 100%; + height: 100%; + top: 0; + background-color: #00000000; +}+ + + +@-webkit-keyframes TopToBottom { + 0% { + height: 0%; + } + 100% { + height: 60%; + } +} + +@keyframes TopToBottom { + 0% { + height: 0%; + } + 100% { + height: 60%; + } +} + +@-webkit-keyframes BottomToTop { + 0% { + height: 60%; + } + 100% { + height: 0%; + } +} + +@keyframes BottomToTop { + 0% { + height: 60%; + } + 100% { + height: 0%; + } +} \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.js new file mode 100644 index 0000000..4ead7c0 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.js @@ -0,0 +1,65 @@ +import React, {useState} from "react" +import classes from "./Session.module.css"; +import Icon from "../../../../../../../../../../../../../../components/Icon/Icon"; +import moment from "moment-jalaali"; +import {Trans, useTranslation} from "react-i18next"; +import {images} from "../../../../../../../../../../../../../../assets/images"; +import {toast} from "react-hot-toast"; +import {expireSessionById} from "js-api-client"; + +const Session = ({list, reloadSessionsList}) => { + const {t} = useTranslation(); + const [isLoading, setIsLoading] = useState(false) + + const expireSession = async () => { + if (isLoading) return; + setIsLoading(true) + expireSessionById(list?.id) + .then(() => { + toast.success(); + reloadSessionsList() + }).catch(() => { + toast.error(); + }).finally(() => { + setIsLoading(false) + }) + } + + return ( +
+
+
+
+ {moment(list?.lastAccess * 1000).format("HH:mm:ss , jYY/jMM/jDD")} + + {isLoading ? + linearLoading + : + t("ActiveSessions.closeSession")} + +
+
+
+ {list?.ipAddress} + +
+
+ {list?.agent} + +
+
+
+
+
+ ); +}; + +export default Session; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.module.css new file mode 100644 index 0000000..a914990 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/components/Session/Session.module.css @@ -0,0 +1,10 @@ +.striped:nth-child(even){ + background-color: var(--tableRow); + -webkit-transition: background-color 0.4s; + -o-transition: background-color 0.4s; + transition: background-color 0.4s; +} + +.thisLoading{ + width: 5vw; +} \ No newline at end of file From 69e00119b62bd9c9488bcd4cd7a73613bf7a1c2d Mon Sep 17 00:00:00 2001 From: Hossein Date: Sun, 7 May 2023 13:00:32 +0330 Subject: [PATCH 08/16] #7, Add ChangePassword api --- .../Settings/components/Security/Security.js | 4 +- .../ActiveSessions/ActiveSessions.js | 1 - .../ChangePassword/ChangePassword.js | 211 ++++++++++++++++++ .../ChangePassword/ChangePassword.module.css | 27 +++ 4 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js index 4dca009..14c6675 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js @@ -1,12 +1,14 @@ import React from 'react'; import ScrollBar from "../../../../../../../../../../components/ScrollBar"; import ActiveSessions from "./components/ActiveSessions/ActiveSessions"; +import ChangePassword from "./components/ChangePassword/ChangePassword"; const Security = () => { return ( - + + diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js index c349e54..8102928 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ActiveSessions/ActiveSessions.js @@ -77,7 +77,6 @@ const ActiveSessions = () => {
{content()}
-
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.js new file mode 100644 index 0000000..51ab3c9 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.js @@ -0,0 +1,211 @@ +import React, {useState} from 'react'; +import classes from "./ChangePassword.module.css"; +import {Trans, useTranslation} from "react-i18next"; +import Loading from "../../../../../../../../../../../../components/Loading/Loading"; +import Error from "../../../../../../../../../../../../components/Error/Error"; +import {requestForChangePassword} from "js-api-client"; +import {toast} from "react-hot-toast"; +import TextInput from "../../../../../../../../../../../../components/TextInput/TextInput"; +import Icon from "../../../../../../../../../../../../components/Icon/Icon"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + +const ChangePassword = () => { + const {t} = useTranslation(); + const [error, setError] = useState(false); + const [isLoading, setLoading] = useState(false); + const [userInputs, setInputs] = useState({ + newPassword: {value: "", error: []}, + confirmation: {value: "", error: []}, + currentPassword: {value: "", error: []}, + }); + const [isInputVisible, setIsInputVisible] = useState({ + newPassword: false, + confirmation: false, + currentPassword: false, + }); + + const inputHandler = (e) => { + let errorMessage = [] + if (typeof e.target.dataset.min !== undefined && e.target.value.length < e.target.dataset.min) { + errorMessage.push() + } + setInputs({ + ...userInputs, + [e.target.dataset.name]: {value: e.target.value, error: errorMessage} + }) + } + + const isFormValid = () => { + let inputs = {...userInputs} + const hasError = Object.values(inputs).find(input => input.error.length > 0) + if (hasError) return false + let isEmpty = false + for (const key in inputs) { + if (inputs[key].value.length === 0) { + isEmpty = true + inputs = { + ...inputs, + [key]: { + ...inputs[key], + error: [] + } + } + } + } + setInputs(inputs); + return !isEmpty; + } + const changePassword = async (e) => { + e.preventDefault(); + if (!isFormValid()) return + + if (userInputs.newPassword.value !== userInputs.confirmation.value) { + setInputs({ + ...userInputs, + confirmation: {...userInputs.confirmation, error: [t("ChangePassword.confirmationError")]} + }) + return + } + setLoading(true) + const data = { + password: userInputs.currentPassword.value, + newPassword: userInputs.newPassword.value, + confirmation: userInputs.confirmation.value, + } + requestForChangePassword(data) + .then(() => { + setInputs({ + newPassword: {value: "", error: []}, + confirmation: {value: "", error: []}, + currentPassword: {value: "", error: []}, + }) + toast.success(t("ChangePassword.success")); + }) + .catch((err) => { + if (err.response.status === 403) { + setInputs({ + newPassword: {...userInputs.newPassword, error: []}, + confirmation: {...userInputs.confirmation, error: []}, + currentPassword: { + ...userInputs.currentPassword, + error: [t("ChangePassword.currentPasswordError")] + }, + }) + toast.error(t("ChangePassword.error")); + } else { + setError(true) + } + }) + .finally(() => { + setLoading(false) + }); + } + + + const content = () => { + if (isLoading) return + + if (error) return setError(false)}/> + + + return
+
+ setIsInputVisible({ + ...isInputVisible, + currentPassword: !isInputVisible.currentPassword + })} + /> + } + autoComplete="off" + type={isInputVisible.currentPassword ? "text" : "password"} + value={userInputs.currentPassword.value} + data-name="currentPassword" + data-type="input" + data-min={8} + onchange={(e) => inputHandler(e)} + alerts={userInputs.currentPassword.error} + /> +
+ setIsInputVisible({ + ...isInputVisible, + newPassword: !isInputVisible.newPassword + })} + /> + } + autoComplete="off" + type={isInputVisible.newPassword ? "text" : "password"} + value={userInputs.newPassword.value} + data-name="newPassword" + data-type="input" + data-min={8} + onchange={(e) => inputHandler(e)} + alerts={userInputs.newPassword.error} + /> +
+ setIsInputVisible({ + ...isInputVisible, + confirmation: !isInputVisible.confirmation + })} + /> + } + autoComplete="off" + type={isInputVisible.confirmation ? "text" : "password"} + value={userInputs.confirmation.value} + data-name="confirmation" + data-type="input" + data-min={8} + onchange={(e) => inputHandler(e)} + alerts={userInputs.confirmation.error} + /> +
+
+
+
+ } + + + return ( +
+
+

{t("ChangePassword.title")}

+
+
+ {content()} +
+
+ ); +}; + +export default ChangePassword; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css new file mode 100644 index 0000000..b7312ea --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css @@ -0,0 +1,27 @@ +.container { + height: 52vh; +} +.header { + height: 15%; +} +.content { + height: 85%; +} +.thisButton { + width: 20%; + background-color: var(--darkGreen); +} +.passwordInput :global(.lead) { + width: 50%; + cursor: pointer; +} +.passwordInput :global(.after) { + width: 10%; + cursor: pointer; +} +.passwordInput :global(input) { + width: 40% !important; +} + + + From 90a5d9a377c1ece3486b314cd5422ffb64c96ca1 Mon Sep 17 00:00:00 2001 From: Hossein Date: Sun, 7 May 2023 15:31:07 +0330 Subject: [PATCH 09/16] #7, Add TwoStepVerification api --- public/assets/locales/fa/translation.json | 2 +- .../Settings/components/Security/Security.js | 2 + .../ChangePassword/ChangePassword.module.css | 2 +- .../SetTwoStepVerification.js | 35 ++++++ .../SetTwoStepVerification.module.css | 36 ++++++ .../components/ActivateOTP.js | 108 ++++++++++++++++++ .../components/DeActiveOTP.js | 52 +++++++++ 7 files changed, 235 insertions(+), 2 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/ActivateOTP.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/DeActiveOTP.js diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index 1820b2d..2071409 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -417,7 +417,7 @@ "initialCodeError": "کد وارد شده صحیح نیست.", "serverError": "خطا در سرور، لطفاً دوباره تلاش کنید.", "description": "در صورت فعال‌سازی ورود دو مرحله‌ای، برای هر بار ورود به پنل کاربری، رمز دو مرحله‌ای درخواست می‌شود.", - "QRdescription": "پس از اسکن کد QR رو به رو با نرم افزار Google Authenticator (یا نرم افزار مشابه) عدد 6 رقمی درج شده را وارد و ثبت کنید ." + "QRdescription": "پس از اسکن کد QR با نرم افزار Google Authenticator (یا نرم افزار مشابه) عدد 6 رقمی درج شده را وارد و ثبت کنید ." }, "HelpStep": { "title": "گام 1 از 4: راهنمای کاربر", diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js index 14c6675..1a46873 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js @@ -2,6 +2,7 @@ import React from 'react'; import ScrollBar from "../../../../../../../../../../components/ScrollBar"; import ActiveSessions from "./components/ActiveSessions/ActiveSessions"; import ChangePassword from "./components/ChangePassword/ChangePassword"; +import SetTwoStepVerification from "./components/SetTwoStepVerification/SetTwoStepVerification"; const Security = () => { return ( @@ -9,6 +10,7 @@ const Security = () => { + diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css index b7312ea..d8ab585 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/ChangePassword/ChangePassword.module.css @@ -8,7 +8,7 @@ height: 85%; } .thisButton { - width: 20%; + width: 25%; background-color: var(--darkGreen); } .passwordInput :global(.lead) { diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.js new file mode 100644 index 0000000..5b5fc52 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.js @@ -0,0 +1,35 @@ +import React from 'react'; +import classes from './SetTwoStepVerification.module.css' +import {useTranslation} from "react-i18next"; +import {useSelector} from "react-redux"; +import {useGetUserOtpStatus} from "../../../../../../../../../../../../queries"; +import Loading from "../../../../../../../../../../../../components/Loading/Loading"; +import Error from "../../../../../../../../../../../../components/Error/Error"; +import DeActiveOTP from "./components/DeActiveOTP"; +import ActivateOTP from "./components/ActivateOTP"; + +const SetTwoStepVerification = () => { + + const {t} = useTranslation(); + const username = useSelector(state => state.auth.username); + const {data: otp, isLoading, error,refetch : refetchOtp} = useGetUserOtpStatus(username) + + const content = () => { + if (isLoading) return + if (error) return + return otp ? : + } + + return ( +
+
+

{otp ? t("SetTwoStepVerification.!title") : t("SetTwoStepVerification.title")}

+
+
+ {content()} +
+
+ ); +}; + +export default SetTwoStepVerification; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.module.css new file mode 100644 index 0000000..6800bdc --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/SetTwoStepVerification.module.css @@ -0,0 +1,36 @@ +.container { + height: 62vh; +} +.header { + height: 13%; +} +.content { + height: 87%; +} +.thisLoading{ + width: 5vw; +} + +.thisButton { + width: 25%; + background-color: var(--darkGreen); +} +.submit{ + width: 20%; +} +.disableOtp{ + background-color: var(--darkRed); + width: 25%; +} + +.thisInput :global(.lead) { + width: 35%; +} +.thisInput :global(input) { + width: 75% !important; + letter-spacing: 1rem; +} +/*.thisInput :global(input) { + width: 85% !important; +}*/ + diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/ActivateOTP.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/ActivateOTP.js new file mode 100644 index 0000000..2610410 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/ActivateOTP.js @@ -0,0 +1,108 @@ +import React, {useState} from 'react'; +import {useTranslation} from "react-i18next"; +import {requestForActivateOTP, sendInitialCodeToActivateOTP} from "js-api-client"; +import {toast} from "react-hot-toast"; +import Loading from "../../../../../../../../../../../../../components/Loading/Loading"; +import QRCode from "react-qr-code"; +import TextInput from "../../../../../../../../../../../../../components/TextInput/TextInput"; +import Button from "../../../../../../../../../../../../../components/Button/Button"; +import {images} from "../../../../../../../../../../../../../assets/images"; +import classes from "../SetTwoStepVerification.module.css"; + +const ActivateOTP = ({refetchOtp}) => { + + const {t} = useTranslation(); + + const [error, setError] = useState(false); + const [loading, setLoading] = useState(false); + const [isLoading, setIsLoading] = useState(false); + const [reqOTP, setReqOTP] = useState(); + const [alert, setAlert] = useState([]); + const [initialCode, setInitialCode] = useState(""); + + const OTPInputHandler = (value) => { + const userInput = value.replace(/[^0-9]+/g, "").slice(0, 6) + setInitialCode(userInput) + } + + + const sendReqActivateOTP = () => { + if (isLoading) return + setError(false) + setIsLoading(true) + requestForActivateOTP() + .then((res) => { + setReqOTP(res.data) + }) + .catch(() => { + setError(true) + }) + .finally(() => { + setIsLoading(false) + }) + } + const submitActivation = async (e) => { + e.preventDefault(); + if (initialCode.length !== 6) { + return setAlert([t("SetTwoStepVerification.initialCodeMin")]) + } + setAlert([]) + setLoading(true) + sendInitialCodeToActivateOTP(reqOTP.secret, initialCode) + .then(() => { + refetchOtp() + toast.success(t("SetTwoStepVerification.success")); + }) + .catch(() => { + setAlert([t("SetTwoStepVerification.initialCodeError")]) + }) + .finally(() => { + setLoading(false) + }); + } + + if (loading) return + + if (reqOTP?.uri) { + return
+ {t("SetTwoStepVerification.QRdescription")} + +
+ OTPInputHandler(e.target.value)} + type="text" + /> +
+ } + + return ( +
+ {t("SetTwoStepVerification.description")} +
+
+
+ ); +}; + +export default ActivateOTP; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/DeActiveOTP.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/DeActiveOTP.js new file mode 100644 index 0000000..292f824 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/components/SetTwoStepVerification/components/DeActiveOTP.js @@ -0,0 +1,52 @@ +import React, {useState} from 'react'; +import classes from "../SetTwoStepVerification.module.css"; +import {toast} from "react-hot-toast"; +import {useTranslation} from "react-i18next"; +import {images} from "../../../../../../../../../../../../../assets/images"; +import Button from "../../../../../../../../../../../../../components/Button/Button"; +import {requestForDeActiveOTP} from "js-api-client"; + +const DeActiveOTP = ({refetchOtp}) => { + + const {t} = useTranslation(); + const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState(false); + + const disableOTPHandler = () => { + setIsLoading(true) + requestForDeActiveOTP() + .then(() => { + refetchOtp() + toast.success(t("SetTwoStepVerification.error")); + }) + .catch(() => { + setError(true) + }) + .finally(() => { + setIsLoading(false) + }) + } + return ( +
+
+ security +
+ {t("SetTwoStepVerification.isActive")} +
+ ); +}; + +export default DeActiveOTP; From 42087e092a6bbcc95e54d1d492c1a308192d9341 Mon Sep 17 00:00:00 2001 From: Hossein Date: Tue, 9 May 2023 12:30:37 +0330 Subject: [PATCH 10/16] #7, Add PersonalProfile api --- public/assets/locales/en/translation.json | 6 +- public/assets/locales/fa/translation.json | 8 +- .../Settings/components/Profile/Profile.js | 9 +- .../PersonalProfile/PersonalProfile.js | 150 ++++++++++++++++++ .../PersonalProfile.module.css | 24 +++ .../components/UserKycStatus/UserKycStatus.js | 56 +++++++ 6 files changed, 246 insertions(+), 7 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index a31ae31..8f57e26 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -361,7 +361,7 @@ "birthdayJ": "Date of birth (Hijri)", "birthday": "Date of birth", "nationalId": "National ID", - "idNumber": "National ID / Passport Number", + "idNumber": "ID / Passport", "idNumberPlaceHolder": "Enter National ID or Passport Number", "passportNumber": "Passport Number", "mobile": "Phone Number", @@ -370,7 +370,9 @@ "postalCode": "Postal Code", "address": "Address", "selectNationality": "Select your nationality", - "selectResidence": "Select your country of residence" + "selectResidence": "Select your country of residence", + "noKYC": "Authentication is not done, after authentication and confirmation by an expert, your personal information will be displayed.", + "doKYC": "Authentication" }, "LoginReports": { "title": "Login Reports" diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index 2071409..141d884 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -48,7 +48,7 @@ "improperMobileView ": "فعلاً برای موبایل بهینه نشده است.", "home": "صفحه‌اصلی", "country": { - "iran" : "جمهوری اسلامی ایران", + "iran" : "ایران", "germany" : "آلمان", "uk": "انگلستان", "turkey" : "ترکیه" @@ -361,7 +361,7 @@ "birthdayJ": "تاریخ تولد (شمسی)", "birthday": "تاریخ تولد", "nationalId": "شناسه ملی", - "idNumber": "شتاسه ملی / شماره پاسپورت", + "idNumber": "ش ‌ملی / ش ‌پاسپورت", "idNumberPlaceHolder": "شناسه ملی یا شماره پاسپورت را وارد کنید.", "passportNumber": "شماره پاسپورت", "mobile": "تلفن همراه", @@ -370,7 +370,9 @@ "postalCode": "کد پستی", "address": "آدرس", "selectNationality": "ملیت خود را انتخاب کنید", - "selectResidence": "کشور محل اقامت خود را انتخاب کنید" + "selectResidence": "کشور محل اقامت خود را انتخاب کنید", + "noKYC": "احراز هویت انجام نشده، بعد از انجام مراحل احراز هویت و تائید توسط کارشناس، مشخصات فردی شما نمایش داده می‌شود.", + "doKYC": "احراز هویت" }, "LoginReports": { "title": "گزارش ورودها" diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js index 65ca6d3..dfb896f 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js @@ -1,10 +1,15 @@ import React from 'react'; +import ScrollBar from "../../../../../../../../../../components/ScrollBar"; +import PersonalProfile from "./components/PersonalProfile/PersonalProfile"; +import UserKycStatus from "./components/UserKycStatus/UserKycStatus"; const Profile = () => { return ( -
+ + -
+ + ); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.js new file mode 100644 index 0000000..179fca5 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.js @@ -0,0 +1,150 @@ +import React from 'react'; +import classes from './PersonalProfile.module.css' +import {useTranslation} from "react-i18next"; +import {useNavigate} from "react-router-dom"; +import {useSelector} from "react-redux"; +import {useGetUserAttributes} from "../../../../../../../../../../../../queries"; +import Loading from "../../../../../../../../../../../../components/Loading/Loading"; +import TextInput from "../../../../../../../../../../../../components/TextInput/TextInput"; +import * as RoutesName from "../../../../../../../../../../Routes/routes"; +import Button from "../../../../../../../../../../../../components/Button/Button"; +import {images} from "../../../../../../../../../../../../assets/images"; + +const PersonalProfile = () => { + + const {t} = useTranslation(); + const navigate = useNavigate(); + const KYCStatus = useSelector(state => state.auth.kyc); + const KYCReason = useSelector(state => state.auth.kycReason); + + const {data: profile, isLoading} = useGetUserAttributes() + + const content = () => { + if (isLoading) { + return
+ } + if (KYCStatus === "REQUESTED") { + return
+ kyc-rejected + {t('SendToAdminStep.pending')} +
+ } + if (KYCStatus === "REJECTED") { + return
+ kyc-rejected + {t("SendToAdminStep.rejected")} + {t("SendToAdminStep.errorMessage")}: {KYCReason === undefined ? t("SendToAdminStep.noData") : KYCReason} +
+ } + if (KYCStatus === "BLOCKED") { + return
+ kyc-rejected + {t('SendToAdminStep.blocked')} + {t("SendToAdminStep.errorMessage")}: {KYCReason} +
+ } + if (KYCStatus === "ACCEPTED") { + return <> + {t("PersonalProfile.cantEdit")} + + + + + + + + + + + + } + return
+ {t('PersonalProfile.noKYC')} +
+ } + + return ( +
+
+

{t("PersonalProfile.title")}

+
+
+ {content()} +
+
+ ); +}; + +export default PersonalProfile; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.module.css new file mode 100644 index 0000000..4049a02 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/PersonalProfile/PersonalProfile.module.css @@ -0,0 +1,24 @@ +.container { + /*min-height: 100%;*/ +} +.header { + height: 15%; +} +.content { + height: 85%; +} + +.thisInput :global(.lead) { + width: 40%; +} +.thisInput :global(input) { + width: 60%; +} + +.thisButton { + width: 35%; + background-color: var(--darkGreen); +} +.content img{ + width: 25%; +} diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js new file mode 100644 index 0000000..e0c1b04 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js @@ -0,0 +1,56 @@ +import React from 'react'; +import {useDispatch, useSelector} from "react-redux"; +import * as RoutesName from "../../../../../../../../../../Routes/routes"; +import {images} from "../../../../../../../../../../../../assets/images"; +import {useTranslation} from "react-i18next"; + +const UserKycStatus = () => { + + const {t} = useTranslation(); + const dispatch = useDispatch(); + const KYCStatus = useSelector(state => state.auth.kyc); + const KYCReason = useSelector(state => state.auth.kycReason); + + // if (userKycStatus !== "ACCEPTED") navigate(RoutesName.Security, {replace: true}); + + + const content = () => { + + if (KYCStatus === "REQUESTED") { + return
+ kyc-pending + {t("SendToAdminStep.pending")} +
+ } + if (KYCStatus === "ACCEPTED") { + return {t("PersonalProfile.cantEdit")} + } + if (KYCStatus === "REJECTED") { + return
+ kyc-rejected + {t("SendToAdminStep.rejected")} + {t("SendToAdminStep.errorMessage")}: {KYCReason === undefined ? t("SendToAdminStep.noData") : KYCReason} + +
+ } + if (KYCStatus === "BLOCKED") { + return
+ kyc-rejected + {t("SendToAdminStep.blocked")} + {t("SendToAdminStep.errorMessage")}: {KYCReason} +
+ } + + + } + + + return ( +
+ {content()} + +
+ ); +}; + +export default UserKycStatus; From 02727ed1a12b7d22a68c8b0ab98b510ff53a549f Mon Sep 17 00:00:00 2001 From: Hossein Date: Tue, 9 May 2023 15:28:11 +0330 Subject: [PATCH 11/16] #7, Add HelpStep in Authentication --- public/assets/locales/en/translation.json | 1 + public/assets/locales/fa/translation.json | 1 + .../Authentication/Authentication.js | 109 +++++- .../components/HelpStep/HelpStep.js | 30 ++ .../components/HelpStep/HelpStep.module.css | 13 + .../PersonalProfileStep.js | 312 ++++++++++++++++++ .../PersonalProfileStep.module.css | 39 +++ .../SendPhotosStep/SendPhotosStep.js | 11 + .../SendPhotosStep/SendPhotosStep.module.css | 0 .../SendToAdminStep/SendToAdminStep.js | 11 + .../SendToAdminStep.module.css | 0 .../Settings/components/Profile/Profile.js | 1 - .../components/UserKycStatus/UserKycStatus.js | 56 ---- .../Settings/components/Security/Security.js | 4 - 14 files changed, 524 insertions(+), 64 deletions(-) create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js create mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css delete mode 100644 src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index 8f57e26..2b3f518 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -371,6 +371,7 @@ "address": "Address", "selectNationality": "Select your nationality", "selectResidence": "Select your country of residence", + "select": "Select", "noKYC": "Authentication is not done, after authentication and confirmation by an expert, your personal information will be displayed.", "doKYC": "Authentication" }, diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index 141d884..712a2dd 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -371,6 +371,7 @@ "address": "آدرس", "selectNationality": "ملیت خود را انتخاب کنید", "selectResidence": "کشور محل اقامت خود را انتخاب کنید", + "select": "انتخاب کنید", "noKYC": "احراز هویت انجام نشده، بعد از انجام مراحل احراز هویت و تائید توسط کارشناس، مشخصات فردی شما نمایش داده می‌شود.", "doKYC": "احراز هویت" }, diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js index 463c72e..dfb3d69 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js @@ -1,9 +1,112 @@ -import React from 'react'; +import React, {useState} from 'react'; +import ScrollBar from "../../../../../../../../../../components/ScrollBar"; +import {useTranslation} from "react-i18next"; +import {useSelector} from "react-redux"; +import HelpStep from "./components/HelpStep/HelpStep"; +import PersonalProfileStep from "./components/PersonalProfileStep/PersonalProfileStep"; +import SendPhotosStep from "./components/SendPhotosStep/SendPhotosStep"; +import SendToAdminStep from "./components/SendToAdminStep/SendToAdminStep"; const Authentication = () => { + + const {t} = useTranslation(); + const [step, setStep] = useState(1); + + const KYCStatus = useSelector(state => state.auth.kyc); + + const titleHandler = () => { + + if (step === 1) return t("Authentication.HelpStep") + if (step === 2) return t("Authentication.PersonalProfileStep") + if (step === 3) return t("Authentication.SendPhotosStep") + if (step === 4) return t("Authentication.SendToAdminStep") + + } + + const stepSwitch = (step) => { + switch (step) { + case 1: + return setStep(2)}/>; + case 2: + return ( + setStep(1)} + nextStep={() => setStep(3)} + /> + ); + case 3: + return ( + setStep(2)} + nextStep={() => setStep(4)} + /> + ); + case 4: + return setStep(3)}/>; + default: + return ; + } + }; + + return ( -
- +
+
+ {titleHandler()} +
+ {step === 1 ? ( + + ) : ( + "" + )} + {step === 2 ? ( + + ) : ( + "" + )} + {step === 3 ? ( + + ) : ( + "" + )} + {step === 4 ? ( + + ) : ( + "" + )} +
+
+ + {stepSwitch(step)} +
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.js new file mode 100644 index 0000000..f8d4309 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.js @@ -0,0 +1,30 @@ +import React from 'react'; +import classes from "./HelpStep.module.css"; +import {useTranslation} from "react-i18next"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + +const HelpStep = ({nextStep}) => { + const {t} = useTranslation(); + + return ( +
+
+
+

{t("HelpStep.title")}

+
+
+
+ {t("HelpStep.content")} +
+
+
+
+ ); +}; + +export default HelpStep; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.module.css new file mode 100644 index 0000000..016a397 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/HelpStep/HelpStep.module.css @@ -0,0 +1,13 @@ +.container { + height: 100%; +} +.header { + height: 12%; +} +.content { + height: 88%; +} +.thisButton { + width: 30%; + background-color: var(--darkGreen); +} diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js new file mode 100644 index 0000000..7caa7d2 --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js @@ -0,0 +1,312 @@ +import React, {useEffect, useState} from 'react'; +import classes from "./PersonalProfileStep.module.css"; +import {Trans, useTranslation} from "react-i18next"; +import {useDispatch, useSelector} from "react-redux"; +import {getUserAttributes, setUserProfileAttributes} from "js-api-client"; +import {changeUserInfo} from "../../../../../../../../../../../../store/actions"; +import moment from "moment-jalaali"; +import {isValidNationalCode} from "../../../../../../../../../../../../utils/utils"; +import TextInput from "../../../../../../../../../../../../components/TextInput/TextInput"; +import Loading from "../../../../../../../../../../../../components/Loading/Loading"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + +const PersonalProfileStep = (props) => { + + const {t} = useTranslation(); + const [loading, setLoading] = useState(true) + const [error, setError] = useState([]) + const dispatch = useDispatch(); + const email = useSelector((state) => state.auth.email) + + const [profile, setProfile] = useState({ + firstName: {value: "", error: []}, + lastName: {value: "", error: []}, + nationality: {value: "", error: []}, + residence: {value: "", error: []}, + birthday: {value: "", error: []}, + idNumber: {value: "", error: []}, + mobile: {value: "", error: []}, + postalCode: {value: "", error: []}, + address: {value: "", error: []}, + }); + const countries = [ + {value: "iran", label: t('country.iran')}, + {value: "germany", label: t('country.germany')}, + {value: "uk", label: t('country.uk')}, + {value: "turkey", label: t('country.turkey')}, + ] + + const convertUserInfoToState = (info) => { + const newState = {...profile} + for (const [key, value] of Object.entries(info)) { + newState[key] = {value: value, error: []} + } + setProfile(newState) + } + + const convertStateToUserInfo = () => { + const newState = {} + for (const [key, value] of Object.entries(profile)) { + newState[key] = value.value + } + return newState + } + + const getUser = () => { + setLoading(true) + setError([]) + getUserAttributes().then((res) => { + convertUserInfoToState(res.data) + }).catch(() => { + setError([t("PersonalProfileStep.serverError")]) + }).finally(() => { + setLoading(false) + }) + } + useEffect(() => { + getUser() + }, []) + + const sendProfile = async () => { + if (!isFormValid()) return + setLoading(true) + + const data = convertStateToUserInfo() + delete data.email; + delete data.username; + delete data.passportNumber; + delete data.birthdayG; + delete data.birthdayJ; + delete data.nationalId; + delete data.telephone; + delete data.selfiePath; + delete data.idCardPath; + delete data.acceptFormPath; + + + setUserProfileAttributes(data) + .then(() => { + setError([]) + dispatch(changeUserInfo(profile.firstName.value, profile.lastName.value)) + props.nextStep() + }) + .catch(() => { + setError([t("PersonalProfileStep.serverError")]) + }) + .finally(() => { + setLoading(false) + }) + } + + const inputHandler = (e) => { + let errorMessage = [] + let inputVal = e.target.value + if (typeof e.target.dataset?.min && inputVal.length < e.target.dataset.min) { + errorMessage.push() + } + if (typeof e.target.dataset?.max && inputVal.length >= e.target.dataset.max) { + errorMessage.push() + } + if (e.target.dataset?.type === "dateJ" && (!moment(inputVal, "jYYYY/jMM/jDD").isValid() || moment(inputVal, "jYYYY/jMM/jDD").isAfter())) { + errorMessage.push(t("PersonalProfileStep.wrongDateJ")) + } + if (e.target.dataset?.type === "dateG" && (!moment(inputVal, ["YYYY/MM/DD", "YYYY/M/D"], true) || moment(inputVal, ["YYYY/MM/DD", "YYYY/M/D"], true).isAfter())) { + errorMessage.push(t("PersonalProfileStep.wrongDateG")) + } + if (e.target.dataset?.type === "nationalId" && !isValidNationalCode(inputVal)) { + inputVal = inputVal.replace(/[^0-9]+/g, "") + errorMessage.push(t("PersonalProfileStep.wrongNationalId")) + } + if (e.target.dataset?.type === "mobile" || e.target.dataset?.type === "telephone" || e.target.dataset?.type === "postalCode") { + inputVal = inputVal.replace(/[^0-9]+/g, "") + } + setProfile({ + ...profile, + [e.target.dataset.name]: {value: inputVal, error: errorMessage} + }) + } + + const isFormValid = () => { + let inputs = {...profile} + const hasError = Object.values(profile).find(input => input.error.length > 0) + if (hasError) return false + let isEmpty = false + for (const key in inputs) { + if (inputs[key].value.length === 0) { + isEmpty = true + inputs = { + ...inputs, + [key]: { + ...inputs[key], + error: [] + } + } + } + } + setProfile(inputs); + return !isEmpty; + } + + + return ( +
+
+
+

{t("PersonalProfileStep.title")}

+
+
+ {loading ? : +
+ inputHandler(e)} + alerts={profile.firstName.error} + /> + inputHandler(e)} + alerts={profile.lastName.error} + /> + v.value === profile.nationality.value)} + lead={t('PersonalProfile.nationality')} + type="select" + onchange={(e) => setProfile({...profile, nationality: {value: e.value, error: []}})} + alerts={profile.nationality.error} + /> + v.value === profile.residence.value)} + type="select" + options={countries} + onchange={(e) => setProfile({...profile, residence: {value: e.value, error: []}})} + alerts={profile.residence.error} + /> + + + inputHandler(e)} + alerts={profile.birthday.error} + /> + inputHandler(e)} + alerts={profile.idNumber.error} + //maxLength="10" + /> + + inputHandler(e)} + alerts={profile.mobile.error} + /> + inputHandler(e)} + alerts={profile.postalCode.error} + /> + + inputHandler(e)} + alerts={profile.address.error} + /> +
+
+ {error.length !== 0 && error} +
+
+
+
+
+ } + +
+ ); +}; + +export default PersonalProfileStep; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.module.css new file mode 100644 index 0000000..581cbcf --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.module.css @@ -0,0 +1,39 @@ +.container { + height: 115vh; +} +.header { + height: 8%; +} +.content { + height: 92%; +} +.content :global(.row) { + width: 100%; +} +.addressInput :global(.lead) { + width: 24.5%; +} +.addressInput :global(input) { + width: 75.5%; +} +.thisButton { + width: 30%; +} +.thisButton.prev{ + background-color: var(--orange); +} +.thisButton.next{ + background-color: var(--darkGreen); +} +.email :global(input){ + background-color: var(--cardHeader); + cursor: not-allowed; +} + +.thisInput :global(.lead) { + width: 40%; +} +.thisInput :global(input) { + width: 60%; +} + diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js new file mode 100644 index 0000000..83a914f --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const SendPhotosStep = () => { + return ( +
+ +
+ ); +}; + +export default SendPhotosStep; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js new file mode 100644 index 0000000..308cb2e --- /dev/null +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js @@ -0,0 +1,11 @@ +import React from 'react'; + +const SendToAdminStep = () => { + return ( +
+ +
+ ); +}; + +export default SendToAdminStep; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js index dfb896f..4abac21 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/Profile.js @@ -1,7 +1,6 @@ import React from 'react'; import ScrollBar from "../../../../../../../../../../components/ScrollBar"; import PersonalProfile from "./components/PersonalProfile/PersonalProfile"; -import UserKycStatus from "./components/UserKycStatus/UserKycStatus"; const Profile = () => { return ( diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js deleted file mode 100644 index e0c1b04..0000000 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Profile/components/UserKycStatus/UserKycStatus.js +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import {useDispatch, useSelector} from "react-redux"; -import * as RoutesName from "../../../../../../../../../../Routes/routes"; -import {images} from "../../../../../../../../../../../../assets/images"; -import {useTranslation} from "react-i18next"; - -const UserKycStatus = () => { - - const {t} = useTranslation(); - const dispatch = useDispatch(); - const KYCStatus = useSelector(state => state.auth.kyc); - const KYCReason = useSelector(state => state.auth.kycReason); - - // if (userKycStatus !== "ACCEPTED") navigate(RoutesName.Security, {replace: true}); - - - const content = () => { - - if (KYCStatus === "REQUESTED") { - return
- kyc-pending - {t("SendToAdminStep.pending")} -
- } - if (KYCStatus === "ACCEPTED") { - return {t("PersonalProfile.cantEdit")} - } - if (KYCStatus === "REJECTED") { - return
- kyc-rejected - {t("SendToAdminStep.rejected")} - {t("SendToAdminStep.errorMessage")}: {KYCReason === undefined ? t("SendToAdminStep.noData") : KYCReason} - -
- } - if (KYCStatus === "BLOCKED") { - return
- kyc-rejected - {t("SendToAdminStep.blocked")} - {t("SendToAdminStep.errorMessage")}: {KYCReason} -
- } - - - } - - - return ( -
- {content()} - -
- ); -}; - -export default UserKycStatus; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js index 1a46873..f8b1019 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Security/Security.js @@ -6,15 +6,11 @@ import SetTwoStepVerification from "./components/SetTwoStepVerification/SetTwoSt const Security = () => { return ( - - - - ); }; From 237f6cd45bb989da3aff5601a65e96186282aabf Mon Sep 17 00:00:00 2001 From: Hossein Date: Tue, 9 May 2023 15:52:57 +0330 Subject: [PATCH 12/16] #7, Add UserAttributes api in Authentication --- public/assets/locales/en/translation.json | 2 +- public/assets/locales/fa/translation.json | 2 +- src/index.css | 4 +++ .../PersonalProfileStep.js | 25 ++++++++++--------- .../PersonalProfileStep.module.css | 9 ++----- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index 2b3f518..ef44226 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -362,7 +362,7 @@ "birthday": "Date of birth", "nationalId": "National ID", "idNumber": "ID / Passport", - "idNumberPlaceHolder": "Enter National ID or Passport Number", + "idNumberPlaceHolder": "National ID or Passport Number", "passportNumber": "Passport Number", "mobile": "Phone Number", "telephone": "Telephone", diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index 712a2dd..ac9bf05 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -362,7 +362,7 @@ "birthday": "تاریخ تولد", "nationalId": "شناسه ملی", "idNumber": "ش ‌ملی / ش ‌پاسپورت", - "idNumberPlaceHolder": "شناسه ملی یا شماره پاسپورت را وارد کنید.", + "idNumberPlaceHolder": "شناسه ملی یا شماره پاسپورت", "passportNumber": "شماره پاسپورت", "mobile": "تلفن همراه", "telephone": "تلفن ثابت", diff --git a/src/index.css b/src/index.css index d76c1cf..9323e0c 100644 --- a/src/index.css +++ b/src/index.css @@ -2116,6 +2116,10 @@ table { margin-top: 10vh; margin-bottom: 10vh; } +.my-20 { + margin-top: 20vh; + margin-bottom: 20vh; +} .m-auto { margin: 0 auto; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js index 7caa7d2..0cf4e4f 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/PersonalProfileStep/PersonalProfileStep.js @@ -167,18 +167,18 @@ const PersonalProfileStep = (props) => { return (
-
+

{t("PersonalProfileStep.title")}

- {loading ? : + {loading ?
:
{ lead={t('PersonalProfile.lastName')} type="text" value={profile.lastName.value} - customClass={`${classes.thisInput} width-100`} + customClass={`${classes.thisInput} width-100 my-1`} data-name="lastName" data-type="input" data-min={2} @@ -199,7 +199,7 @@ const PersonalProfileStep = (props) => { v.value === profile.nationality.value)} lead={t('PersonalProfile.nationality')} @@ -210,7 +210,7 @@ const PersonalProfileStep = (props) => { v.value === profile.residence.value)} type="select" @@ -224,7 +224,7 @@ const PersonalProfileStep = (props) => { lead={t('PersonalProfile.birthday')} type="text" placeholder={t('PersonalProfileStep.yy/mm//dd')} - customClass={`${classes.thisInput} width-100`} + customClass={`${classes.thisInput} width-100 my-1`} ltr={true} value={profile.birthday.value} data-name="birthday" @@ -237,7 +237,7 @@ const PersonalProfileStep = (props) => { placeholder={t('PersonalProfile.idNumberPlaceHolder')} type="text" value={profile.idNumber.value} - customClass={`${classes.thisInput} width-100 fs-0-9`} + customClass={`${classes.thisInput} width-100 fs-0-9 my-1`} data-name="idNumber" data-type="idNumber" onchange={(e) => inputHandler(e)} @@ -248,7 +248,7 @@ const PersonalProfileStep = (props) => { { { type="email" disabled={true} value={email} - customClass={`${classes.email} ${classes.thisInput} width-100`} + customClass={`${classes.email} ${classes.thisInput} width-100 my-1`} + alerts={[]} /> Date: Tue, 9 May 2023 17:37:41 +0330 Subject: [PATCH 13/16] #7, Send file to user storage in Authentication --- public/assets/locales/en/translation.json | 2 +- public/assets/locales/fa/translation.json | 2 +- src/components/ImageInput/ImageInput.js | 2 +- .../Content/components/Settings/Settings.js | 1 - .../SendPhotosStep/SendPhotosStep.js | 123 +++++++++++++++++- .../SendPhotosStep/SendPhotosStep.module.css | 38 ++++++ 6 files changed, 160 insertions(+), 8 deletions(-) diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index ef44226..f56ebd6 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -617,7 +617,7 @@ }, "ImageInput": { "title": "", - "dropText": "Upload by drag and drop / browsing.", + "dropText": "Browsing.", "iconErrorText": "The uploaded photo is not valid, please try again!", "fileTooLarge": "The uploaded file size is larger than the maximum allowed!", "fileInvalidType": "Uploaded file format is not acceptable!", diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index ac9bf05..9a36380 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -617,7 +617,7 @@ }, "ImageInput": { "title": "", - "dropText": "را با کشیدن روی کادر یا کلیک کردن و انتخاب فایل آپلود کنید!", + "dropText": "را با کلیک کردن و انتخاب فایل آپلود کنید!", "iconErrorText": "عکس آپلود شده معتبر نیست، لطفاً دوباره تلاش کنید!", "fileTooLarge": "حجم فایل آپلود شده بیشتر از حد مجاز است!", "fileInvalidType": "فرمت فایل آپلود شده قابل قبول نیست!", diff --git a/src/components/ImageInput/ImageInput.js b/src/components/ImageInput/ImageInput.js index 587c34c..21d8e21 100644 --- a/src/components/ImageInput/ImageInput.js +++ b/src/components/ImageInput/ImageInput.js @@ -1,6 +1,6 @@ import React, {useState, useEffect} from "react"; import {useDropzone} from "react-dropzone"; -import classes from "../../main/Browser/Sections/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css"; +import classes from "../../main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css"; import Icon from "../Icon/Icon"; import {useTranslation} from "react-i18next"; import ReactTooltip from "react-tooltip"; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js index 1691634..be67dd8 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/Settings.js @@ -1,7 +1,6 @@ import React from "react"; import {setThemeInitiate} from "../../../../../../../../store/actions"; import {connect} from "react-redux"; -import {useTranslation} from "react-i18next"; import {Navigate, Route, Routes, useParams} from "react-router-dom"; import Profile from "./components/Profile/Profile"; import Security from "./components/Security/Security"; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js index 83a914f..48ba2eb 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js @@ -1,9 +1,124 @@ -import React from 'react'; +import React, {useState} from 'react'; +import classes from "./SendPhotosStep.module.css"; +import {sendFileToUserStorage, setKycFileToUserAttributes} from "js-api-client"; +import {toast} from "react-hot-toast"; +import {useTranslation} from "react-i18next"; +import {useSelector} from "react-redux"; +import ImageInput from "../../../../../../../../../../../../components/ImageInput/ImageInput"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + +const SendPhotosStep = (props) => { + + const {t} = useTranslation(); + + const [sending, setSending] = useState(false); + const [images, setImages] = useState({ + img1: "", + img2: "", + img3: "", + }); + const id = useSelector(state => state.auth.id); + + const sendImageHandler = async () => { + if (images.img1 === "") { + toast.error(t("SendPhotosStep.acceptFormEmpty")); + return; + } + if (images.img2 === "") { + toast.error(t("SendPhotosStep.selfieEmpty")); + return; + } + if (images.img3 === "") { + toast.error(t("SendPhotosStep.idCardEmpty")); + return; + } + + setSending(true) + const acceptForm = await sendFileToUserStorage(id, images.img1) + const selfie = await sendFileToUserStorage(id, images.img2) + const idCard = await sendFileToUserStorage(id, images.img3) + if (acceptForm.status === 200 && selfie.status === 200 && idCard.status === 200) { + const paths = { + selfiePath: `${selfie.data.path}`, + idCardPath: `${idCard.data.path}`, + acceptFormPath: `${acceptForm.data.path}` + } + setKycFileToUserAttributes(paths) + .then(() => { + setSending(false) + props.nextStep() + }).catch(() => { + toast.error(t("SendPhotosStep.serverError")); + }) + } else { + toast.error(t("SendPhotosStep.serverError")); + } + setSending(false) + } + -const SendPhotosStep = () => { return ( -
- +
+
+
+

{t("SendPhotosStep.title")}

+
+
+
+
+ {t("SendPhotosStep.content")} + {t("SendPhotosStep.acceptForm")}{" "}{" "}{t("SendPhotosStep.acceptFormLink")} + {t("SendPhotosStep.selfie")}{" "}{" "}{t("SendPhotosStep.selfieLink")} + {t("SendPhotosStep.idCard")}{" "} + {" "}{t("SendPhotosStep.idCardLink")} + +
+ {sending ? +
+ {t("SendPhotosStep.sendingData")} +
+ : + <> + setImages({...images, img1: url})} + /> + setImages({...images, img2: url})} + /> + setImages({...images, img3: url})} + /> + + } +
+
+
+
+ {t("SendPhotosStep.imageAcceptedFormat")} + {t("SendPhotosStep.imageAcceptedSize")} +
+
+
+
+
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css index e69de29..f20cbac 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css @@ -0,0 +1,38 @@ +.container { + min-height: 65vh; +} +.header { + height: 12%; +} +.content { + height: 88%; +} +.thisButton { + width: 30%; +} +.thisButton.prev{ + background-color: var(--orange); +} +.thisButton.next{ + background-color: var(--darkGreen); +} + +.zoneBox { + width: 100%; + padding: 2vh 3vw; + border-radius: 10px; + border: 0.3vh dotted var(--cardBorder); +} +.cancel { + top: 0.8vh; + left: 0.1vw; +} +.zone { + padding: 2vh 5vw; + height: 40vh; + border-radius: 10px; + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + background-color: var(--cardHeader); +} From aa474854446b2defa560dea061fb24a075b588df Mon Sep 17 00:00:00 2001 From: Hossein Date: Tue, 9 May 2023 19:06:19 +0330 Subject: [PATCH 14/16] #7, Add userKYCStatus in Authentication --- src/main/Browser/Browser.js | 111 +----------------- .../Authentication/Authentication.js | 8 +- .../SendPhotosStep/SendPhotosStep.js | 3 +- .../SendPhotosStep/SendPhotosStep.module.css | 4 +- .../SendToAdminStep/SendToAdminStep.js | 71 ++++++++++- .../SendToAdminStep.module.css | 21 ++++ .../SettingsHeader/SettingsHeader.js | 9 +- .../Secttions/SubHeader/SubHeader.js | 53 ++------- .../SettingsSubHeader/SettingsSubHeader.js | 2 +- .../WalletListItem/WalletListItem.js | 2 - 10 files changed, 120 insertions(+), 164 deletions(-) diff --git a/src/main/Browser/Browser.js b/src/main/Browser/Browser.js index 920c75d..de438df 100644 --- a/src/main/Browser/Browser.js +++ b/src/main/Browser/Browser.js @@ -1,113 +1,8 @@ -import React, {useEffect} from "react"; -import {useDispatch, useSelector} from "react-redux"; -import i18n from "i18next"; -import {Toaster} from "react-hot-toast"; -import FullWidthLoading from "../../components/FullWidthLoading/FullWidthLoading"; -import {loadConfig, setInfoMessage, setUserAccountInfoInitiate} from "../../store/actions"; +import React from "react"; import "./Browser.css" -import useQuery from "../../Hooks/useQuery"; -import useInterval from "../../Hooks/useInterval"; -import {setLastPriceInitiate} from "../../store/actions/exchange"; -import FullWidthError from "../../components/FullWidthError/FullWidthError"; -import {useNavigate} from "react-router-dom"; - const Browser = () => { - const dispatch = useDispatch(); - const navigate = useNavigate(); - - const query = useQuery(); - - - const isDark = useSelector((state) => state.global.isDark) - const isLoading = useSelector((state) => state.global.isLoading) - const hasError = useSelector((state) => state.global.hasError) - const isLogin = useSelector((state) => state.auth.isLogin) - - isDark ? document.body.classList.add('dark') : document.body.classList.remove('dark'); - - useEffect(() => { - const impersonate = query.get("impersonate"); - dispatch(loadConfig(impersonate)) - i18n.language !== "fa" ? document.body.classList.add('ltr') : document.body.classList.remove('ltr'); - i18n.on("languageChanged", (lng) => { - lng !== "fa" ? document.body.classList.add('ltr') : document.body.classList.remove('ltr'); - }); - - window.addEventListener('offline', () => dispatch(setInfoMessage(null, "offline"))); - window.addEventListener('online', () => dispatch(setInfoMessage(null, null))); - return () => { - window.removeEventListener('offline', () => dispatch(setInfoMessage(null, "offline"))); - window.removeEventListener('online', () => dispatch(setInfoMessage(null, null))); - } - }, []); - - const redirectURL = window.env.REACT_APP_BROWSER_URL - - const redirectFunc = () => { - window.location.replace(redirectURL); - }; - - useEffect(()=>{ - redirectFunc() - }, []) - - - - useInterval(() => { - dispatch(setUserAccountInfoInitiate()); - }, isLogin ? 3000 : null) - - useInterval(() => { - dispatch(setLastPriceInitiate()); - }, 3000) - - const Toast = () => - - if (isLoading) { - return - } - if (hasError) { - return - } - - - - - return ( -
- - Open in Mobile ... - -
- ); -}; - + window.location.replace(redirectURL); +} export default Browser; \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js index dfb3d69..f786c89 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/Authentication.js @@ -1,4 +1,4 @@ -import React, {useState} from 'react'; +import React, {useEffect, useState} from 'react'; import ScrollBar from "../../../../../../../../../../components/ScrollBar"; import {useTranslation} from "react-i18next"; import {useSelector} from "react-redux"; @@ -14,6 +14,12 @@ const Authentication = () => { const KYCStatus = useSelector(state => state.auth.kyc); + useEffect(()=>{ + if (KYCStatus && KYCStatus !== "NOT_REQUESTED" ) { + setStep(4) + } + }, [KYCStatus]) + const titleHandler = () => { if (step === 1) return t("Authentication.HelpStep") diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js index 48ba2eb..ae97454 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.js @@ -32,7 +32,6 @@ const SendPhotosStep = (props) => { toast.error(t("SendPhotosStep.idCardEmpty")); return; } - setSending(true) const acceptForm = await sendFileToUserStorage(id, images.img1) const selfie = await sendFileToUserStorage(id, images.img2) @@ -49,6 +48,7 @@ const SendPhotosStep = (props) => { props.nextStep() }).catch(() => { toast.error(t("SendPhotosStep.serverError")); + setImages({...images}) }) } else { toast.error(t("SendPhotosStep.serverError")); @@ -56,7 +56,6 @@ const SendPhotosStep = (props) => { setSending(false) } - return (
diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css index f20cbac..ec19fef 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendPhotosStep/SendPhotosStep.module.css @@ -24,8 +24,8 @@ border: 0.3vh dotted var(--cardBorder); } .cancel { - top: 0.8vh; - left: 0.1vw; + top: 1.2vh; + left: 2.1vw; } .zone { padding: 2vh 5vw; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js index 308cb2e..781f81f 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.js @@ -1,9 +1,72 @@ -import React from 'react'; +import React, {useEffect} from 'react'; +import {useTranslation} from "react-i18next"; +import classes from "./SendToAdminStep.module.css"; +import {useDispatch, useSelector} from "react-redux"; +import {setKYCStatusInitiate} from "../../../../../../../../../../../../store/actions"; +import {images} from "../../../../../../../../../../../../assets/images"; +import Button from "../../../../../../../../../../../../components/Button/Button"; + +const SendToAdminStep = ({prevStep}) => { + + const {t} = useTranslation(); + const dispatch = useDispatch(); + const KYCStatus = useSelector(state => state.auth.kyc); + const KYCReason = useSelector(state => state.auth.kycReason); + + useEffect(() => { + dispatch(setKYCStatusInitiate()); + }, []); + + const content = () => { + if (KYCStatus === "REQUESTED") { + return
+ kyc-pending + {t("SendToAdminStep.pending")} +
+ } + if (KYCStatus === "ACCEPTED") { + return
+ kyc-accepted + {t("SendToAdminStep.accepted")} +
+ } + if (KYCStatus === "REJECTED") { + return
+ kyc-rejected + {t("SendToAdminStep.rejected")} + {t("SendToAdminStep.errorMessage")}: {KYCReason === undefined ? t("SendToAdminStep.noData") : KYCReason} + +
+ } + if (KYCStatus === "BLOCKED") { + return
+ kyc-rejected + {t("SendToAdminStep.blocked")} + {t("SendToAdminStep.errorMessage")}: {KYCReason} +
+ } + } -const SendToAdminStep = () => { return ( -
- +
+
+
+

{t("SendToAdminStep.title")}

+
+
+
+ {t("SendToAdminStep.content")} +
+ {content()} +
+
+ {KYCStatus === "REJECTED" &&
+
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css index e69de29..07916e7 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Content/components/Settings/components/Authentication/components/SendToAdminStep/SendToAdminStep.module.css @@ -0,0 +1,21 @@ +.container { + height: 100%; +} +.header { + height: 12%; +} +.content { + height: 88%; +} +.thisButton { + width: 10%; +} +.thisButton.prev{ + background-color: var(--orange); +} +.thisButton.submit{ + background-color: var(--darkGreen); +} +.content img{ + width: 25%; +} \ No newline at end of file diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js b/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js index 2a579f7..80cacd6 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/Header/components/SettingsHeader/SettingsHeader.js @@ -4,6 +4,7 @@ import {useDispatch} from "react-redux"; import {activeActionSheet} from "../../../../../../../../store/actions/global"; import {useLocation} from "react-router-dom"; import {useTranslation} from "react-i18next"; +import * as RoutesName from "../../../../../../Routes/routes"; const SettingsHeader = () => { @@ -11,9 +12,15 @@ const SettingsHeader = () => { const dispatch = useDispatch(); const location = useLocation() + const clickHandler = () => { + if (!(location.pathname.includes(RoutesName.SettingsRelative)) ) { + dispatch(activeActionSheet({subMenu: true})) + } + } + return ( <> -

dispatch(activeActionSheet({subMenu: true}))}> +

clickHandler()}> {t("routes." + location.pathname)}

{ - const [expand, setExpand] = useState(false) + const location = useLocation() + - /*useEffect(() => { - return () => { + const clickHandler = () => { + if (!(location.pathname.includes(RoutesName.SettingsRelative)) ) { setExpand(true) } - }, []);*/ - - const content = () => { - /*if (expand) { - return
- - - - - - - setExpand(false)}/> - -
- }*/ - /* if (!expand) { - return
- setExpand(true)}/> - - - -
- }*/ - - return
+ } + return ( +
{expand &&
{ }> - }/> @@ -64,16 +38,9 @@ const SubHeader = (props) => { setExpand(false)}/>
} - - setExpand(true)}/> + clickHandler()}/>
- } - - - return ( - content() ); - }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/SubHeader/components/SettingsSubHeader/SettingsSubHeader.js b/src/main/Mobile/Pages/UserPanel/Secttions/SubHeader/components/SettingsSubHeader/SettingsSubHeader.js index 3b7b35b..d3f8abf 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/SubHeader/components/SettingsSubHeader/SettingsSubHeader.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/SubHeader/components/SettingsSubHeader/SettingsSubHeader.js @@ -3,7 +3,7 @@ import React from 'react'; const SettingsSubHeader = () => { return (
- settings +
); }; diff --git a/src/main/Mobile/Pages/UserPanel/Secttions/SubMenu/components/WalletSubMenu/components/WalletListItem/WalletListItem.js b/src/main/Mobile/Pages/UserPanel/Secttions/SubMenu/components/WalletSubMenu/components/WalletListItem/WalletListItem.js index ebf89da..9d47c1e 100644 --- a/src/main/Mobile/Pages/UserPanel/Secttions/SubMenu/components/WalletSubMenu/components/WalletListItem/WalletListItem.js +++ b/src/main/Mobile/Pages/UserPanel/Secttions/SubMenu/components/WalletSubMenu/components/WalletListItem/WalletListItem.js @@ -21,8 +21,6 @@ const WalletListItem = ({assetName, showZero}) => { if (showZero && free === 0) return <> - console.log("asset: ", assetName) - return ( From 0da04031d4cc0f1d85220844e539a362a4f12bbd Mon Sep 17 00:00:00 2001 From: Hossein Date: Sat, 13 May 2023 16:55:23 +0330 Subject: [PATCH 15/16] Change text-color --- src/index.css | 9 +++++---- .../LandingContent/components/MarketTitle/MarketTitle.js | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/index.css b/src/index.css index 9323e0c..3af59b2 100644 --- a/src/index.css +++ b/src/index.css @@ -115,13 +115,13 @@ html, body { width: 100%; font-family: iranyekan, serif !important; - font-weight: 400; + font-weight: 500; direction: rtl; } .ltr { direction: ltr; - font-weight: 300; + font-weight: 500; font-family: 'Poppins', 'Roboto', sans-serif !important; } @@ -129,7 +129,7 @@ html, body { :root { --menu: #d9d8d8; --subMenu: #f2f2f2; - --mainContent: #f2f5f9; + --mainContent: #f6f6f6; --activeTitle: #f2f5f9; --footer: #e5e9ef; --cardBody: #fff; @@ -147,7 +147,7 @@ html, body { --tableHeader: #f9f9f9; --toolTipBG: #d8d8d8e6; --popupAlpha: #f0f0f0e6; - --textColor: #444444; + --textColor: #000000; --white: #f7f7f7; --black: #0707073b; --gray: #949494; @@ -165,6 +165,7 @@ html, body { --lightBlue: #0d0d5a; } + .dark { --menu: #24242e; --subMenu: #24242e; diff --git a/src/main/Mobile/Pages/Landing/Sections/LandingContent/components/MarketTitle/MarketTitle.js b/src/main/Mobile/Pages/Landing/Sections/LandingContent/components/MarketTitle/MarketTitle.js index 62a2d3d..e22af7d 100644 --- a/src/main/Mobile/Pages/Landing/Sections/LandingContent/components/MarketTitle/MarketTitle.js +++ b/src/main/Mobile/Pages/Landing/Sections/LandingContent/components/MarketTitle/MarketTitle.js @@ -16,14 +16,14 @@ const MarketTitle = () => { return (
- <div className={`row jc-between ai-center mt-2`}> - <Button + <div className={`row jc-center ai-center mt-2`}> + {/*<Button buttonClass={`${classes.thisButton} col-48 px-3`} buttonTitle={t("MarketTitle.easyTrading")} type="submit" onClick={() => navigate("/", { replace: true })} - /> + />*/} <Button buttonClass={`${classes.thisButton} col-48 px-3`} buttonTitle={t("MarketTitle.advancedTrading")} From baff1c1355627e8df32fe5c3a3796e65ceaebfaf Mon Sep 17 00:00:00 2001 From: Hossein <hossein13785ab@gmail.com> Date: Sat, 13 May 2023 17:00:33 +0330 Subject: [PATCH 16/16] Add version number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ea15004..446bfbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opex", - "version": "v1.0.0-beta.1", + "version": "v1.0.0-beta.2", "homepage": "", "private": true, "dependencies": {