{"version":3,"sources":["redux/actions/Theme.js","components/util-components/IntlMessage/index.js","redux/constants/Auth.js","components/shared-components/Flex/index.js","lang/entries/en_US.js","lang/entries/zh_CN.js","lang/entries/fr_FR.js","lang/entries/ja_JP.js","lang/index.js","lang/entries/fa_IR.js","configs/AppConfig.js","configs/EnvironmentConfig.js","constants/CategorizeData.js","components/layout-components/NavLanguage.js","constants/Translate.js","views/app-views/profile/NotificationSettings.js","constants/ThemeConstant.js","redux/reducers/Auth.js","redux/reducers/Theme.js","redux/reducers/index.js","configs/FirebaseConfig.js","auth/FirebaseAuth.js","services/FirebaseService.js","redux/sagas/Auth.js","redux/sagas/index.js","redux/store/index.js","components/util-components/Icon/index.js","configs/NavigationConfig.js","components/layout-components/MenuContent.js","components/layout-components/SideNav.js","components/layout-components/TopNav.js","components/shared-components/Loading/index.js","components/layout-components/Logo.js","components/layout-components/MobileNav.js","components/layout-components/NavProfile.js","constants/ChartConstant.js","views/app-views/sentiment/SentimentBarChart.js","views/app-views/sentiment/Sentiment.js","views/app-views/currencyRelative/CurrencyBarChart.js","views/app-views/currencyRelative/CurrencyRelative.js","views/app-views/currencyStrength/CurrencyLineChart.js","views/app-views/currencyStrength/CurrencyStrength.js","views/app-views/interestRates/RatesTable.js","views/app-views/interestRates/InterestRates.js","components/layout-components/HeaderNav.js","components/layout-components/AppBreadcrumb.js","components/layout-components/PageHeader.js","components/layout-components/Footer.js","views/app-views/index.js","layouts/app-layout/index.js","views/auth-views/index.js","layouts/auth-layout/index.js","hooks/useBodyClass.js","views/index.js","utils/push-notifications.js","hooks/usePushNotifications.js","App.js","index.js","redux/constants/Theme.js","redux/actions/Auth.js","utils/index.js","constants/ApiConstant.js"],"names":["toggleCollapsedNav","navCollapsed","type","TOGGLE_COLLAPSED_NAV","onLocaleChange","locale","CHANGE_LOCALE","onMobileNavToggle","mobileNav","TOGGLE_MOBILE_NAV","onDirectionChange","direction","DIRECTION_CHANGE","injectIntl","props","withRef","SIGNIN","USEREMAIL","USER_INFO","AUTHENTICATED","SIGNOUT","SIGNOUT_SUCCESS","SIGNUP","SIGNUP_SUCCESS","SHOW_AUTH_MESSAGE","HIDE_AUTH_MESSAGE","SHOW_LOADING","AUTH_TOKEN","LANG","SIGNIN_WITH_GOOGLE","SIGNIN_WITH_GOOGLE_AUTHENTICATED","SIGNIN_WITH_FACEBOOK","SIGNIN_WITH_FACEBOOK_AUTHENTICATED","COUNTRY","COUNTRYPHONE","TIMEZONE","Flex","children","className","alignItems","justifyContent","mobileFlex","flexDirection","defaultProps","EnLang","antd","antdEnUS","messages","enMsg","ZhLang","antdZhCn","zhMsg","FrLang","antdFrFR","frMsg","JaLang","antdJaJP","jaMsg","AppLocale","en","enLang","zh","zhLang","fr","frLang","ja","jaLang","fa","antdFaIR","faIR","APP_NAME","API_BASE_URL","API_ENDPOINT_URL","APP_PREFIX_PATH","THEME_CONFIG","sideNavTheme","SIDE_NAV_LIGHT","navType","topNavColor","headerNavColor","currentTheme","DIR_LTR","langInRoute","window","location","pathname","split","AUTH_PREFIX_PATH","includes","CategorizeData","data","dateFormat","finalData","origin","options","userTimeZone","localStorage","getItem","userLanguage","year","month","day","timeZone","weekday","Array","isArray","length","dateTemp","convertTimeZoneVar","date","newData","map","item","index","rows","newItem","language","moment","convertTimeZone","format","push","obj","convertedDate","Date","toLocaleString","SelectedLanguage","lang","filter","elm","langId","getLanguageDetail","langName","icon","style","maxWidth","src","alt","NavLanguage","configDisplay","isInAuthPages","languageOption","i","Item","onClick","setItem","href","placement","overlay","trigger","e","preventDefault","mode","borderBottom","backgroundColor","title","setLocale","connect","theme","isLocaleOn","localeKey","id","toString","setLocaleJS","NotificationSettings","useState","notificationResponse","setNotificationResponse","notificationList","label","key","useEffect","axios","get","headers","Authorization","then","res","catch","err","console","log","onFinish","values","post","notification","success","message","description","error","xs","sm","md","lg","name","valuePropName","initialValue","placeholder","defaultValue","htmlType","NotificationMenu","to","ROW_GUTTER","SIDE_NAV_WIDTH","SIDE_NAV_COLLAPSED_WIDTH","SIDE_NAV_DARK","NAV_TYPE_SIDE","NAV_TYPE_TOP","DIR_RTL","initState","loading","showMessage","redirect","token","user","userInfo","auth","state","action","payload","initTheme","SIDE_NAV_STYLE_CHANGE","NAV_TYPE_CHANGE","TOP_NAV_COLOR_CHANGE","HEADER_NAV_COLOR_CHANGE","SWITCH_THEME","reducers","combineReducers","Theme","Auth","FirebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","firebase","initializeApp","firebaseConfig","firestore","googleAuthProvider","currentUser","GoogleAuthProvider","facebookAuthProvider","FacebookAuthProvider","FirebaseService","TwitterAuthProvider","GithubAuthProvider","signInEmailRequest","email","password","a","signInWithEmailAndPassword","signOutRequest","signOut","signInGoogleRequest","signInWithPopup","signInFacebookRequest","signUpEmailRequest","createUserWithEmailAndPassword","signInWithFBEmail","signUpWithFBEmail","signInWithFBGoogle","signInWithFacebook","rootSaga","takeEvery","call","put","showAuthMessage","uid","substring","authenticated","undefined","signOutUser","removeItem","signOutSuccess","signUpSuccess","signInWithGoogleAuthenticated","signInWithFacebookAuthenticated","all","fork","getState","sagaMiddleware","createSagaMiddleware","middlewares","store","preloadedState","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","run","configureStore","Icon","this","React","createElement","Component","dashBoardNavTree","path","breadcrumb","submenu","navigationConfig","SubMenu","Menu","useBreakpoint","Grid","IntlMessage","setDefaultOpen","keyList","keyString","arr","SideNavContent","routeInfo","hideGroupTitle","localization","isMobile","utils","getBreakPoint","closeMobileNav","height","borderRight","defaultSelectedKeys","defaultOpenKeys","menu","ItemGroup","subMenuFirst","subMenuSecond","TopNavContent","popupClassName","Sider","Layout","width","collapsed","autoHide","getColorContrast","LoadingOutlined","fontSize","spin","Loading","align","cover","indicator","getLogoWidthGutter","isNavTop","mobileLogo","getLogo","logoType","getLogoDisplay","target","rel","onClose","closable","visible","bodyStyle","padding","ArrowLeftOutlined","menuItem","EditOutlined","history","useHistory","dispatch","useDispatch","useSelector","profileMenu","size","avatar","fullName","charAt","subscription","class","subscriptionExpiry","el","LogoutOutlined","getUserProfile","status","setUserInfo","COLOR_1","COLOR_2","COLOR_3","COLOR_4","COLOR_5","COLOR_6","COLOR_7","COLOR_8","COLORS","apexLineChartDefaultOption","chart","zoom","enabled","toolbar","show","colors","dataLabels","stroke","curve","lineCap","legend","position","horizontalAlign","offsetY","itemMargin","vertical","tooltipHoverFormatter","val","opts","w","globals","series","seriesIndex","dataPointIndex","xaxis","categories","grid","lines","yaxis","ChartJS","register","CategoryScale","LinearScale","BarElement","Title","Tooltip","Legend","SentimentBarChart","setCategories","power","setPower","fillColors","setFillColors","newCat","newPow","newColor","currency","chartData","labels","datasets","minBarLength","datalabels","display","indexAxis","responsive","plugins","tooltip","scales","xAxis","min","max","ticks","color","callback","yAxis","Sentiment","isModalVisible","setIsModalVisible","sentimentData","setSentimentData","getSentimentAndRelative","SlidersOutlined","onOk","onCancel","footer","textAlign","ChartDataLabels","CurrnecyBarChart","currencyChange","setCurrencyChange","fillColorsStack","scaleRange","setScaleRange","preDefinedColors","newCurrencyChange","Number","replace","posNums","Math","abs","formatter","value","context","dataIndex","anchor","offset","chartOptions","stacked","ceil","CurrencyRelative","relativeData","setRelativeData","titleText","setTitleText","sort","b","reverse","updatedAt","SwapOutlined","LineElement","PointElement","CurrencyLineChart","setSeries","priceTime","setPriceTime","rateData","newTime","today","yesterday","setDate","getDate","dateShow","dayReq","time","uniqueTimes","from","Set","seriesArray","EUR","c","symbol","EURDATA","borderColor","rate","USD","USDDATA","CHF","CHFDATA","GBP","GBPDATA","AUD","AUDDATA","CAD","CADDATA","NZD","NZDDATA","JPY","JPYDATA","maxVals","minVals","tension","borderWidth","elements","point","radius","interaction","intersect","getLabelForValue","CurrencyStrength","currencyStrengthData","setCurrencyStrengthData","updateChartData","getCurrencyStrength","RadarChartOutlined","marginTop","RatesTable","columns","render","text","record","forecast","ArrowUpOutlined","ArrowDownOutlined","MinusOutlined","dataSource","pagination","InterestRates","interestRatesData","setInterestRatesData","getInterestRates","bankName","interestRate","nextMeeting","probabilityOfChange","probabilityOfNotChange","flag","RocketOutlined","Header","navMode","MenuUnfoldOutlined","MenuFoldOutlined","breadcrumbData","forEach","assignBreadcrumb","BreadcrumbRoute","withRouter","pathSnippets","buildBreadcrumb","_","url","slice","join","AppBreadcrumb","PageHeader","background","Footer","getFullYear","AppViews","fallback","component","lazy","memo","Content","AppLayout","currentRouteInfo","getRouteInfo","isNavSide","getLayoutGutter","useThemeSwitcher","paddingLeft","paddingRight","AuthLayout","AuthViews","addBodyClass","document","body","classList","add","removeBodyClass","remove","currentAppLocale","exact","pushServerPublicKey","Notification","requestPermission","navigator","serviceWorker","ready","pushManager","subscribe","userVisibleOnly","applicationServerKey","pushNotificationSupported","usePushNotifications","permission","userConsent","setSuserConsent","userSubscription","setUserSubscription","pushServerSubscriptionId","setPushServerSubscriptionId","setError","setLoading","getExixtingSubscription","getSubscription","pushSubscription","existingSubscription","onClickSendNotification","onClickAskUserPermission","askUserPermission","consent","code","onClickSusbribeToPushNotification","createNotificationSubscription","subscrition","onClickSendSubscriptionToPushServer","response","themes","dark","process","light","App","themeMap","defaultTheme","insertionPoint","Views","ReactDOM","getElementById","hideAuthMessage","showLoading","Utils","initials","match","shift","pop","toUpperCase","navTree","route","p","hasOwnProperty","hex","hRed","parseInt","cutHex","hGreen","h","hexToG","hBlue","hexToB","percent","R","G","B","RR","GG","BB","rgba","trim","str","inParts","indexOf","r","g","parseFloat","toFixed","outParts","round","part","number","positive","negative","toLowerCase","list","input","searchText","screens","breakpoints","handleError","putUserProfile","uploadFile","getUserCountry","dayRequest","getSymbolNames","getTransactionHistory","postTransactionHistory","getPaymentMethods","getPromoCodes"],"mappings":"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","file":"static/js/main.8a9f301a.chunk.js","sourcesContent":["import {\n TOGGLE_COLLAPSED_NAV,\n SIDE_NAV_STYLE_CHANGE,\n CHANGE_LOCALE,\n NAV_TYPE_CHANGE,\n TOP_NAV_COLOR_CHANGE,\n HEADER_NAV_COLOR_CHANGE,\n TOGGLE_MOBILE_NAV,\n SWITCH_THEME,\n DIRECTION_CHANGE\n} from '../constants/Theme';\n\nexport function toggleCollapsedNav(navCollapsed) {\n return {\n type: TOGGLE_COLLAPSED_NAV,\n navCollapsed\n };\n}\n\nexport function onNavStyleChange(sideNavTheme) {\n return {\n type: SIDE_NAV_STYLE_CHANGE,\n sideNavTheme\n };\n}\n\nexport function onLocaleChange(locale) {\n return {\n type: CHANGE_LOCALE,\n locale\n };\n}\n\nexport function onNavTypeChange(navType) {\n return {\n type: NAV_TYPE_CHANGE,\n navType\n };\n}\n\nexport function onTopNavColorChange(topNavColor) {\n return {\n type: TOP_NAV_COLOR_CHANGE,\n topNavColor\n };\n}\n\nexport function onHeaderNavColorChange(headerNavColor) {\n return {\n type: HEADER_NAV_COLOR_CHANGE,\n headerNavColor\n };\n}\n\nexport function onMobileNavToggle(mobileNav) {\n return {\n type: TOGGLE_MOBILE_NAV,\n mobileNav\n };\n}\n\nexport function onSwitchTheme(currentTheme) {\n return {\n type: SWITCH_THEME,\n currentTheme\n };\n}\n\nexport function onDirectionChange(direction) {\n return {\n type: DIRECTION_CHANGE,\n direction\n };\n}","import React from \"react\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\n\nconst IntlMessage = props => ;\nexport default injectIntl(IntlMessage, { withRef: false});\n","export const SIGNIN = \"SIGNIN\";\nexport const USEREMAIL = \"USEREMAIL\";\nexport const USER_INFO = \"USER_INFO\";\nexport const AUTHENTICATED = \"AUTHENTICATED\";\nexport const SIGNOUT = \"SIGNOUT\";\nexport const SIGNOUT_SUCCESS = \"SIGNOUT_SUCCESS\";\nexport const SIGNUP = \"SIGNUP\";\nexport const SIGNUP_SUCCESS = \"SIGNUP_SUCCESS\";\nexport const SHOW_AUTH_MESSAGE = \"SHOW_AUTH_MESSAGE\";\nexport const HIDE_AUTH_MESSAGE = \"HIDE_AUTH_MESSAGE\";\nexport const SHOW_LOADING = \"SHOW_LOADING\";\nexport const AUTH_TOKEN = \"auth_token\";\nexport const LANG = \"lang\";\nexport const SIGNIN_WITH_GOOGLE = \"SIGNIN_WITH_GOOGLE\";\nexport const SIGNIN_WITH_GOOGLE_AUTHENTICATED =\n \"SIGNIN_WITH_GOOGLE_AUTHENTICATED\";\nexport const SIGNIN_WITH_FACEBOOK = \"SIGNIN_WITH_FACEBOOK\";\nexport const SIGNIN_WITH_FACEBOOK_AUTHENTICATED =\n \"SIGNIN_WITH_FACEBOOK_AUTHENTICATED\";\nexport const COUNTRY = \"Country\";\nexport const COUNTRYPHONE = \"Countryphone\";\nexport const TIMEZONE = \"TimeZone\";\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst Flex = props => {\n\tconst { children, className, alignItems, justifyContent, mobileFlex, flexDirection } = props\n\tconst getFlexResponsive = () => mobileFlex ? 'd-flex' : 'd-md-flex'\n\treturn (\n\t\t
\n\t\t\t{children}\n\t\t
\n\t)\n}\n\nFlex.propTypes = {\n\tclassName: PropTypes.string,\n\talignItems: PropTypes.string,\n\tflexDirection: PropTypes.string,\n\tjustifyContent: PropTypes.string,\n\tmobileFlex: PropTypes.bool\n}\n\nFlex.defaultProps = {\n\tmobileFlex: true,\n\tflexDirection: 'row',\n\tclassName: ''\n};\n\n\nexport default Flex\n","import antdEnUS from 'antd/es/locale/en_US';\nimport enMsg from \"../locales/en_US.json\";\n\nconst EnLang = {\n antd: antdEnUS,\n locale: 'en-US',\n messages: {\n ...enMsg\n },\n};\nexport default EnLang;\n","import antdZhCn from 'antd/es/locale/zh_CN';\nimport zhMsg from \"../locales/zh_CN.json\";\n\nconst ZhLang = {\n antd: antdZhCn,\n locale: 'zh',\n messages: {\n ...zhMsg\n },\n};\nexport default ZhLang;\n","import antdFrFR from 'antd/es/locale/fr_FR';\nimport frMsg from \"../locales/fr_FR.json\";\n\nconst FrLang = {\n antd: antdFrFR,\n locale: 'fr-FR',\n messages: {\n ...frMsg\n },\n};\nexport default FrLang;\n","import antdJaJP from 'antd/es/locale/ja_JP';\nimport jaMsg from \"../locales/ja_JP.json\";\n\nconst JaLang = {\n antd: antdJaJP,\n locale: 'ja-JP',\n messages: {\n ...jaMsg\n },\n};\nexport default JaLang;\n","import enLang from \"./entries/en_US\";\nimport zhLang from \"./entries/zh_CN\";\nimport frLang from \"./entries/fr_FR\";\nimport jaLang from \"./entries/ja_JP\";\nimport FaLang from \"./entries/fa_IR\";\n\nconst AppLocale = {\n en: enLang,\n zh: zhLang,\n fr: frLang,\n ja: jaLang,\n fa: FaLang,\n};\n\nexport default AppLocale;\n","import antdFaIR from \"antd/es/locale/fa_IR\";\nimport faIR from \"../locales/fa_IR.json\";\n\nconst FaLang = {\n antd: antdFaIR,\n locale: \"fa-IR\",\n messages: {\n ...faIR,\n },\n};\nexport default FaLang;\n","import {\n SIDE_NAV_LIGHT,\n DIR_LTR,\n} from \"constants/ThemeConstant\";\nimport { env } from \"./EnvironmentConfig\";\n\nexport const APP_NAME = \"Fortuna\";\nexport const API_BASE_URL = env.API_ENDPOINT_URL;\nexport const APP_PREFIX_PATH = \"\";\n\nexport const THEME_CONFIG = {\n navCollapsed: false,\n sideNavTheme: SIDE_NAV_LIGHT,\n locale: \"en\",\n navType: \"TOP\",\n topNavColor: \"#0F4DEB\",\n headerNavColor: \"#ffaa00\",\n mobileNav: false,\n currentTheme: \"dark\",\n direction: DIR_LTR,\n};\n\nconst langInRoute = window.location.pathname.split(\"/\")[1];\nexport const AUTH_PREFIX_PATH =\n \"/\" +\n ([\"en\", \"fa\"].includes(langInRoute) ? langInRoute : THEME_CONFIG.locale);\n","const dev = {\n API_ENDPOINT_URL: \"https://test-api.fortuna.investments\",\n};\n\nconst prod = {\n API_ENDPOINT_URL: \"https://api-main.fortuna.investments\",\n};\n\nconst test = {\n API_ENDPOINT_URL: \"https://api-main.fortuna.investments:1250\",\n};\n\nconst getEnv = () => {\n switch (process.env.NODE_ENV) {\n case \"development\":\n return dev;\n case \"production\":\n return prod;\n case \"test\":\n return test;\n default:\n break;\n }\n};\n\nexport const env = getEnv();\n","import moment from \"moment\";\nimport { TIMEZONE, LANG } from \"redux/constants/Auth\";\n\nexport const CategorizeData = (data, dateFormat, finalData, origin) => {\n // dateFormat = 1 : MMMM DD, YYYY\n // dateFormat = 2 : dddd, MMMM DD, YYYY\n const userTimeZone = localStorage.getItem(TIMEZONE);\n const userLanguage = localStorage.getItem(LANG);\n if (dateFormat === 1 ) {\n var options = { year: 'numeric', month: 'short', day: 'numeric' };\n options.timeZone = userTimeZone;\n } else {\n var options = { weekday:'long', year: 'numeric', month: 'long', day: 'numeric' };\n options.timeZone = userTimeZone;\n }\n if((Array.isArray(data) && data.length)) {\n var dateTemp = convertTimeZoneVar(data[0].date, options)\n var newData = [];\n data.map((item, index , rows) => {\n const newItem = {...item};\n if(!newItem.language || newItem.language === userLanguage){\n if (convertTimeZoneVar (newItem.date, options) === dateTemp ) {\n newItem.date = moment(convertTimeZone(newItem.date)).format(\"HH:mm\");\n newData.push (newItem);\n } else {\n let obj = {date: dateTemp, data: newData};\n finalData.push(obj);\n newData = [];\n dateTemp = convertTimeZoneVar (newItem.date, options);\n newItem.date = moment(convertTimeZone(newItem.date)).format(\"HH:mm\");\n newData.push (newItem);\n }\n // if (index + 1 === rows.length) {\n // let obj = {date: dateTemp, data: newData};\n // finalData.push(obj);\n // }\n }\n })\n let obj = {date: dateTemp, data: newData};\n finalData.push(obj);\n }\n return finalData;\n };\n\nexport const convertTimeZone = (convertedDate) => {\n return new Date(convertedDate).toLocaleString(\"en-US\", {timeZone: localStorage.getItem(TIMEZONE)});\n}\n\nexport const convertTimeZoneVar = (convertedDate, options) => {\n return new Date(convertedDate).toLocaleString(\"en-US\", options);\n}","import React from \"react\";\nimport { CheckOutlined, GlobalOutlined, DownOutlined } from \"@ant-design/icons\";\nimport { Menu, Dropdown, Tooltip } from \"antd\";\nimport lang from \"assets/data/language.data.json\";\nimport { connect } from \"react-redux\";\nimport { onLocaleChange, onDirectionChange } from \"redux/actions/Theme\";\nimport { LANG } from \"../../redux/constants/Auth\";\nimport setLocale from \"constants/Translate\";\n\nfunction getLanguageDetail(locale) {\n const data = lang.filter((elm) => elm.langId === locale);\n return data[0];\n}\n\nconst SelectedLanguage = ({ locale }) => {\n const language = getLanguageDetail(locale);\n const { langName, icon } = language;\n return (\n
\n \n \n {langName} \n \n
\n );\n};\n\nexport const NavLanguage = ({\n locale,\n configDisplay,\n onLocaleChange,\n onDirectionChange,\n isInAuthPages,\n}) => {\n const languageOption = (\n \n {lang.map((elm, i) => {\n return (\n {\n localStorage.setItem(\n LANG,\n elm.langName === \"English\" ? \"en\" : \"fa\"\n );\n if (isInAuthPages) {\n window.location.href = `/${\n elm.langName === \"English\" ? \"en\" : \"fa\"\n }/${window.location.pathname.split(\"/\")[2]}`;\n } else {\n onLocaleChange(elm.langId);\n elm.langId === \"fa\"\n ? onDirectionChange(\"rtl\")\n : onDirectionChange(\"ltr\");\n }\n }}\n >\n \n
\n \n {elm.langName}\n
\n {locale === elm.langId ? (\n \n ) : null}\n
\n \n );\n })}\n
\n );\n\n return (\n \n {configDisplay ? (\n e.preventDefault()}>\n \n \n ) : (\n \n \n \n e.preventDefault()}>\n \n \n \n \n \n )}\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { locale } = theme;\n return { locale };\n};\n\nexport default connect(mapStateToProps, { onLocaleChange, onDirectionChange })(\n NavLanguage\n);\n","import IntlMessage from \"components/util-components/IntlMessage\";\nimport AppLocale from \"lang\";\n\nconst setLocale = (isLocaleOn, localeKey) => isLocaleOn ? : localeKey.toString();\nexport default setLocale\n\nconst setLocaleJS = (langInRoute, localeKey) => AppLocale[langInRoute].messages[localeKey]\nexport { setLocaleJS }","import React, { useEffect, useState } from \"react\";\nimport {Menu, Tooltip, Row, Col, Switch, Button, Form, notification, Select} from \"antd\";\nimport Flex from \"components/shared-components/Flex\";\nimport { API_BASE_URL } from \"../../../configs/AppConfig\";\nimport {AUTH_TOKEN, LANG} from \"../../../redux/constants/Auth\";\nimport {BellOutlined, CheckOutlined} from \"@ant-design/icons\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport setLocale from \"constants/Translate\";\nimport lang from \"../../../assets/data/language.data.json\";\nconst NotificationSettings = () => {\n const [notificationResponse, setNotificationResponse] = useState(null);\n const notificationList = [\n {\n label: setLocale(true, \"analysis.title\"),\n key: \"analysis\",\n },\n {\n label: setLocale(true, \"marketinsights.title\"),\n key: \"marketInsights\",\n },\n {\n label: setLocale(true, \"weekahead.title\"),\n key: \"weekAhead\",\n },\n // {\n // label: setLocale(true, \"economiccalendar.title\"),\n // key: \"economicCalendar\",\n // },\n {\n label: setLocale(true, \"tradeideas.title\"),\n key: \"tradeIdeas\",\n },\n {\n label: setLocale(true, \"marketstream.title\"),\n key: \"news\",\n },\n ];\n useEffect(() => {\n axios\n .get(`${API_BASE_URL}/user/notification`, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem(AUTH_TOKEN)}`,\n },\n })\n .then((res) => setNotificationResponse(res.data))\n .catch((err) => console.log(err));\n }, []);\n const submitNotificationSettings = (values) => {\n axios\n .post(`${API_BASE_URL}/user/notification`, values, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem(AUTH_TOKEN)}`,\n },\n })\n .then((res) => {\n notification.success({\n message: \"Success\",\n description: \"Settings updated successfully!\",\n });\n })\n .catch((err) => {\n console.log(err);\n notification.error({\n message: \"Error\",\n description: \"An error occurred!\",\n });\n });\n };\n return (\n
\n \n \n {notificationResponse &&\n notificationList.map((item) => (\n \n
{item.label}
\n \n \n \n
\n ))}\n \n
\n \n {\n notificationResponse &&\n \n \n {setLocale(true, \"nav.profile.language\")}\n \n \n item.langId === notificationResponse.language)[0].icon}.png`}\n alt={lang.filter(item => item.langId === notificationResponse.language)[0].langName}\n />\n {lang.filter(item => item.langId === notificationResponse.language)[0].langName}\n \n }\n // style={{ width: \"100%\"}}\n // onChange={handleShowSymbol}\n >\n {lang.map((elm, i) => {\n return (\n \n \n
\n \n {elm.langName}\n
\n {/*{locale === elm.langId ? (*/}\n {/* */}\n {/*) : null}*/}\n
\n \n );\n })}\n \n \n
\n \n }\n
\n \n
\n );\n};\n\nexport default NotificationSettings;\n\nconst NotificationMenu = () => {\n return (\n <>\n \n \n \n \n \n \n \n \n );\n};\n\nexport {NotificationMenu};\n","export const ROW_GUTTER = 16;\nexport const SIDE_NAV_WIDTH = 250;\nexport const SIDE_NAV_COLLAPSED_WIDTH = 80;\nexport const SIDE_NAV_LIGHT = 'SIDE_NAV_LIGHT';\nexport const SIDE_NAV_DARK = 'SIDE_NAV_DARK';\nexport const NAV_TYPE_SIDE = 'SIDE'\nexport const NAV_TYPE_TOP = 'TOP'\nexport const DIR_LTR = 'ltr'\nexport const DIR_RTL = 'rtl'\n","import {\n AUTH_TOKEN,\n AUTHENTICATED,\n SHOW_AUTH_MESSAGE,\n HIDE_AUTH_MESSAGE,\n SIGNOUT_SUCCESS,\n SIGNUP_SUCCESS,\n SHOW_LOADING,\n SIGNIN_WITH_GOOGLE_AUTHENTICATED,\n SIGNIN_WITH_FACEBOOK_AUTHENTICATED,\n USEREMAIL,\n USER_INFO,\n} from \"../constants/Auth\";\n\nconst initState = {\n loading: false,\n message: \"\",\n showMessage: false,\n redirect: \"\",\n token: localStorage.getItem(AUTH_TOKEN),\n user: localStorage.getItem(USEREMAIL),\n userInfo: [],\n};\n\nconst auth = (state = initState, action) => {\n switch (action.type) {\n case AUTHENTICATED:\n return {\n ...state,\n loading: false,\n redirect: \"/\",\n token: action.token,\n };\n\n case SHOW_AUTH_MESSAGE:\n return {\n ...state,\n message: action.message,\n showMessage: true,\n loading: false,\n };\n case USER_INFO:\n return {\n ...state,\n userInfo: action.payload,\n };\n case HIDE_AUTH_MESSAGE:\n return {\n ...state,\n message: \"\",\n showMessage: false,\n };\n case SIGNOUT_SUCCESS: {\n return {\n ...state,\n token: null,\n redirect: \"/\",\n loading: false,\n };\n }\n case SIGNUP_SUCCESS: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n case SHOW_LOADING: {\n return {\n ...state,\n loading: true,\n };\n }\n case SIGNIN_WITH_GOOGLE_AUTHENTICATED: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n case SIGNIN_WITH_FACEBOOK_AUTHENTICATED: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n default:\n return state;\n }\n};\n\nexport default auth;\n","import {\n TOGGLE_COLLAPSED_NAV,\n CHANGE_LOCALE,\n SIDE_NAV_STYLE_CHANGE,\n NAV_TYPE_CHANGE,\n TOP_NAV_COLOR_CHANGE,\n HEADER_NAV_COLOR_CHANGE,\n TOGGLE_MOBILE_NAV,\n SWITCH_THEME,\n DIRECTION_CHANGE\n} from '../constants/Theme';\nimport { THEME_CONFIG } from 'configs/AppConfig'\n\nconst initTheme = {\n ...THEME_CONFIG\n};\n\nconst theme = (state = initTheme, action) => {\n switch (action.type) {\n case TOGGLE_COLLAPSED_NAV:\n return {\n ...state,\n navCollapsed: action.navCollapsed\n };\n case SIDE_NAV_STYLE_CHANGE:\n return {\n ...state,\n sideNavTheme: action.sideNavTheme\n };\n case CHANGE_LOCALE:\n return {\n ...state,\n locale: action.locale\n };\n case NAV_TYPE_CHANGE:\n return {\n ...state,\n navType: action.navType\n };\n case TOP_NAV_COLOR_CHANGE:\n return {\n ...state,\n topNavColor: action.topNavColor\n };\n case HEADER_NAV_COLOR_CHANGE:\n return {\n ...state,\n headerNavColor: action.headerNavColor\n };\n case TOGGLE_MOBILE_NAV:\n return {\n ...state,\n mobileNav: action.mobileNav\n };\n case SWITCH_THEME:\n return {\n ...state,\n currentTheme: action.currentTheme\n }\n case DIRECTION_CHANGE:\n return {\n ...state,\n direction: action.direction\n }\n default:\n return state;\n }\n};\n\nexport default theme","import { combineReducers } from 'redux';\nimport Auth from './Auth';\nimport Theme from './Theme';\n\nconst reducers = combineReducers({\n theme: Theme,\n auth: Auth\n});\n\nexport default reducers;","const FirebaseConfig = {\n apiKey: 'AIzaSyAOWoRQGoegkmwnCca7B2GG5GUG_ZP1lcM',\n authDomain: 'emilus.firebaseapp.com',\n databaseURL: 'https://emilus.firebaseio.com',\n projectId: 'emilus',\n storageBucket: 'emilus.appspot.com',\n messagingSenderId: '807555350717',\n appId: '1:807555350717:web:145ba7c21af47203a2f7d4',\n measurementId: 'G-8KE7HJB252'\n};\n\nexport default FirebaseConfig\n\n","import firebase from 'firebase/app';\nimport 'firebase/auth';\nimport 'firebase/firestore';\nimport firebaseConfig from 'configs/FirebaseConfig';\n\nfirebase.initializeApp(firebaseConfig);\n\n// firebase utils\nconst db = firebase.firestore()\nconst auth = firebase.auth();\nconst currentUser = auth.currentUser\nconst googleAuthProvider = new firebase.auth.GoogleAuthProvider();\nconst facebookAuthProvider = new firebase.auth.FacebookAuthProvider();\nconst twitterAuthProvider = new firebase.auth.TwitterAuthProvider();\nconst githubAuthProvider = new firebase.auth.GithubAuthProvider();\n\nexport {\n\tdb,\n\tauth,\n\tcurrentUser,\n\tgoogleAuthProvider,\n\tfacebookAuthProvider,\n\ttwitterAuthProvider,\n\tgithubAuthProvider\n};","import { auth, googleAuthProvider, facebookAuthProvider } from 'auth/FirebaseAuth';\n\nconst FirebaseService = {}\n\nFirebaseService.signInEmailRequest = async (email, password) =>\n\tawait auth.signInWithEmailAndPassword(email, password).then(user => user).catch(err => err);\n\nFirebaseService.signInEmailRequest = async (email, password) =>\n await auth.signInWithEmailAndPassword(email, password).then(user => user).catch(err => err);\n\t\t\nFirebaseService.signOutRequest = async () =>\n\tawait auth.signOut().then(user => user).catch(err => err);\n\nFirebaseService.signInGoogleRequest = async () =>\n await auth.signInWithPopup(googleAuthProvider).then(user => user).catch(err => err);\n\nFirebaseService.signInFacebookRequest = async () =>\n await auth.signInWithPopup(facebookAuthProvider).then(user => user).catch(err => err);\n\nFirebaseService.signUpEmailRequest = async (email, password) =>\n\tawait auth.createUserWithEmailAndPassword(email, password).then(user => user).catch(err => err);\t\n\t\nexport default FirebaseService","import { all, takeEvery, put, fork, call } from \"redux-saga/effects\";\nimport {\n AUTH_TOKEN,\n SIGNIN,\n SIGNOUT,\n SIGNUP,\n SIGNIN_WITH_GOOGLE,\n SIGNIN_WITH_FACEBOOK,\n USEREMAIL,\n LANG,\n TIMEZONE,\n COUNTRYPHONE,\n COUNTRY\n} from \"../constants/Auth\";\nimport {\n showAuthMessage,\n authenticated,\n signOutSuccess,\n signUpSuccess,\n signInWithGoogleAuthenticated,\n signInWithFacebookAuthenticated,\n} from \"../actions/Auth\";\n\nimport FirebaseService from \"services/FirebaseService\";\n\n\nexport function* signInWithFBEmail() {\n yield takeEvery(SIGNIN, function* ({ payload }) {\n const { email, password } = payload;\n try {\n const user = yield call(\n FirebaseService.signInEmailRequest,\n email,\n password\n );\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n localStorage.setItem(TIMEZONE,(user.user.timeZone).substring(13, (user.user.timeZone).length - 13));\n yield put(authenticated(user.user.uid));\n }\n } catch (err) {\n yield put(showAuthMessage(err));\n }\n });\n}\n\nexport function* signOut() {\n yield takeEvery(SIGNOUT, function* () {\n try {\n const signOutUser = yield call(FirebaseService.signOutRequest);\n if (signOutUser === undefined) {\n localStorage.removeItem(AUTH_TOKEN);\n localStorage.removeItem(USEREMAIL);\n localStorage.removeItem(LANG);\n localStorage.removeItem(TIMEZONE);\n localStorage.removeItem(COUNTRYPHONE);\n localStorage.removeItem(COUNTRY);\n yield put(signOutSuccess(signOutUser));\n } else {\n yield put(showAuthMessage(signOutUser.message));\n }\n } catch (err) {\n yield put(showAuthMessage(err));\n }\n });\n}\n\nexport function* signUpWithFBEmail() {\n yield takeEvery(SIGNUP, function* ({ payload }) {\n const { email, password } = payload;\n try {\n const user = yield call(\n FirebaseService.signUpEmailRequest,\n email,\n password\n );\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signUpSuccess(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport function* signInWithFBGoogle() {\n yield takeEvery(SIGNIN_WITH_GOOGLE, function* () {\n try {\n const user = yield call(FirebaseService.signInGoogleRequest);\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signInWithGoogleAuthenticated(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport function* signInWithFacebook() {\n yield takeEvery(SIGNIN_WITH_FACEBOOK, function* () {\n try {\n const user = yield call(FirebaseService.signInFacebookRequest);\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signInWithFacebookAuthenticated(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport default function* rootSaga() {\n yield all([\n fork(signInWithFBEmail),\n fork(signOut),\n fork(signUpWithFBEmail),\n fork(signInWithFBGoogle),\n fork(signInWithFacebook),\n ]);\n}\n","import { all } from 'redux-saga/effects';\nimport Auth from './Auth';\n\nexport default function* rootSaga(getState) {\n yield all([\n Auth(),\n ]);\n}\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport reducers from \"../reducers\";\nimport createSagaMiddleware from \"redux-saga\";\nimport rootSaga from \"../sagas/index\";\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst middlewares = [sagaMiddleware];\n\nfunction configureStore(preloadedState) {\n \n const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n const store = createStore(reducers, preloadedState, composeEnhancers(\n applyMiddleware(...middlewares)\n ));\n\n sagaMiddleware.run(rootSaga);\n\n if (module.hot) {\n module.hot.accept(\"../reducers/index\", () => {\n const nextRootReducer = require(\"../reducers/index\");\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n}\n\nconst store = configureStore();\n\nexport default store;\n\n","import React, { Component } from 'react'\n\nexport class Icon extends Component {\n\trender() {\n\t\tconst { type, className } = this.props;\n\t\treturn (\n\t\t\t<>{React.createElement(type, { className: className })}\n\t\t)\n\t}\n}\n\nexport default Icon\n","import setLocale from \"constants/Translate\"\nimport { APP_PREFIX_PATH } from \"configs/AppConfig\";\nconst dashBoardNavTree = [\n {\n key: \"home\",\n path: `${APP_PREFIX_PATH}/home`,\n title: setLocale(false,\"home.title\"),\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"analysis\",\n path: `${APP_PREFIX_PATH}/analysis`,\n title: setLocale(false,\"analysis.title\"),\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"market-insights\",\n path: `${APP_PREFIX_PATH}/market-insights`,\n title: setLocale(false,\"marketinsights.title\"),\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"week-ahead\",\n path: `${APP_PREFIX_PATH}/week-ahead`,\n title: setLocale(false,\"weekahead.title\"),\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"market-stream\",\n path: `${APP_PREFIX_PATH}/market-stream`,\n title: setLocale(false,\"marketstream.title\"),\n breadcrumb: false,\n submenu: [],\n },\n // {\n // key: \"economic-calendar\",\n // path: `${APP_PREFIX_PATH}/economic-calendar`,\n // title: setLocale(false,\"economiccalendar.title\"),\n // breadcrumb: false,\n // submenu: [],\n // },\n {\n key: \"trade-ideas\",\n path: `${APP_PREFIX_PATH}/trade-ideas`,\n title: setLocale(false,\"tradeideas.title\"),\n breadcrumb: false,\n submenu: [],\n },\n];\n\nconst navigationConfig = [...dashBoardNavTree];\n\nexport default navigationConfig;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Menu, Grid } from \"antd\";\nimport IntlMessage from \"../util-components/IntlMessage\";\nimport Icon from \"../util-components/Icon\";\nimport navigationConfig from \"configs/NavigationConfig\";\nimport { connect } from \"react-redux\";\nimport { SIDE_NAV_LIGHT, NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\n\nconst { SubMenu } = Menu;\nconst { useBreakpoint } = Grid;\n\nconst setLocale = (isLocaleOn, localeKey) =>\n isLocaleOn ? : localeKey.toString();\n\nconst setDefaultOpen = (key) => {\n let keyList = [];\n let keyString = \"\";\n if (key) {\n const arr = key.split(\"-\");\n for (let index = 0; index < arr.length; index++) {\n const elm = arr[index];\n index === 0 ? (keyString = elm) : (keyString = `${keyString}-${elm}`);\n keyList.push(keyString);\n }\n }\n return keyList;\n};\n\nconst SideNavContent = (props) => {\n const {\n sideNavTheme,\n routeInfo,\n hideGroupTitle,\n localization,\n onMobileNavToggle,\n } = props;\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes(\"lg\");\n const closeMobileNav = () => {\n if (isMobile) {\n onMobileNavToggle(false);\n }\n };\n return (\n \n {navigationConfig.map((menu) =>\n menu.submenu.length > 0 ? (\n \n {menu.submenu.map((subMenuFirst) =>\n subMenuFirst.submenu.length > 0 ? (\n \n ) : null\n }\n key={subMenuFirst.key}\n title={setLocale(localization, subMenuFirst.title)}\n >\n {subMenuFirst.submenu.map((subMenuSecond) => (\n \n {subMenuSecond.icon ? (\n \n ) : null}\n \n {setLocale(localization, subMenuSecond.title)}\n \n closeMobileNav()}\n to={subMenuSecond.path}\n />\n \n ))}\n \n ) : (\n \n {subMenuFirst.icon ? : null}\n {setLocale(localization, subMenuFirst.title)}\n closeMobileNav()}\n to={subMenuFirst.path}\n />\n \n )\n )}\n \n ) : (\n \n {menu.icon ? : null}\n {setLocale(localization, menu?.title)}\n {menu.path ? (\n closeMobileNav()} to={menu.path} />\n ) : null}\n \n )\n )}\n \n );\n};\n\nconst TopNavContent = (props) => {\n const { topNavColor, localization } = props;\n return (\n \n {navigationConfig.map((menu) =>\n menu.submenu.length > 0 ? (\n \n {menu.icon ? : null}\n {setLocale(localization, menu.title)}\n \n }\n >\n {menu.submenu.map((subMenuFirst) =>\n subMenuFirst.submenu.length > 0 ? (\n \n ) : null\n }\n title={setLocale(localization, subMenuFirst.title)}\n >\n {subMenuFirst.submenu.map((subMenuSecond) => (\n \n \n {setLocale(localization, subMenuSecond.title)}\n \n \n \n ))}\n \n ) : (\n \n {subMenuFirst.icon ? (\n \n ) : null}\n {setLocale(localization, subMenuFirst.title)}\n \n \n )\n )}\n \n ) : (\n \n {menu.icon ? : null}\n {setLocale(localization, menu?.title)}\n {menu.path ? : null}\n \n )\n )}\n \n );\n};\n\nconst MenuContent = (props) => {\n return props.type === NAV_TYPE_SIDE ? (\n \n ) : (\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { sideNavTheme, topNavColor } = theme;\n return { sideNavTheme, topNavColor };\n};\n\nexport default connect(mapStateToProps, { onMobileNavToggle })(MenuContent);\n","import React from \"react\";\nimport { Layout } from 'antd';\nimport { connect } from 'react-redux';\nimport { SIDE_NAV_WIDTH, SIDE_NAV_DARK, NAV_TYPE_SIDE } from 'constants/ThemeConstant';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport MenuContent from './MenuContent'\n\nconst { Sider } = Layout;\n\nexport const SideNav = ({navCollapsed, sideNavTheme, routeInfo, hideGroupTitle, localization = true }) => {\n const props = { sideNavTheme, routeInfo , hideGroupTitle, localization}\n return (\n \n \n \n \n \n )\n}\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, sideNavTheme } = theme;\n return { navCollapsed, sideNavTheme }\n};\n\nexport default connect(mapStateToProps)(SideNav);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { NAV_TYPE_TOP } from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport MenuContent from \"./MenuContent\";\n\nexport const TopNav = ({ topNavColor, localization = true }) => {\n const props = { topNavColor, localization };\n return (\n \n
\n \n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { topNavColor } = theme;\n return { topNavColor };\n};\n\nexport default connect(mapStateToProps)(TopNav);\n","import React from 'react';\nimport { Spin } from 'antd';\nimport PropTypes from 'prop-types'\nimport { LoadingOutlined } from '@ant-design/icons';\n\nconst Icon = \n\nconst Loading = (props) => {\n\tconst { align, cover } = props\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n}\n\nLoading.propTypes = {\n\tsize: PropTypes.string,\n\tcover: PropTypes.string\n}\n\nLoading.defaultProps = {\n\talign: 'center',\n\tcover: 'inline'\n};\n\nexport default Loading","import React from \"react\";\nimport {\n SIDE_NAV_WIDTH,\n SIDE_NAV_COLLAPSED_WIDTH,\n NAV_TYPE_TOP,\n} from \"constants/ThemeConstant\";\nimport { APP_NAME } from \"configs/AppConfig\";\nimport { connect } from \"react-redux\";\nimport utils from \"utils\";\nimport { Grid } from \"antd\";\n\nconst { useBreakpoint } = Grid;\n\nconst getLogoWidthGutter = (props, isMobile) => {\n const { navCollapsed, navType } = props;\n const isNavTop = navType === NAV_TYPE_TOP ? true : false;\n if (isMobile && !props.mobileLogo) {\n return 0;\n }\n if (isNavTop) {\n return \"auto\";\n }\n if (navCollapsed) {\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`;\n } else {\n return `${SIDE_NAV_WIDTH}px`;\n }\n};\n\nconst getLogo = (props) => {\n const { navCollapsed, logoType } = props;\n if (logoType === \"light\") {\n if (navCollapsed) {\n return \"/img/logo-sm-white.png\";\n }\n return \"/img/logo.svg\";\n }\n\n if (navCollapsed) {\n return \"/img/logo-sm.png\";\n }\n return \"/img/logo.svg\";\n};\n\nconst getLogoDisplay = (isMobile, mobileLogo) => {\n if (isMobile && !mobileLogo) {\n return \"d-none\";\n } else {\n return \"logo\";\n }\n};\n\nexport const Logo = (props) => {\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes(\"lg\");\n return (\n \n {\n {`${APP_NAME}\n } \n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, navType } = theme;\n return { navCollapsed, navType };\n};\n\nexport default connect(mapStateToProps)(Logo);\n","import React from \"react\";\nimport { Drawer } from \"antd\";\nimport { connect } from \"react-redux\";\nimport { NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport MenuContent from \"./MenuContent\";\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\nimport Logo from \"./Logo\";\nimport Flex from \"components/shared-components/Flex\";\nimport { ArrowLeftOutlined } from \"@ant-design/icons\";\n\nexport const MobileNav = ({\n sideNavTheme,\n mobileNav,\n onMobileNavToggle,\n routeInfo,\n hideGroupTitle,\n localization = true,\n}) => {\n const props = { sideNavTheme, routeInfo, hideGroupTitle, localization };\n\n const onClose = () => {\n onMobileNavToggle(false);\n };\n\n return (\n \n \n \n \n
onClose()}>\n \n
\n
\n
\n \n \n \n
\n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, sideNavTheme, mobileNav } = theme;\n return { navCollapsed, sideNavTheme, mobileNav };\n};\n\nexport default connect(mapStateToProps, { onMobileNavToggle })(MobileNav);\n","import React, { useEffect } from \"react\";\nimport { Menu, Dropdown, Avatar } from \"antd\";\nimport { connect } from \"react-redux\";\nimport { EditOutlined, LogoutOutlined} from \"@ant-design/icons\";\nimport Icon from \"components/util-components/Icon\";\nimport { setUserInfo, signOut } from \"redux/actions/Auth\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getUserProfile } from \"constants/ApiConstant\";\nimport { useHistory } from \"react-router\";\nimport { AUTH_PREFIX_PATH, API_BASE_URL } from \"configs/AppConfig\";\nimport moment from 'moment';\nimport setLocale from \"constants/Translate\";\n\nconst menuItem = [\n {\n title: setLocale(true,\"nav.profile.edit\"),\n icon: EditOutlined,\n path: \"/profile\",\n }\n];\n\nexport const NavProfile = ({ signOut }) => {\n const history = useHistory();\n const dispatch = useDispatch();\n const userInfo = useSelector((state) => state.auth.userInfo);\n\n const profileMenu = (\n
\n
\n
\n {userInfo.fullName?.charAt(0)}\n
\n
{userInfo?.fullName}
\n {userInfo.subscription ? \n {setLocale(true,\"nav.profile.membership.text\")}

{moment(userInfo.subscriptionExpiry).format(\"MMM-DD, YYYY\")}
: \n {setLocale(true,\"nav.profile.membership.description.part1\")}

{setLocale(true,\"nav.profile.membership.description.part2\")}
}\n
\n
\n
\n
\n \n {menuItem.map((el, i) => {\n return (\n \n \n \n {el.title}\n \n \n );\n })}\n {\n signOut();\n history.push(`${AUTH_PREFIX_PATH}/login`);\n }}\n >\n \n \n {setLocale(true,\"nav.profile.signout\")}\n \n \n \n
\n
\n );\n\n useEffect(() => {\n getUserProfile().then((res) => {\n if (res.status === 200) {\n dispatch(setUserInfo(res.data));\n }\n });\n }, [dispatch]);\n return (\n \n \n \n {userInfo.fullName?.charAt(0)}\n \n \n \n );\n};\n\nexport default connect(null, { signOut })(NavProfile);\n","export const COLOR_SETNIMENT_1 = '#007700'; // POWER 1\nexport const COLOR_SETNIMENT_2 = '#00B000'; // POWER 2\nexport const COLOR_SETNIMENT_3 = '#30F930'; // POWER 3\nexport const COLOR_SETNIMENT_4 = '#FF3232'; // POWER -3\nexport const COLOR_SETNIMENT_5 = '#DC0000'; // POWER -2\nexport const COLOR_SETNIMENT_6 = '#950000'; // POWER -1\nexport const COLOR_SETNIMENT_7 = '#FAFF32'; // POWER 0\n\nexport const COLOR_BAR_1 = '#eb0000'; // the most negative\nexport const COLOR_BAR_2 = '#cf0202';\nexport const COLOR_BAR_3 = '#b50000';\nexport const COLOR_BAR_4 = '#970101';\nexport const COLOR_BAR_5 = '#720101';\nexport const COLOR_BAR_6 = '#5c0101';\nexport const COLOR_BAR_7 = '#3e0101';\nexport const COLOR_BAR_8 = '#090000'; // USD chagne zero %\nexport const COLOR_BAR_9 = '#0a3e01';\nexport const COLOR_BAR_10 = '#0c5200';\nexport const COLOR_BAR_11 = '#106a00';\nexport const COLOR_BAR_12 = '#158502';\nexport const COLOR_BAR_13 = '#18a101';\nexport const COLOR_BAR_14 = '#1cc101';\nexport const COLOR_BAR_15 = '#27F307'; // the most positive\n\n\nexport const COLOR_1 = '#3e82f7'; // blue\nexport const COLOR_2 = '#04d182'; // cyan\nexport const COLOR_3 = '#ff6b72'; // volcano\nexport const COLOR_4 = '#ffc107'; // gold\nexport const COLOR_5 = '#a461d8'; // purple\nexport const COLOR_6 = '#fa8c16'; // orange\nexport const COLOR_7 = '#17bcff'; // geekblue\nexport const COLOR_8 = '#939393'; // gray\n\nexport const COLOR_1_LIGHT = 'rgba(62, 130, 247, 0.15)';\nexport const COLOR_2_LIGHT = 'rgba(4, 209, 130, 0.1)';\nexport const COLOR_3_LIGHT = 'rgba(222, 68, 54, 0.1)';\nexport const COLOR_4_LIGHT = 'rgba(255, 193, 7, 0.1)';\nexport const COLOR_5_LIGHT = 'rgba(139, 75, 157, 0.1)';\nexport const COLOR_6_LIGHT = 'rgba(250, 140, 22, .1)';\nexport const COLOR_7_LIGHT = 'rgba(23, 188, 255, 0.15)';\n\nexport const COLORS = [\n\tCOLOR_1,\n\tCOLOR_2,\n\tCOLOR_3,\n\tCOLOR_4,\n\tCOLOR_5,\n\tCOLOR_6,\n\tCOLOR_7\n]\n\nexport const COLORS_LIGHT = [\n\tCOLOR_1_LIGHT,\n\tCOLOR_2_LIGHT,\n\tCOLOR_3_LIGHT,\n\tCOLOR_4_LIGHT,\n\tCOLOR_5_LIGHT,\n\tCOLOR_6_LIGHT,\n\tCOLOR_7_LIGHT\n]\n\nexport const COLOR_AXES = '#edf2f9';\nexport const COLOR_TEXT = '#455560';\n\nexport const apexLineChartDefaultOption = {\n\tchart: {\n\t\tzoom: {\n\t\t\tenabled: false\n\t\t},\n\t\ttoolbar: {\n\t\t\tshow: false\n\t\t}\n\t},\n\tcolors: [...COLORS],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tstroke: {\n\t\twidth: 3,\n\t\tcurve: 'smooth',\n\t\tlineCap: 'round'\n\t},\n\tlegend: {\n\t\tposition: 'top',\n\t\thorizontalAlign: 'right',\n\t\toffsetY: -15,\n\t\titemMargin: {\n\t\t\tvertical: 20\n\t\t},\n\t\ttooltipHoverFormatter: function(val, opts) {\n\t\t\treturn val + ' - ' + opts.w.globals.series[opts.seriesIndex][opts.dataPointIndex] + ''\n\t\t}\n\t},\n\txaxis: {\n\t\tcategories: [],\n\t},\n\tgrid: {\n\t\txaxis: {\n\t\t\tlines: {\n\t\t\t\tshow: true,\n\t\t\t}\n\t\t},\n\t\t yaxis: {\n\t\t\tlines: {\n\t\t\t show: false,\n\t\t\t}\n\t\t},\n\t}\n}\n\nexport const apexAreaChartDefaultOption = {...apexLineChartDefaultOption}\n\nexport const apexBarChartDefaultOption = {\n\tchart: {\n\t\tzoom: {\n\t\t\tenabled: false\n\t\t},\n\t\ttoolbar: {\n\t\t\tshow: false\n\t\t}\n\t},\n\tplotOptions: {\n\t\tbar: {\n\t\t\thorizontal: false,\n\t\t\tcolumnWidth: '25px',\n\t\t\tstartingShapre: 'rounded',\n\t\t\tendingShape: 'rounded'\n\t\t},\n\t},\n\tcolors: [...COLORS],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tstroke: {\n\t\tshow: true,\n\t\twidth: 6,\n\t\tcurve: 'smooth',\n\t\tcolors: ['transparent']\n\t},\n\tlegend: {\n\t\tposition: 'top',\n\t\thorizontalAlign: 'right',\n\t\toffsetY: -15,\n\t\tinverseOrder: true,\n\t\titemMargin: {\n\t\t\tvertical: 20\n\t\t},\n\t\ttooltipHoverFormatter: function(val, opts) {\n\t\t\treturn val + ' - ' + opts.w.globals.series[opts.seriesIndex][opts.dataPointIndex] + ''\n\t\t}\n\t},\n\txaxis: {\n\t\tcategories: [],\n\t},\n\tfill: {\n\t\topacity: 1\n\t},\n\ttooltip: {\n\t\ty: {\n\t\t\tformatter: val => (`${val}`)\n\t\t}\n\t}\n}\n\nexport const apexPieChartDefaultOption = {\n\tcolors: [...COLORS],\n\tplotOptions: {\n\t\tpie: {\n\t\t\tsize: 50,\n\t\t donut: {\n\t\t\t\tlabels: {\n\t\t\t\t\tshow: true,\n\t\t\t\t\ttotal: {\n\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\tshowAlways: true,\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tfontSize: '18px',\n\t\t\t\t\t\tfontFamily: 'Roboto',\n\t\t\t\t\t\tfontWeight: 'bold',\n\t\t\t\t\t\tcolor: '#1a3353',\n\t\t\t\t\t\tformatter: function (w) {\n\t\t\t\t\t\t\treturn w.globals.seriesTotals.reduce((a, b) => {\n\t\t\t\t\t\t\t\treturn a + b\n\t\t\t\t\t\t\t}, 0)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsize: '87%'\n\t\t }\n\t\t}\n\t},\n\tlabels: [],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tlegend: {\n\t\tshow: false\n\t}\n}\n\nexport const apexSparklineChartDefultOption = {\n\tchart: {\n\t\ttype: 'line',\n\t\tsparkline: {\n\t\t\tenabled: true\n\t\t}\n\t},\n\tstroke: {\n\t\twidth: 2,\n\t\tcurve: 'smooth'\n\t},\n\ttooltip: {\n\t\tfixed: {\n\t\t \tenabled: false\n\t\t},\n\t\tx: {\n\t\t \tshow: false\n\t\t},\n\t\ty: {\n\t\t\ttitle: {\n\t\t\t\tformatter: function (seriesName) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmarker: {\n\t\t show: false\n\t\t}\n\t}\n}","import React, { useEffect, useState } from \"react\";\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend,\n} from 'chart.js';\nimport {Bar} from 'react-chartjs-2';\nimport { \n COLOR_SETNIMENT_1, COLOR_SETNIMENT_2, COLOR_SETNIMENT_3,\n COLOR_SETNIMENT_4, COLOR_SETNIMENT_5, COLOR_SETNIMENT_6,\n COLOR_SETNIMENT_7,\n} from \"constants/ChartConstant\";\n \n\nChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend\n);\n\nconst SentimentBarChart = ({ data }) => {\n const [categories, setCategories] = useState([]);\n const [power, setPower] = useState([]);\n const [fillColors, setFillColors] = useState([]);\n\n useEffect(() => {\n if (data) {\n const newCat = [];\n const newPow = [];\n const newColor = [];\n data.map(({ currency, power }) => {\n newCat.push(currency);\n newPow.push(power);\n \n if (power === 1) {newColor.push(COLOR_SETNIMENT_1);}\n else if (power === 2) {newColor.push(COLOR_SETNIMENT_2);}\n else if (power === 3) {newColor.push(COLOR_SETNIMENT_3);}\n else if (power === -3) {newColor.push(COLOR_SETNIMENT_4);}\n else if (power === -2) {newColor.push(COLOR_SETNIMENT_5);}\n else if (power === -1) {newColor.push(COLOR_SETNIMENT_6);}\n else {newColor.push(COLOR_SETNIMENT_7);}\n });\n\n setCategories(newCat);\n setPower(newPow);\n setFillColors(newColor);\n }\n }, [data]);\n\n const chartData = {\n labels: categories,\n datasets: [\n {\n data: power,\n backgroundColor: fillColors,\n minBarLength: 50,\n datalabels: {\n display: false,\n }\n }\n ],\n };\n\n\n const chartOptions = {\n indexAxis: 'y',\n responsive: true,\n plugins:{\n tooltip:{\n enabled: false,\n },\n legend: {\n display: false,\n },\n },\n scales: {\n xAxis: {\n min: -3,\n max: 3,\n ticks: {\n color: '#fcfcfc',\n callback: function(label, index, labels) {\n switch (label) {\n case 1:\n return 'Weak Bullish';\n case 2:\n return 'Bullish';\n case 3:\n return 'Strong Bullish';\n case -1:\n return 'Weak Bearish';\n case -2:\n return 'Bearish';\n case -3:\n return 'Strong Bearish';\n case 0:\n return 'Neutral'; \n }\n }\n }\n },\n yAxis: {\n ticks: {\n color: '#fcfcfc',\n }\n }\n }\n };\n\n\n return (\n \n );\n};\n\nexport default SentimentBarChart;\n","import React, { useEffect, useState } from \"react\";\nimport { SlidersOutlined } from \"@ant-design/icons\";\nimport Modal from \"antd/lib/modal/Modal\";\nimport SentimentBarChart from \"./SentimentBarChart\";\nimport { getSentimentAndRelative } from \"constants/ApiConstant\";\nimport { Menu, Tooltip } from \"antd\";\nimport setLocale from \"constants/Translate\";\n\nconst Sentiment = () => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [sentimentData, setSentimentData] = useState([]);\n\n const showModal = () => {\n setIsModalVisible(true);\n };\n\n const handleOk = () => {\n setIsModalVisible(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n getSentimentAndRelative().then((res) => {\n if (res.status === 200) {\n setSentimentData(res.data);\n }\n });\n return () => {\n setSentimentData([]);\n };\n }, [isModalVisible]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Sentiment;\n","import React, { useEffect, useState } from \"react\";\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend,\n} from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport {Bar} from 'react-chartjs-2';\nimport { \n COLOR_BAR_1, COLOR_BAR_2, COLOR_BAR_3, COLOR_BAR_4, COLOR_BAR_5,\n COLOR_BAR_6, COLOR_BAR_7, COLOR_BAR_8, COLOR_BAR_9, COLOR_BAR_10,\n COLOR_BAR_11, COLOR_BAR_12, COLOR_BAR_13, COLOR_BAR_14, COLOR_BAR_15,\n} from 'constants/ChartConstant';\n\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend,\n ChartDataLabels\n);\n\nconst CurrnecyBarChart = ({ data }) => {\n const [categories, setCategories] = useState([]);\n const [currencyChange, setCurrencyChange] = useState([]);\n const [fillColorsStack, setFillColors] = useState([]);\n const [scaleRange, setScaleRange] = useState();\n const preDefinedColors = [COLOR_BAR_1, COLOR_BAR_2, COLOR_BAR_3, COLOR_BAR_4, COLOR_BAR_5, COLOR_BAR_6, COLOR_BAR_7, COLOR_BAR_8, COLOR_BAR_9, COLOR_BAR_10, COLOR_BAR_11, COLOR_BAR_12, COLOR_BAR_13, COLOR_BAR_14, COLOR_BAR_15];\n \nuseEffect(() => {\n if (data) {\n const newCat = [];\n const newCurrencyChange = [];\n const newColor = [];\n \n data.map(({ currency, currencyChange }) => {\n newCat.push(currency);\n newCurrencyChange.push(Number(currencyChange.replace(\"%\",\"\")));\n });\n \n const posNums = newCurrencyChange.filter(item => item > 0).length;\n for (var i = 8 - (8 - posNums); i < 8 + posNums ; i++) {newColor.push(preDefinedColors[i]);}\n \n setScaleRange(Math.max(Math.max(...newCurrencyChange),Math.abs(Math.min(...newCurrencyChange))));\n setCategories(newCat);\n setCurrencyChange(newCurrencyChange);\n setFillColors(newColor);\n }\n }, [data]);\n\n\n const chartData = {\n labels: categories,\n datasets: [\n {\n data: [0,0,0,0,0,0,0,0],\n backgroundColor: fillColorsStack,\n minBarLength: 25,\n datalabels: {\n color: '#fcfcfc',\n formatter: function(value, context) {\n return context.chart.data.labels[context.dataIndex];\n }\n }\n },\n {\n data: currencyChange,\n backgroundColor: fillColorsStack,\n datalabels: {\n color: '#fcfcfc',\n anchor: 'end',\n align: 'end',\n offset: 15,\n formatter: function(value) {\n return value + '%';\n }\n }\n }\n ],\n };\n\n const chartOptions = {\n plugins: [ChartDataLabels],\n responsive: true,\n plugins:{\n tooltip: {\n enabled: false,\n },\n legend: {\n display: false,\n },\n },\n scales: {\n xAxis: {\n categories: categories,\n stacked: true,\n ticks: {\n color: '#fcfcfc',\n }\n },\n yAxis: {\n min: -1 * Math.ceil(scaleRange),\n max: Math.ceil(scaleRange),\n stacked: true,\n ticks: {\n color: '#fcfcfc',\n }\n }\n }\n };\n\n\n return (\n \n );\n};\n\nexport default CurrnecyBarChart;\n","import React, { useEffect, useState } from \"react\";\nimport { SwapOutlined } from \"@ant-design/icons\";\nimport Modal from \"antd/lib/modal/Modal\";\nimport { getSentimentAndRelative } from \"constants/ApiConstant\";\nimport CurrnecyBarChart from \"./CurrencyBarChart\";\nimport { Menu, Tooltip } from \"antd\";\nimport moment from \"moment\";\nimport { convertTimeZone } from \"constants/CategorizeData\";\nimport setLocale, {setLocaleJS} from \"constants/Translate\";\nimport {LANG} from \"redux/constants/Auth\";\n\nconst CurrencyRelative = () => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [relativeData, setRelativeData] = useState([]);\n const [titleText, setTitleText] = useState();\n\n const showModal = () => {\n setIsModalVisible(true);\n };\n\n const handleOk = () => {\n setIsModalVisible(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n getSentimentAndRelative().then((res) => {\n if (res.status === 200) {\n res.data.sort((a,b) => \n (Number(a.currencyChange.replace(\"%\",\"\")) < Number(b.currencyChange.replace(\"%\",\"\"))) ?\n 1 : (Number(a.currencyChange.replace(\"%\",\"\")) === Number(b.currencyChange.replace(\"%\",\"\"))) ? 1 : -1 ).reverse();\n setRelativeData(res.data);\n setTitleText(setLocaleJS(localStorage.getItem(LANG), \"performance.chart.title\") + moment(convertTimeZone(res.data[1].updatedAt)).format(\"YYYY-MM-DD, HH:mm\"));\n }\n });\n return () => {\n setRelativeData([]);\n };\n }, [isModalVisible]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default CurrencyRelative;\n","import React, { useEffect, useState } from \"react\";\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n LineElement,\n PointElement,\n Title,\n Tooltip,\n Legend,\n} from 'chart.js';\nimport {Line} from 'react-chartjs-2';\nimport {\n COLOR_1,\n COLOR_2,\n COLOR_3,\n COLOR_4,\n COLOR_5,\n COLOR_6,\n COLOR_7,\n COLOR_8,\n } from \"constants/ChartConstant\";\n import moment from 'moment';\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n LineElement,\n PointElement,\n Title,\n Tooltip,\n Legend\n);\n\nconst CurrencyLineChart = ({ data }) => {\n const [series, setSeries] = useState([]);\n const [priceTime, setPriceTime] = useState([]);\n const [scaleRange, setScaleRange] = useState();\n \n\n useEffect(() => {\n if (data.rateData) {\n\n const newTime = [];\n var today = new Date();\n var yesterday = new Date(today)\n yesterday.setDate(yesterday.getDate() - 1)\n const dateShow = (data.dayReq === 'today') ? moment(today).format(\"MMM DD\") : moment(yesterday).format(\"MMM DD\")\n data.rateData.map(({time}) => {newTime.push(`${dateShow}, ${time}`)});\n const uniqueTimes = Array.from(new Set(newTime));\n \n const seriesArray = [];\n const EUR = data.rateData.filter((c) => c.symbol === \"EUR\");\n const EURDATA = { label: \"EUR\", borderColor: COLOR_1, backgroundColor: COLOR_1, data: EUR.map((c) => c.rate), datalabels: {display: false}, };\n const USD = data.rateData.filter((c) => c.symbol === \"USD\");\n const USDDATA = { label: \"USD\", borderColor: COLOR_2, backgroundColor: COLOR_2, data: USD.map((c) => c.rate), datalabels: {display: false}, };\n const CHF = data.rateData.filter((c) => c.symbol === \"CHF\");\n const CHFDATA = { label: \"CHF\", borderColor: COLOR_3, backgroundColor: COLOR_3, data: CHF.map((c) => c.rate), datalabels: {display: false}, };\n const GBP = data.rateData.filter((c) => c.symbol === \"GBP\");\n const GBPDATA = { label: \"GBP\", borderColor: COLOR_4, backgroundColor: COLOR_4, data: GBP.map((c) => c.rate), datalabels: {display: false}, };\n const AUD = data.rateData.filter((c) => c.symbol === \"AUD\");\n const AUDDATA = { label: \"AUD\", borderColor: COLOR_5, backgroundColor: COLOR_5, data: AUD.map((c) => c.rate), datalabels: {display: false}, };\n const CAD = data.rateData.filter((c) => c.symbol === \"CAD\");\n const CADDATA = { label: \"CAD\", borderColor: COLOR_6, backgroundColor: COLOR_6, data: CAD.map((c) => c.rate), datalabels: {display: false}, };\n const NZD = data.rateData.filter((c) => c.symbol === \"NZD\");\n const NZDDATA = { label: \"NZD\", borderColor: COLOR_7, backgroundColor: COLOR_7, data: NZD.map((c) => c.rate), datalabels: {display: false}, };\n const JPY = data.rateData.filter((c) => c.symbol === \"JPY\");\n const JPYDATA = { label: \"JPY\", borderColor: COLOR_8, backgroundColor: COLOR_8, data: JPY.map((c) => c.rate), datalabels: {display: false}, };\n seriesArray.push(\n EURDATA,\n USDDATA,\n CHFDATA,\n GBPDATA,\n AUDDATA,\n CADDATA,\n NZDDATA,\n JPYDATA\n );\n \n const maxVals = [];\n const minVals = [];\n seriesArray.map(\n (item) => {\n item.tension = 0.1;\n item.borderWidth = 1;\n maxVals.push(Math.max(...item.data));\n minVals.push(Math.min(...item.data))\n }\n );\n \n setScaleRange(Math.max(Math.max(...maxVals),Math.abs(Math.min(...minVals))))\n setSeries(seriesArray);\n setPriceTime(uniqueTimes);\n }\n }, [data]);\n\n const chartData = {\n labels: priceTime,\n datasets: series,\n };\n\n const chartOptions = {\n responsive: true,\n elements: {\n point:{\n radius: 0\n }\n },\n interaction: {\n mode: 'index',\n intersect: false,\n },\n plugins: {\n legend: {\n position: 'right',\n labels: {\n color: '#fcfcfc',\n }\n }\n },\n scales: {\n xAxis: {\n ticks: {\n color: '#fcfcfc',\n callback: function(value, index) {\n return this.getLabelForValue(index).substring(8)}\n }\n },\n yAxis: {\n min: -1 * Math.ceil(Math.ceil(scaleRange)/10) * 10,\n max: Math.ceil(Math.ceil(scaleRange)/10) * 10,\n ticks: {\n color: '#fcfcfc',\n }\n }\n }\n };\n\n return (\n \n );\n};\n\nexport default CurrencyLineChart;\n","import React, { useEffect, useState } from \"react\";\nimport { RadarChartOutlined } from \"@ant-design/icons\";\nimport Modal from \"antd/lib/modal/Modal\";\nimport { getCurrencyStrength } from \"constants/ApiConstant\";\nimport CurrencyLineChart from \"./CurrencyLineChart\";\nimport { Button, Menu, Tooltip } from \"antd\";\nimport setLocale from \"constants/Translate\";\n\nconst CurrencyStrength = () => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [currencyStrengthData, setCurrencyStrengthData] = useState([]);\n\n const showModal = () => {\n setIsModalVisible(true);\n };\n\n const handleOk = () => {\n setIsModalVisible(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n\n const updateChartData = (dayReq) => {\n getCurrencyStrength(dayReq).then((res) => {\n if (res.status === 200) {\n const data = {dayReq: dayReq, rateData: res.data} \n setCurrencyStrengthData(data);\n }\n });\n }\n \n return (\n <>\n \n {const dayReq = \"today\";showModal();updateChartData(dayReq);}}>\n \n \n \n \n \n \n \n \n \n
\n \n \n );\n};\n\nexport default CurrencyStrength;\n","import React from \"react\";\nimport { Table, Tag } from \"antd\";\nimport moment from \"moment\";\nimport {\n ArrowUpOutlined,\n ArrowDownOutlined,\n MinusOutlined,\n} from \"@ant-design/icons\";\nimport { API_BASE_URL } from \"configs/AppConfig\";\nimport setLocale from \"constants/Translate\";\n\nconst RatesTable = ({ data }) => {\n const columns = [\n {\n title: setLocale(true, \"interestrate.table.bankname\"),\n dataIndex: \"bankName\",\n },\n {\n title: setLocale(true, \"interestrate.table.currency\"),\n align: \"center\",\n dataIndex: \"currency\",\n },\n {\n title: setLocale(true, \"interestrate.table.country\"),\n align: \"center\",\n dataIndex: \"flag\",\n render: (text, record) => {\n return (\n \"\"\n );\n },\n },\n {\n title: setLocale(true, \"interestrate.table.interestrate\"),\n align: \"center\",\n dataIndex: \"interestRate\",\n },\n {\n title: setLocale(true, \"interestrate.table.nextmeeting\"),\n align: \"center\",\n dataIndex: \"nextMeeting\",\n render: (text, record) => {\n return moment(text).format(\"YYYY-MM-DD\");\n },\n },\n {\n title: setLocale(true, \"interestrate.table.forecast\"),\n align: \"center\",\n dataIndex: \"forecast\",\n render: (text, record) => {\n let result;\n if (text > 0) {\n result = {text} bps;\n } else if (text < 0) {\n result = {text} bps;\n } else {\n result = {text} bps;\n }\n return result;\n },\n },\n {\n title: \"\",\n dataIndex: \"interestRate\",\n render: (text, record) => {\n let result;\n if (record.forecast > 0) {\n result = ;\n } else if (record.forecast < 0) {\n result = ;\n } else {\n result = ;\n }\n\n return result;\n },\n },\n {\n title: setLocale(true, \"interestrate.table.probchange\"),\n dataIndex: \"probabilityOfChange\",\n align: \"center\",\n render: (text, record) => {\n return `${text}%`;\n },\n },\n {\n title: setLocale(true, \"interestrate.table.probnochange\"),\n dataIndex: \"probabilityOfNotChange\",\n align: \"center\",\n render: (text, record) => {\n return `${text}%`;\n },\n },\n ];\n const dataSource = data;\n\n return (\n
\n \n
\n );\n};\n\nexport default RatesTable;\n","import React, { useEffect, useState } from \"react\";\nimport { RocketOutlined } from \"@ant-design/icons\";\nimport Modal from \"antd/lib/modal/Modal\";\nimport { getInterestRates } from \"constants/ApiConstant\";\nimport RatesTable from \"./RatesTable\";\nimport { Menu, Tooltip } from \"antd\";\nimport setLocale from \"constants/Translate\";\n\nconst InterestRates = () => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [interestRatesData, setInterestRatesData] = useState([]);\n\n const showModal = () => {\n setIsModalVisible(true);\n };\n\n const handleOk = () => {\n setIsModalVisible(false);\n };\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n\n useEffect(() => {\n const rows = [];\n\n getInterestRates().then((res) => {\n if (res.status === 200) {\n res.data?.map(\n (\n {\n bankName,\n currency,\n interestRate,\n nextMeeting,\n probabilityOfChange,\n probabilityOfNotChange,\n forecast,\n flag,\n },\n index\n ) => {\n return rows.push({\n key: index,\n bankName,\n currency,\n interestRate,\n nextMeeting,\n probabilityOfChange,\n probabilityOfNotChange,\n forecast,\n flag,\n });\n }\n );\n setInterestRatesData(rows);\n }\n });\n return () => {\n setInterestRatesData([]);\n };\n }, [isModalVisible]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default InterestRates;\n","import React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Layout } from \"antd\";\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons\";\nimport Logo from \"./Logo\";\nimport NavProfile from \"./NavProfile\";\nimport NavLanguage from \"./NavLanguage\";\nimport { toggleCollapsedNav, onMobileNavToggle } from \"redux/actions/Theme\";\nimport {\n NAV_TYPE_TOP,\n SIDE_NAV_COLLAPSED_WIDTH,\n SIDE_NAV_WIDTH,\n} from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport Sentiment from \"../../views/app-views/sentiment/Sentiment\";\nimport CurrencyRelative from \"../../views/app-views/currencyRelative/CurrencyRelative\";\nimport CurrencyStrengthChart from \"../../views/app-views/currencyStrength/CurrencyStrength\";\nimport InterestRates from \"../../views/app-views/interestRates/InterestRates\";\nimport { NotificationMenu } from \"../../views/app-views/profile/NotificationSettings\";\n\nconst { Header } = Layout;\n\nexport const HeaderNav = (props) => {\n const {\n navCollapsed,\n mobileNav,\n navType,\n headerNavColor,\n toggleCollapsedNav,\n onMobileNavToggle,\n isMobile,\n currentTheme,\n } = props;\n\n const onToggle = () => {\n if (!isMobile) {\n toggleCollapsedNav(!navCollapsed);\n } else {\n onMobileNavToggle(!mobileNav);\n }\n };\n\n const isNavTop = navType === NAV_TYPE_TOP ? true : false;\n const mode = () => {\n if (!headerNavColor) {\n return utils.getColorContrast(\n currentTheme === \"dark\" ? \"#00000\" : \"#ffffff\"\n );\n }\n return utils.getColorContrast(headerNavColor);\n };\n const navMode = mode();\n const getNavWidth = () => {\n if (isNavTop || isMobile) {\n return \"0px\";\n }\n if (navCollapsed) {\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`;\n } else {\n return `${SIDE_NAV_WIDTH}px`;\n }\n };\n\n\n return (\n \n
\n \n
\n
\n
    \n {isNavTop && !isMobile ? null : (\n {\n onToggle();\n }}\n >\n {navCollapsed || isMobile ? (\n \n ) : (\n \n )}\n \n )}\n
\n
\n
\n {/* */}\n \n \n \n \n \n \n \n
\n {/* */}\n
\n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const {\n navCollapsed,\n navType,\n headerNavColor,\n mobileNav,\n currentTheme,\n direction,\n } = theme;\n return {\n navCollapsed,\n navType,\n headerNavColor,\n mobileNav,\n currentTheme,\n direction,\n };\n};\n\nexport default connect(mapStateToProps, {\n toggleCollapsedNav,\n onMobileNavToggle,\n})(HeaderNav);\n","import React, { Component } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { Breadcrumb } from 'antd';\nimport navigationConfig from \"configs/NavigationConfig\";\nimport IntlMessage from 'components/util-components/IntlMessage';\n\nlet breadcrumbData = { \n\t'/app' : \n};\n\nnavigationConfig.forEach((elm, i) => {\n\tconst assignBreadcrumb = (obj) => breadcrumbData[obj.path] = ;\n\tassignBreadcrumb(elm);\n\tif (elm.submenu) {\n\t\telm.submenu.forEach( elm => {\n\t\t\tassignBreadcrumb(elm)\n\t\t\tif(elm.submenu) {\n\t\t\t\telm.submenu.forEach( elm => {\n\t\t\t\t\tassignBreadcrumb(elm)\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n})\n\nconst BreadcrumbRoute = withRouter(props => {\n\tconst { location } = props;\n\tconst pathSnippets = location.pathname.split('/').filter(i => i);\n\tconst buildBreadcrumb = pathSnippets.map((_, index) => {\n const url = `/${pathSnippets.slice(0, index + 1).join('/')}`;\n return (\n \n {breadcrumbData[url]}\n \n );\n\t});\n \n return (\n\t\t\n\t\t\t{buildBreadcrumb}\n\t\t\n );\n});\n\nexport class AppBreadcrumb extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default AppBreadcrumb\n","import React from 'react'\nimport AppBreadcrumb from 'components/layout-components/AppBreadcrumb';\nimport IntlMessage from '../util-components/IntlMessage';\n\nexport const PageHeader = ({ title, display }) => {\n\treturn (\n\t\tdisplay ? (\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t

\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t\t: null\n\t)\n}\n\nexport default PageHeader","import React from \"react\";\nimport { APP_NAME } from \"configs/AppConfig\";\nconst style = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"4rem\",\n background: \"#383838\",\n color: \"#fff\",\n};\nexport default function Footer() {\n return (\n
\n \n Copyright © {`${new Date().getFullYear()}`}{\" \"}\n {`${APP_NAME}`} All rights\n reserved.\n \n
\n );\n}\n","import React, { lazy, Suspense } from \"react\";\nimport { Switch, Route, Redirect } from \"react-router-dom\";\nimport Loading from \"components/shared-components/Loading\";\nimport { APP_PREFIX_PATH } from \"configs/AppConfig\";\n\nexport const AppViews = () => {\n return (\n }>\n \n import(`./home`))}\n />\n import(`./analysis`))}\n />\n import(`./marketInsights`))}\n />\n import(`./weekAhead`))}\n />\n import(`./marketStream`))}\n />\n import(`./economicCalendar`))}\n />\n import(`./tradeIdeas`))}\n />\n import(`./profile`))}\n />\n \n \n \n );\n};\n\nexport default React.memo(AppViews);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport SideNav from 'components/layout-components/SideNav';\nimport TopNav from 'components/layout-components/TopNav';\nimport Loading from 'components/shared-components/Loading';\nimport MobileNav from 'components/layout-components/MobileNav'\nimport HeaderNav from 'components/layout-components/HeaderNav';\nimport PageHeader from 'components/layout-components/PageHeader';\nimport Footer from 'components/layout-components/Footer';\nimport AppViews from 'views/app-views';\nimport {\n Layout,\n Grid,\n} from \"antd\";\n\nimport navigationConfig from \"configs/NavigationConfig\";\nimport { \n SIDE_NAV_WIDTH, \n SIDE_NAV_COLLAPSED_WIDTH,\n NAV_TYPE_SIDE,\n NAV_TYPE_TOP,\n DIR_RTL,\n DIR_LTR\n} from 'constants/ThemeConstant';\nimport utils from 'utils';\nimport { useThemeSwitcher } from \"react-css-theme-switcher\";\n\nconst { Content } = Layout;\nconst { useBreakpoint } = Grid;\n\nexport const AppLayout = ({ navCollapsed, navType, location, direction }) => {\n const currentRouteInfo = utils.getRouteInfo(navigationConfig, location.pathname)\n const screens = utils.getBreakPoint(useBreakpoint());\n const isMobile = !screens.includes('lg')\n const isNavSide = navType === NAV_TYPE_SIDE\n const isNavTop = navType === NAV_TYPE_TOP\n const getLayoutGutter = () => {\n if(isNavTop || isMobile) {\n return 0\n }\n return navCollapsed ? SIDE_NAV_COLLAPSED_WIDTH : SIDE_NAV_WIDTH\n }\n\n const { status } = useThemeSwitcher();\n\n if (status === 'loading') {\n return ;\n }\n\n const getLayoutDirectionGutter = () => {\n if(direction === DIR_LTR) {\n return {paddingLeft: getLayoutGutter()}\n } \n if(direction === DIR_RTL) {\n return {paddingRight: getLayoutGutter()}\n }\n return {paddingLeft: getLayoutGutter()}\n }\n\n return (\n \n \n {(isNavTop && !isMobile) ? : null}\n \n {(isNavSide && !isMobile) ? : null }\n \n
\n \n \n \n \n
\n