{"version":3,"sources":["assets/ebi_negativo.png","assets/ebi_n.png","helpers/chartjs.js","theme/palette.js","theme/typography.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiIconButton.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableHead.js","theme/overrides/MuiTypography.js","theme/overrides/MuiFormControl.js","theme/index.js","common/validators.js","components/SearchInput/SearchInput.js","components/StatusBullet/StatusBullet.js","components/RouteWithLayout/RouteWithLayout.js","components/LinearProgressBar/LinearProgressBar.js","components/MiniLoader/MiniLoader.js","components/YoutubeEmbed/YoutubeEmbed.js","config.js","redux/actions/commentActions.js","redux/types/commentTypes.js","components/CommentItem/components/CommentBtnRight.js","components/CommentItem/CommentItem.js","redux/actions/marketWinLowActions.js","redux/types/marketWinLowTypes.js","components/Tabs/Tab.js","components/Tabs/Tabs.js","components/MarketWinLow/MarketWinLow.js","layouts/Main/components/Footer/Footer.js","layouts/Main/components/Sidebar/components/Profile/Profile.js","layouts/Main/components/Sidebar/components/SidebarNav/SidebarNav.js","layouts/Main/components/Sidebar/Sidebar.js","redux/types/sessionTypes.js","redux/actions/sessionActions.js","redux/actions/stockActions.js","redux/types/stockTypes.js","layouts/Main/components/Topbar/components/CoinSummary/CoinSummary.js","assets/lang/supportedLang.js","layouts/Main/components/Topbar/components/DropDownLang/DropDownLang.js","redux/actions/i18n.js","redux/actions/watchStockActions.js","redux/types/watchStockTypes.js","components/WatchListModal/WatchListModal.js","components/ListStockSearch/ListStockSearch.js","redux/actions/notificationActions.js","redux/types/notificationTypes.js","layouts/Main/components/Notification/Notification.js","redux/actions/eventActions.js","redux/actions/navigationActions.js","layouts/Main/components/Topbar/Topbar.js","layouts/Main/components/ButtonChat/ButtonChat.js","layouts/Main/components/SessionTimer/SessionTimer.js","redux/actions/calendarActions.js","redux/types/calendarTypes.js","layouts/Main/components/Calendar/Calendar.js","redux/actions/pendingActions.js","redux/types/pendingTypes.js","layouts/Main/components/Pending/Pending.js","redux/actions/watchListActions.js","redux/types/watchListTypes.js","redux/actions/settingActions.js","redux/types/settingTypes.js","redux/actions/noteActions.js","redux/types/noteTypes.js","layouts/Main/Main.js","redux/types/eventTypes.js","layouts/Minimal/components/Topbar/Topbar.js","layouts/Minimal/Minimal.js","views/Account/components/AccountDetails/AccountDetails.js","views/Account/components/Password/Password.js","views/Account/Account.js","views/Portfolio/components/NetLiq/NetLiq.js","redux/actions/stockOrderActions.js","redux/types/stockOrderTypes.js","redux/actions/dashboardActions.js","redux/types/dashboardTypes.js","components/InputDate/InputDate.js","views/Portfolio/components/StockOrders/components/CloseModal/CloseModal.js","components/ListStockSelect/ListStockSelect.js","views/Portfolio/components/StockOrders/components/EntryModal/EntryModal.js","views/Portfolio/components/StockOrders/components/ReferenceModal/ReferenceModal.js","views/Portfolio/components/StockOrders/components/Row/Row.js","views/Portfolio/components/StockOrders/StockOrders.js","redux/actions/optionOrderActions.js","redux/types/optionOrderTypes.js","redux/actions/discoverActions.js","redux/types/discoverTypes.js","views/Portfolio/components/OptionOrders/components/CloseModal/CloseModal.js","views/Portfolio/components/OptionOrders/components/EntryModal/EntryModal.js","views/Portfolio/components/OptionOrders/components/RollModal/RollModal.js","redux/actions/optionHistoryActions.js","redux/types/optionHistoryTypes.js","views/Portfolio/components/OptionOrders/components/RollHistoryModal/RollHistoryModal.js","views/Portfolio/components/OptionOrders/components/ReferenceModal/ReferenceModal.js","views/Portfolio/components/OptionOrders/components/GraphicModal/GraphicModal.js","views/Portfolio/components/OptionOrders/components/SubRow/SubRow.js","views/Portfolio/components/OptionOrders/components/Row/Row.js","views/Portfolio/components/OptionOrders/components/EntryStrategyModal/EntryStrategyModal.js","views/Portfolio/components/OptionOrders/OptionOrders.js","redux/actions/optionTradeActions.js","redux/types/optionTradeTypes.js","views/Portfolio/components/Trade/components/EntryModalStock/EntryModalStock.js","views/Portfolio/components/Trade/components/EntryModalOption/EntryModalOption.js","views/Portfolio/components/Trade/components/SubRow/SubRow.js","views/Portfolio/components/Trade/components/Row/Row.js","views/Portfolio/components/Trade/Trade.js","redux/actions/reportActions.js","redux/types/reportTypes.js","views/Report/components/SymbolSummary/SymbolSummary.js","views/Report/components/PL/chart.js","views/Report/components/PL/PL.js","views/Portfolio/components/TasksProgress/TasksProgress.js","views/Portfolio/components/TotalProfit/TotalProfit.js","views/Portfolio/components/Pl/Pl.js","views/Portfolio/Portfolio.js","views/Report/components/StockCategory/StockCategory.js","views/NotFound/NotFound.js","views/Settings/components/Notifications/Notifications.js","views/Settings/components/Taxes/Taxes.js","views/Settings/components/Import/Import.js","redux/actions/importActions.js","redux/types/importTypes.js","views/Settings/components/Toolbar/Toolbar.js","views/Settings/components/Table/Table.js","views/Settings/components/Reset/Reset.js","views/Settings/Settings.js","views/SignIn/SignIn.js","views/SignUp/components/Tos.js","views/SignUp/SignUp.js","views/Report/components/StrategySummary/StrategySummary.js","views/Report/components/Trade/chart.js","views/Report/components/Trade/Trade.js","views/Report/Report.js","redux/actions/historyActions.js","redux/types/historyTypes.js","views/History/components/Table/Table.js","views/History/components/Toolbar/Toolbar.js","views/History/History.js","views/Watchlist/components/AlertModal/AlertModal.js","views/Watchlist/components/Table/Table.js","views/Watchlist/components/EntryListModal/EntryListModal.js","views/Watchlist/components/OffSetListModal/OffSetListModal.js","views/Watchlist/components/Toolbar/Toolbar.js","views/Watchlist/List.js","views/Wall/components/Comments/Comments.js","views/Wall/Wall.js","views/Suscription/Suscription.js","redux/actions/profileActions.js","redux/types/profileTypes.js","redux/actions/followerListActions.js","redux/types/followerListTypes.js","views/Profile/components/AccountProfile/components/FollowListModal.js/FollowListModal.js","views/Profile/components/AccountProfile/AccountProfile.js","views/Profile/components/Comments/Comments.js","views/Profile/Profile.js","views/Comment/components/CommentItem/CommentItem.js","views/Comment/components/Comments/Comments.js","views/Comment/Comment.js","views/Recovery/Recovery.js","views/Reset/Reset.js","views/Stock/components/StockProfile/StockProfile.js","views/Stock/components/Fundamental/Fundamental.js","views/Stock/components/News/components/NewsItem.js","redux/actions/stockNewsActions.js","redux/types/stockNewsTypes.js","views/Stock/components/News/News.js","views/Stock/components/Indicator/Indicator.js","views/Stock/components/Strategy/Strategy.js","components/Chart/Chart.js","views/Stock/Stock.js","views/Discover/components/TableDividend/TableDividend.js","views/Discover/components/TableEarning/TableEarning.js","views/Discover/components/Toolbar/Toolbar.js","views/Discover/Discover.js","views/Faq/components/FaqItem.js","redux/actions/faqActions.js","redux/types/faqTypes.js","views/Faq/Faq.js","views/Knowledge/components/Notes/components/Body/Body.js","views/Knowledge/components/Notes/components/List/List.js","views/Knowledge/components/Notes/components/EntryModal/EntryModal.js","views/Knowledge/components/Notes/Notes.js","redux/actions/knowledgeActions.js","redux/types/knowledgeTypes.js","views/Knowledge/components/Knowledge/components/Body/Body.js","redux/actions/knowledgeCategoryActions.js","redux/types/knowledgeCategoryTypes.js","views/Knowledge/components/Knowledge/components/List/List.js","views/Knowledge/components/Knowledge/Knowledge.js","views/Knowledge/Knowledge.js","redux/actions/balanceActions.js","redux/types/balanceTypes.js","views/Balance/components/Table/Table.js","views/Balance/components/Deposit/Deposit.js","views/Balance/components/Withdrawal/Withdrawal.js","views/Balance/components/Toolbar/Toolbar.js","views/Balance/Balance.js","menu.js","Routes.js","App.js","serviceWorker.js","redux/reducers/user.js","redux/types/userTypes.js","redux/reducers/session.js","redux/reducers/dashboard.js","redux/reducers/email.js","redux/types/emailTypes.js","redux/reducers/optionOrder.js","redux/reducers/stockOrder.js","redux/reducers/history.js","redux/reducers/report.js","redux/reducers/setting.js","redux/reducers/stock.js","redux/reducers/import.js","redux/reducers/comment.js","redux/reducers/profile.js","redux/reducers/watchList.js","redux/reducers/watchStock.js","redux/reducers/followerList.js","redux/reducers/notification.js","redux/reducers/stockNews.js","redux/reducers/discover.js","redux/reducers/faq.js","redux/reducers/optionHistory.js","redux/reducers/event.js","redux/reducers/note.js","redux/reducers/knowledge.js","redux/reducers/knowledgeCategory.js","redux/reducers/balance.js","redux/reducers/calendar.js","redux/reducers/marketWinLow.js","redux/reducers/legal.js","redux/types/legalTypes.js","redux/reducers/optionTrade.js","redux/reducers/pending.js","redux/index.js","index.js"],"names":["module","exports","draw","left","right","top","bottom","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","borderWidth","cornerRadius","config","options","horizontal","base","x","y","height","width","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","backgroundColor","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","index","corner","moveTo","i","nextCornerId","floor","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","fill","stroke","white","black","primary","contrastText","dark","colors","indigo","main","light","secondary","blue","success","green","info","warning","orange","error","red","text","blueGrey","link","background","default","paper","icon","divider","grey","h1","color","palette","fontWeight","fontSize","letterSpacing","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","textTransform","MuiButton","contained","boxShadow","MuiIconButton","root","MuiPaper","elevation1","MuiTableCell","typography","MuiTableHead","MuiTypography","gutterBottom","marginBottom","MuiFormControl","theme","createTheme","overrides","zIndex","appBar","drawer","checked","value","message","useStyles","makeStyles","borderRadius","alignItems","padding","spacing","display","flexBasis","marginRight","input","flexGrow","SearchInput","props","className","onChange","style","rest","classes","Paper","clsx","Input","disableUnderline","flexShrink","sm","md","lg","neutral","danger","StatusBullet","size","defaultProps","RouteWithLayout","Layout","layout","Component","component","render","matchProps","LinearProgressBar","percent","transition","MiniLoader","YoutubeEmbed","src","embedId","frameBorder","allow","allowFullScreen","title","production","process","PRODUCTION","jwt","secret","JWT_SECRET","api","web","socket","url","ENDPOINT","secure","pingInterval","PING_INTERVAL","pingTimeout","PING_TIMEOUT","withCredentials","rejectUnauthorized","transports","reconnectionAttempts","reconnectionDelay","RECONNECTION_DELAY","reconnectionDelayMax","RECONNECTION_DELAY_MAX","allowUpgrades","ALLOW_UPGRADES","reconnect","log","chatService","active","port","CHAT_SRV_PORT","path","PATH_SOCKET","channel","CHAT_SRV_CHANNEL","notificationService","tradeService","paypal","clientId","url_api","data","type","failed","successMore","failedMore","failedNew","failedLike","setComment","item","failedRemove","setItem","dispatch","loadList","axios","get","params","headers","Authorization","token","then","response","status","body","catch","console","Error","newItem","method","updateLike","connect","reducer","user_id","session","auth","id","user","removeItem","reportItem","alertify","React","anchorEl","setAnchorEl","open","Boolean","IconButton","aria-controls","undefined","aria-haspopup","aria-expanded","onClick","event","currentTarget","Menu","MenuListProps","onClose","PaperProps","paddingInline","MenuItem","key","e","comment_id","styled","expand","other","transform","marginLeft","transitions","create","duration","shortest","getEmbedId","array","split","regExp","length","element","match","CommentItem","Card","CardHeader","avatar","Avatar","sx","bgcolor","aria-label","action","Link","to","RouterLink","username","subheader","created_at","media","CardMedia","image","alt","comment","CardContent","getStockLink","map","substring","dangerouslySetInnerHTML","__html","CardActions","disableSpacing","like","countUp","onClickUp","reaction","countDown","onClickDown","count_subcomment","onClickComment","successWinners","failedWinners","successLosers","failedLosers","Tab","label","activeTab","Tabs","onClickTabItem","tab","setState","state","children","child","position","row","flexDirection","justifyContent","listWinners","marketWinLow","loadingWinners","errorWinners","loadingLosers","listLosers","errorLosers","useEffect","search","Typography","variant","icon_url","symbol","porcent","paddingTop","Footer","href","target","Date","getFullYear","rel","minHeight","name","marginTop","paddingBottom","fontWeightMedium","CustomRouterLink","forwardRef","ref","SidebarNav","pages","page","ListItem","disableGutters","Button","activeClassName","breakpoints","up","margin","nav","Sidebar","Drawer","anchor","Divider","LOGOUT","successUpdate","failedUpdate","logout","successItem","failedItem","resetList","searchList","FormDialog","Dialog","handleClose","DialogTitle","DialogContent","DialogContentText","DialogActions","supportedLocales","en","es","DropDownLang","handleLanguageLinkClick","code","preventDefault","setLocaleWithFallback","displayMenu","showDropdownMenu","bind","hideDropdownMenu","document","addEventListener","removeEventListener","Object","keys","locale","mapDispatchToProps","desiredLocale","finalLocale","includes","setLocale","i18n","successRemove","spacer","importButton","exportButton","searchInput","list","watchList","stock","actions_stock","useState","setOpen","fullWidth","maxWidth","list_id","onCliclAdd","noWrap","ListStockSearch","labelId","secondaryAction","WatchListModal","disablePadding","ListItemButton","onClickStock","ListItemAvatar","ListItemText","content","difference","differenceIcon","differenceValue","notification","count","loading","setCount","loadItem","history","useHistory","toggleDrawer","Badge","badgeContent","SwipeableDrawer","onOpen","Box","role","onKeyDown","aux_id","push","ListItemIcon","detail","socketTrade","closeConextionSocket","disconnect","suscribeOption","emit","signOutButton","Logout","actions_session","actions_event","location","push_","pathname","onSidebarOpen","notifications","values","setValues","AppBar","logo1","p","InputBase","ml","flex","placeholder","I18n","t","inputProps","persist","autoComplete","Hidden","mdDown","lgUp","CoinSummary","ButtonChat","handlePopoverClose","time","setTime","setColor","setMessage","refreshClock","toLocaleTimeString","hora","moment","tz","format","minuto","market","timerId","setInterval","clearInterval","m","aria-owns","onMouseEnter","onMouseLeave","Popover","pointerEvents","anchorOrigin","vertical","transformOrigin","disableRestoreFocus","IdleTimeOutHandler","timer","events","eventHandler","eventType","localStorage","onActive","startTimer","addEvents","removeEvents","setTimeout","lastInteractionTime","getItem","diff","timeOutInterval","_milliseconds","onIdle","forEach","eventName","window","calendar","lang","date_at","day","pending","updateItem","confirm","pending_id","TextareaAutosize","shiftContent","paddingLeft","dashboard","loadListWatchList","actions_list","actions_setting","loadListNotes","actions_note","initConextionSocket","io","on","err","req","context","useTheme","setIsActive","isDesktop","useMediaQuery","defaultMatches","openSidebar","setOpenSidebar","shouldOpenSidebar","SessionTimer","Topbar","Minimal","countries","phone","suggested","updateProfile","lastN","email","country","handleChange","Grid","container","xs","TextField","helperText","required","Autocomplete","autoHighlight","getOptionLabel","option","renderOption","mr","toLowerCase","srcSet","renderInput","select","SelectProps","native","resetPassword","pwdnew","pwdold","isValid","disabled","Account","xl","down","downValue","upValue","NetLiq","justify","parseFloat","net","balance","toFixed","plp","Fragment","successNew","updateReference","successIndicator","loadListIndicator","InputDate","placeHolder","max","updateSymbol","actions_dashboard","stock_id","open_price","quantity","close_price","price","close_at","toISOString","quantity_tmp","counter","errors","validate","fullHeight","autoFocus","step","InputProps","startAdornment","InputAdornment","share","ListStockSelect","onClickSelected","schema","presence","allowEmpty","maximum","actions","suscribeStock","open_at","touched","dialogState","setDialogState","hasError","field","toLocaleUpperCase","trim","reference","setValue","stylesLocal","subcell","cell","removeSymbol","order","onClickDelete","getPrice","quote","c","TableRow","hover","TableCell","toUpperCase","dividend","align","Tooltip","enterDelay","open_trade","zone","ReferenceModal","CloseModal","sub_order","subOrder","selected","scope","inner","minWidth","statusContainer","getCapital","rows","cap","item_","stockOrder","EntryModal","Table","TableHead","sortDirection","TableSortLabel","direction","TableBody","concat","dataCsv","separator","filename","getTime","updateStrategy","loadListDividend","loadListEarning","getCloseAt","expire_at","option_id","strike","option_kind","leg","strategy","setStrategy","handleChangeLeg","counterRoll","sec","parseInt","rollItem","rollStrategy","strike_temp","option_market_open","option_market_close","optionHistory","roll_accum","close_trade","tax","getData","premiun","start","tmpf","tmpB","tmpS","labels","getLabel","datasets","responsive","legend","plugins","getPriceOption","expiration","kind","ticker","padStart","option_price","trunc","UTC","getUTCFullYear","getUTCMonth","getUTCDate","RollHistoryModal","RollModal","getPriceStrategy","priceTotal","getPriceStock","newStrategy","addLegStrategy","option_market","splice","handleRemove","getCountContracts","item__","optionOrder","EntryStrategyModal","button_name","strike_price","listOption","optionTrade","subItem","call","open_interest","delta","volume","bid","EntryModalOption","expiration_date","ask","put","tyle","strike_prev","strike_list","toolbar","borderStyle","marginInline","errorOption","loadingOption","getPriceStockBid","getPriceStockAsk","o","EntryModalStock","successLatesRoi","failedLatesRoi","successLatesTrade","failedLatesTrade","successStrategy","failedStrategy","pl","items","report","listSymbol","errorSymbol","loadingSymbol","colSpan","roi","maintainAspectRatio","animation","tooltips","enabled","mode","intersect","titleFontColor","bodyFontColor","footerFontColor","scales","xAxes","barThickness","maxBarThickness","barPercentage","categoryPercentage","ticks","fontColor","gridLines","drawBorder","yAxes","beginAtZero","borderDash","borderDashOffset","zeroLineBorderDash","zeroLineBorderDashOffset","zeroLineColor","chartContainer","LatestSales","roiYear","progress","TasksProgress","pdt","TotalProfit","capital","TotalUsers","stats","device","textAlign","deviceIcon","Pl","NotFound","Notifications","wrap","FormControlLabel","control","Checkbox","defaultChecked","setting","option_tax","stock_tax","tax_id","setTable","import_","header","setTableCsv","newList","broker","file","setFile","csvToTable","str","delim","slice","newArray","test","startsWith","reduce","obj","accept","files","reader","FileReader","onload","result","readAsText","nameContainer","tableRow","reset","Import","password","grid","quoteContainer","backgroundSize","backgroundRepeat","backgroundPosition","quoteInner","quoteText","bio","contentContainer","contentHeader","paddingBototm","paddingRight","logoImage","contentBody","form","socialButtons","socialIcon","sugestion","textField","signInButton","Login","formState","setFormState","handleSignIn","MyFormHelperText","focused","useFormControl","useMemo","FormHelperText","person","onSubmit","FormControl","InputLabel","htmlFor","OutlinedInput","showPassword","endAdornment","onMouseDown","edge","ScrollDialog","scrollType","scroll","setScroll","descriptionElementRef","descriptionElement","current","focus","aria-labelledby","aria-describedby","dividers","tabIndex","policy","policyCheckbox","signUpButton","Register","register","useCallback","handleSignUp","policyText","listStrategy","errorStrategy","loadingStrategy","countpos","numYear","dataRoi","dataTrade","loadListRoi","loadListTrade","PL","SymbolSummary","loadingMore","pageSize","page_size","pageCount","page_count","loadMore","history_id","date","from_at","to_at","option_group","disabledOption","data-type","defaultValue","FormGroup","labelPlacement","operator","watchStock","selectedList","exchange","change","change_p","AlertModal","stock_list_id","handleSave","onClickRemove","NewItem","loadListStock","Select","displayEmpty","EntryListModal","OffSetListModal","hasFile","onChangeImage","onloadend","readAsDataURL","onClickLoadMore","hidden","maxRows","FormData","append","shippingPreference","vault","createSubscription","subscription","plan_id","onApprove","details","fetch","JSON","stringify","order_id","orderID","subscription_id","subscriptionID","border","failedFollow","FollowItem","IsFollow","onClickFollow","onClickUnFollow","followerList","follower_id","button_label","subtitle","overflow","maxHeight","profile","uploadButton","upsetFollow","locationText","follow","followme","follower","FollowListModal","Recovery","handleRecovery","pwd_new","pwd_new1","URLSearchParams","Activate","useLocation","handleActivate","logo_url","column","market_cap","total_employees","list_date","description","homepage_url","phone_number","city","postal_code","address","NewsItem","image_url","published_utc","article_url","publisher","failedIndicator","stockNews","countSt","countOp","Chart","loadIndicator","loadStrategy","Strategy","discover","dividend_amount","dividend_pay_at","dividend_ex_date","dividend_declaration","dividend_frequency","earning_at","information","estimation","surprise","inputFormat","TableDividend","TableEarning","FaqItem","question","answer","History","propTypes","PropTypes","string","object","faq","setQuestion","note","onBlur","UpdateItem","updateItemHide","note_id","knowledge","loadListScroll","category_id","knowledgeCategory","loadBody","actions_body","selectedIndex","setSelectedIndex","kind_transaction","Deposit","Withdrawal","basename","exact","from","PortfolioView","MainLayout","ReportView","StockView","HistoryView","BalanceView","WatchlistView","WallView","CommentView","DiscoverView","FaqView","KnowledgeView","SuscriptionView","ProfileView","AccountView","SettingsView","SignInView","MinimalLayout","NotFoundView","SignUpView","RecoveryView","ResetView","helpers","extend","elements","Rectangle","prototype","chartjs","validators","App","ThemeProvider","hostname","INITIAL_STATE","users","filter","toString","band","newState","loadingRoi","errorRoi","loadingTrade","errorTrade","loadingData","errorData","sym","error_update","legal","appReducer","combineReducers","i18nReducer","routing","routerReducer","rootReducer","middleware","applyMiddleware","thunk","getElementById","store","createStore","redux","translations","require","syncTranslationWithStore","loadTranslations","detectBrowserLanguage","browserHistory","createBrowserHistory","syncHistoryWithStore","ReactDOM","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.caccbeaa.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/ebi_negativo.27d1def3.png\";","module.exports = __webpack_public_path__ + \"static/media/ebi_n.07799113.png\";","// ChartJS extension rounded bar chart\n// https://codepen.io/jedtrow/full/ygRYgo\nfunction draw() {\n const { ctx } = this._chart;\n const vm = this._view;\n let { borderWidth } = vm;\n\n let left;\n let right;\n let top;\n let bottom;\n let signX;\n let signY;\n let borderSkipped;\n let radius;\n\n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let { cornerRadius } = this._chart.config.options;\n if (cornerRadius < 0) {\n cornerRadius = 0;\n }\n\n if (typeof cornerRadius === 'undefined') {\n cornerRadius = 0;\n }\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2;\n right = vm.x + vm.width / 2;\n top = vm.y;\n bottom = vm.base;\n signX = 1;\n signY = bottom > top ? 1 : -1;\n borderSkipped = vm.borderSkipped || 'bottom';\n } else {\n // horizontal bar\n left = vm.base;\n right = vm.x;\n top = vm.y - vm.height / 2;\n bottom = vm.y + vm.height / 2;\n signX = right > left ? 1 : -1;\n signY = 1;\n borderSkipped = vm.borderSkipped || 'left';\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\n const halfStroke = borderWidth / 2;\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft =\n left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n const borderRight =\n right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n const borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n const borderBottom =\n bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop;\n bottom = borderBottom;\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft;\n right = borderRight;\n }\n }\n\n ctx.beginPath();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n ctx.lineWidth = borderWidth;\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [[left, bottom], [left, top], [right, top], [right, bottom]];\n\n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right'];\n let startCorner = borders.indexOf(borderSkipped, 0);\n if (startCorner === -1) {\n startCorner = 0;\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4];\n }\n\n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0);\n ctx.moveTo(corner[0], corner[1]);\n\n for (let i = 1; i < 4; i += 1) {\n corner = cornerAt(i);\n let nextCornerId = i + 1;\n if (nextCornerId === 4) {\n nextCornerId = 0;\n }\n\n const width = corners[2][0] - corners[1][0];\n const height = corners[0][1] - corners[1][1];\n const x = corners[1][0];\n const y = corners[1][1];\n\n radius = cornerRadius;\n // Fix radius being too large\n if (radius > Math.abs(height) / 2) {\n radius = Math.floor(Math.abs(height) / 2);\n }\n if (radius > Math.abs(width) / 2) {\n radius = Math.floor(Math.abs(width) / 2);\n }\n\n if (height < 0) {\n // Negative values in a standard bar chart\n const xTl = x;\n const xTr = x + width;\n const yTl = y + height;\n const yTr = y + height;\n\n const xBl = x;\n const xBr = x + width;\n const yBl = y;\n const yBr = y;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else if (width < 0) {\n // Negative values in a horizontal bar chart\n const xTl = x + width;\n const xTr = x;\n const yTl = y;\n const yTr = y;\n\n const xBl = x + width;\n const xBr = x;\n const yBl = y + height;\n const yBr = y + height;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else {\n // Positive Value\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(\n x + width,\n y + height,\n x + width - radius,\n y + height\n );\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n }\n }\n\n ctx.fill();\n if (borderWidth) {\n ctx.stroke();\n }\n}\n\nexport default {\n draw\n};\n","import { colors } from '@material-ui/core';\n\nconst white = '#FFFFFF';\nconst black = '#000000';\n\nexport default {\n black,\n white,\n primary: {\n contrastText: white,\n dark: colors.indigo[900],\n main: \"#313f44\",//\"#343a40\",//colors.indigo[500],\n light: colors.indigo[100]\n },\n secondary: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue['A400'],\n light: colors.blue['A400']\n },\n success: {\n contrastText: white,\n dark: colors.green[900],\n main: colors.green[600],\n light: colors.green[400]\n },\n info: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue[600],\n light: colors.blue[400]\n },\n warning: {\n contrastText: white,\n dark: colors.orange[900],\n main: colors.orange[600],\n light: colors.orange[400]\n },\n error: {\n contrastText: white,\n dark: colors.red[900],\n main: colors.red[600],\n light: colors.red[400]\n },\n text: {\n primary: \"#313f44\",// colors.blueGrey[900],\n secondary: colors.blueGrey[600],\n link: colors.blue[600]\n },\n background: {\n default: '#F5F5F5',//'#F4F6F8',\n paper: white,\n main: \"#343a40\"\n },\n icon: \"#258bad\",//colors.blueGrey[600],\n divider: colors.grey[200]\n};\n","import palette from './palette';\n\nexport default {\n h1: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '35px',\n letterSpacing: '-0.24px',\n lineHeight: '40px'\n },\n h2: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '29px',\n letterSpacing: '-0.24px',\n lineHeight: '32px'\n },\n h3: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '24px',\n letterSpacing: '-0.06px',\n lineHeight: '28px'\n },\n h4: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '20px',\n letterSpacing: '-0.06px',\n lineHeight: '24px'\n },\n h5: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '20px'\n },\n h6: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '20px'\n },\n subtitle1: {\n color: palette.text.primary,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '25px'\n },\n subtitle2: {\n color: palette.text.secondary,\n fontWeight: 400,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px'\n },\n body1: {\n color: palette.text.primary,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px'\n },\n body2: {\n color: palette.text.secondary,\n fontSize: '12px',\n letterSpacing: '-0.04px',\n lineHeight: '18px'\n },\n button: {\n color: palette.text.primary,\n fontSize: '14px'\n },\n caption: {\n color: palette.text.secondary,\n fontSize: '11px',\n letterSpacing: '0.33px',\n lineHeight: '13px'\n },\n overline: {\n color: palette.text.secondary,\n fontSize: '11px',\n fontWeight: 500,\n letterSpacing: '0.33px',\n lineHeight: '13px',\n textTransform: 'uppercase'\n }\n};\n","import MuiButton from './MuiButton';\nimport MuiIconButton from './MuiIconButton';\nimport MuiPaper from './MuiPaper';\nimport MuiTableCell from './MuiTableCell';\nimport MuiTableHead from './MuiTableHead';\nimport MuiTypography from './MuiTypography';\nimport MuiFormControl from './MuiFormControl';\n\nexport default {\n MuiButton,\n MuiIconButton,\n MuiPaper,\n MuiTableCell,\n MuiTableHead,\n MuiTypography,\n MuiFormControl\n};\n","export default {\n contained: {\n boxShadow:\n '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\n backgroundColor: '#FFFFFF'\n }\n};\n","import palette from '../palette';\n\nexport default {\n root: {\n color: palette.icon,\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n }\n};\n","export default {\n elevation1: {\n boxShadow: '0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)'\n }\n};\n","import palette from '../palette';\nimport typography from '../typography';\n\nexport default {\n root: {\n ...typography.body1,\n borderBottom: `1px solid ${palette.divider}`\n }\n};\n","import { colors } from '@material-ui/core';\n\nexport default {\n root: {\n backgroundColor: colors.grey[50]\n }\n};\n","export default {\n gutterBottom: {\n marginBottom: 8\n }\n};\n","import palette from '../palette';\n\nexport default {\n root: {\n '&$selected': {\n backgroundColor: palette.background.default\n },\n '&$hover': {\n '&:hover': {\n backgroundColor: palette.background.default\n }\n },\n '&$focus': {\n '&:focus': {\n backgroundColor: palette.background.default\n }\n }\n }\n};\n","import { createTheme } from '@material-ui/core';\n\nimport palette from './palette';\nimport typography from './typography';\nimport overrides from './overrides';\n\nconst theme = createTheme({\n palette,\n typography,\n overrides,\n zIndex: {\n appBar: 1200,\n drawer: 1100\n }\n});\n\nexport default theme;\n","const checked = (value, options) => {\n if (value !== true) {\n return options.message || 'must be checked';\n }\n};\n\nexport default {\n checked\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport { Paper, Input } from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n borderRadius: '4px',\n alignItems: 'center',\n padding: theme.spacing(1),\n display: 'flex',\n flexBasis: 420\n },\n icon: {\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary\n },\n input: {\n flexGrow: 1,\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '-0.05px'\n }\n}));\n\nconst SearchInput = props => {\n const { className, onChange, style, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n );\n};\n\nSearchInput.propTypes = {\n className: PropTypes.string,\n onChange: PropTypes.func,\n style: PropTypes.object\n};\n\nexport default SearchInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'inline-block',\n borderRadius: '50%',\n flexGrow: 0,\n flexShrink: 0\n },\n sm: {\n height: theme.spacing(1),\n width: theme.spacing(1)\n },\n md: {\n height: theme.spacing(2),\n width: theme.spacing(2)\n },\n lg: {\n height: theme.spacing(3),\n width: theme.spacing(3)\n },\n neutral: {\n backgroundColor: theme.palette.neutral\n },\n primary: {\n backgroundColor: theme.palette.primary.main\n },\n info: {\n backgroundColor: theme.palette.info.main\n },\n warning: {\n backgroundColor: theme.palette.warning.main\n },\n danger: {\n backgroundColor: theme.palette.error.main\n },\n success: {\n backgroundColor: theme.palette.success.main\n }\n}));\n\nconst StatusBullet = props => {\n const { className, size, color, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n );\n};\n\nStatusBullet.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n 'neutral',\n 'primary',\n 'info',\n 'success',\n 'warning',\n 'danger'\n ]),\n size: PropTypes.oneOf(['sm', 'md', 'lg'])\n};\n\nStatusBullet.defaultProps = {\n size: 'md',\n color: 'default'\n};\n\nexport default StatusBullet;\n","import React from 'react';\nimport { Route } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nconst RouteWithLayout = props => {\n const { layout: Layout, component: Component, ...rest } = props;\n\n return (\n (\n \n \n \n )}\n />\n );\n};\n\nRouteWithLayout.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n path: PropTypes.string\n};\n\nexport default RouteWithLayout;\n","import \"./styles.css\"\nimport React, { Component } from 'react';\n\nconst LinearProgressBar = (props) => {\n return (\n
\n
\n \n
\n {props.value}\n
\n );\n};\n\nexport default LinearProgressBar;","import React, { Component } from \"react\";\n\nimport \"./Loader.css\";\n\nexport default class MiniLoader extends Component {\n render() {\n return (\n
\n
\n
\n
\n
\n
\n
\n );\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport \"./style.css\";\n\nconst YoutubeEmbed = (props) => (\n
\n\n \n
\n);\n\nYoutubeEmbed.propTypes = {\n embedId: PropTypes.string.isRequired\n};\n\nexport default YoutubeEmbed;","export const config = {\n production: process.env.PRODUCTION || true,\n jwt: {\n secret: process.env.JWT_SECRET || 'Ebi',\n },\n api: {\n\t web: \"https://www.elecsotech.com/api/ebi/\",//'https://www.elecsotech.com/api/'\n },\n socket: {\n url: process.env.ENDPOINT || \"wss://www.elecsotech.com\",//ws://127.0.0.1 \"wss://www.elecsotech.com\" \"http://127.0.0.1:5002\"\n secure: true,\n pingInterval: process.env.PING_INTERVAL || 10000,\n pingTimeout: process.env.PING_TIMEOUT || 60000,\n withCredentials: false,\n rejectUnauthorized: false,\n transports: [\"websocket\", \"polling\"],\n reconnectionAttempts: \"infinity\",\n reconnectionDelay: process.env.RECONNECTION_DELAY || 1000,\n reconnectionDelayMax: process.env.RECONNECTION_DELAY_MAX || 5000,\n allowUpgrades: process.env.ALLOW_UPGRADES || false,\n reconnect: true,\n log: false\n },\n chatService: {\n active: false,\n port: process.env.CHAT_SRV_PORT || 5000,\n path: process.env.PATH_SOCKET || '/ebi_chat',\n channel: process.env.CHAT_SRV_CHANNEL || 'chat',//'api_chat/chat',\n },\n notificationService: {\n active: false,\n port: process.env.CHAT_SRV_PORT || 5001,\n path: process.env.PATH_SOCKET || '/ebi_notification',\n channel: process.env.CHAT_SRV_CHANNEL || 'notification',//'api_chat/notification',\n },\n tradeService: {\n active: true,\n port: process.env.CHAT_SRV_PORT || 5002,\n path: process.env.PATH_SOCKET || '/ebi_trade',\n channel: process.env.CHAT_SRV_CHANNEL || 'trade',//'api_chat/notification',\n },\n paypal:\n {\n //SadBox\n //clientId: \"AdtE6yDB8JWO3dQtqt_hgLXmVYyLWJ4lcRZtrJA7tnJqkCDL0BtMYQac6aSNd_arx1U5UtyAnuGcWWXf\",\n // key: \"EMWJQ6rCB8JpNyF9_sylF8UNucSVyJU9qbIG-vuFmxLQVgBExqVp5KZ1wZGkqtlkyh0xcjmKdpY0ANk1\",\n //production\n clientId: \"AQM9KJg6PlsG3Ui3eo_xFcOyoLKdscHYWiYad24x9RPP3r0hhk3ag8n2QaaYeFkJnJM8OvxSSRq4qhEK\",\n // key: \"EJWg03lIiEFy9kQgna-lbzHaJNuKKy-u8ykVea11JyzLm51_Z54c1XZVBYqEaCcsPYlTao-t2bRdiKWv\",\n }\n\n}\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n COMMENT_LIST_ATTEMPT,\n COMMENT_LIST_SUCCESS,\n COMMENT_LIST_FAILED,\n ////////////////////\n COMMENT_NEW_SUCCESS,\n COMMENT_NEW_FAILED,\n ////////////////////\n COMMENT_LIKE_SUCCESS,\n COMMENT_LIKE_FAILED,\n //////////////////\n COMMENT_SET_ITEM,\n ////\n COMMENT_MORELIST_ATTEMPT,\n COMMENT_MORELIST_SUCCESS,\n COMMENT_MORELIST_FAILED,\n ////////\n COMMENT_REMOVE_SUCCESS,\n COMMENT_REMOVE_FAILED,\n} from \"../types/commentTypes\";\nimport { config } from \"../../config\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: COMMENT_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: COMMENT_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: COMMENT_LIST_FAILED,\n error: error\n };\n}\n///////////////////////////////////////////\nexport function loadingMore() {\n return {\n type: COMMENT_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: COMMENT_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: COMMENT_MORELIST_FAILED,\n error: error\n };\n}\n////////////////////\nexport function successNew(item) {\n return {\n type: COMMENT_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: COMMENT_NEW_FAILED,\n error: error\n };\n}\n////////////////////////\nexport function successLike(item) {\n return {\n type: COMMENT_LIKE_SUCCESS,\n item: item\n };\n}\n\nexport function failedLike(error) {\n return {\n type: COMMENT_LIKE_FAILED,\n error: error\n };\n}\n\n////////////////////////\nexport function setComment(item) {\n return {\n type: COMMENT_SET_ITEM,\n item: item\n };\n}\n///////////////////////////////////////////\n\n\nexport function successRemove(item) {\n return {\n type: COMMENT_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: COMMENT_REMOVE_FAILED,\n error: error\n };\n}\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(setComment(data.item));\n}\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"comment/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n //},\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"post\",\n url: url_api + \"comment/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateLike = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"put\",\n url: url_api + \"comment\",// /like\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successLike(response.data.body));\n else dispatch(failedLike(response.data.body));\n } else {\n dispatch(failedLike(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedLike(\"try_later\"));\n } else {\n dispatch(failedLike(\"try_later\"));\n }\n return;\n });\n};\n\n\n\nexport const loadListProfile = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"comment/profile\", {\n params: data.params,//{\n //id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n //},\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"comment/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"comment\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const reportItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"comment/report\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n //dispatch((response.data.body));\n alertify.success(\"Success\");\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadItem = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"comment/item\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(setComment(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};","export const COMMENT_LIST_ATTEMPT = \"COMMENT_LIST_ATTEMPT\";\nexport const COMMENT_LIST_SUCCESS = \"COMMENT_LIST_SUCCESS\";\nexport const COMMENT_LIST_FAILED = \"COMMENT_LIST_FAILED\";\n//////////////////\nexport const COMMENT_NEW_SUCCESS = \"COMMENT_NEW_SUCCESS\";\nexport const COMMENT_NEW_FAILED = \"COMMENT_NEW_FAILED\";\n//////////////////\nexport const COMMENT_LIKE_SUCCESS = \"COMMENT_LIKE_SUCCESS\";\nexport const COMMENT_LIKE_FAILED = \"COMMENT_LIKE_FAILED\";\n\nexport const COMMENT_SET_ITEM = \"COMMENT_SET_ITEM\";\n///////////////\nexport const COMMENT_MORELIST_ATTEMPT = \"COMMENT_MORELIST_ATTEMPT\";\nexport const COMMENT_MORELIST_SUCCESS = \"COMMENT_MORELIST_SUCCESS\";\nexport const COMMENT_MORELIST_FAILED = \"COMMENT_MORELIST_FAILED\";\n\nexport const COMMENT_REMOVE_SUCCESS = \"COMMENT_REMOVE_SUCCESS\";\nexport const COMMENT_REMOVE_FAILED = \"COMMENT_REMOVE_FAILED\";\n\n\n","import * as React from \"react\";\nimport { useState } from \"react\";\n//import { Link } from \"react-router-dom\";\nimport IconButton from '@mui/material/IconButton';\n//import { Translate } from \"react-redux-i18n\";//, I18n \nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/commentActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst ITEM_HEIGHT = 48;\nconst options = [\n 'Delete',\n];\nconst CommentBtnRight = (props) => {\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n\n\n const onClickDelete = (e) => {\n props.removeItem(\n {\n comment_id: props.item.id,\n id: props.user_id\n }\n , props.token)\n setAnchorEl(null);\n };\n const onClickReport = (e) => {\n props.reportItem(\n {\n comment_id: props.item.id,\n id: props.user_id\n }\n , props.token)\n setAnchorEl(null);\n };\n\n\n return (\n
\n {\n // onClickMenu();\n //}}\n >\n \n \n \n {\n\n props.user_id === props.item.user.id\n ?\n (\n \n \n \n )\n :\n (\n \n \n \n )\n }\n \n
\n );\n\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer); {values.menu}\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n user: reducer.session.auth,\n // lang: reducer.i18n.locale,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n removeItem: (params, token) =>\n dispatch(actions.removeItem({ params, token })),\n reportItem: (params, token) =>\n dispatch(actions.reportItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(CommentBtnRight);\n\n/*** //maxHeight: ITEM_HEIGHT * 4.5,\n * \n
\n
    \n {props.item.user.id.toString() ===\n props.user_id ? (\n {\n this.onClickHideMenu(e);\n }}\n >\n \n {\"Remove\"}\n \n \n ) : (\n {\n this.onClickHideMenu(e);\n }}\n >\n \n {\"Report\"}\n \n \n )}\n
\n
\n
\n * \n \n Ocultar publicación\n \n \n Reportar\n \n
\n
  • \n \n \n \n \n \n
  • \n
  • \n \n \n \n \n \n
  • \n */\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardMedia from '@mui/material/CardMedia';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport Collapse from '@mui/material/Collapse';\nimport Avatar from '@mui/material/Avatar';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport { red } from '@mui/material/colors';\nimport FavoriteIcon from '@mui/icons-material/Favorite';\nimport ShareIcon from '@mui/icons-material/Share';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport TrendingDownIcon from '@mui/icons-material/TrendingDown';\nimport CommentIcon from '@mui/icons-material/Comment';\nimport MessageIcon from '@mui/icons-material/Message';\nimport { Link } from '@material-ui/core';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport YoutubeEmbed from '../YoutubeEmbed';\nimport CommentBtnRight from './components/CommentBtnRight';\n\nconst ExpandMore = styled((props) => {\n const { expand, ...other } = props;\n return ;\n})(({ theme, expand }) => ({\n transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',\n marginLeft: 'auto',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n}));\n\n\nfunction getEmbedId(url) {\n const array = url.split(' ');\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#\\&\\?]*).*/;\n for (let index = 0; index < array.length; index++) {\n var element = array[index];\n if (element.indexOf(\"https://\") >= 0) {\n var match = element.match(regExp);\n if (match && match[7].length == 11) {\n return match[7];\n } else {\n return false;\n }\n }\n }\n}\n\nfunction getStockLink(comment) {\n /* const array = comment.split(' ');\n let val;\n for (let index = 0; index < array.length; index++) {\n var element = array[index];\n if (element.indexOf(\"#\") >= 0) {\n var ticker = element.substring(1, element.length);\n const link = `#${ticker}`;\n comment = comment.replace(\"#\" + ticker, link);\n }\n }\n return comment;*/\n return comment.split(' ');\n}///ebi/stock/${ticker}\n\nexport default function CommentItem(props) {\n const [expanded, setExpanded] = React.useState(false);\n\n const handleExpandClick = () => {\n setExpanded(!expanded);\n };\n\n return (\n \n \n {props.item.user.avatar}\n \n }\n action={\n \n }\n title={{props.item.user.username}}\n subheader={props.item.created_at}\n />\n {\n props.item.media && (\n \n )\n }\n {\n getEmbedId(props.item.comment) && ()\n }\n\n \n
    \n {\n getStockLink(props.item.comment).map((element) => {\n return (\n element.indexOf('#') >= 0 ? (\n \n {element}\n \n  \n \n )\n : (
    )\n )\n })}\n
    \n\n \n \n
    \n {props.item.like.countUp}\n \n \n \n\n {props.item.like.countDown}\n \n \n \n
    \n
    \n {props.item.count_subcomment}\n \n \n \n \n \n {\"0\"}\n \n \n \n
    \n
    \n \n );\n}\n/**\n * color=\"disabled\" \n * \n \n \n \n {props.item.comment}\n \n \n \n \n */","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n WINNERS_LIST_ATTEMPT,\n WINNERS_LIST_SUCCESS,\n WINNERS_LIST_FAILED,\n ////////////////////\n LOSERS_LIST_ATTEMPT,\n LOSERS_LIST_SUCCESS,\n LOSERS_LIST_FAILED,\n} from \"../types/marketWinLowTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loadingWinners() {\n return {\n type: WINNERS_LIST_ATTEMPT\n };\n}\n\nexport function successWinners(data) {\n return {\n type: WINNERS_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedWinners(error) {\n return {\n type: WINNERS_LIST_FAILED,\n error: error\n };\n}\n///////////////////////////\nexport function loadingLosers() {\n return {\n type: LOSERS_LIST_ATTEMPT\n };\n}\n\nexport function successLosers(data) {\n return {\n type: LOSERS_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedLosers(error) {\n return {\n type: LOSERS_LIST_FAILED,\n error: error\n };\n}\nexport const loadListWinners = (data: Object) => async dispatch => {\n dispatch(loadingWinners());\n await axios\n .get(url_api + \"market/winners\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successWinners(response.data.body));\n else dispatch(failedWinners(response.data.body));\n } else {\n dispatch(failedWinners(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedWinners(\"try_later\"));\n } else {\n dispatch(failedWinners(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListLosers = (data: Object) => async dispatch => {\n dispatch(loadingLosers());\n await axios\n .get(url_api + \"market/losers\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successLosers(response.data.body));\n else dispatch(failedLosers(response.data.body));\n } else {\n dispatch(failedLosers(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedLosers(\"try_later\"));\n } else {\n dispatch(failedLosers(\"try_later\"));\n }\n return;\n });\n};\n\n","\nexport const WINNERS_LIST_ATTEMPT = \"WINNERS_LIST_ATTEMPT\";\nexport const WINNERS_LIST_SUCCESS = \"WINNERS_LIST_SUCCESS\";\nexport const WINNERS_LIST_FAILED = \"WINNERS_LIST_FAILED\";\n////////////\nexport const LOSERS_LIST_ATTEMPT = \"LOSERS_LIST_ATTEMPT\";\nexport const LOSERS_LIST_SUCCESS = \"LOSERS_LIST_SUCCESS\";\nexport const LOSERS_LIST_FAILED = \"LOSERS_LIST_FAILED\";\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport \"./Tab.css\";\nclass Tab extends Component {\n static propTypes = {\n activeTab: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n };\n\n onClick = () => {\n const { label, onClick } = this.props;\n onClick(label);\n }\n\n render() {\n const {\n onClick,\n props: {\n activeTab,\n label,\n },\n } = this;\n\n let className = 'tab-list-item';\n\n if (activeTab === label) {\n className += ' tab-list-active';\n }\n\n return (\n \n {label}\n \n );\n }\n}\n\nexport default Tab;","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tab from './Tab';\n\nclass Tabs extends Component {\n static propTypes = {\n children: PropTypes.instanceOf(Array).isRequired,\n }\n\n constructor(props) {\n super(props);\n this.state = {\n activeTab: this.props.children[0].props.label,\n };\n }\n\n onClickTabItem = (tab) => {\n this.setState({ activeTab: tab });\n }\n\n render() {\n const {\n onClickTabItem,\n props: {\n children,\n },\n state: {\n activeTab,\n }\n } = this;\n\n return (\n
    \n
      \n {\n children.map((child, index) => {\n const { label } = child.props;\n return (\n \n );\n })\n }\n
    \n
    \n {children.map((child) => {\n if (child.props.label !== activeTab) return undefined;\n return child.props.children;\n })}\n
    \n
    \n );\n }\n}\n\nexport default Tabs;","import React, { Component, useEffect } from \"react\";\nimport { makeStyles } from '@material-ui/styles';\nimport MenuItem from '@mui/material/MenuItem';\nimport {\n Card,\n CardHeader,\n CardActions,\n CardContent,\n Typography,\n IconButton,\n} from '@material-ui/core';\nimport { Link } from '@material-ui/core';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/marketWinLowActions\";\nimport LinearProgressBar from \"components/LinearProgressBar\";\nimport Tabs from \"components/Tabs\";\n//import \"./Loader.css\";\nconst useStyles = makeStyles(theme => ({\n root: {\n borderRadius: '4px',\n alignItems: 'center',\n padding: theme.spacing(1),\n display: 'flex',\n flexBasis: 420\n },\n avatar: {\n height: 30,\n width: 30,\n borderRadius: \"5px\",\n top: \"7px\",\n position: \"relative\",\n marginRight: \"10px\"\n },\n row: {\n flexDirection: \"row\",\n display: \"flex\",\n justifyContent: \"space-between\",\n // paddingInline: \"25px\",\n //paddingBottom: \"10px\",\n\n }\n}));\n\nconst MarketWinLow = props => {\n const { className, ...rest } = props;\n const classes = useStyles();\n\n useEffect(() => {\n props.loadingWinners({ id: props.user_id, search: props.search }, props.token);\n props.loadingLosers({ id: props.user_id, search: props.search }, props.token);\n }, [props.listWinners]);\n\n return (\n \n
    \n \n {\"Stock Winners\"} }\n //subheader={props.item.created_at}\n />\n \n {\n props.listWinners.map((item) => (\n { }}>\n
    \n \n {item.symbol}\n
    \n\n \n
    \n ))\n }\n
    \n
    \n
    \n
    \n \n {\"Stock Losers\"} }\n //subheader={props.item.created_at}\n />\n \n {\n props.listLosers.map((item) => (\n { }}>\n
    \n \n {item.symbol}\n
    \n\n \n
    \n ))\n }\n
    \n
    \n
    \n
    \n\n );\n}\n\nfunction mapStateToProps(reducer) {\n\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n listWinners: reducer.marketWinLow.listWinners,\n loadingWinners: reducer.marketWinLow.loadingWinners,\n errorWinners: reducer.marketWinLow.errorWinners,\n\n loadingLosers: reducer.marketWinLow.loadingLosers,\n listLosers: reducer.marketWinLow.listLosers,\n errorLosers: reducer.marketWinLow.errorLosers,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadingWinners: (params, token) =>\n dispatch(actions.loadListWinners({ params, token })),\n loadingLosers: (params, token) =>\n dispatch(actions.loadListLosers({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MarketWinLow);\n/**\n * \n {item.porcent}%\n \n */","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport { Typography, Link } from '@material-ui/core';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingInline: theme.spacing(4),\n paddingTop: \"4px\"\n }\n}));\n\nconst Footer = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n ©{' '}\n \n Elecsotech\n \n {\" \"}{new Date().getFullYear()} v1.0.0.2\n \n \n \n \n
    \n \n \n team@elecsotech.com\n \n \n
    \n );\n};\n\nFooter.propTypes = {\n className: PropTypes.string\n};\n\nexport default Footer;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Avatar, Typography } from '@material-ui/core';\nimport { connect } from \"react-redux\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n minHeight: 'fit-content'\n },\n avatar: {\n width: 60,\n height: 60\n },\n name: {\n marginTop: theme.spacing(1)\n }\n}));\n\nconst Profile = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n\n //Siguiendo /Seguidores\n return (\n \n \n \n @{auth.username}\n \n\n
    \n );\n};\n\nProfile.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object,\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n auth: reducer.session.auth,\n\n };\n}\n\nexport default connect(mapStateToProps, null)(Profile);\n/**\n *
    \n {\"Following:\"}\n {auth.follower}\n {\"Followers:\"}\n {auth.followme}\n
    \n */\n\n","/* eslint-disable react/no-multi-comp */\n/* eslint-disable react/display-name */\nimport React, { forwardRef } from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { List, ListItem, Button, colors } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n item: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n color: colors.blueGrey[800],\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightMedium\n },\n icon: {\n color: theme.palette.icon,\n width: 24,\n height: 24,\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n active: {\n color: theme.palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n '& $icon': {\n color: theme.palette.primary.main\n }\n }\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n
    \n));\n\nconst SidebarNav = props => {\n const { pages, className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n {pages.map((page, index) => (\n \n \n
    {page.icon}
    \n {page.title}\n \n \n ))}\n \n );\n};\n\nSidebarNav.propTypes = {\n className: PropTypes.string,\n pages: PropTypes.array.isRequired\n};\n\nexport default SidebarNav;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Divider, Drawer } from '@material-ui/core';\nimport DashboardIcon from '@material-ui/icons/Dashboard';\nimport PeopleIcon from '@material-ui/icons/People';\nimport ShoppingBasketIcon from '@material-ui/icons/ShoppingBasket';\nimport TextFieldsIcon from '@material-ui/icons/TextFields';\nimport ImageIcon from '@material-ui/icons/Image';\nimport AccountBoxIcon from '@material-ui/icons/AccountBox';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport LockOpenIcon from '@material-ui/icons/LockOpen';\nimport HistoryIcon from '@mui/icons-material/History';\nimport AssessmentIcon from '@mui/icons-material/Assessment';\nimport QueryStatsIcon from '@mui/icons-material/QueryStats';\nimport ChromeReaderModeIcon from '@mui/icons-material/ChromeReaderMode';\nimport PaymentIcon from '@mui/icons-material/Payment';\nimport ContactSupportIcon from '@mui/icons-material/ContactSupport';\nimport ManageSearchIcon from '@mui/icons-material/ManageSearch';\nimport AutoStoriesIcon from '@mui/icons-material/AutoStories';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\n//import TwoWheeler from \"@material-ui/icons/TwoWheeler\";\nimport InputIcon from '@material-ui/icons/Input';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { Profile, SidebarNav } from './components';\n\nconst useStyles = makeStyles(theme => ({\n drawer: {\n width: 240,\n [theme.breakpoints.up('lg')]: {\n marginTop: 64,\n height: 'calc(100% - 64px)'\n }\n },\n root: {\n backgroundColor: theme.palette.white,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n padding: theme.spacing(2)\n },\n divider: {\n margin: theme.spacing(2, 0)\n },\n nav: {\n marginBottom: theme.spacing(2)\n }\n}));\n\nconst Sidebar = props => {\n const { open, variant, onClose, className, ...rest } = props;\n\n const classes = useStyles();\n\n const pages = [\n {\n title: ,\n href: '/portfolio',\n icon: \n },\n {\n title: ,\n href: '/wall',\n icon: \n },\n {\n title: ,\n href: '/watchlist',\n icon: \n },\n {\n title: ,\n href: '/history',\n icon: \n },\n {\n title: ,\n href: '/discover',\n icon: \n },\n {\n title: ,\n href: '/report',\n icon: \n },\n {\n title: ,\n href: '/knowledge',\n icon: \n },\n\n {\n title: ,\n href: '/faq',\n icon: \n },\n {\n title: ,\n href: '/account',\n icon: \n },\n {\n title: ,\n href: '/balance',\n icon: \n },\n {\n title: ,\n href: '/setting',\n icon: \n },\n {\n title: ,\n href: '/suscription',\n icon: \n },\n {\n title: ,\n href: '/login',\n icon: \n }\n ];\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nSidebar.propTypes = {\n className: PropTypes.string,\n onClose: PropTypes.func,\n open: PropTypes.bool.isRequired,\n variant: PropTypes.string.isRequired\n};\n\nexport default Sidebar;\n/**\n * {\n title: 'Authentication',\n href: '/sign-in',\n icon: \n },\n\n * {\n title: 'Vehiculos',\n href: '/vehiculos',\n icon: \n },\n {\n title: 'Usuarios',\n href: '/users',\n icon: \n },\n {\n title: 'Products',\n href: '/products',\n icon: \n },\n {\n title: 'Typography',\n href: '/typography',\n icon: \n },\n {\n title: 'Icons',\n href: '/icons',\n icon: \n },\n */","\nexport const LOGIN_ATTEMPT = \"LOGIN_ATTEMPT\";\nexport const LOGIN_SUCCESS = \"LOGIN_SUCCESS\";\nexport const LOGIN_FAILED = \"LOGIN_FAILED\";\n\nexport const LOGOUT = \"LOGOUT\";\n\nexport const RESET_SUCCESS = \"RESET_SUCCESS\";\nexport const UPDATE_FAILED = \"UPDATE_FAILED\";\n\n\nexport const UPDATE_SUCCESS = \"UPDATE_SUCCESS\";\n\n","import axios from \"axios\";\nimport {\n LOGIN_ATTEMPT,\n LOGIN_SUCCESS,\n LOGIN_FAILED,\n /////////////////////\n LOGOUT,\n ///////////////////////\n RESET_SUCCESS,\n UPDATE_FAILED,\n /////////////////////\n\n /////////////////////\n UPDATE_SUCCESS\n} from \"../types/sessionTypes\";\nimport { config } from \"../../config\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: LOGIN_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: LOGIN_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: LOGIN_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function signout(error) {\n return {\n type: LOGOUT,\n //error: error\n };\n}\n//////////////////////////////////\nexport function successUpdate(success) {\n return {\n type: RESET_SUCCESS,\n success: success\n };\n}\n\nexport function failedUpdate(error) {\n return {\n type: UPDATE_FAILED,\n error: error\n };\n}\nexport const logout = (data: Object) => async (dispatch) => {\n dispatch(signout());\n}\n\nexport function successItem(item) {\n return {\n type: UPDATE_SUCCESS,\n item: item\n };\n}\n\nexport const login = (data: Object) => async (dispatch) => {\n //console.log(data);\n await axios({\n method: \"post\",\n url: url_api + \"auth/login\",\n /* headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'origin': 'x-requested-with',\n 'Access-Control-Allow-Headers': 'POST, GET, PUT, DELETE, OPTIONS, HEAD, Authorization, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Access-Control-Allow-Origin',\n 'Content-Type': 'application/json',\n },*/\n data: data,\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const resetItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"auth/reset\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"auth/update\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success') {\n dispatch(successItem(response.data.body));\n alertify.success(\"Success\");\n }\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadItem = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"auth/profile\", {\n params: {\n id: data.user_id,\n // token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successItem(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n}\n\nexport const activate = (data: Object) => async (dispatch) => {\n // dispatch(loading());\n await axios({\n method: \"post\",\n url: url_api + \"auth/activate\",\n /* headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'origin': 'x-requested-with',\n 'Access-Control-Allow-Headers': 'POST, GET, PUT, DELETE, OPTIONS, HEAD, Authorization, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Access-Control-Allow-Origin',\n 'Content-Type': 'application/json',\n },*/\n data: data.params,\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};\n\nexport const register = (data: Object) => async (dispatch) => {\n //dispatch(loading());\n await axios({\n method: \"post\",\n url: url_api + \"auth/register\",\n data: data.params,\n })\n .then(function (response) {\n //console.timeLog(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const recovery = (data: Object) => async (dispatch) => {\n //dispatch(loading());\n await axios({\n method: \"post\",\n url: url_api + \"email/recovery\",\n /* headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n 'origin': 'x-requested-with',\n 'Access-Control-Allow-Headers': 'POST, GET, PUT, DELETE, OPTIONS, HEAD, Authorization, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Access-Control-Allow-Origin',\n 'Content-Type': 'application/json',\n },*/\n data: data,\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n STOCK_LIST_ATTEMPT,\n STOCK_LIST_SUCCESS,\n STOCK_LIST_FAILED,\n STOCK_LIST_RESET,\n ////////////////////\n STOCK_ITEM_ATTEMPT,\n STOCK_ITEM_SUCCESS,\n STOCK_ITEM_FAILED,\n ////////////////////\n STOCK_NEW_SUCCESS,\n STOCK_NEW_FAILED,\n ///////////////////\n STOCK_REMOVE_SUCCESS,\n STOCK_REMOVE_FAILED,\n ///////////\n STOCK_SET_ITEM\n} from \"../types/stockTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: STOCK_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: STOCK_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: STOCK_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingItem() {\n return {\n type: STOCK_ITEM_ATTEMPT\n };\n}\n\nexport function successItem(item) {\n return {\n type: STOCK_ITEM_SUCCESS,\n item: item\n };\n}\n\nexport function failedItem(error) {\n return {\n type: STOCK_ITEM_FAILED,\n error: error\n };\n}\n\nexport function successNew(item) {\n return {\n type: STOCK_NEW_SUCCESS,\n item: item\n };\n}\n\n\n\nexport function failedNew(error) {\n return {\n type: STOCK_NEW_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: STOCK_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: STOCK_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////\nexport function set(item) {\n return {\n type: STOCK_SET_ITEM,\n item: item\n };\n}\nexport function clear() {\n return {\n type: STOCK_LIST_RESET,\n };\n}\n\n////////////////////////\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n\nexport const resetList = (data: Object) => async dispatch => {\n dispatch(clear());\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"stock/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadItem = (data: Object) => async dispatch => {\n dispatch(loadingItem());\n await axios\n .get(url_api + \"stock/ticker\", {\n params: data.params,/*{\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },*/\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successItem(response.data.body));\n else dispatch(failedItem(response.data.body));\n } else {\n dispatch(failedItem(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedItem(\"try_later\"));\n } else {\n dispatch(failedItem(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"stock/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\n\n\n\nexport const searchList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"stock/search\", {\n params: data.params,/*{\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },*/\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};","export const STOCK_LIST_ATTEMPT = \"STOCK_LIST_ATTEMPT\";\nexport const STOCK_LIST_SUCCESS = \"STOCK_LIST_SUCCESS\";\nexport const STOCK_LIST_FAILED = \"STOCK_LIST_FAILED\";\n//////////////////\nexport const STOCK_ITEM_ATTEMPT = \"STOCK_ITEM_ATTEMPT\";\nexport const STOCK_ITEM_SUCCESS = \"STOCK_ITEM_SUCCESS\";\nexport const STOCK_ITEM_FAILED = \"STOCK_ITEM_FAILED\";\n//////////////////\nexport const STOCK_NEW_SUCCESS = \"STOCK_NEW_SUCCESS\";\nexport const STOCK_NEW_FAILED = \"STOCK_NEW_FAILED\";\n///////////////////\nexport const STOCK_REMOVE_SUCCESS = \"STOCK_REMOVE_SUCCESS\";\nexport const STOCK_REMOVE_FAILED = \"STOCK_REMOVE_FAILED\";\n\nexport const STOCK_SET_ITEM = \"STOCK_SET_ITEM\";\n\nexport const STOCK_LIST_RESET = \"STOCK_LIST_RESET\";\n\n","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Divider from '@mui/material/Divider';\n\nconst schema = {\n name: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 100\n }\n },\n}\n\nconst FormDialog = (props) => {\n\n return (\n
    \n \n Summary Coin\n \n \n Incoming and outgoing coins\n \n \n
    \n
    \n Incoming: 0\n
    \n
    \n Outgoing: 0\n
    \n
    \n Total: 0\n
    \n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default FormDialog;\n\n/**\n * \n */\n","export const supportedLocales = {\n en: \"English\",\n es: \"Español\",\n};\n\nexport const fallbackLocale = \"en\";\n\n/**\n * Language \tISO Code\nAbkhazian \tab\nAfar \taa\nAfrikaans \taf\nAkan \tak\nAlbanian \tsq\nAmharic \tam\nArabic \tar\nAragonese \tan\nArmenian \thy\nAssamese \tas\nAvaric \tav\nAvestan \tae\nAymara \tay\nAzerbaijani \taz\nBambara \tbm\nBashkir \tba\nBasque \teu\nBelarusian \tbe\nBengali (Bangla) \tbn\nBihari \tbh\nBislama \tbi\nBosnian \tbs\nBreton \tbr\nBulgarian \tbg\nBurmese \tmy\nCatalan \tca\nChamorro \tch\nChechen \tce\nChichewa, Chewa, Nyanja \tny\nChinese \tzh\nChinese (Simplified) \tzh-Hans\nChinese (Traditional) \tzh-Hant\nChuvash \tcv\nCornish \tkw\nCorsican \tco\nCree \tcr\nCroatian \thr\nCzech \tcs\nDanish \tda\nDivehi, Dhivehi, Maldivian \tdv\nDutch \tnl\nDzongkha \tdz\nEnglish \ten\nEsperanto \teo\nEstonian \tet\nEwe \tee\nFaroese \tfo\nFijian \tfj\nFinnish \tfi\nFrench \tfr\nFula, Fulah, Pulaar, Pular \tff\nGalician \tgl\nGaelic (Scottish) \tgd\nGaelic (Manx) \tgv\nGeorgian \tka\nGerman \tde\nGreek \tel\nGreenlandic \tkl\nGuarani \tgn\nGujarati \tgu\nHaitian Creole \tht\nHausa \tha\nHebrew \the\nHerero \thz\nHindi \thi\nHiri Motu \tho\nHungarian \thu\nIcelandic \tis\nIdo \tio\nIgbo \tig\nIndonesian \tid, in\nInterlingua \tia\nInterlingue \tie\nInuktitut \tiu\nInupiak \tik\nIrish \tga\nItalian \tit\nJapanese \tja\nJavanese \tjv\nKalaallisut, Greenlandic \tkl\nKannada \tkn\nKanuri \tkr\nKashmiri \tks\nKazakh \tkk\nKhmer \tkm\nKikuyu \tki\nKinyarwanda (Rwanda) \trw\nKirundi \trn\nKyrgyz \tky\nKomi \tkv\nKongo \tkg\nKorean \tko\nKurdish \tku\nKwanyama \tkj\nLao \tlo\nLatin \tla\nLatvian (Lettish) \tlv\nLimburgish ( Limburger) \tli\nLingala \tln\nLithuanian \tlt\nLuga-Katanga \tlu\nLuganda, Ganda \tlg\nLuxembourgish \tlb\nManx \tgv\nMacedonian \tmk\nMalagasy \tmg\nMalay \tms\nMalayalam \tml\nMaltese \tmt\nMaori \tmi\nMarathi \tmr\nMarshallese \tmh\nMoldavian \tmo\nMongolian \tmn\nNauru \tna\nNavajo \tnv\nNdonga \tng\nNorthern Ndebele \tnd\nNepali \tne\nNorwegian \tno\nNorwegian bokmål \tnb\nNorwegian nynorsk \tnn\nNuosu \tii\nOccitan \toc\nOjibwe \toj\nOld Church Slavonic, Old Bulgarian \tcu\nOriya \tor\nOromo (Afaan Oromo) \tom\nOssetian \tos\nPāli \tpi\nPashto, Pushto \tps\nPersian (Farsi) \tfa\nPolish \tpl\nPortuguese \tpt\nPunjabi (Eastern) \tpa\nQuechua \tqu\nRomansh \trm\nRomanian \tro\nRussian \tru\nSami \tse\nSamoan \tsm\nSango \tsg\nSanskrit \tsa\nSerbian \tsr\nSerbo-Croatian \tsh\nSesotho \tst\nSetswana \ttn\nShona \tsn\nSichuan Yi \tii\nSindhi \tsd\nSinhalese \tsi\nSiswati \tss\nSlovak \tsk\nSlovenian \tsl\nSomali \tso\nSouthern Ndebele \tnr\nSpanish \tes\nSundanese \tsu\nSwahili (Kiswahili) \tsw\nSwati \tss\nSwedish \tsv\nTagalog \ttl\nTahitian \tty\nTajik \ttg\nTamil \tta\nTatar \ttt\nTelugu \tte\nThai \tth\nTibetan \tbo\nTigrinya \tti\nTonga \tto\nTsonga \tts\nTurkish \ttr\nTurkmen \ttk\nTwi \ttw\nUyghur \tug\nUkrainian \tuk\nUrdu \tur\nUzbek \tuz\nVenda \tve\nVietnamese \tvi\nVolapük \tvo\nWallon \twa\nWelsh \tcy\nWolof \two\nWestern Frisian \tfy\nXhosa \txh\nYiddish \tyi, ji\nYoruba \tyo\nZhuang, Chuang \tza\nZulu \tzu\n */\n\n/**\n * Country \tISO Code\nAFGHANISTAN \tAF\nALBANIA \tAL\nALGERIA \tDZ\nAMERICAN SAMOA \tAS\nANDORRA \tAD\nANGOLA \tAO\nANTARCTICA \tAQ\nANTIGUA AND BARBUDA \tAG\nARGENTINA \tAR\nARMENIA \tAM\nARUBA \tAW\nAUSTRALIA \tAU\nAUSTRIA \tAT\nAZERBAIJAN \tAZ\nBAHAMAS \tBS\nBAHRAIN \tBH\nBANGLADESH \tBD\nBARBADOS \tBB\nBELARUS \tBY\nBELGIUM \tBE\nBELIZE \tBZ\nBENIN \tBJ\nBERMUDA \tBM\nBHUTAN \tBT\nBOLIVIA \tBO\nBOSNIA AND HERZEGOVINA \tBA\nBOTSWANA \tBW\nBOUVET ISLAND \tBV\nBRAZIL \tBR\nBRITISH INDIAN OCEAN TERRITORY \tIO\nBRUNEI DARUSSALAM \tBN\nBULGARIA \tBG\nBURKINA FASO \tBF\nBURUNDI \tBI\nCAMBODIA \tKH\nCAMEROON \tCM\nCANADA \tCA\nCAPE VERDE \tCV\nCAYMAN ISLANDS \tKY\nCENTRAL AFRICAN REPUBLIC \tCF\nCHAD \tTD\nCHILE \tCL\nCHINA \tCN\nCHRISTMAS ISLAND \tCX\nCOCOS (KEELING) ISLANDS \tCC\nCOLOMBIA \tCO\nCOMOROS \tKM\nCONGO \tCG\nCONGO, THE DEMOCRATIC REPUBLIC OF THE \tCD\nCOOK ISLANDS \tCK\nCOSTA RICA \tCR\nCÔTE D'IVOIRE \tCI\nCROATIA \tHR\nCUBA \tCU\nCYPRUS \tCY\nCZECH REPUBLIC \tCZ\nDENMARK \tDK\nDJIBOUTI \tDJ\nDOMINICA \tDM\nDOMINICAN REPUBLIC \tDO\nECUADOR \tEC\nEGYPT \tEG\nEL SALVADOR \tSV\nEQUATORIAL GUINEA \tGQ\nERITREA \tER\nESTONIA \tEE\nETHIOPIA \tET\nFALKLAND ISLANDS (MALVINAS) \tFK\nFAROE ISLANDS \tFO\nFIJI \tFJ\nFINLAND \tFI\nFRANCE \tFR\nFRENCH GUIANA \tGF\nFRENCH POLYNESIA \tPF\nFRENCH SOUTHERN TERRITORIES \tTF\nGABON \tGA\nGAMBIA \tGM\nGEORGIA \tGE\nGERMANY \tDE\nGHANA \tGH\nGIBRALTAR \tGI\nGREECE \tGR\nGREENLAND \tGL\nGRENADA \tGD\nGUADELOUPE \tGP\nGUAM \tGU\nGUATEMALA \tGT\nGUINEA \tGN\nGUINEA-BISSAU \tGW\nGUYANA \tGY\nHAITI \tHT\nHEARD ISLAND AND MCDONALD ISLANDS \tHM\nHONDURAS \tHN\nHONG KONG \tHK\nHUNGARY \tHU\nICELAND \tIS\nINDIA \tIN\nINDONESIA \tID\nIRAN, ISLAMIC REPUBLIC OF \tIR\nIRAQ \tIQ\nIRELAND \tIE\nISRAEL \tIL\nITALY \tIT\nJAMAICA \tJM\nJAPAN \tJP\nJORDAN \tJO\nKAZAKHSTAN \tKZ\nKENYA \tKE\nKIRIBATI \tKI\nKOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF \tKP\nKOREA, REPUBLIC OF \tKR\nKUWAIT \tKW\nKYRGYZSTAN \tKG\nLAO PEOPLE'S DEMOCRATIC REPUBLIC (LAOS) \tLA\nLATVIA \tLV\nLEBANON \tLB\nLESOTHO \tLS\nLIBERIA \tLR\nLIBYA, STATE OF \tLY\nLIECHTENSTEIN \tLI\nLITHUANIA \tLT\nLUXEMBOURG \tLU\nMACAO \tMO\nMACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF \tMK\nMADAGASCAR \tMG\nMALAWI \tMW\nMALAYSIA \tMY\nMALDIVES \tMV\nMALI \tML\nMALTA \tMT\nMARSHALL ISLANDS \tMH\nMARTINIQUE \tMQ\nMAURITANIA \tMR\nMAURITIUS \tMU\nMAYOTTE \tYT\nMEXICO \tMX\nMICRONESIA, FEDERATED STATES OF \tFM\nMOLDOVA, REPUBLIC OF \tMD\nMONACO \tMC\nMONGOLIA \tMN\nMONTENEGRO \tME\nMONTSERRAT \tMS\nMOROCCO \tMA\nMOZAMBIQUE \tMZ\nMYANMAR \tMM\nNAMIBIA \tNA\nNAURU \tNR\nNEPAL, FEDERAL DEMOCRATIC REPUBLIC OF \tNP\nNETHERLANDS \tNL\nNETHERLANDS ANTILLES \tAN\nNEW CALEDONIA \tNC\nNEW ZEALAND \tNZ\nNICARAGUA \tNI\nNIGER \tNE\nNIGERIA \tNG\nNIUE \tNU\nNORFOLK ISLAND \tNF\nNORTHERN MARIANA ISLANDS \tMP\nNORWAY \tNO\nOMAN \tOM\nPAKISTAN \tPK\nPALAU \tPW\nPALESTINE, STATE OF \tPS\nPANAMA \tPA\nPAPUA NEW GUINEA \tPG\nPARAGUAY \tPY\nPERU \tPE\nPHILIPPINES \tPH\nPITCAIRN \tPN\nPOLAND \tPL\nPORTUGAL \tPT\nPUERTO RICO \tPR\nQATAR \tQA\nRÉUNION \tRE\nROMANIA \tRO\nRUSSIAN FEDERATION \tRU\nRWANDA \tRW\nSAINT HELENA \tSH\nSAINT KITTS AND NEVIS \tKN\nSAINT LUCIA \tLC\nSAINT PIERRE AND MIQUELON \tPM\nSAINT VINCENT AND THE GRENADINES \tVC\nSAMOA \tWS\nSAN MARINO \tSM\nSAO TOME AND PRINCIPE \tST\nSAUDI ARABIA \tSA\nSENEGAL \tSN\nSERBIA \tRS\nSEYCHELLES \tSC\nSIERRA LEONE \tSL\nSINGAPORE \tSG\nSLOVAKIA \tSK\nSLOVENIA \tSI\nSOLOMON ISLANDS \tSB\nSOMALIA \tSO\nSOUTH AFRICA \tZA\nSOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS \tGS\nSOUTH SUDAN \tSS\nSPAIN \tES\nSRI LANKA \tLK\nSUDAN \tSD\nSURINAME \tSR\nSVALBARD AND JAN MAYEN \tSJ\nSWAZILAND \tSZ\nSWEDEN \tSE\nSWITZERLAND \tCH\nSYRIAN ARAB REPUBLIC \tSY\nTAIWAN \tTW\nTAJIKISTAN \tTJ\nTANZANIA, UNITED REPUBLIC OF \tTZ\nTHAILAND \tTH\nTIMOR-LESTE \tTL\nTOGO \tTG\nTOKELAU \tTK\nTONGA \tTO\nTRINIDAD AND TOBAGO \tTT\nTUNISIA \tTN\nTURKEY \tTR\nTURKMENISTAN \tTM\nTURKS AND CAICOS ISLANDS \tTC\nTUVALU \tTV\nUGANDA \tUG\nUKRAINE \tUA\nUNITED ARAB EMIRATES \tAE\nUNITED KINGDOM \tGB\nUNITED STATES \tUS\nUNITED STATES MINOR OUTLYING ISLANDS \tUM\nURUGUAY \tUY\nUZBEKISTAN \tUZ\nVANUATU \tVU\nVENEZUELA \tVE\nVIET NAM \tVN\nVIRGIN ISLANDS, BRITISH \tVG\nVIRGIN ISLANDS, U.S. \tVI\nWALLIS AND FUTUNA \tWF\nWESTERN SAHARA \tEH\nYEMEN \tYE\nZAMBIA \tZM\nZIMBABWE \tZW \n */\n","import React from \"react\";\nimport \"./styles.css\";\nimport { Link } from \"react-router-dom\";\nimport { supportedLocales, fallbackLocale } from \"assets/lang/supportedLang\";\nimport { setLocaleWithFallback } from \"redux/actions/i18n\";\nimport { connect } from \"react-redux\";\nimport { Translate } from \"react-redux-i18n\";\n\nclass DropDownLang extends React.Component {\n constructor() {\n super();\n\n this.state = {\n displayMenu: false\n };\n\n this.showDropdownMenu = this.showDropdownMenu.bind(this);\n this.hideDropdownMenu = this.hideDropdownMenu.bind(this);\n }\n\n showDropdownMenu(event) {\n event.preventDefault();\n this.setState({ displayMenu: true }, () => {\n document.addEventListener(\"click\", this.hideDropdownMenu);\n });\n }\n\n hideDropdownMenu() {\n this.setState({ displayMenu: false }, () => {\n document.removeEventListener(\"click\", this.hideDropdownMenu);\n });\n }\n\n handleLanguageLinkClick = (e, code) => {\n e.preventDefault();\n this.props.setLocaleWithFallback(code);\n };\n\n render() {\n return (\n
    \n
    \n \n
    \n\n {this.state.displayMenu ? (\n
      \n {Object.keys(supportedLocales).map(code => {\n return (\n this.handleLanguageLinkClick(e, code)}\n >\n
    • {supportedLocales[code]}
    • \n \n );\n })}\n
    \n ) : null}\n
    \n );\n }\n}\nconst mapStateToProps = state => ({ locale: state.i18n.locale });\n\nconst mapDispatchToProps = { setLocaleWithFallback };\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DropDownLang);","import { setLocale } from \"react-redux-i18n\";\nimport {\n supportedLocales,\n fallbackLocale\n} from \"assets/lang/supportedLang\";\n\nexport function setLocaleWithFallback(desiredLocale) {\n const finalLocale = Object.keys(supportedLocales).includes(desiredLocale)\n ? desiredLocale\n : fallbackLocale;\n\n return dispatch => dispatch(setLocale(finalLocale));\n}\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n WATCHSTOCK_LIST_ATTEMPT,\n WATCHSTOCK_LIST_SUCCESS,\n WATCHSTOCK_LIST_FAILED,\n ////////////////////\n WATCHSTOCK_NEW_SUCCESS,\n WATCHSTOCK_NEW_FAILED,\n ///////////////////\n WATCHSTOCK_REMOVE_SUCCESS,\n WATCHSTOCK_REMOVE_FAILED,\n ///////////\n WATCHSTOCK_SET_ITEM\n} from \"../types/watchStockTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: WATCHSTOCK_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: WATCHSTOCK_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: WATCHSTOCK_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function successNew(item) {\n return {\n type: WATCHSTOCK_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: WATCHSTOCK_NEW_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: WATCHSTOCK_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: WATCHSTOCK_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////\nexport function set(item) {\n return {\n type: WATCHSTOCK_SET_ITEM,\n item: item\n };\n}\n\n////////////////////////\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"watchstock/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"watchstock/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"watchstock/\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"watchstock/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};","export const WATCHSTOCK_LIST_ATTEMPT = \"WATCHSTOCK_LIST_ATTEMPT\";\nexport const WATCHSTOCK_LIST_SUCCESS = \"WATCHSTOCK_LIST_SUCCESS\";\nexport const WATCHSTOCK_LIST_FAILED = \"WATCHSTOCK_LIST_FAILED\";\n//////////////////\nexport const WATCHSTOCK_NEW_SUCCESS = \"WATCHSTOCK_NEW_SUCCESS\";\nexport const WATCHSTOCK_NEW_FAILED = \"WATCHSTOCK_NEW_FAILED\";\n///////////////////\nexport const WATCHSTOCK_REMOVE_SUCCESS = \"WATCHSTOCK_REMOVE_SUCCESS\";\nexport const WATCHSTOCK_REMOVE_FAILED = \"WATCHSTOCK_REMOVE_FAILED\";\n\nexport const WATCHSTOCK_SET_ITEM = \"WATCHSTOCK_SET_ITEM\";\n","import React, { useState, useEffect } from 'react';\n//import validate from 'validate.js';\n//import TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport { makeStyles } from \"@material-ui/styles\";\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Divider from '@mui/material/Divider';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport AddIcon from '@mui/icons-material/Add';\nimport {\n Card,\n CardActions,\n CardContent,\n Typography,\n IconButton,\n} from '@material-ui/core'\nimport MenuItem from '@mui/material/MenuItem';\nimport { connect } from \"react-redux\";\nimport * as actions_watch from \"redux/actions/watchStockActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n row: {\n flexDirection: \"row\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n padding: \"10px\"\n }\n}));\nconst FormDialog = (props) => {\n const [open, setOpen] = React.useState(false);\n\n const classes = useStyles();\n\n const handleClickOpen = () => {\n setOpen(true);\n\n };\n\n const handleClose = () => {\n setOpen(false);\n props.resetList();\n };\n\n const onCliclAdd = (item) => {\n setOpen(false);\n props.newItem({\n id: props.user_id,\n symbol: props.symbol,\n list_id: item.id\n }, props.token);\n props.resetList();\n }\n\n return (\n
    \n \n \n \n \n {\"Select List\"}\n \n \n {\"\"}\n \n \n
    \n {\n props.list.map((item) => (\n { onCliclAdd(item) }}>\n \n {item.name}\n \n \n ))\n }\n
    \n
    \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.watchList.list,\n\n stock: reducer.stock.item\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions_watch.newItem({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n/** .list.map((element) => { sm md lg xl xs\n return \n \n }) */","import * as React from 'react';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\nimport IconButton from '@mui/material/IconButton';\nimport Avatar from '@mui/material/Avatar';\nimport AddIcon from '@mui/icons-material/Add';\nimport Typography from '@mui/material/Typography';\nimport Divider from '@mui/material/Divider';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport WatchListModal from 'components/WatchListModal';\nimport { makeStyles } from '@material-ui/styles';\n\n\nconst useStyles = makeStyles(theme => ({\n\n avatar: {\n height: 30,\n width: 30,\n borderRadius: \"5px\"\n },\n\n}));\n\nexport default function ListStockSearch(props) {\n const classes = useStyles();\n return (\n \n {props.list.map((item) => {\n const labelId = `checkbox-list-secondary-label-${item.id}`;\n return (\n \n }\n disablePadding\n >\n \n { props.onClickStock(item) }} >\n \n \n \n {item.symbol}}\n secondary={\n \n \n {item.name}\n \n \n } />\n \n \n \n \n \n\n );\n })}\n \n );\n}\n/**\n * `img${item.id}`\n * \n \n \n \n \n */","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n NOTIFICATION_LIST_ATTEMPT,\n NOTIFICATION_LIST_SUCCESS,\n NOTIFICATION_LIST_FAILED,\n ////////////////////\n NOTIFICATION_MORELIST_ATTEMPT,\n NOTIFICATION_MORELIST_SUCCESS,\n NOTIFICATION_MORELIST_FAILED,\n ////////////\n NOTIFICATION_SET_COUNT\n} from \"../types/notificationTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: NOTIFICATION_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: NOTIFICATION_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: NOTIFICATION_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: NOTIFICATION_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: NOTIFICATION_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: NOTIFICATION_MORELIST_FAILED,\n error: error\n };\n}\n\nexport function setNum(count) {\n return {\n type: NOTIFICATION_SET_COUNT,\n count: count\n };\n}\n\n////////////////////////\nexport const setCount = (data: Object) => async dispatch => {\n dispatch(setNum(data.count));\n}\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"notification/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"notification/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};","export const NOTIFICATION_LIST_ATTEMPT = \"NOTIFICATION_LIST_ATTEMPT\";\nexport const NOTIFICATION_LIST_SUCCESS = \"NOTIFICATION_LIST_SUCCESS\";\nexport const NOTIFICATION_LIST_FAILED = \"NOTIFICATION_LIST_FAILED\";\n////////////\nexport const NOTIFICATION_MORELIST_ATTEMPT = \"NOTIFICATION_MORELIST_ATTEMPT\";\nexport const NOTIFICATION_MORELIST_SUCCESS = \"NOTIFICATION_MORELIST_SUCCESS\";\nexport const NOTIFICATION_MORELIST_FAILED = \"NOTIFICATION_MORELIST_FAILED\";\n/////////////\nexport const NOTIFICATION_SET_COUNT = \"NOTIFICATION_SET_COUNT\";\n\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport Box from '@mui/material/Box';\nimport SwipeableDrawer from '@mui/material/SwipeableDrawer';\nimport Button from '@mui/material/Button';\nimport List from '@mui/material/List';\nimport Divider from '@mui/material/Divider';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport { makeStyles } from '@material-ui/styles';\nimport InboxIcon from '@mui/icons-material/MoveToInbox';\nimport MailIcon from '@mui/icons-material/Mail';\nimport { AppBar, Toolbar, Badge, Hidden, IconButton, Avatar } from '@material-ui/core';\nimport NotificationsIcon from '@material-ui/icons/NotificationsOutlined';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/notificationActions\";\nimport * as actions_comment from \"redux/actions/commentActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { useHistory } from 'react-router-dom';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '100%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 56,\n width: 56,\n marginRight: \"10px\"\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nfunction Notification(props) {\n const classes = useStyles();\n const { className, ...rest } = props;\n const history = useHistory();\n\n\n const [state, setState] = React.useState({\n top: false,\n left: false,\n bottom: false,\n right: false,\n });\n\n const toggleDrawer = (anchor, open) => (event) => {\n if (\n event &&\n event.type === 'keydown' &&\n (event.key === 'Tab' || event.key === 'Shift')\n ) {\n return;\n }\n\n setState({ ...state, [anchor]: open });\n if (open) {\n props.loadList({ id: props.user_id }, props.token);\n }\n };\n /*\n useEffect(() => {\n \n }, [props.notification]);\n */\n const onClick = (item) => {\n props.loadItem({ comment_id: item.aux_id, id: props.user_id }, props.token).then(() => {\n history.push('/comment');\n });\n\n // props.loadListComment({ id: props.user_id }, props.token);\n }\n\n // \n\n const list = (anchor) => (\n \n \n {props.list.map((item, index) => (\n \n\n { onClick(item) }}>\n\n \n \n \n \n \n }\n secondary={\n
    \n {item.detail}\n {item.created_at}\n
    \n } />\n\n
    \n\n
    \n ))}\n
    \n\n \n );\n\n return (\n \n \n \n \n \n \n \n {list(\"right\")}\n \n \n );\n}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n notification: reducer.session.auth.notification,\n count: reducer.notification.count,\n\n list: reducer.notification.list,\n error: reducer.notification.error,\n loading: reducer.notification.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n setCount: (count) =>\n dispatch(actions.setCount({ count })),\n ////////////////////\n loadItem: (params, token) =>\n dispatch(actions_comment.loadItem({ params, token })),\n //setItem: (item) =>\n // dispatch(actions_comment.setItem({ item })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Notification);\n/**\n * index % 2 === 0 ? : \n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport { config } from \"../../config\";\nimport socketIOClient, { io } from \"socket.io-client\";\n//import formatMessage from '../../utils/message';\n//import formatUser from '../../utils/user';\n//import formatNotification from '../../utils/notification';\nimport {\n UPDATE_TICKER_STOCK_QUOTE,\n ////////////////////\n UPDATE_TICKER_OPTION_QUOTE\n //////////////////\n ///////////////\n} from '../types/eventTypes';\n/*\nimport {\n CONTACT_ONLINE,\n CONTACT_OFFLINE,\n CONTACTS_ONLINE,\n /////////////////////\n UPDATE_BADGET_LIST_CONTACTS\n} from \"../types/contactsTypes\";\nimport {\n RECEIVE_MESSAGE,\n CONFIRM_MESSAGE_READ,\n CONFIRM_MESSAGE_RECEIVE\n} from \"../types/messageTypes\";\nimport {\n RECEIVE_NOTIFICATION,\n} from \"../types/notificationTypes\";\n*/\nvar user_id, token;\n//crea una o n instancia de socket, si se requiere crear una nueva instancia es agreagar a lado de la url // , { forceNew: true } //+ \":\" + config.notificationService.port \n/*const socketNotification = io(config.socket.url + \"/\" + config.notificationService.channel, {\n transports: config.socket.transports,\n withCredentials: config.socket.withCredentials,\n //forceNew: true,\n secure: config.socket.secure,\n reconnect: config.socket.reconnect,\n rejectUnauthorized: config.socket.rejectUnauthorized,\n //port: config.notificationService.port,\n path: config.notificationService.path,\n reconnectionDelay: config.socket.reconnectionDelay,\n reconnectionDelayMax: config.socket.reconnectionDelayMax,\n reconnectionAttempts: config.socket.reconnectionAttempts\n});//\"https://server-domain.com\" wss://\n\nconst socketChat = io(config.socket.url + \"/\" + config.chatService.channel, {//\":\" + config.chatService.port + \n transports: config.socket.transports,\n withCredentials: config.socket.withCredentials,\n //forceNew: true,\n secure: config.socket.secure,\n reconnect: config.socket.reconnect,\n rejectUnauthorized: config.socket.rejectUnauthorized,\n //port: config.chatService.port,\n path: config.chatService.path,\n reconnectionDelay: config.socket.reconnectionDelay,\n reconnectionDelayMax: config.socket.reconnectionDelayMax,\n reconnectionAttempts: config.socket.reconnectionAttempts\n});\n*/\nexport function updateStock(item) {\n return {\n type: UPDATE_TICKER_STOCK_QUOTE,\n item: item\n };\n}\n\nexport function updateOption(item) {\n return {\n type: UPDATE_TICKER_OPTION_QUOTE,\n item: item\n };\n}\n\n\nlet socketTrade = null;\nconst log = config.socket.log;\n\nexport const initConextionSocket = (data: Object) => async (dispatch) => {\n\n if (!config.tradeService.active) return;\n\n socketTrade = io(config.socket.url + \"/\" + config.tradeService.channel, {//\":\" + config.chatService.port + \n transports: config.socket.transports,\n withCredentials: config.socket.withCredentials,\n //forceNew: true,\n secure: config.socket.secure,\n reconnect: config.socket.reconnect,\n rejectUnauthorized: config.socket.rejectUnauthorized,\n port: config.tradeService.port,\n path: config.tradeService.path,\n reconnectionDelay: config.socket.reconnectionDelay,\n reconnectionDelayMax: config.socket.reconnectionDelayMax,\n reconnectionAttempts: config.socket.reconnectionAttempts\n });\n\n socketTrade.on(\"connect\", () => {\n //console.log(socketChat.connected); // true\n log && console.log(\"Ebi Trade connect\"); // true\n });\n\n socketTrade.on(\"disconnect\", () => {\n log && console.log(\"Ebi Trade desconectado\"); // true\n });\n\n socketTrade.on(\"reconnection_attempt\", () => { // ...\n log && console.log(\"Ebi Trade reconectando\"); // true\n });\n socketTrade.on(\"reconnect\", () => { // ...\n log && console.log(\"Ebi Trade reconectado\"); // true\n });\n\n //socket.on(\"connect_error\", () => { socket.auth.token = \"abcd\"; socket.connect(); });\n // or if the `auth` attribute is a functionconst socket = io({ auth: (cb) => { cb(localStorage.getItem(\"token\")); }});\n socketTrade.on(\"connect_error\", (err) => {\n log && console.log(err.req);\t // el objeto de la solicitud\n log && console.log(err.code); // el código de error, por ejemplo 1\n log && console.log(err.message); // el mensaje de error, por ejemplo, \"ID de sesión desconocida\"\n log && console.log(err.context); // algún contexto de error adicional\n setTimeout(() => { socketTrade.connect(); }, 1000);\n });\n\n socketTrade.on(\"stock\", (data) => {\n log && console.log(data);\n dispatch(updateStock(data));\n });\n\n socketTrade.on(\"option\", (data) => {\n log && console.log(data);\n dispatch(updateOption(data));\n });\n}\n\nexport const closeConextionSocket = () => async (dispatch) => {\n socketTrade && socketTrade.disconnect();\n //socket.close()\n socketTrade = null;\n}\n\nexport const suscribeStock = (data: Object) => async (dispatch) => {\n socketTrade.emit(\"suscribeStock\", data);\n log && console.log(\"suscribeStock\");\n\n}\n\nexport const suscribeOption = (data: Object) => async (dispatch) => {\n socketTrade.emit(\"suscribeOption\", data);\n log && console.log(\"suscribeOption\");\n\n}\n\n/*\nexport function eventChat(data) {\n return {\n type: EVENT_CHAT,\n data: data\n }\n};\nexport function setContactEvent(data) {\n return {\n type: UPDATE_CONTACT_EVENT,\n item: data\n };\n}\n\nexport function removeContactEvent(error) {\n return {\n type: CLEAR_CONTACT_EVENT,\n };\n}\n*/\n/////////////////////////////////////message\n/*export function receiveMessage(data) {\n axios.put(config.api.godiway + \"message/receive\", {\n id: data.id,\n user_id: user_id,\n token: token,\n lang: I18n.t(\"locale\")\n }, {\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n /*if (response.status < 300) {\n if (response.data.status === \"Success\")\n dispatch(successStoreMessage(response.data.item, data.id));\n else dispatch(failedStoreMessage(response.data.description, data.id));\n } else {\n dispatch(failedStoreMessage(\"try_later\"), data.id);\n }*/\n/* })\n .catch(function (error) {\n console.log(error);\n return;\n });\nreturn {\n type: RECEIVE_MESSAGE,\n data: data\n}\n};\n\nexport function confirmMessageReceive(data) {\nreturn {\n type: CONFIRM_MESSAGE_RECEIVE,\n data: data\n}\n}\n\nexport function confirmMessageRead(data) {\nreturn {\n type: CONFIRM_MESSAGE_READ,\n data: data\n}\n}\n/*\nexport function receiveNotification(data) {\nreturn {\ntype: RECEIVE_NOTIFICATION,\ndata: data\n}\n};\n//////////////////////////////// Contacts\nexport function receiveMembers(list) {\nreturn {\n type: CONTACTS_ONLINE,\n list: list\n}\n};\nexport function setOnlineContact(data) {\nreturn {\n type: CONTACT_ONLINE,\n data: data\n};\n}\nexport function setOfflineContact(data) {\nreturn {\n type: CONTACT_OFFLINE,\n data: data\n};\n}\nexport function setBadgetContact(data) {//Actualiza Contacts\nreturn {\n type: UPDATE_BADGET_LIST_CONTACTS,\n data: data\n}\n};\n////////////////////////////////notifications\n\n///////////////////////////////////////\n\nexport const updateContactEvent = (data: Object) => async dispatch => {\ndispatch(setContactEvent(data));\n}\n\nexport const clearContactEvent = (data: Object) => async dispatch => {\ndispatch(removeContactEvent());\n}\n\nexport const setOnLineContact = (data: Object) => async (dispatch) => {\ndispatch(setOnlineContact(data));\n};\n*/\n\n\n\n\n/*\nexport const initConextionSocket = (data_ini: Object) => async (dispatch) => {\n socketChat.on(\"connect\", () => {\n //console.log(socketChat.connected); // true\n log && console.log(\"Godiwayer Chat connect\"); // true\n });\n\n socketChat.on(\"disconnect\", () => {\n log && console.log(\"Godiwayer Chat desconectado\"); // true\n });\n\n socketChat.on(\"reconnection_attempt\", () => { // ...\n log && console.log(\"Godiwayer Chat reconectando\"); // true\n });\n socketChat.on(\"reconnect\", () => { // ...\n log && console.log(\"Godiwayer Chat reconectado\"); // true\n });\n\n //socket.on(\"connect_error\", () => { socket.auth.token = \"abcd\"; socket.connect(); });\n // or if the `auth` attribute is a functionconst socket = io({ auth: (cb) => { cb(localStorage.getItem(\"token\")); }});\n socketChat.on(\"connect_error\", (err) => {\n log && console.log(err.req);\t // el objeto de la solicitud\n log && console.log(err.code); // el código de error, por ejemplo 1\n log && console.log(err.message); // el mensaje de error, por ejemplo, \"ID de sesión desconocida\"\n log && console.log(err.context); // algún contexto de error adicional\n setTimeout(() => { socketChat.connect(); }, 1000);\n });\n //socket.volatile.emit(\"hello\", \"might or might not be received\");\n\n socketChat.on(\"members\", (data) => {\n dispatch(receiveMembers(data));\n log && console.log(\"miembros\");\n log && console.log(data);\n });\n socketChat.on(\"user_online\", (data) => {\n log && console.log(data);\n log && console.log(\"miembro online\");\n dispatch(setOnlineContact(data));\n\n });\n socketChat.on(\"user_offline\", (data) => {\n // dispatch(removeMember(data));\n log && console.log(\"miembro offline\");\n if (data != null && data != undefined)\n dispatch(setOfflineContact(data));\n log && console.log(\"miembro offline\");\n log && console.log(data);\n });\n\n socketChat.on(\"message_new\", (data) => {\n log && console.log(data);\n data.is_seen = 1;\n socketChat.emit(\"message_receive\", data);\n log && console.log('message receive send');\n dispatch(receiveMessage(data));\n dispatch(setBadgetContact(data));\n });\n\n socketChat.on(\"message_receive\", (data) => {\n log && console.log(data);\n dispatch(confirmMessageReceive(data));\n log && console.log('message receive');\n });\n\n socketChat.on(\"message_read\", (data) => {\n log && console.log(data);\n dispatch(confirmMessageRead(data));\n log && console.log('message read');\n });\n\n let timer;\n socketChat.on(\"event\", (data) => {\n log && console.log('typingOn');\n dispatch(eventChat(data));\n clearInterval(timer);\n timer = setTimeout(() => {\n dispatch(\n eventChat({\n socket: data.socket,///\n status: 'typingOFF',\n user_id: data.user_id\n }));\n log && console.log('typingOFF');\n }, 3000);\n //\n });\n ///////////////////////////////////////////////////\n socketNotification.on(\"connect\", () => {\n //log && console.log(socketNotification.connected); // true\n log && console.log(\"Godiwayer Notification connect\"); // true\n });\n\n socketNotification.on(\"disconnect\", () => {\n log && console.log(\"Godiwayer Notification desconectado\"); // true\n });\n\n socketNotification.on(\"reconnection_attempt\", () => { // ...\n log && console.log(\"Godiwayer Notification reconectando\"); // true\n });\n socketNotification.on(\"reconnect\", () => { // ...\n log && console.log(\"Godiwayer Notification reconectado\"); // true\n });\n\n socketNotification.on(\"connect_error\", (err) => {\n log && console.log(err.req);\t // el objeto de la solicitud\n log && console.log(err.code); // el código de error, por ejemplo 1\n log && console.log(err.message); // el mensaje de error, por ejemplo, \"ID de sesión desconocida\"\n log && console.log(err.context); // algún contexto de error adicional\n setTimeout(() => { socketNotification.connect(); }, 1000);\n });\n */\n/*\n socketNotification.on(\"notify\", (data) => {\n console.log(data);\n dispatch(receiveNotification(data));\n console.log('notification receive');\n });\n */\n//}\n/*\nexport const sendMessage = (data: Object) => async (dispatch) => {\n log && console.log(data);\n socketChat.emit(\"message_new\", formatMessage(data));//.in(roomId).to(data.online)//\n log && console.log(\"send message\");\n}\n\nexport const sendEvent = (data: Object) => async (dispatch) => {\n log && console.log(data);\n socketChat.emit(\"event\", data);//.in(roomId).to(data.online)\n log && console.log(\"send Event\");\n}\n\n\nexport const sendNotification = (data: Object) => async (dispatch) => {\n log && console.log(data);\n socketNotification.emit(\"notify\", formatNotification(data));//.in(roomId).to(data.online)\n log && console.log(\"send notification\");\n}\n\nexport const userOnline = (data: Object) => async (dispatch) => {\n if (log) {\n console.log(\"Login Chat and Notification\");\n console.log(data);\n }\n user_id = data.id;\n token = data.access_token;\n socketChat.emit(\"user_online\", formatUser(data));//.in(roomId)\n socketNotification.emit(\"user_online\", formatUser(data));\n log && console.log(\"Send Chat and Notification user online\");\n}\n\nexport const userOffline = (data: Object) => async (dispatch) => {\n log && console.log(data);\n socketChat.emit(\"user_offline\", data);//.in(roomId)\n socketNotification.emit(\"user_offline\", data);\n log && console.log(\"Logout\");\n}\n\nexport const loadContactsOnline = (data: Object) => async (dispatch) => {\n socketChat.emit(\"members\", data);\n log && console.log(\"ask members\");\n}\n\n\n\n*/\n\n/**\n * socket.join('private-message-room'); unirme a un room\n * socket.leave('private-message-room');salirme de un room\n * socket.in('private-message-room').emit('new_msg', {msg: 'hello'});\n * io.in(theSocketId).socketsLeave(\"room1\");\n * // make all Socket instances disconnectio.disconnectSockets();\n// make all Socket instances in the \"room1\" room disconnect (and discard the low-level connection)io.in(\"room1\").disconnectSockets(true);\n// make all Socket instances in the \"room1\" room of the \"admin\" namespace disconnectio.of(\"/admin\").in(\"room1\").disconnectSockets();\n// this also works with a single socket IDio.of(\"/admin\").in(theSocketId).disconnectSockets();\n\n\n\n// return all Socket instancesconst sockets = await io.fetchSockets();\n// return all Socket instances in the \"room1\" room of the main namespaceconst sockets = await io.in(\"room1\").fetchSockets();\n// return all Socket instances in the \"room1\" room of the \"admin\" namespaceconst sockets = await io.of(\"/admin\").in(\"room1\").fetchSockets();\n// this also works with a single socket IDconst sockets = await io.in(theSocketId).fetchSockets();\n */\n","import {\n push as push_,\n replace as replace_,\n go as go_,\n goBack as goBack_,\n goForward as goForward_\n} from 'react-router-redux';\n/*\nconst location = {\n pathname: '/hola',\n search: '?name=mundo',\n query: { name: 'mundo' },\n state: {},\n}\n*/\n// agregamos un nuevo location y lo volvemos el actual (cambia la URL)\n\n\nexport const push = (data: Object) => async dispatch => {\n dispatch(push_({ pathname: data.location }));// reemplaza el location actual por el indicado\n}\nexport const replace = (data: Object) => async dispatch => {\n dispatch(replace_({ pathname: data.location }));// se mueve N posiciones en el historial (positivo o negativo)\n}\nexport const go = (data: Object) => async dispatch => {\n dispatch(go_(data.N));// se mueve a la anterior posición del historial (igual a go(-1))\n}\nexport const goBack = () => async dispatch => {\n dispatch(goBack_());// se mueve a la siguiente posición del historial (igual a go(1))\n}\n\nexport const goForward = () => async dispatch => {\n dispatch(goForward_());\n}\n","import React, { useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { AppBar, Toolbar, Badge, Hidden, IconButton } from '@material-ui/core';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport NotificationsIcon from '@material-ui/icons/NotificationsOutlined';\nimport InputIcon from '@material-ui/icons/Input';\nimport { connect } from \"react-redux\";\nimport * as actions_session from \"redux/actions/sessionActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport logo1 from 'assets/ebi_negativo.png';\nimport Paper from '@mui/material/Paper';\nimport InputBase from '@mui/material/InputBase';\nimport Divider from '@mui/material/Divider';\nimport DirectionsIcon from '@mui/icons-material/Directions';\nimport SearchIcon from '@mui/icons-material/Search';\nimport MonetizationOnIcon from '@mui/icons-material/MonetizationOn';\nimport { CoinSummary, DropDownLang } from \"./components\";\nimport ListStockSearch from 'components/ListStockSearch';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Notification from '../Notification';\nimport * as actions_event from \"redux/actions/eventActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport * as actions_navigation from \"redux/actions/navigationActions\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n boxShadow: 'none'\n },\n flexGrow: {\n flexGrow: 1\n },\n signOutButton: {\n marginLeft: theme.spacing(1)\n }\n}));\n\nconst Topbar = props => {\n const { className, onSidebarOpen, ...rest } = props;\n\n const classes = useStyles();\n\n const [notifications] = useState([{ \"1\": \"1\" }]);\n const [open, setOpen] = React.useState(false);\n const [values, setValues] = useState({\n text: \"\"\n });\n\n const onClick = (event) => {\n event.preventDefault();\n props.Logout();\n props.closeConextionSocket();\n };\n\n const onClickCoin = (event) => {\n //event.preventDefault();\n setOpen(true);\n };\n const handleClose = (event) => {\n //event.preventDefault();\n setOpen(false);\n };\n\n const handleChange = event => {\n event.persist();\n setValues({\n ...values,\n [event.target.name]: event.target.value\n });\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n }\n\n const onClickClear = (event) => {\n setValues({\n ...values,\n text: \"\"\n });\n // const timer = setTimeout(() => {\n //}, 1000);\n // timer;\n //clearInterval(timer);\n };\n\n const onClickStock = (item) => {\n setValues({\n ...values,\n text: \"\"\n });\n }\n\n return (\n \n \n \n \"Logo\"\n \n
    \n \n \n \n \n \n {\n values.text.length > 0 && \n \n \n }\n\n {\n values.text.length > 0 && props.list.length > 0 && ()\n }\n \n
    \n \n\n \n \n < MonetizationOnIcon />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nTopbar.propTypes = {\n className: PropTypes.string,\n onSidebarOpen: PropTypes.func\n};\n\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n Logout: () =>\n dispatch(actions_session.logout({})),\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n closeConextionSocket: () =>\n dispatch(actions_event.closeConextionSocket({})),\n\n push: (location) =>\n dispatch(actions_navigation.push({ location })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Topbar);\n/**\n * \n \n \n \n */","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport CommentIcon from '@mui/icons-material/Comment';\nimport Fab from '@mui/material/Fab';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport Button from '@mui/material/Button';\nimport CircleIcon from '@mui/icons-material/Circle';\nimport Popover from '@mui/material/Popover';\nimport Typography from '@mui/material/Typography';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport moment from \"moment-timezone\";\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingInline: theme.spacing(4),\n paddingTop: \"4px\"\n }\n}));\n\n/*function getTime() {\n // var momentoActual = new Date().toLocaleTimeString('en-US');\n //var hora = momentoActual.getHours();\n //var minuto = momentoActual.getMinutes();\n //var segundo = momentoActual.getSeconds();\n\n // return hora + \":\" + minuto + \":\" + segundo;\n return new Date().toLocaleTimeString('en-US');\n}*/\n\n\nconst ButtonChat = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handlePopoverOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n\n const [time, setTime] = useState(\"00:00:00\");\n const [color, setColor] = useState(\"\");\n const [message, setMessage] = useState(\"\");\n\n function refreshClock() {\n setTime(new Date().toLocaleTimeString());\n var hora = moment().tz(\"America/New_York\").format(\"HH\");\n var minuto = moment().tz(\"America/New_York\").format(\"mm\");\n if (hora >= 9 && hora < 16 && props.market == \"WN\") {//\n if (hora === 9 && minuto <= 29) {\n setColor(\"red\");\n setMessage(I18n.t(\"close_market\"));\n }\n\n else {\n setColor(\"green\");\n setMessage(I18n.t(\"open_market\"));\n }\n }\n else {\n setColor(\"red\");\n setMessage(I18n.t(\"close_market\"));\n }\n }\n\n useEffect(() => {\n const timerId = setInterval(refreshClock, 1000);\n return function cleanup() {\n clearInterval(timerId);\n };\n }, []);\n\n const onClick = () => {\n console.log(\"click\");\n };\n\n return (\n :not(style)': { m: 1 } }}>\n \n {time}\n \n \n \n \n \n\n \n );\n};\n\nButtonChat.propTypes = {\n className: PropTypes.string\n};\n\nexport default ButtonChat;\n\n// ","import React, { useEffect } from 'react';\nimport moment from 'moment';\n\nconst IdleTimeOutHandler = (props) => {\n let timer = undefined;\n const events = ['click', 'scroll', 'load', 'keydown']\n const eventHandler = (eventType) => {\n // console.log(eventType)\n localStorage.setItem('lastInteractionTime', moment())\n if (timer) {\n props.onActive();\n startTimer();\n }\n };\n\n useEffect(() => {\n addEvents();\n\n return (() => {\n\n removeEvents();\n })\n }, [])\n\n const startTimer = () => {\n\n timer = setTimeout(() => {\n\n let lastInteractionTime = localStorage.getItem('lastInteractionTime')\n const diff = moment.duration(moment().diff(moment(lastInteractionTime)));\n let timeOutInterval = props.timeOutInterval ? props.timeOutInterval : 15000;\n\n if (diff._milliseconds < timeOutInterval) {\n startTimer();\n props.onActive();\n } else {\n props.onIdle();\n }\n }, props.timeOutInterval ? props.timeOutInterval : 15000)\n\n\n }\n const addEvents = () => {\n\n events.forEach(eventName => {\n window.addEventListener(eventName, eventHandler)\n })\n\n startTimer();\n }\n\n const removeEvents = () => {\n events.forEach(eventName => {\n window.removeEventListener(eventName, eventHandler)\n })\n };\n\n return (\n
    \n )\n\n}\n\nexport default IdleTimeOutHandler;\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n CALENDAR_LIST_ATTEMPT,\n CALENDAR_LIST_SUCCESS,\n CALENDAR_LIST_FAILED,\n ////////////////////\n} from \"../types/calendarTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: CALENDAR_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: CALENDAR_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: CALENDAR_LIST_FAILED,\n error: error\n };\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"calendar/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n","\nexport const CALENDAR_LIST_ATTEMPT = \"CALENDAR_LIST_ATTEMPT\";\nexport const CALENDAR_LIST_SUCCESS = \"CALENDAR_LIST_SUCCESS\";\nexport const CALENDAR_LIST_FAILED = \"CALENDAR_LIST_FAILED\";\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport Box from '@mui/material/Box';\nimport SwipeableDrawer from '@mui/material/SwipeableDrawer';\nimport Button from '@mui/material/Button';\nimport List from '@mui/material/List';\nimport Divider from '@mui/material/Divider';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport { makeStyles } from '@material-ui/styles';\nimport InboxIcon from '@mui/icons-material/MoveToInbox';\nimport MailIcon from '@mui/icons-material/Mail';\nimport { AppBar, Toolbar, Badge, Hidden, IconButton, Avatar } from '@material-ui/core';\nimport CalendarMonthIcon from '@mui/icons-material/CalendarMonth';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/calendarActions\";\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '100%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 56,\n width: 56,\n marginRight: \"10px\"\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nfunction Calendar(props) {\n const classes = useStyles();\n\n const [state, setState] = React.useState({\n top: false,\n left: false,\n bottom: false,\n right: false,\n });\n\n const toggleDrawer = (anchor, open) => (event) => {\n if (\n event &&\n event.type === 'keydown' &&\n (event.key === 'Tab' || event.key === 'Shift')\n ) {\n return;\n }\n\n setState({ ...state, [anchor]: open });\n if (open) {\n props.loadList({\n id: props.user_id,\n lang: props.lang\n }, props.token);\n }\n };\n\n useEffect(() => {\n\n }, []);\n\n const list = (anchor) => (\n \n \n {props.list.map((item, index) => (\n \n \n \n \n \n \n \n \n {item[\"name_\" + props.lang]}\n {item.date_at}\n {item.day}\n
    \n } />\n \n \n ))}\n \n\n \n );\n\n return (\n :not(style)': { m: 1 } }}>\n \n \n \n \n {list(\"right\")}\n \n \n );\n}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.calendar.list,\n error: reducer.calendar.error,\n loading: reducer.calendar.loading,\n\n lang: reducer.i18n.locale\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Calendar);\n/**\n * index % 2 === 0 ? : \n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n PENDING_ITEM_ATTEMPT,\n PENDING_ITEM_SUCCESS,\n PENDING_ITEM_FAILED,\n ////////////////////\n PENDING_UPDATE_SUCCESS,\n PENDING_UPDATE_FAILED,\n // PENDING_SET_ITEM,\n\n //////////////////////////\n\n} from \"../types/pendingTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: PENDING_ITEM_ATTEMPT\n };\n}\n\nexport function success(item) {\n return {\n type: PENDING_ITEM_SUCCESS,\n item: item\n };\n}\n\nexport function failed(error) {\n return {\n type: PENDING_ITEM_FAILED,\n error: error\n };\n}\n\nexport function successUpdate(item) {\n return {\n type: PENDING_UPDATE_SUCCESS,\n item: item\n };\n}\nexport function failedUpdate(error) {\n return {\n type: PENDING_UPDATE_FAILED,\n error: error\n };\n}\n\n/////////////////////////////////////////////\n\nexport const loadItem = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"note/pending\", {\n params: data.params,//{\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"note/pending\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};","export const PENDING_ITEM_ATTEMPT = \"PENDING_ITEM_ATTEMPT\";\nexport const PENDING_ITEM_SUCCESS = \"PENDING_ITEM_SUCCESS\";\nexport const PENDING_ITEM_FAILED = \"PENDING_ITEM_FAILED\";\n/////////////////////////////\nexport const PENDING_UPDATE_SUCCESS = \"PENDING_UPDATE_SUCCESS\";\nexport const PENDING_UPDATE_FAILED = \"PENDING_UPDATE_FAILED\";","import * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport Box from '@mui/material/Box';\nimport SwipeableDrawer from '@mui/material/SwipeableDrawer';\nimport Button from '@mui/material/Button';\nimport List from '@mui/material/List';\nimport Divider from '@mui/material/Divider';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport { makeStyles } from '@material-ui/styles';\nimport InboxIcon from '@mui/icons-material/MoveToInbox';\nimport MailIcon from '@mui/icons-material/Mail';\nimport { AppBar, Toolbar, Badge, Hidden, IconButton, Avatar } from '@material-ui/core';\n//import CalendarMonthIcon from '@mui/icons-material/CalendarMonth';\nimport PendingIcon from '@mui/icons-material/Pending';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/pendingActions\";\n\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '100%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 56,\n width: 56,\n marginRight: \"10px\"\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nfunction Note(props) {\n const classes = useStyles();\n\n const [open, setOpen] = React.useState(false);\n const [values, setValues] = useState({\n text: (props.item && props.item.text) || \"\"\n });\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n ...values,\n text: (props.item && props.item.text) || \"\"\n });\n }\n\n const handleClose = () => {\n if (props.item && (props.item.text !== values.text)) {\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"save_change\") + \"?\",\n function () {\n props.updateItem({\n id: props.user_id,\n text: values.text,\n pending_id: props.item.id\n }, props.token);\n setOpen(false);\n },\n function () {\n setOpen(false);\n });\n } else setOpen(false);\n\n }\n\n const handleSave = () => {\n if (values.text.length > 0) {\n props.updateItem({\n id: props.user_id,\n text: values.text,\n pending_id: props.item.id\n }, props.token);\n alertify.success(\"Success\");\n }\n // setOpen(false);\n };\n\n useEffect(() => {\n props.loadItem({\n id: props.user_id,\n lang: props.lang\n }, props.token);\n }, []);\n\n const onChange = (event) => {\n event.persist();\n setValues(values => ({\n ...values,\n [event.target.name]: event.target.value\n }));\n };\n\n const list = (anchor) => (\n \n \n );\n\n return (\n :not(style)': { m: 1 } }}>\n \n \n \n \n Notas Pendientes\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.pending.item,\n\n lang: reducer.i18n.locale\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadItem: (params, token) =>\n dispatch(actions.loadItem({ params, token })),\n updateItem: (params, token) =>\n dispatch(actions.updateItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Note);\n/**\n * index % 2 === 0 ? : \n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n WATCHLIST_LIST_ATTEMPT,\n WATCHLIST_LIST_SUCCESS,\n WATCHLIST_LIST_FAILED,\n ////////////////////\n WATCHLIST_NEW_SUCCESS,\n WATCHLIST_NEW_FAILED,\n ///////////////////\n WATCHLIST_REMOVE_SUCCESS,\n WATCHLIST_REMOVE_FAILED,\n ///////////\n WATCHLIST_SET_ITEM\n} from \"../types/watchListTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: WATCHLIST_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: WATCHLIST_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: WATCHLIST_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function successNew(item) {\n return {\n type: WATCHLIST_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: WATCHLIST_NEW_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: WATCHLIST_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: WATCHLIST_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////\nexport function set(item) {\n return {\n type: WATCHLIST_SET_ITEM,\n item: item\n };\n}\n\n////////////////////////\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"watchlist\", {\n params: {\n id: data.user_id,\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"watchlist/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"watchlist/\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"watchlist/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};","export const WATCHLIST_LIST_ATTEMPT = \"WATCHLIST_LIST_ATTEMPT\";\nexport const WATCHLIST_LIST_SUCCESS = \"WATCHLIST_LIST_SUCCESS\";\nexport const WATCHLIST_LIST_FAILED = \"WATCHLIST_LIST_FAILED\";\n//////////////////\nexport const WATCHLIST_NEW_SUCCESS = \"WATCHLIST_NEW_SUCCESS\";\nexport const WATCHLIST_NEW_FAILED = \"WATCHLIST_NEW_FAILED\";\n///////////////////\nexport const WATCHLIST_REMOVE_SUCCESS = \"WATCHLIST_REMOVE_SUCCESS\";\nexport const WATCHLIST_REMOVE_FAILED = \"WATCHLIST_REMOVE_FAILED\";\n\nexport const WATCHLIST_SET_ITEM = \"WATCHLIST_SET_ITEM\";\n\n\n\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n SETTING_ITEM_SUCCESS,\n SETTING_ITEM_FAILED,\n ///////////////////\n SETTING_UPDATE_SUCCESS,\n SETTING_UPDATE_FAILED,\n ///////////\n} from \"../types/settingTypes\";\nimport { config } from \"../../config\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nconst url_api = config.api.web;\n\nexport function success(item) {\n return {\n type: SETTING_ITEM_SUCCESS,\n item: item\n };\n}\n\nexport function failed(error) {\n return {\n type: SETTING_ITEM_FAILED,\n error: error\n };\n}\n\n\n\nexport function successUpdate(item) {\n return {\n type: SETTING_UPDATE_SUCCESS,\n item: item\n };\n}\n\nexport function failedUpdate(error) {\n return {\n type: SETTING_UPDATE_FAILED,\n error: error\n };\n}\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"setting/tax\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success') {\n dispatch(successUpdate(response.data.body));\n alertify.success(\"Successfull\");\n }\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadItem = (data: Object) => async dispatch => {\n // dispatch(loading());\n await axios\n .get(url_api + \"setting/\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const reset = (data: Object) => async (dispatch) => {\n await axios({\n method: \"post\",\n url: url_api + \"setting/reset\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success') {\n dispatch(successUpdate(response.data.body));\n alertify.success(\"Successfull\");\n }\n else dispatch(failedUpdate(response.data.body));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedUpdate(\"try_later\"));\n } else {\n dispatch(failedUpdate(\"try_later\"));\n }\n return;\n });\n};","export const SETTING_UPDATE_SUCCESS = \"SETTING_UPDATE_SUCCESS\";\nexport const SETTING_UPDATE_FAILED = \"SETTING_UPDATE_FAILED\";\n\nexport const SETTING_ITEM_SUCCESS = \"SETTING_ITEM_SUCCESS\";\nexport const SETTING_ITEM_FAILED = \"SETTING_ITEM_FAILED\";\n\n\n\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n NOTE_LIST_ATTEMPT,\n NOTE_LIST_SUCCESS,\n NOTE_LIST_FAILED,\n ////////////////////\n NOTE_MORELIST_ATTEMPT,\n NOTE_MORELIST_SUCCESS,\n NOTE_MORELIST_FAILED,\n ////////////////////////\n NOTE_NEW_SUCCESS,\n NOTE_NEW_FAILED,\n /////////////////\n NOTE_UPDATE_SUCCESS,\n NOTE_UPDATE_HIDE_SUCCESS,\n NOTE_SET_ITEM,\n ////////////////\n NOTE_REMOVE_SUCCESS,\n NOTE_REMOVE_FAILED,\n //////////////////////////\n\n} from \"../types/noteTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: NOTE_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: NOTE_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: NOTE_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: NOTE_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: NOTE_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: NOTE_MORELIST_FAILED,\n error: error\n };\n}\n\n////////////////////////\nexport function successNew(item) {\n return {\n type: NOTE_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: NOTE_NEW_FAILED,\n error: error\n };\n}\n/////////////////\nexport function successUpdate(item) {\n return {\n type: NOTE_UPDATE_SUCCESS,\n item: item\n };\n}\n\nexport function successUpdateHide(item) {\n return {\n type: NOTE_UPDATE_HIDE_SUCCESS,\n item: item\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: NOTE_REMOVE_SUCCESS,\n item: item\n };\n}\nexport function failedRemove(error) {\n return {\n type: NOTE_REMOVE_FAILED,\n error: error\n };\n}\n\nexport function set(item) {\n return {\n type: NOTE_SET_ITEM,\n item: item\n };\n}\n\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n///////////////////////////////////\n\n\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"note/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"note/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"note/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"note/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdate(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItemHide = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"note/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successUpdateHide(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"note\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n // alertify.success(\"Success\");\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\n\n","export const NOTE_LIST_ATTEMPT = \"NOTE_LIST_ATTEMPT\";\nexport const NOTE_LIST_SUCCESS = \"NOTE_LIST_SUCCESS\";\nexport const NOTE_LIST_FAILED = \"NOTE_LIST_FAILED\";\n////////////\nexport const NOTE_MORELIST_ATTEMPT = \"NOTE_MORELIST_ATTEMPT\";\nexport const NOTE_MORELIST_SUCCESS = \"NOTE_MORELIST_SUCCESS\";\nexport const NOTE_MORELIST_FAILED = \"NOTE_MORELIST_FAILED\";\n////////////\nexport const NOTE_NEW_SUCCESS = \"NOTE_NEW_SUCCESS\";\nexport const NOTE_NEW_FAILED = \"NOTE_NEW_FAILED\";\n//////////////////////\nexport const NOTE_UPDATE_SUCCESS = \"NOTE_UPDATE_SUCCESS\";\nexport const NOTE_UPDATE_HIDE_SUCCESS = \"NOTE_UPDATE_HIDE_SUCCESS\";\nexport const NOTE_SET_ITEM = \"NOTE_SET_ITEM\";\n////////////\nexport const NOTE_REMOVE_SUCCESS = \"NOTE_REMOVE_SUCCESS\";\nexport const NOTE_REMOVE_FAILED = \"NOTE_REMOVE_FAILED\";\n\n\n\n\n\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles, useTheme } from '@material-ui/styles';\nimport { useMediaQuery } from '@material-ui/core';\nimport { Sidebar, Topbar, Footer, ButtonChat, SessionTimer, Pending, Calendar, } from './components';\nimport { connect } from \"react-redux\";\nimport * as actions_list from \"redux/actions/watchListActions\";\nimport * as actions_setting from \"redux/actions/settingActions\";\nimport * as actions_event from \"redux/actions/eventActions\";\nimport * as actions_note from \"redux/actions/noteActions\";\nimport * as actions_session from \"redux/actions/sessionActions\";\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingTop: 56,\n height: '100%',\n [theme.breakpoints.up('sm')]: {\n paddingTop: 64\n }\n },\n shiftContent: {\n paddingLeft: 240\n },\n content: {\n height: '100%'\n }\n}));\n\nconst Main = props => {\n const { children } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const [isActive, setIsActive] = useState(true);\n\n const isDesktop = useMediaQuery(theme.breakpoints.up('lg'), {\n defaultMatches: true\n });\n\n const [openSidebar, setOpenSidebar] = useState(false);\n\n const handleSidebarOpen = () => {\n setOpenSidebar(true);\n };\n\n const handleSidebarClose = () => {\n setOpenSidebar(false);\n };\n\n const shouldOpenSidebar = isDesktop ? true : openSidebar;\n\n useEffect(() => {\n //props.loadListWatchList(props.user_id, props.token);\n //props.loadItem(props.user_id, props.token);//setting\n //props.loadListNotes({ id: props.user_id }, props.token);\n props.initConextionSocket(props.user_id, props.token);\n }, props.data);\n\n const onActive = () => {\n setIsActive(true);\n }\n\n const onIdle = () => {\n setIsActive(false);\n props.Logout();\n props.closeConextionSocket();\n // console.log(\"Idle\");\n // props.history.push('/login');\n }\n\n //1800\n return (\n \n \n \n \n
    \n {children}\n
    \n \n \n \n
    \n
    \n );\n};\n\nMain.propTypes = {\n children: PropTypes.node\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n market: reducer.session.auth.market,\n\n data: reducer.dashboard.data,\n };\n}\n\n\nconst mapDispatchToProps = dispatch => ({\n loadListWatchList: (user_id, token) =>\n dispatch(actions_list.loadList({ user_id, token })),\n loadItem: (user_id, token) =>\n dispatch(actions_setting.loadItem({ user_id, token })),\n\n\n loadListNotes: (params, token) =>\n dispatch(actions_note.loadList({ params, token })),\n\n initConextionSocket: (user_id, token) =>\n dispatch(actions_event.initConextionSocket({ user_id, token })),\n closeConextionSocket: () =>\n dispatch(actions_event.closeConextionSocket({})),\n Logout: () =>\n dispatch(actions_session.logout({})),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Main);\n\n\n/**\n * () => { setIsActive(true) }\n * () => { setIsActive(false) }\n */","export const UPDATE_TICKER_STOCK_QUOTE = \"UPDATE_TICKER_STOCK_QUOTE\";\nexport const UPDATE_TICKER_OPTION_QUOTE = \"UPDATE_TICKER_OPTION_QUOTE\";\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { AppBar, Toolbar } from '@material-ui/core';\nimport logo1 from '../../../../assets/ebi_negativo.png';\nconst useStyles = makeStyles(() => ({\n root: {\n boxShadow: 'none'\n }\n}));\n\nconst Topbar = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nTopbar.propTypes = {\n className: PropTypes.string\n};\n\nexport default Topbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\n\nimport { Topbar } from './components';\n\nconst useStyles = makeStyles(() => ({\n root: {\n paddingTop: 64,\n height: '100vh'\n },\n content: {\n height: '100%'\n }\n}));\n\nconst Minimal = props => {\n const { children } = props;\n\n const classes = useStyles();\n\n return (\n
    \n \n
    {children}
    \n
    \n );\n};\n\nMinimal.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default Minimal;\n","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Grid,\n Button,\n TextField\n} from '@material-ui/core';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/sessionActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\nconst countries = [\n { code: 'AD', label: 'Andorra', phone: '376' },\n {\n code: 'AE',\n label: 'United Arab Emirates',\n phone: '971',\n },\n { code: 'AF', label: 'Afghanistan', phone: '93' },\n {\n code: 'AG',\n label: 'Antigua and Barbuda',\n phone: '1-268',\n },\n { code: 'AI', label: 'Anguilla', phone: '1-264' },\n { code: 'AL', label: 'Albania', phone: '355' },\n { code: 'AM', label: 'Armenia', phone: '374' },\n { code: 'AO', label: 'Angola', phone: '244' },\n { code: 'AQ', label: 'Antarctica', phone: '672' },\n { code: 'AR', label: 'Argentina', phone: '54' },\n { code: 'AS', label: 'American Samoa', phone: '1-684' },\n { code: 'AT', label: 'Austria', phone: '43' },\n {\n code: 'AU',\n label: 'Australia',\n phone: '61',\n suggested: true,\n },\n { code: 'AW', label: 'Aruba', phone: '297' },\n { code: 'AX', label: 'Alland Islands', phone: '358' },\n { code: 'AZ', label: 'Azerbaijan', phone: '994' },\n {\n code: 'BA',\n label: 'Bosnia and Herzegovina',\n phone: '387',\n },\n { code: 'BB', label: 'Barbados', phone: '1-246' },\n { code: 'BD', label: 'Bangladesh', phone: '880' },\n { code: 'BE', label: 'Belgium', phone: '32' },\n { code: 'BF', label: 'Burkina Faso', phone: '226' },\n { code: 'BG', label: 'Bulgaria', phone: '359' },\n { code: 'BH', label: 'Bahrain', phone: '973' },\n { code: 'BI', label: 'Burundi', phone: '257' },\n { code: 'BJ', label: 'Benin', phone: '229' },\n { code: 'BL', label: 'Saint Barthelemy', phone: '590' },\n { code: 'BM', label: 'Bermuda', phone: '1-441' },\n { code: 'BN', label: 'Brunei Darussalam', phone: '673' },\n { code: 'BO', label: 'Bolivia', phone: '591' },\n { code: 'BR', label: 'Brazil', phone: '55' },\n { code: 'BS', label: 'Bahamas', phone: '1-242' },\n { code: 'BT', label: 'Bhutan', phone: '975' },\n { code: 'BV', label: 'Bouvet Island', phone: '47' },\n { code: 'BW', label: 'Botswana', phone: '267' },\n { code: 'BY', label: 'Belarus', phone: '375' },\n { code: 'BZ', label: 'Belize', phone: '501' },\n {\n code: 'CA',\n label: 'Canada',\n phone: '1',\n suggested: true,\n },\n {\n code: 'CC',\n label: 'Cocos (Keeling) Islands',\n phone: '61',\n },\n {\n code: 'CD',\n label: 'Congo, Democratic Republic of the',\n phone: '243',\n },\n {\n code: 'CF',\n label: 'Central African Republic',\n phone: '236',\n },\n {\n code: 'CG',\n label: 'Congo, Republic of the',\n phone: '242',\n },\n { code: 'CH', label: 'Switzerland', phone: '41' },\n { code: 'CI', label: \"Cote d'Ivoire\", phone: '225' },\n { code: 'CK', label: 'Cook Islands', phone: '682' },\n { code: 'CL', label: 'Chile', phone: '56' },\n { code: 'CM', label: 'Cameroon', phone: '237' },\n { code: 'CN', label: 'China', phone: '86' },\n { code: 'CO', label: 'Colombia', phone: '57' },\n { code: 'CR', label: 'Costa Rica', phone: '506' },\n { code: 'CU', label: 'Cuba', phone: '53' },\n { code: 'CV', label: 'Cape Verde', phone: '238' },\n { code: 'CW', label: 'Curacao', phone: '599' },\n { code: 'CX', label: 'Christmas Island', phone: '61' },\n { code: 'CY', label: 'Cyprus', phone: '357' },\n { code: 'CZ', label: 'Czech Republic', phone: '420' },\n {\n code: 'DE',\n label: 'Germany',\n phone: '49',\n suggested: true,\n },\n { code: 'DJ', label: 'Djibouti', phone: '253' },\n { code: 'DK', label: 'Denmark', phone: '45' },\n { code: 'DM', label: 'Dominica', phone: '1-767' },\n {\n code: 'DO',\n label: 'Dominican Republic',\n phone: '1-809',\n },\n { code: 'DZ', label: 'Algeria', phone: '213' },\n { code: 'EC', label: 'Ecuador', phone: '593' },\n { code: 'EE', label: 'Estonia', phone: '372' },\n { code: 'EG', label: 'Egypt', phone: '20' },\n { code: 'EH', label: 'Western Sahara', phone: '212' },\n { code: 'ER', label: 'Eritrea', phone: '291' },\n { code: 'ES', label: 'Spain', phone: '34' },\n { code: 'ET', label: 'Ethiopia', phone: '251' },\n { code: 'FI', label: 'Finland', phone: '358' },\n { code: 'FJ', label: 'Fiji', phone: '679' },\n {\n code: 'FK',\n label: 'Falkland Islands (Malvinas)',\n phone: '500',\n },\n {\n code: 'FM',\n label: 'Micronesia, Federated States of',\n phone: '691',\n },\n { code: 'FO', label: 'Faroe Islands', phone: '298' },\n {\n code: 'FR',\n label: 'France',\n phone: '33',\n suggested: true,\n },\n { code: 'GA', label: 'Gabon', phone: '241' },\n { code: 'GB', label: 'United Kingdom', phone: '44' },\n { code: 'GD', label: 'Grenada', phone: '1-473' },\n { code: 'GE', label: 'Georgia', phone: '995' },\n { code: 'GF', label: 'French Guiana', phone: '594' },\n { code: 'GG', label: 'Guernsey', phone: '44' },\n { code: 'GH', label: 'Ghana', phone: '233' },\n { code: 'GI', label: 'Gibraltar', phone: '350' },\n { code: 'GL', label: 'Greenland', phone: '299' },\n { code: 'GM', label: 'Gambia', phone: '220' },\n { code: 'GN', label: 'Guinea', phone: '224' },\n { code: 'GP', label: 'Guadeloupe', phone: '590' },\n { code: 'GQ', label: 'Equatorial Guinea', phone: '240' },\n { code: 'GR', label: 'Greece', phone: '30' },\n {\n code: 'GS',\n label: 'South Georgia and the South Sandwich Islands',\n phone: '500',\n },\n { code: 'GT', label: 'Guatemala', phone: '502' },\n { code: 'GU', label: 'Guam', phone: '1-671' },\n { code: 'GW', label: 'Guinea-Bissau', phone: '245' },\n { code: 'GY', label: 'Guyana', phone: '592' },\n { code: 'HK', label: 'Hong Kong', phone: '852' },\n {\n code: 'HM',\n label: 'Heard Island and McDonald Islands',\n phone: '672',\n },\n { code: 'HN', label: 'Honduras', phone: '504' },\n { code: 'HR', label: 'Croatia', phone: '385' },\n { code: 'HT', label: 'Haiti', phone: '509' },\n { code: 'HU', label: 'Hungary', phone: '36' },\n { code: 'ID', label: 'Indonesia', phone: '62' },\n { code: 'IE', label: 'Ireland', phone: '353' },\n { code: 'IL', label: 'Israel', phone: '972' },\n { code: 'IM', label: 'Isle of Man', phone: '44' },\n { code: 'IN', label: 'India', phone: '91' },\n {\n code: 'IO',\n label: 'British Indian Ocean Territory',\n phone: '246',\n },\n { code: 'IQ', label: 'Iraq', phone: '964' },\n {\n code: 'IR',\n label: 'Iran, Islamic Republic of',\n phone: '98',\n },\n { code: 'IS', label: 'Iceland', phone: '354' },\n { code: 'IT', label: 'Italy', phone: '39' },\n { code: 'JE', label: 'Jersey', phone: '44' },\n { code: 'JM', label: 'Jamaica', phone: '1-876' },\n { code: 'JO', label: 'Jordan', phone: '962' },\n {\n code: 'JP',\n label: 'Japan',\n phone: '81',\n suggested: true,\n },\n { code: 'KE', label: 'Kenya', phone: '254' },\n { code: 'KG', label: 'Kyrgyzstan', phone: '996' },\n { code: 'KH', label: 'Cambodia', phone: '855' },\n { code: 'KI', label: 'Kiribati', phone: '686' },\n { code: 'KM', label: 'Comoros', phone: '269' },\n {\n code: 'KN',\n label: 'Saint Kitts and Nevis',\n phone: '1-869',\n },\n {\n code: 'KP',\n label: \"Korea, Democratic People's Republic of\",\n phone: '850',\n },\n { code: 'KR', label: 'Korea, Republic of', phone: '82' },\n { code: 'KW', label: 'Kuwait', phone: '965' },\n { code: 'KY', label: 'Cayman Islands', phone: '1-345' },\n { code: 'KZ', label: 'Kazakhstan', phone: '7' },\n {\n code: 'LA',\n label: \"Lao People's Democratic Republic\",\n phone: '856',\n },\n { code: 'LB', label: 'Lebanon', phone: '961' },\n { code: 'LC', label: 'Saint Lucia', phone: '1-758' },\n { code: 'LI', label: 'Liechtenstein', phone: '423' },\n { code: 'LK', label: 'Sri Lanka', phone: '94' },\n { code: 'LR', label: 'Liberia', phone: '231' },\n { code: 'LS', label: 'Lesotho', phone: '266' },\n { code: 'LT', label: 'Lithuania', phone: '370' },\n { code: 'LU', label: 'Luxembourg', phone: '352' },\n { code: 'LV', label: 'Latvia', phone: '371' },\n { code: 'LY', label: 'Libya', phone: '218' },\n { code: 'MA', label: 'Morocco', phone: '212' },\n { code: 'MC', label: 'Monaco', phone: '377' },\n {\n code: 'MD',\n label: 'Moldova, Republic of',\n phone: '373',\n },\n { code: 'ME', label: 'Montenegro', phone: '382' },\n {\n code: 'MF',\n label: 'Saint Martin (French part)',\n phone: '590',\n },\n { code: 'MG', label: 'Madagascar', phone: '261' },\n { code: 'MH', label: 'Marshall Islands', phone: '692' },\n {\n code: 'MK',\n label: 'Macedonia, the Former Yugoslav Republic of',\n phone: '389',\n },\n { code: 'ML', label: 'Mali', phone: '223' },\n { code: 'MM', label: 'Myanmar', phone: '95' },\n { code: 'MN', label: 'Mongolia', phone: '976' },\n { code: 'MO', label: 'Macao', phone: '853' },\n {\n code: 'MP',\n label: 'Northern Mariana Islands',\n phone: '1-670',\n },\n { code: 'MQ', label: 'Martinique', phone: '596' },\n { code: 'MR', label: 'Mauritania', phone: '222' },\n { code: 'MS', label: 'Montserrat', phone: '1-664' },\n { code: 'MT', label: 'Malta', phone: '356' },\n { code: 'MU', label: 'Mauritius', phone: '230' },\n { code: 'MV', label: 'Maldives', phone: '960' },\n { code: 'MW', label: 'Malawi', phone: '265' },\n { code: 'MX', label: 'Mexico', phone: '52' },\n { code: 'MY', label: 'Malaysia', phone: '60' },\n { code: 'MZ', label: 'Mozambique', phone: '258' },\n { code: 'NA', label: 'Namibia', phone: '264' },\n { code: 'NC', label: 'New Caledonia', phone: '687' },\n { code: 'NE', label: 'Niger', phone: '227' },\n { code: 'NF', label: 'Norfolk Island', phone: '672' },\n { code: 'NG', label: 'Nigeria', phone: '234' },\n { code: 'NI', label: 'Nicaragua', phone: '505' },\n { code: 'NL', label: 'Netherlands', phone: '31' },\n { code: 'NO', label: 'Norway', phone: '47' },\n { code: 'NP', label: 'Nepal', phone: '977' },\n { code: 'NR', label: 'Nauru', phone: '674' },\n { code: 'NU', label: 'Niue', phone: '683' },\n { code: 'NZ', label: 'New Zealand', phone: '64' },\n { code: 'OM', label: 'Oman', phone: '968' },\n { code: 'PA', label: 'Panama', phone: '507' },\n { code: 'PE', label: 'Peru', phone: '51' },\n { code: 'PF', label: 'French Polynesia', phone: '689' },\n { code: 'PG', label: 'Papua New Guinea', phone: '675' },\n { code: 'PH', label: 'Philippines', phone: '63' },\n { code: 'PK', label: 'Pakistan', phone: '92' },\n { code: 'PL', label: 'Poland', phone: '48' },\n {\n code: 'PM',\n label: 'Saint Pierre and Miquelon',\n phone: '508',\n },\n { code: 'PN', label: 'Pitcairn', phone: '870' },\n { code: 'PR', label: 'Puerto Rico', phone: '1' },\n {\n code: 'PS',\n label: 'Palestine, State of',\n phone: '970',\n },\n { code: 'PT', label: 'Portugal', phone: '351' },\n { code: 'PW', label: 'Palau', phone: '680' },\n { code: 'PY', label: 'Paraguay', phone: '595' },\n { code: 'QA', label: 'Qatar', phone: '974' },\n { code: 'RE', label: 'Reunion', phone: '262' },\n { code: 'RO', label: 'Romania', phone: '40' },\n { code: 'RS', label: 'Serbia', phone: '381' },\n { code: 'RU', label: 'Russian Federation', phone: '7' },\n { code: 'RW', label: 'Rwanda', phone: '250' },\n { code: 'SA', label: 'Saudi Arabia', phone: '966' },\n { code: 'SB', label: 'Solomon Islands', phone: '677' },\n { code: 'SC', label: 'Seychelles', phone: '248' },\n { code: 'SD', label: 'Sudan', phone: '249' },\n { code: 'SE', label: 'Sweden', phone: '46' },\n { code: 'SG', label: 'Singapore', phone: '65' },\n { code: 'SH', label: 'Saint Helena', phone: '290' },\n { code: 'SI', label: 'Slovenia', phone: '386' },\n {\n code: 'SJ',\n label: 'Svalbard and Jan Mayen',\n phone: '47',\n },\n { code: 'SK', label: 'Slovakia', phone: '421' },\n { code: 'SL', label: 'Sierra Leone', phone: '232' },\n { code: 'SM', label: 'San Marino', phone: '378' },\n { code: 'SN', label: 'Senegal', phone: '221' },\n { code: 'SO', label: 'Somalia', phone: '252' },\n { code: 'SR', label: 'Suriname', phone: '597' },\n { code: 'SS', label: 'South Sudan', phone: '211' },\n {\n code: 'ST',\n label: 'Sao Tome and Principe',\n phone: '239',\n },\n { code: 'SV', label: 'El Salvador', phone: '503' },\n {\n code: 'SX',\n label: 'Sint Maarten (Dutch part)',\n phone: '1-721',\n },\n {\n code: 'SY',\n label: 'Syrian Arab Republic',\n phone: '963',\n },\n { code: 'SZ', label: 'Swaziland', phone: '268' },\n {\n code: 'TC',\n label: 'Turks and Caicos Islands',\n phone: '1-649',\n },\n { code: 'TD', label: 'Chad', phone: '235' },\n {\n code: 'TF',\n label: 'French Southern Territories',\n phone: '262',\n },\n { code: 'TG', label: 'Togo', phone: '228' },\n { code: 'TH', label: 'Thailand', phone: '66' },\n { code: 'TJ', label: 'Tajikistan', phone: '992' },\n { code: 'TK', label: 'Tokelau', phone: '690' },\n { code: 'TL', label: 'Timor-Leste', phone: '670' },\n { code: 'TM', label: 'Turkmenistan', phone: '993' },\n { code: 'TN', label: 'Tunisia', phone: '216' },\n { code: 'TO', label: 'Tonga', phone: '676' },\n { code: 'TR', label: 'Turkey', phone: '90' },\n {\n code: 'TT',\n label: 'Trinidad and Tobago',\n phone: '1-868',\n },\n { code: 'TV', label: 'Tuvalu', phone: '688' },\n {\n code: 'TW',\n label: 'Taiwan, Republic of China',\n phone: '886',\n },\n {\n code: 'TZ',\n label: 'United Republic of Tanzania',\n phone: '255',\n },\n { code: 'UA', label: 'Ukraine', phone: '380' },\n { code: 'UG', label: 'Uganda', phone: '256' },\n {\n code: 'US',\n label: 'United States',\n phone: '1',\n suggested: true,\n },\n { code: 'UY', label: 'Uruguay', phone: '598' },\n { code: 'UZ', label: 'Uzbekistan', phone: '998' },\n {\n code: 'VA',\n label: 'Holy See (Vatican City State)',\n phone: '379',\n },\n {\n code: 'VC',\n label: 'Saint Vincent and the Grenadines',\n phone: '1-784',\n },\n { code: 'VE', label: 'Venezuela', phone: '58' },\n {\n code: 'VG',\n label: 'British Virgin Islands',\n phone: '1-284',\n },\n {\n code: 'VI',\n label: 'US Virgin Islands',\n phone: '1-340',\n },\n { code: 'VN', label: 'Vietnam', phone: '84' },\n { code: 'VU', label: 'Vanuatu', phone: '678' },\n { code: 'WF', label: 'Wallis and Futuna', phone: '681' },\n { code: 'WS', label: 'Samoa', phone: '685' },\n { code: 'XK', label: 'Kosovo', phone: '383' },\n { code: 'YE', label: 'Yemen', phone: '967' },\n { code: 'YT', label: 'Mayotte', phone: '262' },\n { code: 'ZA', label: 'South Africa', phone: '27' },\n { code: 'ZM', label: 'Zambia', phone: '260' },\n { code: 'ZW', label: 'Zimbabwe', phone: '263' },\n];\n\nconst AccountDetails = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n id: props.user_id,\n name: props.item.name || '',\n lastN: props.item.lastN || '',\n email: props.item.email || '',\n phone: props.item.phone || '',\n country: props.item.country || '',\n state: props.item.state || '',\n username: props.item.username || ''\n });\n\n const handleChange = event => {\n setValues({\n ...values,\n [event.target.name]: event.target.value\n });\n };\n const [item, setItem] = useState({});\n\n /* useEffect(() => {\n props.loadProfile(props.user_id, props.token);\n }, item);*/\n\n const states = [\n {\n value: '',\n label: ''\n },\n ];\n\n const onClick = () => {\n props.updateProfile(values, props.token);\n }\n\n return (\n \n \n }\n title={}\n />\n \n \n \n \n }\n margin=\"dense\"\n name=\"name\"\n onChange={handleChange}\n required\n value={values.name}\n variant=\"outlined\"\n />\n \n \n }\n margin=\"dense\"\n name=\"lastN\"\n onChange={handleChange}\n required\n value={values.lastN}\n variant=\"outlined\"\n />\n \n \n \n \n \n }\n margin=\"dense\"\n name=\"phone\"\n onChange={handleChange}\n type=\"number\"\n value={values.phone}\n variant=\"outlined\"\n />\n \n \n }\n margin=\"dense\"\n name=\"username\"\n onChange={handleChange}\n type=\"text\"\n value={values.username}\n variant=\"outlined\"\n />\n \n \n option.label}\n renderOption={(props, option) => (\n img': { mr: 2, flexShrink: 0 } }} {...props}>\n \n {option.label} ({option.code}) +{option.phone}\n \n )}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n {states.map(option => (\n \n {option.label}\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nAccountDetails.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.session.auth,\n // error: reducer.session.error,\n // loading: reducer.session.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // loadProfile: (user_id, token) =>\n // dispatch(actions.loadItem({ user_id, token })),\n updateProfile: (params, token) => dispatch(actions.updateItem({ params, token }))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountDetails);\n\n/**\n * option.title)}\n renderInput={(params) => (\n \n )}\n />\n */","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n TextField\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/sessionActions\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst Password = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n pwdnew: '',\n pwdold: '',\n confirm: '',\n id: props.user_id,\n isValid: false\n });\n\n const handleChange = event => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n isValid: (values.pwdnew.length > 1 && values.confirm.length > 1) ? true : false\n });\n }\n\n const onClick = event => {\n if (values.pwdnew !== values.confirm) {\n alertify.error(\"Passwords new are not the same\");\n return;\n }\n props.resetPassword(values, props.token);\n setValues({\n ...values,\n pwdold: '',\n pwdnew: '',\n confirm: '',\n isValid: false\n });\n }\n\n return (\n \n
    \n }\n title={}\n />\n \n \n }\n name=\"pwdold\"\n onChange={handleChange}\n type=\"password\"\n value={values.pwdold}\n variant=\"outlined\"\n autoComplete=\"off\"\n />\n }\n name=\"pwdnew\"\n onChange={handleChange}\n style={{ marginTop: '1rem' }}\n type=\"password\"\n value={values.pwdnew}\n variant=\"outlined\"\n autoComplete=\"off\"\n />\n }\n name=\"confirm\"\n onChange={handleChange}\n style={{ marginTop: '1rem' }}\n type=\"password\"\n value={values.confirm}\n variant=\"outlined\"\n autoComplete=\"off\"\n />\n \n \n \n \n \n \n \n \n \n );\n};\n\nPassword.propTypes = {\n className: PropTypes.string\n};\n\n//export default ;\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.session.auth,\n // error: reducer.session.error,\n // loading: reducer.session.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // loadProfile: (user_id, token) =>\n // dispatch(actions.loadItem({ user_id, token })),\n resetPassword: (params, token) => dispatch(actions.resetItem({ params, token }))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Password);","import React from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\n\nimport { AccountProfile, AccountDetails, Password } from './components';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Account = () => {\n const classes = useStyles();\n\n return (\n
    \n \n \n \n \n \n \n \n \n
    \n );\n};\n\nexport default Account;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography, Avatar } from '@material-ui/core';\nimport ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\nimport ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\nimport MoneyIcon from '@material-ui/icons/Money';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '90%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.error.main,\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(0),\n display: 'flex',\n alignItems: 'center'\n },\n down: {\n color: theme.palette.error.dark\n },\n downValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n },\n up: {\n color: theme.palette.success.dark\n },\n upValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst NetLiq = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const currency = \"USD\";\n\n return (\n \n \n \n \n \n \n \n
    \n ${(parseFloat(props.net) + parseFloat(props.balance)).toFixed(2)} {currency}\n
    \n
    \n \n \n \n \n \n \n\n \n {\" $\" + props.net}\n \n
    \n {\n props.plp > 0 ?\n (\n \n \n {props.plp}%\n \n )\n :\n (\n \n \n {props.plp}%\n \n )\n }\n
    \n
    \n \n );\n};\n\nNetLiq.propTypes = {\n className: PropTypes.string\n};\n\nexport default NetLiq;\n\n/**\n * \n * //ArrowDownwardIcon\n// \n * \n \n \n */","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n STOCK_ORDER_LIST_ATTEMPT,\n STOCK_ORDER_LIST_SUCCESS,\n STOCK_ORDER_LIST_FAILED,\n ////////////////////\n STOCK_ORDER_NEW_SUCCESS,\n STOCK_ORDER_NEW_FAILED,\n ///////////////////\n STOCK_ORDER_REMOVE_SUCCESS,\n STOCK_ORDER_REMOVE_FAILED,\n ///////////\n STOCK_ORDER_SET_ITEM\n} from \"../types/stockOrderTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: STOCK_ORDER_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: STOCK_ORDER_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: STOCK_ORDER_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n/*\nexport function loadingMore() {\n return {\n type: AD_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: AD_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: AD_MORELIST_FAILED,\n error: error\n };\n}\n*/\nexport function successNew(item) {\n return {\n type: STOCK_ORDER_NEW_SUCCESS,\n item: item\n };\n}\n\n\n\nexport function failedNew(error) {\n return {\n type: STOCK_ORDER_NEW_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: STOCK_ORDER_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: STOCK_ORDER_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////\nexport function set(item) {\n return {\n type: STOCK_ORDER_SET_ITEM,\n item: item\n };\n}\n\n////////////////////////\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"stock_order/\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"stock_order/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"stock_order/item\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeSymbol = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"stock_order/symbol\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"stock_order/item\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateSymbol = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"stock_order/symbol\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateReference = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"stock_order/reference\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};","export const STOCK_ORDER_LIST_ATTEMPT = \"STOCK_ORDER_LIST_ATTEMPT\";\nexport const STOCK_ORDER_LIST_SUCCESS = \"STOCK_ORDER_LIST_SUCCESS\";\nexport const STOCK_ORDER_LIST_FAILED = \"STOCK_ORDER_LIST_FAILED\";\n//////////////////\nexport const STOCK_ORDER_NEW_SUCCESS = \"STOCK_ORDER_NEW_SUCCESS\";\nexport const STOCK_ORDER_NEW_FAILED = \"STOCK_ORDER_NEW_FAILED\";\n///////////////////\nexport const STOCK_ORDER_REMOVE_SUCCESS = \"STOCK_ORDER_REMOVE_SUCCESS\";\nexport const STOCK_ORDER_REMOVE_FAILED = \"STOCK_ORDER_REMOVE_FAILED\";\n\nexport const STOCK_ORDER_SET_ITEM = \"STOCK_ORDER_SET_ITEM\";\n\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n DASHBOARD_INDICATOR_ATTEMPT,\n DASHBOARD_INDICATOR_SUCCESS,\n DASHBOARD_INDICATOR_FAILED,\n //////////////////////\n DASHBOARD_INVOICE_ATTEMPT,\n DASHBOARD_INVOICE_SUCCESS,\n DASHBOARD_INVOICE_FAILED,\n} from \"../types/dashboardTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: DASHBOARD_INDICATOR_ATTEMPT\n };\n}\n\nexport function successIndicator(data) {\n return {\n type: DASHBOARD_INDICATOR_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: DASHBOARD_INDICATOR_FAILED,\n error: error\n };\n}\n////////////////////////////////////////////\n\n////////////////////////////////////////////\nexport function loadingInvoice() {\n return {\n type: DASHBOARD_INVOICE_ATTEMPT\n };\n}\nexport function successInvoice(data) {\n return {\n type: DASHBOARD_INVOICE_SUCCESS,\n data: data\n };\n}\nexport function failedInvoice(error) {\n return {\n type: DASHBOARD_INVOICE_FAILED,\n error: error\n };\n}\nexport const loadListIndicator = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"dashboard/indicator\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successIndicator(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\n\nexport const loadListInvoice = (data: Object) => async dispatch => {\n dispatch(loadingInvoice());\n await axios\n .get(url_api + \"dashboard/invoice\", {\n params: {\n id: data.user_id,\n // token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successInvoice(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failedInvoice(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedInvoice(\"try_later\"));\n } else {\n dispatch(failedInvoice(\"try_later\"));\n }\n return;\n });\n};","\nexport const DASHBOARD_INDICATOR_ATTEMPT = \"DASHBOARD_INDICATOR_ATTEMPT\";\nexport const DASHBOARD_INDICATOR_SUCCESS = \"DASHBOARD_INDICATOR_SUCCESS\";\nexport const DASHBOARD_INDICATOR_FAILED = \"DASHBOARD_INDICATOR_FAILED\";\n////////////////////////\n\n\n////////////////////////\nexport const DASHBOARD_INVOICE_ATTEMPT = \"DASHBOARD_INVOICE_ATTEMPT\";\nexport const DASHBOARD_INVOICE_SUCCESS = \"DASHBOARD_INVOICE_SUCCESS\";\nexport const DASHBOARD_INVOICE_FAILED = \"DASHBOARD_INVOICE_FAILED\";\n\n\n\n\n","import * as React from 'react';\nimport \"./styles.css\"\n\nexport default function InputDate(props) {\n return (\n
    \n \n \n
    \n );\n}","import React, { useState, useEffect } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions_stock from \"redux/actions/stockOrderActions\";\nimport * as actions_dashboard from \"redux/actions/dashboardActions\";\nimport { validate } from 'validate.js';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\n\nconst FormDialog = (props) => {\n\n const { item, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n stock_id: item.id || undefined,\n open_price: item.open_price || 0.01,\n symbol: item.symbol,\n quantity: item.quantity,\n close_price: props.price || Math.abs(item.open_price) || 0,//\n close_at: new Date().toISOString().split('T')[0],//props.item.open_at || \n market: item.market === 'BUY' ? 'SELL' : 'BUY',\n id: props.user_id,\n quantity_tmp: item.quantity,\n counter: item.counter,\n isValid: true\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n if (item.counter > 1)\n props.updateSymbol(values, props.token);\n else\n props.updateItem(values, props.token);\n setOpen(false);\n\n props.loadListIndicator(props.user_id, props.token);\n };\n\n const handleSaveShare = (event) => {\n if (item.counter > 1)\n props.updateSymbol({ ...values, share: true }, props.token);\n else\n props.updateItem({ ...values, share: true }, props.token);\n setOpen(false);\n };\n\n const [values, setValues] = useState({\n stock_id: item.id || undefined,\n open_price: item.open_price || 0.01,\n symbol: item.symbol,\n quantity: item.quantity,\n close_price: props.price || Math.abs(item.open_price) || 0,//\n close_at: new Date().toISOString().split('T')[0],//props.item.open_at || \n market: item.market === 'BUY' ? 'SELL' : 'BUY',\n id: props.user_id,\n quantity_tmp: item.quantity,\n counter: item.counter,\n isValid: true\n });\n\n const validate = (item) => {\n if (item.quantity > item.quantity_tmp)\n return { quantity: \"Quantity is wrong\" };\n if (item.quantity.length === 0)\n return { quantity: \"Quantity is empty\" };\n return null;\n }\n\n useEffect(() => {\n const errors = validate(values);\n setValues(values => ({\n ...values,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [values.quantity]);\n\n\n const handleChange = (event) => {\n event.persist();\n setValues(values => ({\n ...values,\n [event.target.name]: event.target.value,\n\n }));\n };\n\n return (\n
    \n \n \n \n \n Stock Close {item.symbol}\n \n \n Enter Data Stock\n \n
    \n \n {\" \"}\n $,\n }}\n />\n {\" \"}\n \n
    \n {\n values.counter === 1 && (\n \n {(values.quantity * parseFloat(values.close_price)).toFixed(2)} {\"USD. P/L = \" + (values.quantity * ((values.market === \"BUY\" ? - parseFloat(values.close_price) : parseFloat(values.close_price)) + values.open_price)).toFixed(2)}\n \n )\n }\n\n
    \n \n \n \n \n \n
    \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token\n };\n}\nconst mapDispatchToProps = dispatch => ({\n updateItem: (params, token) =>\n dispatch(actions_stock.updateItem({ params, token })),\n updateSymbol: (params, token) =>\n dispatch(actions_stock.updateSymbol({ params, token })),\n ////////////////////////////////\n loadListIndicator: (user_id, token) =>\n dispatch(actions_dashboard.loadListIndicator({ user_id, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);","import * as React from 'react';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\nimport IconButton from '@mui/material/IconButton';\nimport Avatar from '@mui/material/Avatar';\nimport AddIcon from '@mui/icons-material/Add';\nimport Typography from '@mui/material/Typography';\nimport Divider from '@mui/material/Divider';\nimport { Link as RouterLink } from \"react-router-dom\";\n\nexport default function ListStockSelect(props) {\n\n const handleToggle = (value) => () => {\n\n };\n\n return (\n \n {props.list.map((item, index) => {\n const labelId = `checkbox-list-secondary-label-${item.id}`;\n return (\n \n { props.onClickSelected(item) }} >\n {item.symbol}}\n secondary={\n \n \n {item.name}\n \n \n } />\n \n \n \n \n\n );\n })}\n \n );\n}\n/**\n * `img${item.id}`\n * secondaryAction={\n \n \n \n }\n \n \n \n */","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockOrderActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_dashboard from \"redux/actions/dashboardActions\";\nimport * as actions_event from \"redux/actions/eventActions\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\n\nconst schema = {\n symbol: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 300\n }\n },\n}\n\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setDialogState({\n isValid: false,\n values: {\n symbol: \"\",\n quantity: 1,\n open_price: 0.01,\n market: \"BUY\",\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n name: \"\"\n },\n touched: {},\n errors: {}\n });\n\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = (event) => {\n // event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n return;\n }\n props.newItem(dialogState.values, props.token);\n props.loadListIndicator(props.user_id, props.token);\n props.suscribeStock(dialogState.values);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n if (dialogState.values.symbol === \"\") {\n return;\n }\n props.newItem({ ...dialogState.values, share: true }, props.token);\n props.loadListIndicator(props.user_id, props.token);\n props.suscribeStock(dialogState.values);\n setOpen(false);\n };\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n symbol: \"\",\n quantity: 1,\n open_price: 0.01,\n market: \"BUY\",\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n name: \"\"\n },\n touched: {},\n errors: {}\n });\n\n\n\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [dialogState.values]);\n\n const handleChangeSymbol = (event) => {\n event.persist();\n if (event.target.value.trim() !== dialogState.values.symbol) {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value.trim(),\n name: \"\"\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n } else props.resetList();\n };\n\n const handleChange = event => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const option_market = [\n {\n value: \"BUY\",\n label: \"Buy\",\n },\n {\n value: \"SELL\",\n label: \"Sell\",\n },\n ];\n\n const hasError = field =>\n dialogState.touched[field] && dialogState.errors[field] ? true : false;\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name\n },\n }));\n props.resetList();\n };\n\n return (\n
    \n \n \n Stock Entry\n \n \n Enter Data Stock\n \n\n \n {\n dialogState.values.symbol.length > 0 && props.list.length > 0 && (< ListStockSelect list={props.list} onClickSelected={onClickSelected} />)\n }\n\n \n
    \n \n {\" \"}\n $,\n }}\n />\n {\" \"}\n \n \n {option_market.map((option) => (\n \n ))}\n \n \n
    \n \n {\" $ \"}{(dialogState.values.quantity * dialogState.values.open_price).toFixed(2)}{\" USD\"}\n \n
    \n \n \n \n \n \n
    \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n /////////////////////////////\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n ////////////////////////////////\n loadListIndicator: (user_id, token) =>\n dispatch(actions_dashboard.loadListIndicator({ user_id, token })),\n /////////////////////////\n suscribeStock: (data) =>\n dispatch(actions_event.suscribeStock(data)),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Edit from \"@material-ui/icons/Edit\";\nimport {\n IconButton\n} from '@material-ui/core'\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockOrderActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst FormDialog = (props) => {\n\n const [open, setOpen] = React.useState(false);\n\n const [values, setValue] = useState({\n stock_id: props.item.id,\n reference: props.item.reference,\n id: props.user_id,\n symbol: props.item.symbol\n });\n\n const handleClickOpen = () => {\n setValue({\n stock_id: props.item.id,\n reference: props.item.reference,\n id: props.user_id,\n symbol: props.item.symbol\n });\n setOpen(true);\n\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n props.updateReference(props.token, values);\n setOpen(false);\n };\n\n const handleChange = (event) => {\n event.persist();\n setValue(values => ({\n ...values,\n [event.target.name]: event.target.value\n }));\n };\n\n\n return (\n
    \n \n \n \n \n Reference\n \n \n Enter Description\n \n \n\n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n updateReference: (token, params) =>\n dispatch(actions.updateReference({ token, params })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n\n","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n Typography,\n} from '@material-ui/core';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport CloseModal from '../CloseModal';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport { collectFormValues } from 'validate.js';\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport \"./styles.css\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockOrderActions\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport ReferenceModal from '../ReferenceModal';\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport { makeStyles } from '@material-ui/styles';\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n color: \"black\"\n },\n cell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n color: \"black\"\n },\n avatar: {\n\n }\n};\nconst useStyles = makeStyles(theme => ({\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n\n },\n\n}));\n\nconst Row = props => {\n const { className, order, key, ...rest } = props;\n\n const [open, setOpen] = useState(false);\n\n const classes = useStyles();\n\n // const [openModalReference, setOpenModalReference] = useState(false);\n\n //const [reference, setReference] = useState(\"\");\n\n const onClickDelete = (item) => {\n\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"delete\") + \"?\",\n function () {\n if (item.counter > 1)\n props.removeSymbol(props.token, { symbol: item.symbol, id: props.user_id });\n else\n props.removeItem(props.token, { stock_id: item.id, symbol: item.symbol, id: props.user_id });\n },\n function () {\n\n });\n };\n /*\n const onClickEdit = (item) => {\n setReference(item.reference);\n setOpenModalReference(true);\n };\n \n const handleClose = (item) => {\n setOpenModalReference(false);\n setReference(\"\");\n };\n \n const handleSave = (item) => {\n setOpenModalReference(false);\n props.updateReference(props.token,\n {\n stock_id: item.id,\n reference: reference,\n symbol: item.symbol,\n id: props.user_id,\n });\n setReference(\"\");\n };\n \n const handleChange = (event) => {\n setReference(event.target.value);\n };\n */\n //const pending = \"Pending\";\n\n const getPrice = (item) => {\n let quote = (props.stock[item.symbol] && props.stock[item.symbol].c) || item.price;\n return quote && +quote.toFixed(2);\n }\n\n return (\n \n \n \n {\n order.counter > 1 ? ( setOpen(!open)}\n >\n {order.counter} {open ? : }\n \n\n ) : ( )\n }\n \n {\" \"} {order.symbol.toUpperCase()}\n {\n order.dividend === \"1\" && ()\n }\n \n \n\n {getPrice(order)}{\" \"}\n \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"absolute\",\n }} />\n \n \n {order.quantity}\n {(order.open_price).toFixed(2)}\n {(order.open_trade).toFixed(2)}\n {(order.quantity * getPrice(order)).toFixed(2)}\n \n {\n getPrice(order) > 0 && (\n order.market === \"SELL\" ?\n (\n \n {(order.quantity * (order.open_price - parseFloat(getPrice(order)))).toFixed(2)}\n \n ) : (\n \n {(order.quantity * (order.open_price + parseFloat(getPrice(order)))).toFixed(2)}\n \n )\n )\n }\n\n \n \n {\n getPrice(order) > 0 && (\n order.market === \"SELL\" ?\n (\n \n {((((order.open_price - parseFloat(getPrice(order))) / Math.abs(order.open_price))) * 100).toFixed(2)}{\"%\"}\n \n ) :\n (\n \n {((((order.open_price + parseFloat(getPrice(order))) / Math.abs(order.open_price))) * 100).toFixed(2)}{\"%\"}\n \n )\n )\n }\n \n \n {order.open_at && moment(order.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n \n \n {order.reference}{\" \"}\n \n \n \n \n {\" \"}\n { onClickDelete(order) }}\n >\n \n \n \n \n
    \n {open && order.sub_order.map((subOrder) => (\n \n {\"\"}\n {\"\"}\n {subOrder.quantity}\n {subOrder.open_price}\n \n {(subOrder.open_trade).toFixed(2)}\n \n {(subOrder.quantity * getPrice(order)).toFixed(2)}\n \n {\n getPrice(order) > 0 && (\n subOrder.market === \"SELL\" ?\n (\n \n {(subOrder.quantity * (subOrder.open_price - parseFloat(getPrice(order)))).toFixed(2)}\n \n )\n :\n (\n \n {(subOrder.quantity * (subOrder.open_price + parseFloat(getPrice(order)))).toFixed(2)}\n \n )\n )\n }\n\n \n \n {\n getPrice(order) > 0 && (\n subOrder.market === \"SELL\" ?\n (\n \n {((((subOrder.open_price - parseFloat(getPrice(order))) / Math.abs(subOrder.open_price))) * 100).toFixed(2)}{\"%\"}\n \n ) :\n (\n \n {((((subOrder.open_price + parseFloat(getPrice(order))) / Math.abs(subOrder.open_price))) * 100).toFixed(2)}{\"%\"}\n \n )\n )\n }\n\n \n \n {subOrder.open_at && moment(subOrder.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n \n \n {subOrder.reference}{\" \"}\n \n \n \n \n {\" \"}\n { onClickDelete(subOrder) }}\n >\n \n \n \n \n ))}\n
    \n
    \n )\n}\nRow.propTypes = {\n className: PropTypes.string\n};\n\n\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n stock: reducer.event.stock\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n removeItem: (token, params) =>\n dispatch(actions.removeItem({ token, params })),\n removeSymbol: (token, params) =>\n dispatch(actions.removeSymbol({ token, params })),\n\n updateReference: (token, params) =>\n dispatch(actions.updateReference({ token, params })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Row);\n/**\n * {order.counter === 1 && (\n \n )}\n \n * \n * {\n order.counter === 1 && (\n \n )\n }\n \n\n\n * { onClickEdit(order) }}\n >\n \n \n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(order) }}\n handleChange={handleChange}\n name={reference}\n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(subOrder) }}\n handleChange={handleChange}\n name={reference}\n { onClickEdit(subOrder) }}\n >\n \n \n * {\" \"}\n { onClickEdit(order) }}\n >\n \n \n */","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport MiniLoader from \"components/MiniLoader\";\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n} from '@material-ui/core';\nimport { CSVLink, CSVDownload } from \"react-csv\";\n//import ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport { EntryModal, Row } from './components';\n//import PlusIcon from '@material-ui/icons/Add';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockOrderActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n padding: 0\n },\n inner: {\n minWidth: 800\n },\n statusContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n status: {\n marginRight: theme.spacing(1)\n },\n actions: {\n justifyContent: 'flex-end'\n },\n\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"8px\"\n }\n};\n\n\nfunction getCapital(rows) {\n var cap = 0;\n var count = 0;\n rows.map(item => {\n if (item.counter === 1) {\n cap = cap + Math.abs(item.open_trade);\n count++;\n }\n\n else {\n item.sub_order.map(item_ => {\n cap = cap + Math.abs(item_.open_trade);\n count++;\n });\n }\n });\n\n return \"Position \" + count + \" = $\" + cap.toFixed(2) + \" USD\";\n}\n\nconst StockOrders = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [list, setList] = useState(props.list);\n //const [cap, setCap] = useState(0.0);\n const headers = [\n { label: \"Symbol\", key: \"symbol\" },\n { label: \"Last\", key: \"last\" },\n { label: \"Qtt\", key: \"quantity\" },\n { label: \"Open Prc\", key: \"open_price\" },\n { label: \"Open Trd\", key: \"open_trade\" },\n { label: \"P/L\", key: \"pl\" },\n { label: \"P/L%\", key: \"pl\" },\n { label: \"Open Date\", key: \"open_at\" },\n ];\n\n const dataCsv = () => {\n let data = [];\n props.list.forEach(element => {\n let item = {};\n headers.forEach(ref => {\n item = {\n ...item,\n [ref.key]: element[ref.key]\n };\n });\n data = data.concat(item);\n });\n return data;\n }\n\n useEffect(() => {\n if (props.list.length === 0)\n props.loadList(props.user_id, props.token);\n }, []);\n\n return (\n \n \n }\n title={getCapital(props.list)}\n />\n \n \n \n
    \n \n \n \n \n \n Symbol\n \n \n Last\n Qtt\n OpnPrc\n OpnTrd\n NetLiq\n P/L\n P/L%\n OpnDate\n Reference\n Action\n \n \n \n {\n props.list.map((order, index) => (\n \n ))\n }\n \n
    \n
    \n
    \n
    \n \n\n {\n props.loading ? (\n \n \n \n ) : \n CSV\n \n \n }\n\n \n );\n};\n\nStockOrders.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stockOrder.list,\n error: reducer.stockOrder.error,\n loading: reducer.stockOrder.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (user_id, token) =>\n dispatch(actions.loadList({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StockOrders);\n/**\n * enclosingCharacter={`'`}\n * target=\"_blank\"\n * filename={\"my-file.csv\"}\n className=\"btn btn-primary\"\n onClick={() => {\n console.log(\"You click the link\"); // 👍🏻 Your click handling logic\n }}\n asyncOnClick={true}\n onClick={(event, done) => {\n axios.post(\"/spy/user\").then(() => {\n done(); // REQUIRED to invoke the logic of component\n });\n getUsers = (event, done) => {\n if(!this.state.loading) {\n this.setState({\n loading: true\n });\n axios.get(\"/api/users\").then((userListJson) => {\n this.setState({\n listOfUsers: userListJson,\n loading: false\n });\n done(true); // Proceed and get data from dataFromListOfUsersState function\n }).catch(() => {\n this.setState({\n loading: false\n });\n done(false);\n });\n }\n }\n * \n Download CSV \n \n * align=\"right\"Math.trunc(\n * \n \n * \n * \n \n Date\n Customer\n Amount\n Total price ($)\n \n \n * \n History\n \n *
    \n \n {order.status}\n
    \n \n Stock entry\n \n\n { onClickDelete(item) }}\n >\n {\"CLOSE\"}\n \n\n {\n console.info(\"I'm a button.\");\n }}\n >\n \n \n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n OPTION_LIST_ATTEMPT,\n OPTION_LIST_SUCCESS,\n OPTION_LIST_FAILED,\n ////////////////////\n OPTION_NEW_SUCCESS,\n OPTION_NEW_FAILED,\n ///////////////////\n OPTION_REMOVE_SUCCESS,\n OPTION_REMOVE_FAILED,\n ///////////\n OPTION_SET_ITEM\n} from \"../types/optionOrderTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: OPTION_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: OPTION_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: OPTION_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n/*\nexport function loadingMore() {\n return {\n type: AD_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: AD_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: AD_MORELIST_FAILED,\n error: error\n };\n}\n*/\nexport function successNew(item) {\n return {\n type: OPTION_NEW_SUCCESS,\n item: item\n };\n}\n\n\n\nexport function failedNew(error) {\n return {\n type: OPTION_NEW_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: OPTION_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: OPTION_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////\nexport function set(item) {\n return {\n type: OPTION_SET_ITEM,\n item: item\n };\n}\n\n////////////////////////\nexport const setItem = (data: Object) => async dispatch => {\n dispatch(set(data.item));\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"option/\", {\n params: {\n id: data.user_id,\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"option/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newStrategy = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"option/strategy\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"option/\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"option/close/item\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateStrategy = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"option/close/strategy\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const rollItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"option/roll/item\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const rollStrategy = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"option/roll/strategy\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};\n\nexport const updateReference = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"option/reference\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};","export const OPTION_LIST_ATTEMPT = \"OPTION_LIST_ATTEMPT\";\nexport const OPTION_LIST_SUCCESS = \"OPTION_LIST_SUCCESS\";\nexport const OPTION_LIST_FAILED = \"OPTION_LIST_FAILED\";\n//////////////////\nexport const OPTION_NEW_SUCCESS = \"OPTION_NEW_SUCCESS\";\nexport const OPTION_NEW_FAILED = \"OPTION_NEW_FAILED\";\n///////////////////\nexport const OPTION_REMOVE_SUCCESS = \"OPTION_REMOVE_SUCCESS\";\nexport const OPTION_REMOVE_FAILED = \"OPTION_REMOVE_FAILED\";\n\nexport const OPTION_SET_ITEM = \"OPTION_SET_ITEM\";","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n DISCOVER_LIST_ATTEMPT,\n DISCOVER_LIST_SUCCESS,\n DISCOVER_LIST_FAILED,\n ////////////////////\n DISCOVER_MORELIST_ATTEMPT,\n DISCOVER_MORELIST_SUCCESS,\n DISCOVER_MORELIST_FAILED\n} from \"../types/discoverTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: DISCOVER_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: DISCOVER_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: DISCOVER_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: DISCOVER_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: DISCOVER_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: DISCOVER_MORELIST_FAILED,\n error: error\n };\n}\n\n////////////////////////\n\nexport const loadListDividend = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"discover/dividend\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListDividendScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"discover/dividend\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListEarning = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"discover/earning\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListEarningScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"discover/earning\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};","export const DISCOVER_LIST_ATTEMPT = \"DISCOVER_LIST_ATTEMPT\";\nexport const DISCOVER_LIST_SUCCESS = \"DISCOVER_LIST_SUCCESS\";\nexport const DISCOVER_LIST_FAILED = \"DISCOVER_LIST_FAILED\";\n////////////\nexport const DISCOVER_MORELIST_ATTEMPT = \"DISCOVER_MORELIST_ATTEMPT\";\nexport const DISCOVER_MORELIST_SUCCESS = \"DISCOVER_MORELIST_SUCCESS\";\nexport const DISCOVER_MORELIST_FAILED = \"DISCOVER_MORELIST_FAILED\";\n\n","import React, { useState, useEffect } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport * as actions_dashboard from \"redux/actions/dashboardActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\nimport { loadListEarning } from 'redux/actions/discoverActions';\n\nfunction getCloseAt(expire_at) {\n if (expire_at && new Date(expire_at) < new Date())\n return new Date(expire_at).toISOString().split('T')[0];\n\n return new Date().toISOString().split('T')[0];\n}\nconst FormDialog = props => {\n\n const { item, ...rest } = props;\n\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n close_price: props.price || Math.abs(item.close_price) || 0.01,\n open_price: item.open_price || 0.01,\n option_id: item.id,\n close_at: getCloseAt(props.item.expire_at),// \n symbol: item.symbol,\n id: props.user_id,\n quantity: item.quantity,\n market: item.market === 'BUY' ? 'STC' : 'BTC',\n //total: item.open_price,\n strike: item.strike,\n option_kind: item.option_kind,\n quantity_tmp: item.quantity,\n isValid: true\n });\n if (item.sub_order.length > 1) {\n setStrategy({\n ...strategy,\n leg: item.sub_order,\n symbol: item.sub_order.length > 1 && item.sub_order[0].symbol,\n });\n // let leg = item.sub_order;\n // for (let i = 0; i < item.sub_order.length; i++) {\n // leg[i].close_price= props.price || Math.abs(item.open_price) || 0.01;\n // }\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const [values, setValues] = useState({\n close_price: props.price || Math.abs(item.close_price) || 0.01,\n open_price: item.open_price || 0.01,\n option_id: item.id,\n close_at: getCloseAt(props.item.expire_at),// \n symbol: item.symbol,\n id: props.user_id,\n quantity: item.quantity,\n market: item.market === 'BUY' ? 'STC' : 'BTC',\n //total: item.open_price,\n strike: item.strike,\n option_kind: item.option_kind,\n quantity_tmp: item.quantity,\n isValid: true\n });\n\n const [strategy, setStrategy] = useState({\n symbol: item.sub_order.length > 1 && item.sub_order[0].symbol,\n name: \"\",\n id: props.user_id,\n share: false,\n leg: item.sub_order\n });\n\n const validate = (item) => {\n if (item.quantity > item.quantity_tmp)\n return { quantity: \"Quantity is wrong\" };\n if (item.quantity.length === 0)\n return { quantity: \"Quantity is empty\" };\n return null;\n }\n\n useEffect(() => {\n const errors = validate(values);\n setValues(values => ({\n ...values,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [item]);\n\n const handleChange = (event) => {\n event.persist();\n setValues(values => ({\n ...values,\n [event.target.name]: event.target.value,\n\n }));\n };\n\n const handleSave = () => {\n if (item.sub_order.length > 1)\n props.updateStrategy(strategy, props.token);\n else\n props.updateItem(values, props.token);\n\n props.loadListIndicator(props.user_id, props.token);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n if (item.sub_order.length > 1)\n props.updateStrategy({ ...strategy, share: true }, props.token);\n else\n props.updateItem({ ...values, share: true }, props.token);\n\n setOpen(false);\n };\n\n const handleChangeLeg = (i, e) => {\n let leg = strategy.leg;\n if (i === 0 && e.target.name === \"close_at\") {\n for (let i = 0; i < leg.length; i++) {\n leg[i][e.target.name] = e.target.value;\n }\n } else\n leg[i][e.target.name] = e.target.value;\n setStrategy(strategy => ({\n ...strategy,\n leg: leg\n }));\n }\n\n return (\n
    \n \n \n \n \n Option Close {item.symbol}\n \n \n Enter Data Option - Strike {item.strike}\n \n {\n (item.sub_order.length > 1) ?\n (\n strategy.leg.map((element, index) => (\n
    \n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n disabled={true}\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n disabled={true}\n />\n {\" \"}\n \n {\" \"}\n handleChangeLeg(index, e)}\n InputProps={{\n startAdornment: $,\n }}\n />\n handleChangeLeg(index, e)}\n variant=\"lined\"\n min=\"1900-01-01\"\n max={new Date().toISOString().split('T')[0]}\n disabled={false}\n />\n
    \n ))\n )\n :\n (\n \n
    \n \n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n disabled={true}\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n />\n {\" \"}\n \n {\" \"}\n \n {\" \"}\n $,\n }}\n />\n \n
    \n \n {(values.quantity * parseFloat(values.close_price) * 100).toFixed(2)} {\"USD. P/L = \" + ((values.open_price + (values.market === \"BUY\" ? - parseFloat(values.close_price) : parseFloat(values.close_price))) * 100 * values.quantity).toFixed(2)}\n \n
    \n )\n }\n\n
    \n \n \n \n \n \n
    \n
    \n );\n}\n\nFormDialog.propTypes = {\n item: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n updateItem: (params, token) =>\n dispatch(actions.updateItem({ params, token })),\n updateStrategy: (params, token) =>\n dispatch(actions.updateStrategy({ params, token })),\n //////////////////////////////\n loadListIndicator: (user_id, token) =>\n dispatch(actions_dashboard.loadListIndicator({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_event from \"redux/actions/eventActions\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\n\nconst schema = {\n symbol: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 300\n }\n },\n market: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },\n option_kind: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },\n}\n\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setDialogState({\n isValid: false,\n values: {\n quantity: 1,\n open_price: 0.01,\n strike: 1,\n open_at: new Date().toISOString().split('T')[0],\n expire_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n share: false,\n name: \"\",\n symbol: \"\",\n reference: \"\",\n option_kind: \"\",\n market: \"\"\n },\n touched: {},\n errors: {}\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = (event) => {\n event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n\n return;\n }\n props.newItem(dialogState.values, props.token);\n props.suscribeOption(dialogState.values);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n\n return;\n }\n props.newItem({ ...dialogState.values, share: true }, props.token);\n props.suscribeOption(dialogState.values);\n setOpen(false);\n };\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n quantity: 1,\n open_price: 0.01,\n strike: 1,\n open_at: new Date().toISOString().split('T')[0],\n expire_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n share: false,\n name: \"\",\n symbol: \"\",\n reference: \"\",\n option_kind: \"\",\n market: \"\"\n },\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [dialogState.values]);\n\n const handleChange = event => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleChangeSymbol = (event) => {\n event.persist();\n if (event.target.value.trim() !== dialogState.values.symbol) {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value.trim(),\n name: \"\"\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n }\n else props.resetList();\n };\n\n const option_kind = [\n {\n value: \"CALL\",\n label: \"Call\",\n },\n {\n value: \"PUT\",\n label: \"Put\",\n },\n ];\n\n const option_market = [\n {\n value: \"SELL\",\n label: \"STO\",\n },\n {\n value: \"BUY\",\n label: \"BTO\",\n },\n ];\n\n const hasError = field =>\n dialogState.touched[field] && dialogState.errors[field] ? true : false;\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name\n },\n }));\n props.resetList();\n };\n\n const handleChangeStrategy = (event) => {\n event.persist();\n\n switch (event.target.value) {\n case \"CoveredCall\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"CALL\"\n },\n }));\n break;\n\n case \"CoveredPut\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"PUT\"\n },\n }));\n break;\n\n case \"NakedCall\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"CALL\"\n },\n }));\n break;\n\n case \"NakedPut\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"PUT\"\n },\n }));\n break;\n default: {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n },\n }));\n } break;\n };\n }\n\n const option_strategy =\n [\n {\n value: \"CoveredCall\",\n label: \"CoveredCall\",\n },\n {\n value: \"CoveredPut\",\n label: \"CoveredPut\",\n },\n {\n value: \"NakedCall\",\n label: \"NakedCall\",\n },\n {\n value: \"NakedPut\",\n label: \"NakedPut\",\n },\n {\n value: \"Another\",\n label: \"Another\",\n },\n ];\n\n return (\n
    \n \n \n Option Entry\n \n \n Enter Data Option\n \n\n \n {\n dialogState.values.symbol.length > 0 && props.list.length > 0 && (< ListStockSelect list={props.list} onClickSelected={onClickSelected} />)\n }\n \n \n \n {option_strategy.map((option) => (\n \n ))}\n \n
    \n \n\n \n \n {option_market.map((option) => (\n \n ))}\n \n\n \n \n {option_kind.map((option) => (\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\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n /////////\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n ///////////////\n suscribeOption: (data) =>\n dispatch(actions_event.suscribeOption(data)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { Fragment, useState } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport * as actions_dashboard from \"redux/actions/dashboardActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\nimport { element } from 'prop-types';\n\nfunction counterRoll(reference) {\n\n if (reference.indexOf('Roll') >= 0) {\n var text = reference.substring(0, reference.indexOf('Roll'));\n var sec = reference.substring(reference.indexOf('Roll') + 4, reference.length);\n sec = parseInt(sec) + 1;\n return text + \"Roll\" + sec;\n }\n return reference + \"Roll1\";\n}\n\nfunction getCloseAt(expire_at) {\n if (expire_at && new Date(expire_at) < new Date())\n return new Date(expire_at).toISOString().split('T')[0];\n\n return new Date().toISOString().split('T')[0];\n}\n\nconst FormDialog = (props) => {\n const { item, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n symbol: item.symbol,\n quantity: item.quantity,\n close_price: props.price || Math.abs(item.close_price) || 0.01,\n open_price: Math.abs(item.open_price) || 0.01,\n strike: item.strike,\n strike_temp: item.strike,\n //close_at: new Date().toISOString().split('T')[0],\n open_at: new Date().toISOString().split('T')[0],\n expire_at: new Date(props.item.expire_at).toISOString().split('T')[0],\n close_at: getCloseAt(props.item.expire_at),// \n market: item.market,\n option_kind: item.option_kind,\n option_id: item.id,\n reference: counterRoll(item.reference || \"\"),\n id: props.user_id\n });\n if (item.sub_order.length > 1) {\n setStrategy({\n ...strategy,\n leg: item.sub_order,\n symbol: item.sub_order.length > 1 && item.sub_order[0].symbol,\n });\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n if (item.sub_order.length > 1)\n props.rollStrategy({\n ...strategy,\n close_at: values.close_at,\n open_at: values.open_at,\n reference: values.reference,\n expire_at: values.expire_at\n }, props.token);\n else\n props.rollItem(values, props.token);\n\n props.loadListIndicator(props.user_id, props.token);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n if (item.sub_order.length > 1)\n props.rollStrategy({\n ...strategy,\n share: true,\n close_at: values.close_at,\n open_at: values.open_at,\n }, props.token);\n else\n props.rollItem({\n ...values,\n share: true,\n }, props.token);\n\n props.loadListIndicator(props.user_id, props.token);\n setOpen(false);\n\n };\n\n const [values, setValues] = useState({\n symbol: item.symbol,\n quantity: item.quantity,\n close_price: props.price || Math.abs(item.close_price) || 0.01,\n open_price: Math.abs(item.open_price) || 0.01,\n strike: item.strike,\n strike_temp: item.strike,\n //close_at: new Date().toISOString().split('T')[0],\n open_at: new Date().toISOString().split('T')[0],\n expire_at: new Date(props.item.expire_at).toISOString().split('T')[0],\n close_at: getCloseAt(props.item.expire_at),// \n market: item.market,\n option_kind: item.option_kind,\n option_id: item.id,\n reference: counterRoll(item.reference || \"\"),\n id: props.user_id\n });\n\n const [strategy, setStrategy] = useState({\n symbol: item.sub_order.length > 1 && item.sub_order[0].symbol,\n name: \"\",\n id: props.user_id,\n share: false,\n leg: item.sub_order,\n close_at: \"\",\n open_at: \"\",\n });\n\n\n const handleChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n };\n\n const option_kind = [\n {\n value: \"CALL\",\n label: \"Call\",\n },\n {\n value: \"PUT\",\n label: \"Put\",\n },\n ];\n\n const option_market_open = [\n {\n value: \"SELL\",\n label: \"STO\",\n },\n {\n value: \"BUY\",\n label: \"BTO\",\n },\n ];\n const option_market_close = [\n {\n value: \"SELL\",\n label: \"STC\",\n },\n {\n value: \"BUY\",\n label: \"BTC\",\n },\n ];\n\n const handleChangeLeg = (i, e) => {\n let leg = strategy.leg;\n if (!leg[i].strike_temp)\n leg[i].strike_temp = props.item.sub_order[i].strike;\n leg[i][e.target.name] = e.target.value;\n setStrategy(strategy => ({\n ...strategy,\n leg: leg\n }));\n }\n\n return (\n
    \n \n \n Option Roll {item.symbol}\n \n \n Enter Data Option Roll\n \n {\n (item.sub_order.length > 1) ?\n (\n strategy.leg.map((element, index) => (\n \n
    \n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '7ch' }}\n disabled\n variant=\"standard\"\n />\n\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n disabled\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={(element.market === \"SELL\" ? \"BUY\" : \"SELL\")}\n >\n \n {option_market_close.map((option) => (\n \n ))}\n \n\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n disabled\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={element.option_kind}\n >\n \n {option_kind.map((option) => (\n \n ))}\n \n\n handleChangeLeg(index, e)}\n // fullWidth\n disabled\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n InputProps={{\n startAdornment: $,\n }}\n />\n handleChangeLeg(index, e)}\n InputProps={{\n startAdornment: $,\n }}\n />\n
    \n
    \n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '7ch' }}\n disabled\n variant=\"standard\"\n />\n\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n disabled\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={element.market}\n >\n \n {option_market_open.map((option) => (\n \n ))}\n \n\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n disabled\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={element.option_kind}\n >\n \n {option_kind.map((option) => (\n \n ))}\n \n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n InputProps={{\n startAdornment: $,\n }}\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n InputProps={{\n startAdornment: $,\n }}\n />\n
    \n
    ))) :\n (\n \n
    \n \n\n \n \n {option_market_close.map((option) => (\n \n ))}\n \n\n \n \n {option_kind.map((option) => (\n \n ))}\n \n\n $,\n }}\n />\n $,\n }}\n />\n
    \n
    \n \n\n \n \n {option_market_open.map((option) => (\n \n ))}\n \n\n \n \n {option_kind.map((option) => (\n \n ))}\n \n $,\n }}\n />\n {\" \"}\n $,\n }}\n />\n
    \n
    \n )\n }\n < div style={{ \"flexDirection\": \"row\", \"display\": \"flex\", \"justifyContent\": \"space-between\" }}>\n \n\n \n\n\n
    \n \n \n \n \n \n \n \n \n );\n}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n rollItem: (params, token) =>\n dispatch(actions.rollItem({ params, token })),\n rollStrategy: (params, token) =>\n dispatch(actions.rollStrategy({ params, token })),\n ////////////////////////////////\n loadListIndicator: (user_id, token) =>\n dispatch(actions_dashboard.loadListIndicator({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n/**\n * \n */","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n OPTIONHISTORY_LIST_ATTEMPT,\n OPTIONHISTORY_LIST_SUCCESS,\n OPTIONHISTORY_LIST_FAILED,\n ////////////////////\n} from \"../types/optionHistoryTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: OPTIONHISTORY_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: OPTIONHISTORY_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: OPTIONHISTORY_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n/*\nexport function loadingMore() {\n return {\n type: DISCOVER_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: DISCOVER_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: DISCOVER_MORELIST_FAILED,\n error: error\n };\n}\n*/\n////////////////////////\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"rollhistory\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};","export const OPTIONHISTORY_LIST_ATTEMPT = \"OPTIONHISTORY_LIST_ATTEMPT\";\nexport const OPTIONHISTORY_LIST_SUCCESS = \"OPTIONHISTORY_LIST_SUCCESS\";\nexport const OPTIONHISTORY_LIST_FAILED = \"OPTIONHISTORY_LIST_FAILED\";","import React, { useState, useEffect } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport moment from \"moment\";\nimport InputAdornment from '@mui/material/InputAdornment';\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionHistoryActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\nconst FormDialog = (props) => {\n const { item, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n props.loadList({\n id: props.user_id,\n strategy: props.item.strategy,\n symbol: props.item.symbol,\n option_id: props.item.id\n }, props.token);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n }, [props.list]);\n\n return (\n
    \n \n \n {props.item.roll_accum}\n \n \n \n Option Roll History {item.symbol} RollAccum = {item.roll_accum}\n \n \n \n \n \n \n Qtt\n OpenPrc\n ClsePrc\n Open\n Close\n Expr\n Stk\n OpenTrd\n ClseTrd\n Tax\n P/L\n Stus\n \n \n \n {\n props.list.map((item) => (\n \n {(item.market === \"SELL\" ? \"-\" : \"+\")}{item.quantity}{item.option_kind === \"CALL\" ? \"C\" : \"P\"}\n {item.open_price}{\" \"}{item.market === \"SELL\" ? \"STO\" : \"BTO\"}\n {item.status === \"CLOSE\" && item.close_price}{\" \"}{item.status === \"CLOSE\" && (item.market === \"SELL\" ? \"BTC\" : \"STC\")}\n \n {moment(item.open_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n {item.status === \"CLOSE\" && moment(item.close_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n {moment(item.expire_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n\n {item.strike}\n \n {item.open_trade}\n \n \n {item.status === \"CLOSE\" && item.close_trade}\n \n \n {item.status === \"CLOSE\" && item.tax}\n \n \n {\n item.status === \"CLOSE\" &&\n (\n (item.open_price + item.close_price) < 0 ?\n (\n {(item.open_trade + item.close_trade - item.tax).toFixed(2)}\n )\n :\n (\n {(item.open_trade + item.close_trade - item.tax).toFixed(2)}\n )\n )\n }\n\n \n {item.status}\n \n ))\n }\n \n
    \n
    \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.optionHistory.list,\n error: reducer.optionHistory.error,\n loading: reducer.optionHistory.loading,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n// align=\"left\"\n/**\n * Reference\n * \n {item.reference}\n \n */","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Edit from \"@material-ui/icons/Edit\";\nimport {\n IconButton\n} from '@material-ui/core'\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst FormDialog = (props) => {\n\n const [open, setOpen] = React.useState(false);\n\n const [values, setValue] = useState({\n option_id: props.item.id,\n reference: props.item.reference,\n strategy: props.item.strategy,\n id: props.user_id,\n symbol: props.item.symbol\n });\n\n const handleClickOpen = () => {\n setValue({\n option_id: props.item.id,\n reference: props.item.reference,\n strategy: props.item.strategy,\n id: props.user_id,\n symbol: props.item.symbol\n });\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n\n props.updateReference(props.token, values);\n setOpen(false);\n };\n\n const handleChange = (event) => {\n event.persist();\n setValue(values => ({\n ...values,\n [event.target.name]: event.target.value\n }));\n };\n\n return (\n
    \n \n \n \n \n Reference\n \n \n Enter Description\n \n \n\n \n \n \n \n \n \n
    \n );\n}\n\n//export default FormDialog;\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n updateReference: (token, params) =>\n dispatch(actions.updateReference({ token, params })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n\n/**\n * \n */\n","import React, { useState, useEffect } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\nimport { loadListEarning } from 'redux/actions/discoverActions';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n} from 'chart.js';\nimport { Line } from 'react-chartjs-2';\n\n\n\nfunction getLabel(item) {\n let strike = item.strike;\n let data = [];\n if (strike > 0 && strike < 99) {\n let start = strike - 4;\n\n for (let index = 0; index < 16; index++) {\n\n data.push(start);\n start = start + 0.5;\n }\n }\n return data;\n\n\n}\nfunction getData(item) {\n\n let strike = item.strike;\n let premiun = Math.abs(item.open_price);\n let market = item.market;\n let option_kind = item.option_kind;\n\n let data = [];\n\n if (strike > 0 && strike < 99) {\n let start = strike - 4;\n\n for (let index = 0; index < 16; index++) {\n let tmpf = 0;\n let tmpB = 0;\n let tmpS = 0;\n if (option_kind === \"CALL\") {\n tmpB = (start - strike) < 0 ? 0 : (start - strike);\n tmpS = (strike - start) > 0 ? 0 : (strike - start);\n tmpf = market === \"BUY\" ? tmpB : tmpS;\n }\n else {\n tmpB = (strike - start) < 0 ? 0 : (strike - start);\n tmpS = (start - strike) > 0 ? 0 : (start - strike);\n tmpf = market === \"BUY\" ? tmpB : tmpS;\n }\n\n let rest = market === \"BUY\" ? tmpf - premiun : tmpf + premiun;\n data.push(rest);\n start = start + 0.5;\n }\n }\n\n return data;\n\n}\nconst FormDialog = props => {\n\n const { item, ...rest } = props;\n\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n\n\n const options = {\n responsive: true,\n legend: { display: false },\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: '',\n },\n },\n };\n const labels = getLabel(props.item);//['January', 'February', 'March', 'April', 'May', 'June', 'July'];\n\n const data = {\n labels,\n datasets: [\n {\n label: '',\n data: getData(props.item),\n borderColor: 'rgb(53, 162, 235)',\n // backgroundColor: 'rgba(255, 99, 132, 0.5)',\n // backgroundColor: \"#f5f5f5\"\n },\n /* {\n label: 'Stock',\n data:\n [0, 0, 0.48, 0, 0, 0, 0, 0, 0]\n \n ,\n borderColor: 'rgb(255, 99, 132)',\n backgroundColor: 'rgba(53, 162, 235, 0.5)',\n },*/\n\n ],\n };\n\n return (\n
    \n \n \n \n \n Option Graphic \n \n \n \n \n \n \n \n \n \n
    \n );\n}\n\nFormDialog.propTypes = {\n item: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n updateItem: (params, token) =>\n dispatch(actions.updateItem({ params, token })),\n updateStrategy: (params, token) =>\n dispatch(actions.updateStrategy({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);","\nimport React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n Typography\n} from '@material-ui/core';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport CloseModal from '../CloseModal';\nimport RollModal from '../RollModal';\nimport RollHistoryModal from '../RollHistoryModal';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport { collectFormValues } from 'validate.js';\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport \"./styles.css\";\nimport { connect, ReactReduxContext } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport ReferenceModal from '../ReferenceModal';\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport GraphicModal from '../GraphicModal';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\",\n //fontWeight: \"bold\",\n //color: \"black\"\n },\n cell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n // color: \"black\"\n }\n};\n\nconst SubRow = props => {\n const { className, subOrder, order, ...rest } = props;\n\n const [open, setOpen] = useState(false);\n\n // const [reference, setReference] = useState(\"\");\n\n const onClickDelete = (item) => {\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"delete\") + \"?\",\n function () {\n props.removeItem(props.token, {\n option_id: item.id,\n strategy: item.strategy,\n symbol: item.symbol,\n id: props.user_id\n });\n },\n function () {\n\n });\n };\n\n const getPriceOption = (item) => {\n //let expiration = dateToYMD(moment(item.expire_at).zone(\"+00:00\").format('YYYY-MM-DD'));\n let expiration = moment(item.expire_at).zone(\"+00:00\").format('YYMMDD');\n let kind = item.option_kind === \"CALL\" ? \"C\" : \"P\";\n let strike = item.strike * 1000;\n let ticker = \"O:\" + item.symbol + expiration + kind + strike.toFixed(0).padStart(8, 0);\n let quote = (props.option[ticker] && props.option[ticker].c) || item.option_price;\n return quote && +quote.toFixed(2);\n }\n\n\n return (\n \n \n \n {\n subOrder.counter > 1 ? ( setOpen(!open)}\n >\n {open ? : }\n \n\n ) : ( )\n }\n \n \n \n {subOrder.open_at && moment(subOrder.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n {subOrder.counter > 1 ? subOrder.quantity : ((subOrder.market === \"SELL\" ? \"-\" : \"+\") + subOrder.quantity + (subOrder.option_kind === \"CALL\" ? \"C\" : \"P\"))}\n {subOrder.counter === 1 && subOrder.strike} \n {(subOrder.open_price).toFixed(2)} \n \n {(subOrder.open_trade).toFixed(2)}\n \n {subOrder.counter === 1 && (subOrder.market === \"SELL\" ? ((subOrder.strike - subOrder.open_price).toFixed(2)) : ((subOrder.strike + subOrder.open_price).toFixed(2)))}\n \n \n {subOrder.expire_at && moment(subOrder.expire_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n {subOrder.expire_at && (Math.trunc((new Date(subOrder.expire_at).getTime() - Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate(), 0, 0, 0)) / (1000 * 60 * 60 * 24)))}\n\n \n {subOrder.counter === 1 && (\n \n {getPriceOption(subOrder)}\n \n < AccessTimeIcon fontSize=\"small\"\n style={{\n \"position\": \"relative\",\n \"top\": \"5px\"\n }}\n />\n \n )\n }\n \n \n {\n subOrder.counter === 1 && getPriceOption(subOrder) > 0 && (\n subOrder.market === \"SELL\" ? (\n \n {((subOrder.open_price - getPriceOption(subOrder)) * subOrder.quantity * 100).toFixed(2)}\n \n ) : (\n \n {((subOrder.open_price + getPriceOption(subOrder)) * subOrder.quantity * 100).toFixed(2)}\n \n )\n )\n }\n \n \n {\n subOrder.counter === 1 && getPriceOption(subOrder) > 0 && (\n subOrder.market === \"SELL\" ? (\n \n {(((subOrder.open_price - getPriceOption(subOrder)) / Math.abs(subOrder.open_price)) * 100).toFixed(2)}{\"%\"}\n \n ) : (\n \n {(((subOrder.open_price + getPriceOption(subOrder)) / Math.abs(subOrder.open_price)) * 100).toFixed(2)}{\"%\"}\n \n )\n )\n }\n \n \n {\n order.expire_at ? (\n \n \n\n \n \n )\n :\n (\n \n \n \n {subOrder.reference}\n \n \n )\n }\n \n \n {\n subOrder.counter === 1 ? (\n subOrder.roll_accum && (\n \n )\n ) :\n (\n subOrder.roll_accum && (\n \n {subOrder.roll_accum}\n \n )\n )\n }\n \n \n\n \n \n {\" \"}\n \n {\" \"}\n { onClickDelete(subOrder) }}\n >\n \n \n\n \n\n \n \n
    \n {\n open && subOrder.sub_order.map((element, index) => (\n \n \n \n \n {((element.market === \"SELL\" ? \"-\" : \"+\") + element.quantity + (element.option_kind === \"CALL\" ? \"C\" : \"P\"))}\n {element.strike} \n {(element.open_price).toFixed(2)} \n \n {(element.open_trade).toFixed(2)}\n \n {(element.market === \"SELL\" ? ((element.strike - element.open_price).toFixed(2)) : ((element.strike + element.open_price).toFixed(2)))}\n \n \n {element.expire_at && moment(element.expire_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n {element.expire_at && (Math.trunc((new Date(element.expire_at).getTime() - Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate(), 0, 0, 0)) / (1000 * 60 * 60 * 24)))}\n\n \n {getPriceOption(element)}\n \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"relative\",\n \"top\": \"5px\"\n }} />\n \n \n \n {\n getPriceOption(element) > 0 && (\n element.market === \"SELL\" ? (\n \n {((element.open_price - getPriceOption(element)) * (element.quantity) * 100).toFixed(2)}\n \n ) : (\n \n {((element.open_price + getPriceOption(element)) * (element.quantity) * 100).toFixed(2)}\n \n )\n )\n }\n \n {\n getPriceOption(element) > 0 && (\n element.market === \"SELL\" ? (\n \n {(((element.open_price - getPriceOption(element)) / Math.abs(element.open_price)) * 100).toFixed(2)}{\"%\"}\n \n ) : (\n \n {(((element.open_price + getPriceOption(element)) / Math.abs(element.open_price)) * 100).toFixed(2)}{\"%\"}\n \n )\n )\n }\n \n \n\n \n \n {\n element.roll_accum && (\n \n )\n }\n \n \n \n {\" \"}\n \n {\" \"}\n { onClickDelete(element) }}\n >\n \n\n \n\n \n \n ))\n }\n
    \n
    \n )\n}\n\nSubRow.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n option: reducer.event.option\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n removeItem: (token, params) =>\n dispatch(actions.removeItem({ token, params })),\n updateReference: (token, params) =>\n dispatch(actions.updateReference({ token, params })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SubRow);\n\n/**\n \n \n */","\nimport React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n Typography\n} from '@material-ui/core';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport CloseModal from '../CloseModal';\nimport RollModal from '../RollModal';\nimport RollHistoryModal from '../RollHistoryModal';\nimport SubRow from '../SubRow';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport { collectFormValues } from 'validate.js';\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport \"./styles.css\";\nimport { connect, ReactReduxContext } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport ReferenceModal from '../ReferenceModal';\nimport GraphicModal from '../GraphicModal';\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { makeStyles } from '@material-ui/styles';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport moment from \"moment-timezone\";\n//import moment from 'moment';\nconst stylesLocal = {\n subcell: {\n padding: \"5px\",\n //fontWeight: \"bold\",\n //color: \"black\"\n },\n cell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n // color: \"black\"\n }\n};\n\nconst useStyles = makeStyles(theme => ({\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n\n}));\n\nconst Row = props => {\n const { className, order, ...rest } = props;\n\n const [open, setOpen] = useState(false);\n\n const classes = useStyles();\n\n // const [openModalReference, setOpenModalReference] = useState(false);\n\n // const [reference, setReference] = useState(\"\");\n\n const onClickDelete = (item) => {\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"delete\") + \"?\",\n function () {\n props.removeItem(props.token, {\n option_id: item.id,\n strategy: item.strategy,\n symbol: item.symbol,\n id: props.user_id\n });\n },\n function () {\n\n });\n };\n\n const getPriceStock = (item) => {\n let quote = (props.stock[item.symbol] && props.stock[item.symbol].c) || item.price;\n return quote && quote.toFixed(2);\n }\n\n //MSFT211203C00225000\" -> Ticker + Expiration Year (YY) + month(MM) + day(DD) + C =Calls and P = Puts + strike price * 1000 * digitis\n\n\n const getPriceOption = (item) => {\n //let expiration = dateToYMD(moment(item.expire_at).zone(\"+00:00\").format('YYYY-MM-DD'));\n let expiration = moment(item.expire_at).zone(\"+00:00\").format('YYMMDD');\n let kind = item.option_kind === \"CALL\" ? \"C\" : \"P\";\n let strike = item.strike * 1000;\n\n let ticker = \"O:\" + item.symbol + expiration + kind + strike.toFixed(0).padStart(8, 0);\n //console.log(ticker);\n let quote = (props.option[ticker] && props.option[ticker].c) || item.option_price;\n return quote && +quote.toFixed(2);\n }\n\n const getPriceStrategy = (rows) => {\n var priceTotal = 0;\n // var count = 0;\n rows.forEach(item => {\n if (item.counter === 1) {\n priceTotal = priceTotal + (item.market === \"SELL\" ? - getPriceOption(item) : getPriceOption(item));// Math.abs()\n // count++;\n }\n // else {\n // item.sub_order.map(item_ => {\n // if (item_.counter === 1) {\n // cap = cap + item_.open_trade;//Math.abs();\n // count++;\n // }\n // else {\n // item_.sub_order.map(item__ => {\n // cap = cap + item__.open_trade;\n // count++;\n // });\n // }\n // });\n // }\n });\n return priceTotal && +priceTotal.toFixed(2);\n }\n /*\n const handleSave = (item) => {\n setOpenModalReference(false);\n props.updateReference(props.token,\n {\n option_id: item.id,\n reference: reference,\n symbol: item.symbol,\n id: props.user_id,\n });\n setReference(\"\");\n };\n \n const handleChange = (event) => {\n setReference(event.target.value);\n };\n */\n //moment.tz(order.open_at, \"America/New_York\").format('DD/MM/YYYY') \n return (\n \n \n \n {\n order.counter > 1 ? ( setOpen(!open)}\n >\n {order.counter} {open ? : }\n \n\n ) : ( )\n }\n \n {\" \"}{order.symbol.toUpperCase()}\n {\n order.dividend === \"1\" && ()\n }\n \n \n\n {getPriceStock(order)}{\" \"}\n \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"absolute\",\n }} />\n \n \n\n \n {order.open_at && moment(order.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n\n {(order.counter > 1 ? order.quantity : ((order.market === \"SELL\" ? \"-\" : \"+\") + order.quantity + (order.option_kind === \"CALL\" ? \"C\" : \"P\")))}\n\n {order.strike} \n\n {(order.open_price).toFixed(2)}\n\n {(order.open_trade).toFixed(2)}\n\n {order.market && (order.market === \"SELL\" ? ((order.strike - order.open_price).toFixed(2)) : ((order.strike + order.open_price).toFixed(2)))}\n \n\n \n {order.expire_at && moment(order.expire_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n\n \n {order.expire_at && (moment.tz(order.expire_at, \"America/New_York\").diff(moment().tz(\"America/New_York\"), 'days') + 1)}{\"d\"}\n \n\n \n {order.counter === 1 ? (\n \n {getPriceOption(order)}\n \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"relative\",\n \"top\": \"5px\"\n }} />\n \n ) :\n (\n {getPriceStrategy(order.sub_order)}\n \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"relative\",\n \"top\": \"5px\"\n }} />\n \n )\n }\n \n \n {\n\n order.counter === 1 && getPriceOption(order) > 0 ? (\n order.market === \"SELL\" ? (\n \n {((order.open_price - getPriceOption(order)) * (order.quantity) * 100).toFixed(2)}\n \n ) : (\n \n {((order.open_price + getPriceOption(order)) * (order.quantity) * 100).toFixed(2)}\n \n )\n ) : (\n getPriceStrategy(order.sub_order) !== 0 && (\n \n {((order.open_price + getPriceStrategy(order.sub_order)) * (order.quantity) * 100).toFixed(2)}\n \n ))\n }\n \n \n {\n\n order.counter === 1 && getPriceOption(order) > 0 ? (\n order.market === \"SELL\" ? (\n \n {(((order.open_price - getPriceOption(order)) / Math.abs(order.open_price)) * 100).toFixed(2)}{\"%\"}\n \n ) : (\n \n {(((order.open_price + getPriceOption(order)) / Math.abs(order.open_price)) * 100).toFixed(2)}{\"%\"}\n \n )\n ) : (\n getPriceStrategy(order.sub_order) !== 0 && (\n \n {(((order.open_price + getPriceStrategy(order.sub_order)) / Math.abs(order.open_price)) * 100).toFixed(2)}{\"%\"}\n \n )\n )\n\n }\n \n\n {order.reference ? (\n \n \n \n {order.reference}{\" \"}\n \n \n )\n :\n (\n \n \n {order.reference}{\" \"}\n \n \n )\n }\n\n \n {\n (order.counter === 1 || order.reference) && order.roll_accum && (\n \n )\n }\n \n \n {\n (order.counter === 1 || order.reference) && (\n \n \n {\" \"}\n \n {\" \"}\n { onClickDelete(order) }}\n >\n \n \n\n \n )\n }\n \n \n
    \n {open && order.sub_order.map((subOrder, index) => (\n \n ))}\n
    \n
    \n )\n}\n\nRow.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n stock: reducer.event.stock,\n option: reducer.event.option\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n removeItem: (token, params) =>\n dispatch(actions.removeItem({ token, params })),\n updateReference: (token, params) =>\n dispatch(actions.updateReference({ token, params })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Row);\n/**\n * {order.open_at && moment(order.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n * {order.expire_at && moment(order.expire_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n * {order.expire_at && (Math.trunc((new Date(order.expire_at).getTime() - Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate(), 0, 0, 0)) / (1000 * 60 * 60 * 24)))}{\"-\"}\n * \n * \n * \n * \n \n {\" \"}\n \n {\" \"}\n { onClickDelete(subOrder) }}\n >\n \n \n \n * \n * \n * \n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(order) }}\n handleChange={handleChange}\n name={reference}\n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(subOrder) }}\n handleChange={handleChange}\n name={reference}\n * { onClickEdit(subOrder) }}\n >\n \n \n * { onClickEdit(order) }}\n >\n \n \n * {\" \"}\n { onClickEdit(order) }}\n >\n \n \n {\" \"}\n { onClickEdit(order) }}\n >\n \n \n\n\n {\n order.roll_accum < 0 ?\n\n \n {order.roll_accum}\n :\n \n {order.roll_accum}\n \n }\n \n\n {\n subOrder.roll_accum < 0 ?\n\n\n \n {subOrder.roll_accum}\n :\n \n {subOrder.roll_accum}\n \n }\n \n */","import React, { useState, useEffect } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport {\n Divider,\n Grid,\n IconButton\n} from '@material-ui/core';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport validate from 'validate.js';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\n\nconst schema = {\n symbol: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 300\n }\n },\n /* market: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },\n option_kind: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },*/\n}\n\nfunction dateToYMD(date) {\n var d = date.getDate();\n var m = date.getMonth() + 1; //Month from 0 to 11\n var y = date.getFullYear();\n return '' + y + '-' + (m <= 9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);\n}\n\nconst FormDialog = (props) => {\n\n const [open, setOpen] = React.useState(false);\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n symbol: \"\",\n name: \"\",\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n reference: \"\",\n share: false,\n quantity: 1,\n expire_at: new Date().toISOString().split('T')[0],\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"\",\n option_kind: \"\",\n expire_at: new Date().toISOString().split('T')[0],\n quantity: 1,\n }\n ]\n },\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [dialogState.values]);\n\n const handleClickOpen = () => {\n setOpen(true);\n setDialogState({\n isValid: false,\n values: {\n symbol: \"\",\n name: \"\",\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n reference: \"\",\n share: false,\n quantity: 1,\n expire_at: new Date().toISOString().split('T')[0],\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"\",\n option_kind: \"\",\n expire_at: new Date().toISOString().split('T')[0],\n quantity: 1,\n }\n ]\n },\n touched: {},\n errors: {}\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n props.newStrategy(dialogState.values, props.token);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n props.newStrategy({ ...dialogState.values, share: true }, props.token);\n setOpen(false);\n };\n\n const handleChange = (event) => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleChangeSymbol = (event) => {\n event.persist();\n if (event.target.value.trim() !== dialogState.values.symbol) {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value.trim(),\n name: \"\"\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n } else props.resetList();\n };\n\n const handleChangeLeg = (i, e) => {\n let leg = dialogState.values.leg;\n if (i === 0 && e.target.name === \"expire_at\") {\n for (let i = 0; i < leg.length; i++) {\n leg[i][e.target.name] = e.target.value;\n }\n } else\n leg[i][e.target.name] = e.target.value;\n\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: leg\n },\n }));\n };\n\n const handleChangeStrategy = (event) => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n },\n }));\n\n addLegStrategy(event.target.value);\n }\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name\n },\n }));\n props.resetList();\n };\n\n /*const getLeg = (strategy) => {\n let leg = 0;\n option_strategy.forEach(element => {\n if (element.value === strategy)\n leg = element.leg;\n });\n return leg;\n }*/\n\n const addLegStrategy = (strategy) => {\n\n switch (strategy) {\n case \"Calendar\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"Diagonal\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"Straddle\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"IronCondor\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"IronButterfly\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n\n ],\n },\n }));\n break;\n\n case \"CallCreditSpread\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"PutCreditSpread\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"CallDebitSpread\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"CALL\",\n expire_at: dialogState.values.expire_at,\n quantity: dialogState.values.quantity,\n }\n ],\n },\n }));\n break;\n\n case \"PutDebitSpread\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n {\n open_price: 0.01,\n strike: 1,\n market: \"SELL\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: \"1\",\n },\n {\n open_price: 0.01,\n strike: 1,\n market: \"BUY\",\n option_kind: \"PUT\",\n expire_at: dialogState.values.expire_at,\n quantity: \"1\",\n }\n ],\n },\n }));\n break;\n\n default: break;\n }\n }\n\n const handleAdd = (event) => {\n if (dialogState.values.leg.length < 4)\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: [\n ...dialogState.values.leg,\n {\n quantity: 1,\n open_price: 0.01,\n strike: 1,\n market: \"\",\n option_kind: \"\",\n expire_at: new Date().toISOString().split('T')[0],\n }\n ],\n },\n }));\n };\n\n const handleRemove = (i) => {\n let leg = dialogState.values.leg;\n leg.splice(i, 1);\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n leg: leg,\n },\n }));\n }\n const option_kind = [\n {\n value: \"CALL\",\n label: \"Call\",\n },\n {\n value: \"PUT\",\n label: \"Put\",\n },\n ];\n\n const option_market = [\n {\n value: \"SELL\",\n label: \"STO\",\n },\n {\n value: \"BUY\",\n label: \"BTO\",\n },\n ];\n\n const option_strategy =\n [\n {\n value: \"Calendar\",//hay Put y Call\n label: \"Calendar\",\n leg: 2\n },\n {\n value: \"Diagonal\",\n label: \"Diagonal\",\n leg: 2\n },\n {\n value: \"Straddle\",\n label: \"Straddle\",\n leg: 2\n },\n {\n value: \"Strangle\",//hay call y put\n label: \"Strangle\",\n leg: 2\n },\n {\n value: \"IronCondor\",\n label: \"IronCondor\",\n leg: 4\n },\n {\n value: \"IronButterfly\",\n label: \"IronButterfly\",\n leg: 4\n },\n\n {\n value: \"CallCreditSpread\",\n label: \"CallCreditSpread\",\n leg: 2\n },\n {\n value: \"PutCreditSpread\",\n label: \"PutCreditSpread\",\n leg: 2\n },\n {\n value: \"CallDebitSpread\",\n label: \"CallDebitSpread\",\n leg: 2\n },\n {\n value: \"PutDebitSpread\",\n label: \"PutDebitSpread\",\n leg: 2\n },\n {\n value: \"Another\",\n label: \"Another\",\n leg: 1\n },\n ];\n\n const hasError = field =>\n dialogState.touched[field] && dialogState.errors[field] ? true : false;\n\n return (\n
    \n \n \n Option Strategy Entry\n \n \n Enter Data Option Strategy\n \n\n \n {\n dialogState.values.symbol.length > 0 && props.list.length > 0 && (< ListStockSelect list={props.list} onClickSelected={onClickSelected} />)\n }\n \n\n \n \n {option_strategy.map((option) => (\n \n ))}\n \n\n
    \n {\n dialogState.values.leg.map((element, index) => (\n
    \n\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={element.market || \"\"}\n >\n \n {option_market.map((option) => (\n \n ))}\n \n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={element.option_kind || \"\"}\n >\n \n {option_kind.map((option) => (\n \n ))}\n \n {\" \"}\n handleChangeLeg(index, e)}\n variant=\"standard\"\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n InputProps={{\n startAdornment: $,\n }}\n />\n {\" \"}\n handleChangeLeg(index, e)}\n // fullWidth\n sx={{ m: 1, width: '10ch' }}\n variant=\"standard\"\n InputProps={{\n startAdornment: $,\n }}\n />\n {\" \"}\n handleRemove(index)} style={{\n }}>\n \n
    \n ))\n }\n
    \n \n
    \n \n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: {},\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newStrategy: (params, token) =>\n dispatch(actions.newStrategy({ params, token })),\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n\n\n/**\n *
    \n
    \n *
    \n \n {\" \"}\n \n
    \n */","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport MiniLoader from \"components/MiniLoader\";\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel\n} from '@material-ui/core';\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport { CSVLink, CSVDownload } from \"react-csv\";\nimport { EntryModal, Row, EntryStrategyModal } from './components';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n padding: 0\n },\n inner: {\n minWidth: 800\n },\n statusContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n status: {\n marginRight: theme.spacing(1)\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}));\n\nconst statusColors = {\n delivered: 'success',\n pending: 'info',\n refunded: 'danger'\n};\nfunction getCountContracts(rows) {\n var cap = 0;\n var count = 0;\n rows.forEach(item => {\n if (item.counter === 1) {\n cap = cap + item.open_trade;// Math.abs()\n count++;\n }\n else {\n item.sub_order.map(item_ => {\n if (item_.counter === 1) {\n cap = cap + item_.open_trade;//Math.abs();\n count++;\n }\n else {\n item_.sub_order.map(item__ => {\n cap = cap + item__.open_trade;\n count++;\n });\n }\n });\n }\n });\n\n return \"Contract \" + count + \" = $\" + cap.toFixed(2) + \" USD\";\n}\n\n\n\nconst OptionOrders = props => {\n const { className, list, ...rest } = props;\n\n const classes = useStyles();\n\n //const [list, setList] = useState(props.list);\n\n useEffect(() => {\n if (props.list.length === 0)\n props.loadList(props.user_id, props.token);\n }, []);\n\n const headers = [\n { label: \"Symbol\", key: \"symbol\" },\n { label: \"Open Date\", key: \"open_at\" },\n { label: \"Qtt\", key: \"quantity\" },\n { label: \"Stk\", key: \"strike\" },\n { label: \"Open Prc\", key: \"open_price\" },\n { label: \"Open Trd\", key: \"open_trade\" },\n { label: \"BE\", key: \"\" },\n { label: \"Exp\", key: \"expire_at\" },\n { label: \"DTE\", key: \"\" },\n { label: \"Ext\", key: \"\" },\n { label: \"NetLiq\", key: \"\" },\n { label: \"P/L\", key: \"\" },\n { label: \"P/L%\", key: \"\" },\n { label: \"Reference\", key: \"reference\" },\n ];\n\n const dataCsv = () => {\n let data = [];\n /* props.list.forEach(element => {\n var item = {};\n if (element.counter === 1)\n headers.forEach(ref => {\n item = {\n ...item,\n [ref.key]: element[ref.key]\n };\n });\n else\n element.sub_order.forEach(subElement => {\n headers.forEach(ref => {\n item = {\n ...item,\n [ref.key]: subElement[ref.key]\n };\n });\n });\n \n data = data.concat(item);\n });*/\n return data;\n }\n\n return (\n \n \n {\" \"}\n \n \n }\n title={getCountContracts(props.list)}\n />\n \n \n \n
    \n \n \n \n \n \n \n Symbol\n \n \n Last\n Open Date\n \n Qtt\n \n Stk\n Open Prc\n Open Trd\n BE\n Exp\n DTE\n NetLiq\n P/L\n P/L%\n Reference\n RollAccum\n Action\n \n \n \n {props.list.map((order, index) => (\n \n ))}\n \n
    \n
    \n
    \n
    \n \n {\n props.loading ? (\n \n \n \n ) : \n CSV\n \n \n }\n \n );\n};\n\nOptionOrders.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.optionOrder.list,\n error: reducer.optionOrder.error,\n loading: reducer.optionOrder.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (user_id, token) =>\n dispatch(actions.loadList({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(OptionOrders);\n/**\n * \n Download PDF \n \n * { onClickDelete(item) }}\n >\n {\"R\"}\n \n {\" \"}\n *
    \n \n {order.status}\n
    \n \n Option entry\n \n\n\n \n\n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n OPTIONTRADE_LIST_ATTEMPT,\n OPTIONTRADE_LIST_SUCCESS,\n OPTIONTRADE_LIST_FAILED,\n ////////////////////\n\n} from \"../types/optionTradeTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: OPTIONTRADE_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: OPTIONTRADE_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: OPTIONTRADE_LIST_FAILED,\n error: error\n };\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"optiontrade/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};","export const OPTIONTRADE_LIST_ATTEMPT = \"OPTIONTRADE_LIST_ATTEMPT\";\nexport const OPTIONTRADE_LIST_SUCCESS = \"OPTIONTRADE_LIST_SUCCESS\";\nexport const OPTIONTRADE_LIST_FAILED = \"OPTIONTRADE_LIST_FAILED\";\n\n","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockOrderActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_dashboard from \"redux/actions/dashboardActions\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\n\nconst schema = {\n symbol: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 300\n }\n },\n}\n\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setDialogState({\n isValid: false,\n values: {\n symbol: props.symbol,\n name: props.name,\n quantity: 1,\n open_price: props.price,\n market: props.kind,\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n },\n touched: {},\n errors: {}\n });\n\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = (event) => {\n // event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n return;\n }\n props.newItem(dialogState.values, props.token);\n props.loadListIndicator(props.user_id, props.token);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n if (dialogState.values.symbol === \"\") {\n return;\n }\n props.newItem({ ...dialogState.values, share: true }, props.token);\n props.loadListIndicator(props.user_id, props.token);\n setOpen(false);\n };\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n symbol: props.symbol,\n name: props.name,\n quantity: 1,\n open_price: props.price,\n market: props.kind,\n open_at: new Date().toISOString().split('T')[0],\n id: props.user_id,\n },\n touched: {},\n errors: {}\n });\n\n\n\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {},\n symbol: props.symbol,\n name: props.name,\n open_price: props.price,\n market: props.kind,\n }));\n }, [dialogState.values]);\n\n\n\n const handleChange = event => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const option_market = [\n {\n value: \"BUY\",\n label: \"Buy\",\n },\n {\n value: \"SELL\",\n label: \"Sell\",\n },\n ];\n\n const hasError = field =>\n dialogState.touched[field] && dialogState.errors[field] ? true : false;\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name\n },\n }));\n props.resetList();\n };\n\n return (\n
    \n \n \n Stock Entry\n \n \n Enter Data Stock\n \n\n \n \n
    \n \n {\" \"}\n $,\n }}\n />\n {\" \"}\n \n \n {option_market.map((option) => (\n \n ))}\n \n \n
    \n \n {\" $ \"}{(dialogState.values.quantity * dialogState.values.open_price).toFixed(2)}{\" USD\"}\n \n
    \n \n \n \n \n \n
    \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n /////////////////////////////\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n ////////////////////////////////\n loadListIndicator: (user_id, token) =>\n dispatch(actions_dashboard.loadListIndicator({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_event from \"redux/actions/eventActions\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InputDate from 'components/InputDate';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport { Tooltip } from '@material-ui/core';\n\nconst schema = {\n symbol: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 300\n }\n },\n market: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },\n option_kind: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 50\n }\n },\n}\n\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setDialogState({\n isValid: false,\n values: {\n quantity: 1,\n open_price: props.price,\n strike: props.strike_price,\n open_at: new Date().toISOString().split('T')[0],\n expire_at: props.expire_at || new Date().toISOString().split('T')[0],\n id: props.user_id,\n share: false,\n name: props.name,\n symbol: props.symbol,\n reference: \"\",\n option_kind: props.option_kind,\n market: props.market\n },\n touched: {},\n errors: {}\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = (event) => {\n event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n\n return;\n }\n props.newItem(dialogState.values, props.token);\n props.suscribeOption(dialogState.values);\n setOpen(false);\n };\n\n const handleSaveShare = (event) => {\n event.preventDefault();\n if (dialogState.values.symbol === \"\") {\n\n return;\n }\n props.newItem({ ...dialogState.values, share: true }, props.token);\n props.suscribeOption(dialogState.values);\n setOpen(false);\n };\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n quantity: 1,\n open_price: props.price,\n strike: props.strike_price,\n open_at: new Date().toISOString().split('T')[0],\n expire_at: props.expire_at || new Date().toISOString().split('T')[0],\n id: props.user_id,\n share: false,\n name: props.name,\n symbol: props.symbol,\n reference: \"\",\n option_kind: props.option_kind,\n market: props.market\n },\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [dialogState.values]);\n\n const handleChange = event => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleChangeSymbol = (event) => {\n event.persist();\n if (event.target.value.trim() !== dialogState.values.symbol) {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value.trim(),\n name: \"\"\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n }\n else props.resetList();\n };\n\n const option_kind = [\n {\n value: \"CALL\",\n label: \"Call\",\n },\n {\n value: \"PUT\",\n label: \"Put\",\n },\n ];\n\n const option_market = [\n {\n value: \"SELL\",\n label: \"STO\",\n },\n {\n value: \"BUY\",\n label: \"BTO\",\n },\n ];\n\n const hasError = field =>\n dialogState.touched[field] && dialogState.errors[field] ? true : false;\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name\n },\n }));\n props.resetList();\n };\n\n const handleChangeStrategy = (event) => {\n event.persist();\n\n switch (event.target.value) {\n case \"CoveredCall\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"CALL\"\n },\n }));\n break;\n\n case \"CoveredPut\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"PUT\"\n },\n }));\n break;\n\n case \"NakedCall\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"CALL\"\n },\n }));\n break;\n\n case \"NakedPut\":\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n market: \"SELL\",\n option_kind: \"PUT\"\n },\n }));\n break;\n default: {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value,\n },\n }));\n } break;\n };\n }\n\n const option_strategy =\n [\n {\n value: \"CoveredCall\",\n label: \"CoveredCall\",\n },\n {\n value: \"CoveredPut\",\n label: \"CoveredPut\",\n },\n {\n value: \"NakedCall\",\n label: \"NakedCall\",\n },\n {\n value: \"NakedPut\",\n label: \"NakedPut\",\n },\n {\n value: \"Another\",\n label: \"Another\",\n },\n ];\n\n return (\n
    \n \n \n Option Entry\n \n \n Enter Data Option\n \n\n \n {\n dialogState.values.symbol.length > 0 && props.list.length > 0 && (< ListStockSelect list={props.list} onClickSelected={onClickSelected} />)\n }\n \n \n \n {option_strategy.map((option) => (\n \n ))}\n \n
    \n \n\n \n \n {option_market.map((option) => (\n \n ))}\n \n\n \n \n {option_kind.map((option) => (\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\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n /////////\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n ///////////////\n suscribeOption: (data) =>\n dispatch(actions_event.suscribeOption(data)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","\nimport React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n Typography\n} from '@material-ui/core';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport { collectFormValues } from 'validate.js';\nimport \"./styles.css\";\nimport { connect, ReactReduxContext } from \"react-redux\";\nimport * as actions from \"redux/actions/optionTradeActions\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport { EntryModalOption } from '../../components';\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\",\n //fontWeight: \"bold\",\n //color: \"black\"\n },\n cell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n // color: \"black\"\n }\n};\n\nconst SubRow = props => {\n const { className, subItem, name, ...rest } = props;\n\n const [open, setOpen] = useState(false);\n\n\n return (\n \n \n \n {subItem.call.open_interest}\n \n \n {subItem.call.delta}\n \n \n {subItem.call.volume}\n \n \n {\n subItem.call.bid && (\n \n )\n }\n \n \n {\n subItem.call.ask && (\n \n )\n }\n \n \n {subItem.strike_price.toFixed(2)}\n \n \n {\n subItem.put.bid && (\n \n )\n }\n\n \n \n {\n subItem.put.ask && (\n \n )\n }\n\n \n\n \n {subItem.put.volume}\n \n\n \n {subItem.put.delta}\n \n \n {subItem.put.open_interest}\n \n\n \n\n \n )\n}\n\nSubRow.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n //option: reducer.event.option,\n\n listOption: reducer.optionTrade.list,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SubRow);\n\n/**\n \n \n */","\nimport React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n Typography\n} from '@material-ui/core';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport SubRow from '../SubRow';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport { collectFormValues } from 'validate.js';\nimport Delete from \"@material-ui/icons/Delete\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport \"./styles.css\";\nimport { connect, ReactReduxContext } from \"react-redux\";\nimport * as actions from \"redux/actions/optionOrderActions\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { makeStyles } from '@material-ui/styles';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport moment from \"moment-timezone\";\n//import moment from 'moment';\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\",\n //fontWeight: \"bold\",\n //color: \"black\"\n },\n cell: {\n padding: \"5px\",\n // fontWeight: \"bold\",\n // color: \"black\"\n }\n};\n\nconst useStyles = makeStyles(theme => ({\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n\n}));\n\nconst Row = props => {\n const { className, item, price, ...rest } = props;\n\n const [open, setOpen] = useState(false);\n const [strike_prev, setStrikePrev] = useState(0);\n\n const classes = useStyles();\n\n const setStrike = (value) => {\n\n setStrikePrev(value);\n\n return true;\n };\n console.log(strike_prev);\n\n return (\n\n \n \n \n {\n setOpen(!open)}\n >\n {open ? : }\n \n }\n {props.item.expiration_date}\n\n \n \n\n\n\n \n\n \n {\"Call\"}\n \n\n { }\n\n \n\n \n {moment.tz(props.item.expiration_date, \"America/New_York\").diff(moment().tz(\"America/New_York\"), \"days\") + 1}{\"d\"}\n \n\n \n\n \n\n \n\n {\"Put\"}\n\n \n\n\n\n \n \n\n \n\n\n \n {\n
    \n {\n props.item.strike_list.map((subItem, index) => (\n\n\n \n\n\n\n \n\n \n\n ))\n }\n
    }\n
    \n )\n}\n\nRow.propTypes = {\n className: PropTypes.string\n};\n\n/**\n * \n * {\n price >= strike_prev && setStrike(subItem.strike_price) && price <= subItem.strike_price && ()\n\n }\n \n { {\n setStrikePrev(subItem.strike_price)\n }} reducer \n=\n */\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n stock: reducer.event.stock,\n option: reducer.event.option,\n\n listOption: reducer.optionTrade.list,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Row);\n/**\n * \n < AccessTimeIcon fontSize=\"small\" style={{\n \"position\": \"absolute\",\n }} />\n \n * {order.open_at && moment(order.open_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n * {open && order.sub_order.map((subOrder, index) => (\n \n ))}\n * \n * \n * \n * \n \n {\" \"}\n \n {\" \"}\n { onClickDelete(subOrder) }}\n >\n \n \n \n * \n * \n * \n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(order) }}\n handleChange={handleChange}\n name={reference}\n * open={openModalReference}\n handleClose={handleClose}\n handleSave={() => { handleSave(subOrder) }}\n handleChange={handleChange}\n name={reference}\n * { onClickEdit(subOrder) }}\n >\n \n \n * { onClickEdit(order) }}\n >\n \n \n * {\" \"}\n { onClickEdit(order) }}\n >\n \n \n {\" \"}\n { onClickEdit(order) }}\n >\n \n \n\n\n {\n order.roll_accum < 0 ?\n\n \n {order.roll_accum}\n :\n \n {order.roll_accum}\n \n }\n \n\n {\n subOrder.roll_accum < 0 ?\n\n\n \n {subOrder.roll_accum}\n :\n \n {subOrder.roll_accum}\n \n }\n \n */","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TextField,\n Typography,\n\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n} from '@material-ui/core';\nimport { CSVLink, CSVDownload } from \"react-csv\";\n//import ArrowRightIcon from '@material-ui/icons/ArrowRight';\n//import { EntryModal, Row } from './components';\n//import PlusIcon from '@material-ui/icons/Add';\nimport { connect } from \"react-redux\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_option from \"redux/actions/optionTradeActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport ListStockSelect from 'components/ListStockSelect';\nimport { EntryModalStock, Row, SubRow } from './components';\nimport MiniLoader from \"components/MiniLoader\";\nimport { SpaceBar } from '@mui/icons-material';\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n padding: 0\n },\n inner: {\n minWidth: 800\n },\n statusContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n status: {\n marginRight: theme.spacing(1)\n },\n actions: {\n justifyContent: 'flex-end'\n },\n toolbar: {\n display: 'flex',\n alignItems: 'baseline'\n },\n button: {\n paddingInline: \"10px\",\n color: \"gray\"\n },\n label: {\n borderStyle: \"groove\",\n padding: \"7px\",\n borderRadius: \"5px\",\n marginInline: \"5px\"\n }\n\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"8px\"\n }\n};\n\n\n\n\nconst Trade = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [list, setList] = useState(props.list);\n //const [cap, setCap] = useState(0.0);\n const headers = [\n { label: \"Opn Int\", key: \"opn_int\" },\n { label: \"Delta\", key: \"delta\" },\n { label: \"Volm\", key: \"volm\" },\n { label: \"Bid\", key: \"bid\" },\n { label: \"Ask\", key: \"ask\" },\n { label: \"Strike\", key: \"strike\" },\n { label: \"Bid\", key: \"bid\" },\n { label: \"Ask\", key: \"ask\" },\n { label: \"Volm\", key: \"volm\" },\n { label: \"Delta\", key: \"delta\" },\n { label: \"Opn Int\", key: \"opn_int\" },\n ];\n\n const dataCsv = () => {\n let data = [];\n props.list.forEach(element => {\n let item = {};\n headers.forEach(ref => {\n item = {\n ...item,\n [ref.key]: element[ref.key]\n };\n });\n data = data.concat(item);\n });\n return data;\n }\n\n useEffect(() => {\n setDialogState(\n {\n isValid: false,\n values: {\n name: \"fuboTV Inc.\",\n symbol: \"FUBO\",\n bid: getPriceStockBid({ symbol: \"FUBO\", price: 0 }),\n ask: getPriceStockAsk({ symbol: \"FUBO\", price: 0 }),\n id: props.user_id,\n rows: 6\n },\n touched: {},\n errors: {}\n }\n );\n props.loadList({\n id: props.user_id,\n symbol: dialogState.values.symbol,\n rows: dialogState.values.rows\n }, props.token);\n }, []);//list\n\n const [dialogState, setDialogState] = useState({\n isValid: false,\n values: {\n //quantity: 1,\n //open_price: 0.01,\n //strike: 1,\n // open_at: new Date().toISOString().split('T')[0],\n // expire_at: new Date().toISOString().split('T')[0],\n //share: false,\n\n name: \"fuboTV Inc.\",\n symbol: \"FUBO\",\n bid: 0,\n ask: 0,\n id: props.user_id,\n rows: 6\n },\n touched: {},\n errors: {}\n });\n\n const onClickSelected = (item) => {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n symbol: item.symbol,\n name: item.name,\n bid: getPriceStockBid(item),\n ask: getPriceStockAsk(item)\n },\n }));\n props.resetList();\n props.loadList({\n id: props.user_id,\n symbol: dialogState.values.symbol,\n rows: dialogState.values.rows\n }, props.token);\n };\n\n const handleChangeSymbol = (event) => {\n event.persist();\n if (event.target.value.trim() !== dialogState.values.symbol) {\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value.trim(),\n name: \"\"\n },\n touched: {\n ...dialogState.touched,\n [event.target.name]: true\n }\n }));\n props.searchList({ id: props.user_id, search: event.target.value }, props.token);\n }\n else props.resetList();\n };\n\n const getPriceStockBid = (item) => {\n let quote = (props.stock[item.symbol] && props.stock[item.symbol].o) || item.price || 0.00;\n return quote && quote.toFixed(2);\n }\n const getPriceStockAsk = (item) => {\n let quote = (props.stock[item.symbol] && props.stock[item.symbol].c) || item.price || 0.00;\n return quote && quote.toFixed(2);\n }\n\n const option_row = [\n {\n value: 0,\n label: 6,\n }, {\n value: 1,\n label: 8,\n },\n {\n value: 2,\n label: 10,\n },\n {\n value: 3,\n label: 12,\n }\n ];\n return (\n \n \n \n
    \n \n Ticker\n \n \n \n \n \n \n\n \n \n \n {option_row.map((option) => (\n \n ))}\n \n
    \n {\n dialogState.values.symbol.length > 0 && props.list.length > 0 && (< ListStockSelect list={props.list} onClickSelected={onClickSelected} />)\n }\n\n \n \n \n
    \n \n \n \n Opn Int\n Delta\n Volm\n Bid\n Ask\n Strike\n Bid\n Ask\n Volm\n Delta\n Opn Int\n \n \n \n\n {\n props.listOption.map((item, index) => (\n \n ))\n }\n \n
    \n
    \n
    \n
    \n \n {\n props.loadingOption && (\n \n \n \n )\n }\n \n );\n};\n\nTrade.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.stock.list,\n error: reducer.stock.error,\n loading: reducer.stock.loading,\n\n stock: reducer.event.stock,\n\n listOption: reducer.optionTrade.list,\n errorOption: reducer.optionTrade.error,\n loadingOption: reducer.optionTrade.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions_option.loadList({ params, token })),\n /////////\n searchList: (params, token) =>\n dispatch(actions_stock.searchList({ params, token })),\n resetList: () =>\n dispatch(actions_stock.resetList({})),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Trade);\n/**\n * \n\n action={\n\n }\n\n */\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n SUMSYMBOL_LIST_ATTEMPT,\n SUMSYMBOL_LIST_SUCCESS,\n SUMSYMBOL_LIST_FAILED,\n ////////////////////\n LATESROI_LIST_ATTEMPT,\n LATESROI_LIST_SUCCESS,\n LATESROI_LIST_FAILED,\n //////////////////////\n LATESTRADE_LIST_ATTEMPT,\n LATESTRADE_LIST_SUCCESS,\n LATESTRADE_LIST_FAILED,\n //////////////////////\n SUMSTRATEGY_LIST_ATTEMPT,\n SUMSTRATEGY_LIST_SUCCESS,\n SUMSTRATEGY_LIST_FAILED,\n} from \"../types/reportTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: SUMSYMBOL_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: SUMSYMBOL_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: SUMSYMBOL_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\nexport function loadingLatesRoi() {\n return {\n type: LATESROI_LIST_ATTEMPT\n };\n}\nexport function successLatesRoi(data) {\n return {\n type: LATESROI_LIST_SUCCESS,\n data: data\n };\n}\nexport function failedLatesRoi(error) {\n return {\n type: LATESROI_LIST_FAILED,\n error: error\n };\n}\n////////////////////////////////////////////\nexport function loadingLatesTrade() {\n return {\n type: LATESTRADE_LIST_ATTEMPT\n };\n}\nexport function successLatesTrade(data) {\n return {\n type: LATESTRADE_LIST_SUCCESS,\n data: data\n };\n}\nexport function failedLatesTrade(error) {\n return {\n type: LATESTRADE_LIST_FAILED,\n error: error\n };\n}\n////////////////////\nexport function loadingStrategy() {\n return {\n type: SUMSTRATEGY_LIST_ATTEMPT\n };\n}\n\nexport function successStrategy(data) {\n return {\n type: SUMSTRATEGY_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedStrategy(error) {\n return {\n type: SUMSTRATEGY_LIST_FAILED,\n error: error\n };\n}\n\n\n////////////////////////\n\nexport const loadListSymbol = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"report/summarystock\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListLatesRoi = (data: Object) => async dispatch => {\n dispatch(loadingLatesRoi());\n await axios\n .get(url_api + \"report/latespl\", {\n params: {\n id: data.user_id,\n // token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successLatesRoi(response.data.body));\n else dispatch(failedLatesRoi(response.data.body));\n } else {\n dispatch(failedLatesRoi(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedLatesRoi(\"try_later\"));\n } else {\n dispatch(failedLatesRoi(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListTrade = (data: Object) => async dispatch => {\n dispatch(loadingLatesTrade());\n await axios\n .get(url_api + \"report/latestrade\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successLatesTrade(response.data.body));\n else dispatch(failedLatesTrade(response.data.body));\n } else {\n dispatch(failedLatesTrade(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedLatesTrade(\"try_later\"));\n } else {\n dispatch(failedLatesTrade(\"try_later\"));\n }\n return;\n });\n};\n\n\nexport const loadListStrategy = (data: Object) => async dispatch => {\n dispatch(loadingStrategy());\n await axios\n .get(url_api + \"report/summarystrategy\", {\n params: {\n id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successStrategy(response.data.body));\n else dispatch(failedStrategy(response.data.body));\n } else {\n dispatch(failedStrategy(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedStrategy(\"try_later\"));\n } else {\n dispatch(failedStrategy(\"try_later\"));\n }\n return;\n });\n};","export const SUMSYMBOL_LIST_ATTEMPT = \"SUMSYMBOL_LIST_ATTEMPT\";\nexport const SUMSYMBOL_LIST_SUCCESS = \"SUMSYMBOL_LIST_SUCCESS\";\nexport const SUMSYMBOL_LIST_FAILED = \"SUMSYMBOL_LIST_FAILED\";\n///////////////////////\nexport const LATESROI_LIST_ATTEMPT = \"LATESROI_LIST_ATTEMPT\";\nexport const LATESROI_LIST_SUCCESS = \"LATESROI_LIST_SUCCESS\";\nexport const LATESROI_LIST_FAILED = \"LATESROI_LIST_FAILED\";\n////////////////////////\nexport const LATESTRADE_LIST_ATTEMPT = \"LATESTRADE_LIST_ATTEMPT\";\nexport const LATESTRADE_LIST_SUCCESS = \"LATESTRADE_LIST_SUCCESS\";\nexport const LATESTRADE_LIST_FAILED = \"LATESTRADE_LIST_FAILED\";\n///////////////////////\nexport const SUMSTRATEGY_LIST_ATTEMPT = \"SUMSTRATEGY_LIST_ATTEMPT\";\nexport const SUMSTRATEGY_LIST_SUCCESS = \"SUMSTRATEGY_LIST_SUCCESS\";\nexport const SUMSTRATEGY_LIST_FAILED = \"SUMSTRATEGY_LIST_FAILED\";\n","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Button,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n IconButton,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n LinearProgress\n} from '@material-ui/core';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/reportActions\";\nimport LinearProgressBar from \"components/LinearProgressBar\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // height: '100%'\n },\n content: {\n padding: 0\n },\n actions: {\n justifyContent: 'flex-end'\n },\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n}));\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.pl);\n });\n return pl.toFixed(2);\n}\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"8px\"\n }\n};\n\nconst Roi = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const theme = useTheme();\n\n const [list, setList] = useState(props.list);\n\n useEffect(() => {\n props.loadList(props.user_id, props.token);\n }, list);\n\n return (\n \n \n \n \n \n \n \n Symbol\n Tr#\n P/l\n Graphic\n \n \n \n {props.list.map((item) => (\n \n \n \n {item.symbol}\n {\n item.dividend === \"1\" && ()\n }\n \n \n {item.count}\n \n \n ${(item.pl).toFixed(2)}\n \n \n = 0 ? \"green\" : \"red\"}\n value={((item.roi) * 100).toFixed(2) + \"%\"}\n />\n \n \n ))}\n \n
    \n
    \n \n \n \n View all \n \n \n \n );\n};\n\nRoi.propTypes = {\n className: PropTypes.string\n};\n\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.report.listSymbol,\n error: reducer.report.errorSymbol,\n loading: reducer.report.loadingSymbol,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (user_id, token) =>\n dispatch(actions.loadListSymbol({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Roi);\n","import palette from 'theme/palette';\n\nexport const data = {\n labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dic'],\n datasets: [\n {\n label: 'Stock',\n backgroundColor: palette.primary.main,\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n },\n {\n label: 'Option',\n backgroundColor: palette.neutral,\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n }\n ]\n};\n\nexport const options = {\n responsive: true,\n maintainAspectRatio: false,\n animation: false,\n legend: { display: false },\n cornerRadius: 20,\n tooltips: {\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: palette.divider,\n backgroundColor: palette.white,\n titleFontColor: palette.text.primary,\n bodyFontColor: palette.text.secondary,\n footerFontColor: palette.text.secondary\n },\n layout: { padding: 0 },\n scales: {\n xAxes: [\n {\n barThickness: 12,\n maxBarThickness: 10,\n barPercentage: 0.5,\n categoryPercentage: 0.5,\n ticks: {\n fontColor: palette.text.secondary\n },\n gridLines: {\n display: true,\n drawBorder: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: false,\n //min: 0\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.text.primary,\n }\n }\n ]\n }\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Bar } from 'react-chartjs-2';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button\n} from '@material-ui/core';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport palette from 'theme/palette';\nimport { data, options } from './chart';\n\nconst useStyles = makeStyles(() => ({\n root: {},\n chartContainer: {\n height: 400,\n position: 'relative'\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}));\n\nconst LatestSales = props => {\n const { className, roiYear, ...rest } = props;\n\n const data = {\n labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dic'],\n datasets: [\n {\n label: 'Stock',\n backgroundColor: palette.primary.main,//palette.warning.main :\n data: roiYear.stock\n },\n {\n label: 'Option',\n backgroundColor: palette.secondary.main,\n data: roiYear.option\n }\n ]\n };\n\n const classes = useStyles();\n\n return (\n \n \n Last 12 month \n \n }\n title=\"P/L\"\n />\n \n \n
    \n \n
    \n
    \n \n \n \n Overview \n \n \n \n );\n};\n\nLatestSales.propTypes = {\n className: PropTypes.string\n};\n\nexport default LatestSales;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n LinearProgress\n} from '@material-ui/core';\nimport InsertChartIcon from '@material-ui/icons/InsertChartOutlined';\nimport LinearProgressBar from \"../../../../components/LinearProgressBar\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '90%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32\n },\n progress: {\n marginTop: theme.spacing(3)\n }\n}));\n\nconst TasksProgress = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n {props.position.stock + props.position.option}\n \n \n \n \n \n \n \n \n {\"Stock = \" + props.position.stock} {\" \"}\n {\"Option = \" + props.position.option}\n \n {\"PDT = \" + props.pdt.count} {\" \"}\n {\"Day = \" + props.pdt.day}\n \n \n );\n};\n\nTasksProgress.propTypes = {\n className: PropTypes.string\n};\n\nexport default TasksProgress;\n/**\n * = 0 ? \"green\" : \"red\"}\n style={{ paddingTop: \"30px\" }}\n />\n */","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography, Avatar } from '@material-ui/core';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\nimport ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\nimport ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '90%',\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.white,\n color: theme.palette.primary.main,\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n down: {\n color: \"#FFFFFF\"\n },\n downValue: {\n color: \"#FFFFFF\",\n marginRight: theme.spacing(1)\n },\n up: {\n color: \"#FFFFFF\"\n },\n upValue: {\n color: \"#FFFFFF\",\n marginRight: theme.spacing(1)\n }\n}));\n/**\n * \n * theme.palette.error.dark\n * theme.palette.error.dark,\n * theme.palette.success.dark\n * theme.palette.success.dark,\n */\nconst TotalProfit = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n {\"$ \"}{props.balance}\n \n \n \n \n \n \n \n \n \n {\" $\" + props.capital}\n \n\n \n \n );\n};\n\nTotalProfit.propTypes = {\n className: PropTypes.string\n};\n\nexport default TotalProfit;\n/**\n *
    \n {\n 1 > 0 ?\n (\n \n \n {\"0\"}%\n \n )\n :\n (\n \n \n {\"0\"}%\n \n )\n }\n
    \n */","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography, Avatar } from '@material-ui/core';\nimport ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';\nimport PeopleIcon from '@material-ui/icons/PeopleOutlined';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport InsertChartIcon from '@material-ui/icons/InsertChartOutlined';\nimport ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '90%'\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n },\n down: {\n color: theme.palette.error.dark\n },\n downValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n },\n up: {\n color: theme.palette.success.dark\n },\n upValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst TotalUsers = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const currency = \"USD\";\n\n return (\n \n \n \n \n \n \n \n
    \n ${props.pl}{currency}\n
    \n
    \n \n \n \n \n \n \n
    \n {\n props.roi > 0 ?\n (\n \n \n {props.roi}%\n \n )\n :\n (\n \n \n {props.roi}%\n \n )\n }\n\n \n \n \n
    \n
    \n \n );\n};\n\nTotalUsers.propTypes = {\n className: PropTypes.string\n};\n\nexport default TotalUsers;\n","import React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport {\n NetLiq,\n Pl,\n TasksProgress,\n TotalProfit,\n StockOrders,\n OptionOrders,\n Trade\n} from './components';\n\nimport Tabs from \"components/Tabs\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/dashboardActions\";\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Dashboard = (props) => {\n const classes = useStyles();\n\n const [list, setList] = useState(props.list);\n\n useEffect(() => {\n props.loadListIndicator(props.user_id, props.token);\n }, props.data);\n\n return (\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 \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n );\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n data: reducer.dashboard.data,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadListIndicator: (user_id, token) =>\n dispatch(actions.loadListIndicator({ user_id, token })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard);","import React from 'react';\nimport { Doughnut } from 'react-chartjs-2';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n IconButton,\n Divider,\n Typography\n} from '@material-ui/core';\nimport LaptopMacIcon from '@material-ui/icons/LaptopMac';\nimport PhoneIphoneIcon from '@material-ui/icons/PhoneIphone';\nimport RefreshIcon from '@material-ui/icons/Refresh';\nimport TabletMacIcon from '@material-ui/icons/TabletMac';\nimport DirectionsCarIcon from '@mui/icons-material/DirectionsCar';\nimport MedicalServicesIcon from '@mui/icons-material/MedicalServices';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n height: '100%'\n },\n chartContainer: {\n position: 'relative',\n height: '300px'\n },\n stats: {\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center'\n },\n device: {\n textAlign: 'center',\n padding: theme.spacing(1)\n },\n deviceIcon: {\n color: theme.palette.icon\n }\n}));\n\nconst UsersByDevice = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n\n const data = {\n datasets: [\n {\n data: [0, 0, 0],\n backgroundColor: [\n theme.palette.primary.main,\n theme.palette.error.main,\n theme.palette.warning.main\n ],\n borderWidth: 8,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n }\n ],\n labels: ['Tech', 'Car', 'Pharma']\n };\n\n const options = {\n legend: {\n display: false\n },\n responsive: true,\n maintainAspectRatio: false,\n animation: false,\n cutoutPercentage: 80,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary\n }\n };\n\n const devices = [\n {\n title: 'Tech',\n value: '0',\n icon: ,\n color: theme.palette.primary.main\n },\n {\n title: 'Car',\n value: '0',\n icon: ,\n color: theme.palette.error.main\n },\n {\n title: 'Pharma',\n value: '0',\n icon: ,\n color: theme.palette.warning.main\n }\n ];\n\n return (\n \n \n \n \n }\n title=\"Portfolio\"\n />\n \n \n
    \n \n
    \n
    \n {devices.map(device => (\n \n {device.icon}\n {device.title}\n \n {device.value}%\n \n
    \n ))}\n \n
    \n \n );\n};\n\nUsersByDevice.propTypes = {\n className: PropTypes.string\n};\n\nexport default UsersByDevice;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n content: {\n paddingTop: 150,\n textAlign: 'center'\n },\n image: {\n marginTop: 50,\n display: 'inline-block',\n maxWidth: '100%',\n width: 560\n }\n}));\n\nconst NotFound = () => {\n const classes = useStyles();\n\n return (\n
    \n \n \n
    \n \n 404: The page you are looking for isn’t here\n \n \n You either tried some shady route or you came here by mistake.\n Whichever it is, try using the navigation\n \n \n
    \n \n \n
    \n );\n};\n\nexport default NotFound;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n Divider,\n FormControlLabel,\n Checkbox,\n Typography,\n Button\n} from '@material-ui/core';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(() => ({\n root: {},\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst Notifications = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n
    \n }\n title={}\n />\n \n \n \n \n \n \n \n \n }\n label=\"Email\"\n />\n \n }\n label={}\n />\n }\n label={}\n />\n \n }\n label={}\n />\n \n \n \n \n \n \n }\n label=\"Email\"\n />\n }\n label={}\n />\n \n }\n label={}\n />\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nNotifications.propTypes = {\n className: PropTypes.string\n};\n\nexport default Notifications;\n","\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n Divider,\n FormControlLabel,\n Checkbox,\n Typography,\n Button,\n TextField\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/settingActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(() => ({\n root: {},\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst Taxes = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n option_tax: (props.item && props.item.option_tax) || 0,\n stock_tax: (props.item && props.item.stock_tax) || 0,\n tax_id: props.item && props.item.id,\n id: props.user_id,\n });\n\n const handleChange = (event) => {\n event.persist();\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n };\n\n const handleSave = () => {\n props.updateItem(values, props.token);\n };\n\n useEffect(() => {\n setValues({\n option_tax: (props.item && props.item.option_tax) || 0,\n stock_tax: (props.item && props.item.stock_tax) || 0,\n tax_id: props.item && props.item.id,\n id: props.user_id,\n });\n }, [props.item]);\n\n return (\n \n
    \n }\n title={}\n />\n \n \n \n\n \n }\n type=\"number\"\n min=\"0.01\"\n step=\"0.01\"\n value={values.option_tax}\n onChange={handleChange}\n // fullWidth\n variant=\"outlined\"\n />\n \n \n }\n type=\"number\"\n min=\"0.01\"\n step=\"0.01\"\n value={values.stock_tax}\n onChange={handleChange}\n // fullWidth\n variant=\"outlined\"\n />\n \n \n \n \n \n \n \n \n \n \n \n\n );\n};\n\nTaxes.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.setting.item,\n success: reducer.setting.success\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n updateItem: (params, token) =>\n dispatch(actions.updateItem({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Taxes);\n// || (props.item && props.item.option_tax) || 0 || (props.item && props.item.stock_tax) || 0\n\n/**\n * setValues({\n ...values,\n option_tax: (props.item && props.item.option_tax) || 0,\n stock_tax: (props.item && props.item.stock_tax) || 0,\n tax_id: props.item && props.item.id,\n });\n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { Table, Toolbar } from \"../../components\";\nimport { connect } from \"react-redux\";\n//import * as actions from \"redux/actions/importActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Import_ = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n\n /*\n useEffect(() => {\n // props.loadList(props.user_id, props.token);\n }, list);\n */\n return (\n
    \n \n
    \n \n \n \n );\n};\n\nImport_.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // loadList: (user_id, token) =>\n // dispatch(actions.loadList({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Import_);","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n // HISTORY_LIST_ATTEMPT,\n IMPORT_LIST_SUCCESS,\n IMPORT_LIST_FAILED,\n ////////////////////\n SET_IMPORT_TABLE\n} from \"../types/importTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function setTable(data) {\n return {\n type: SET_IMPORT_TABLE,\n data: data\n };\n}\n///////////////////////\nexport function successNew(data) {\n return {\n type: IMPORT_LIST_SUCCESS,\n data: data\n };\n}\nexport function failedNew(data) {\n return {\n type: IMPORT_LIST_FAILED,\n data: data\n };\n}\n\nexport const setTableCSV = (data: Object) => async dispatch => {\n dispatch(setTable(data));\n}\n\nexport const newList = (data: Object) => async (dispatch) => {\n await axios({\n method: \"post\",\n url: url_api + \"import/\" + data.params.broker,\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};","\nexport const SET_IMPORT_TABLE = \"SET_IMPORT_TABLE\";\n\nexport const IMPORT_LIST_SUCCESS = \"IMPORT_LIST_SUCCESS\";\nexport const IMPORT_LIST_FAILED = \"IMPORT_LIST_FAILED\";\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport { Button, TextField } from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/importActions\";\nimport { SearchInput } from \"components\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n row: {\n height: \"42px\",\n display: \"flex\",\n alignItems: \"center\",\n marginTop: theme.spacing(1),\n },\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n}));\n\nconst Toolbar = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickFileIn = () => {\n history.push(\"/file/in\");\n };\n\n const onClickFolderIn = () => {\n history.push(\"/folder/in\");\n };\n\n const [values, setValues] = useState({});\n const [file, setFile] = useState();\n // const [csvArray, setCsvArray] = useState([]);\n\n const handleChange = event => {\n event.persist();\n setValues({\n ...values,\n [event.target.name]: event.target.value\n });\n };\n\n const onClickImport = event => {\n let reader = new FileReader();\n if (file) {\n reader.onload = function (event) {\n const data = event.target.result;\n csvToTable(data);\n }\n reader.readAsText(file);\n }\n }\n\n const onClickSave = event => {\n props.newList(\n {\n id: props.user_id,\n header: props.header,\n list: props.list,\n broker: values.broker || \"tastyworks\",\n }, props.token\n );\n }\n\n const csvToTable = (str, delim = ',') => {\n const headers = str.slice(0, str.indexOf('\\n')).split(delim);\n const rows = str.slice(str.indexOf('\\n') + 1).split('\\n');\n const newArray = rows.map(row => {\n let values = [];\n if (/\"/.test(row)) {\n let i = 0;\n while (i < headers.length) {\n if (row.startsWith('\"')) {//charAt()\n row = row.substring(1, row.length);\n values.push(row.split('\"', 1));//.replace(',', '')\n row = row.substring(row.indexOf('\"') + 2, row.length);\n }\n else {\n values.push(row.split(delim, 1));\n row = row.substring(row.indexOf(delim) + 1, row.length);\n }\n i++;\n }\n }\n else {\n values = row.split(delim);\n }\n const eachObject = headers.reduce((obj, header, i) => {\n obj[header] = values[i];\n return obj;\n }, {});\n return eachObject;\n\n });\n props.setTableCsv({ header: headers, list: newArray });\n }\n\n const onChange = (e) => {\n setFile(e.target.files[0]);\n /*\n let reader = new FileReader();\n if (e.target.files[0]) {\n reader.onload = function (e) {\n const data = e.target.result;\n csvToTable(data);\n }\n reader.readAsText(file);\n }\n */\n }\n\n const option_broker = [\n {\n value: \"tastyworks\",\n label: \"Tastyworks\",\n },\n ];\n\n return (\n
    \n\n
    \n \n \n {option_broker.map((option) => (\n \n ))}\n \n\n \n \n \n \n \n \n \n \n
    \n
    \n );\n};\n\nToolbar.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.import_.list,\n header: reducer.import_.header,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n setTableCsv: (data) =>\n dispatch(actions.setTableCSV(data)),\n newList: (params, token) =>\n dispatch(actions.newList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\n\n/**\n *
    \n \n \n \n \n \n
    \n */","import React, { useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/importActions\";\nimport Delete from \"@material-ui/icons/Delete\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n avatar: {\n marginRight: theme.spacing(2),\n },\n actions: {\n justifyContent: \"flex-end\",\n },\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\n\nconst Table_ = (props) => {\n const { className, list, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n\n const handleSelectAll = (event) => {\n const { list } = props;\n\n let selectedList;\n\n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n\n setSelectedList(selectedList);\n };\n\n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n\n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n\n setSelectedList(newSelectedList);\n };\n\n const handlePageChange = (event, page) => {\n setPage(page);\n };\n\n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n\n const onClickIn = (item) => {\n // props.setPatient(item);\n };\n\n const onClickDelete = (item) => {\n props.removeItem(props.token, { patient_id: item.id, id: props.user_id });\n };\n\n const onClick = (item) => {\n // props.setPatient(item);\n };\n\n return (\n \n \n \n
    \n
    \n \n \n {\n props.header.map((item) => (\n {item}\n ))\n }\n \n \n \n {props.list.map((item) => (\n \n {\n props.header.map((item_) => (\n \n {item[item_]}\n \n ))\n }\n \n ))}\n \n
    \n
    \n \n \n \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.import_.list,\n header: reducer.import_.header,\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n // loadList: (user_id, token) =>\n // dispatch(actions.loadList({ user_id, token })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/** \n {props.list.map((item) => (\n \n {\n item.list.map((item_, index) => (\n \n {item_[index]}\n \n ))}\n }\n \n ))}\n */","\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n Divider,\n FormControlLabel,\n Checkbox,\n Typography,\n Button,\n TextField\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/settingActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(() => ({\n root: {},\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst Reset = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n // option_tax: (props.item && props.item.option_tax) || 0,\n // stock_tax: (props.item && props.item.stock_tax) || 0,\n // tax_id: props.item && props.item.id,\n id: props.user_id,\n });\n\n // const handleChange = (event) => {\n // event.persist();\n // setValues({\n // ...values,\n // [event.target.name]: event.target.value,\n // });\n // };\n\n const handleReset = () => {\n props.reset(values, props.token);\n };\n\n useEffect(() => {\n setValues({\n // option_tax: (props.item && props.item.option_tax) || 0,\n // stock_tax: (props.item && props.item.stock_tax) || 0,\n // tax_id: props.item && props.item.id,\n id: props.user_id,\n });\n }, [props.item]);\n\n return (\n \n
    \n }\n title={}\n />\n \n \n \n\n \n \n \n \n \n {/* \n }\n type=\"number\"\n min=\"0.01\"\n step=\"0.01\"\n value={values.stock_tax}\n onChange={handleChange}\n // fullWidth\n variant=\"outlined\"\n />\n */}\n \n \n {/* \n \n \n \n \n */}\n \n \n\n );\n};\n\nReset.propTypes = {\n className: PropTypes.string\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.setting.item,\n success: reducer.setting.success\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n reset: (params, token) =>\n dispatch(actions.reset({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Reset);\n// || (props.item && props.item.option_tax) || 0 || (props.item && props.item.stock_tax) || 0\n\n/**\n * setValues({\n ...values,\n option_tax: (props.item && props.item.option_tax) || 0,\n stock_tax: (props.item && props.item.stock_tax) || 0,\n tax_id: props.item && props.item.id,\n });\n */","import React, { useEffect, useState } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\n\nimport { Notifications, Taxes, Import_, Reset } from './components';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/settingActions\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Settings = (props) => {\n\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n //const [setting, setList] = useState(props.setting);\n\n useEffect(() => {\n props.loadItem(props.user_id, props.token);\n }, []);\n\n return (\n
    \n \n \n \n \n \n \n \n \n\n \n \n \n \n
    \n );\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n setting: reducer.setting.item\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadItem: (user_id, token) =>\n dispatch(actions.loadItem({ user_id, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Settings);\n//export default ;\n","import React, { useState, useEffect } from 'react';\nimport { Link as RouterLink, withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport validate from 'validate.js';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Grid,\n Button,\n IconButton,\n TextField,\n Link,\n Typography\n} from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/sessionActions\";//\n//import logo from '../../assets/logo2.png';\nimport { Facebook as FacebookIcon, Google as GoogleIcon } from 'icons';\nimport logo1 from 'assets/ebi_n.png';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport FormControl, { useFormControl } from '@mui/material/FormControl';\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport * as actions_event from \"redux/actions/eventActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst schema = {\n email: {\n presence: { allowEmpty: false, message: 'is required' },\n email: true,\n length: {\n maximum: 64\n }\n },\n password: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 128\n }\n }\n};\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.default,\n height: '100%'\n },\n grid: {\n height: '100%'\n },\n quoteContainer: {\n [theme.breakpoints.down('md')]: {\n display: 'none'\n }\n },\n quote: {\n backgroundColor: theme.palette.neutral,\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n //backgroundImage: 'url(/images/auth.jpg)',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n },\n quoteInner: {\n textAlign: 'center',\n flexBasis: '600px'\n },\n quoteText: {\n color: theme.palette.black,\n fontWeight: 300\n },\n name: {\n marginTop: theme.spacing(3),\n color: theme.palette.black\n },\n bio: {\n color: theme.palette.black\n },\n contentContainer: {},\n content: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n contentHeader: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: theme.spacing(5),\n paddingBototm: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n logoImage: {\n marginLeft: theme.spacing(4)\n },\n contentBody: {\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n [theme.breakpoints.down('md')]: {\n justifyContent: 'center'\n }\n },\n form: {\n paddingLeft: 100,\n paddingRight: 100,\n paddingBottom: 125,\n flexBasis: 700,\n [theme.breakpoints.down('sm')]: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n }\n },\n title: {\n marginTop: theme.spacing(3)\n },\n socialButtons: {\n marginTop: theme.spacing(3)\n },\n socialIcon: {\n marginRight: theme.spacing(1)\n },\n sugestion: {\n marginTop: theme.spacing(2)\n },\n textField: {\n marginTop: theme.spacing(2),\n borderColor: theme.palette.text.secondary,\n fontSize: \"inherit\"\n },\n signInButton: {\n margin: theme.spacing(2, 0)\n }\n}));\n\nconst SignIn = props => {\n const { history } = props;\n\n const classes = useStyles();\n\n const [formState, setFormState] = useState({\n isValid: false,\n values: {\n password: \"\"\n },\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n props.error && alertify.error(props.error);\n props.Logout();\n props.closeConextionSocket();\n const errors = validate(formState.values, schema);\n\n setFormState(formState => ({\n ...formState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [formState.values]);\n\n const handleBack = () => {\n history.goBack();\n };\n\n const handleChange = event => {\n event.persist();\n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n },\n touched: {\n ...formState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleSignIn = async event => {\n event.preventDefault();\n await props.Login(formState.values.email, formState.values.password).then(function () {\n history.push('/');\n });\n };\n\n const hasError = field =>\n formState.touched[field] && formState.errors[field] ? true : false;\n\n const handleClickShowPassword = () => {\n setFormState(formState => ({\n ...formState,\n showPassword: !formState.showPassword,\n }));\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n function MyFormHelperText() {\n const { focused } = useFormControl() || {};\n\n const helperText = React.useMemo(() => {\n if (focused && formState.values.password.length === 0) {\n return \"Password is requerid\";\n }\n\n return (formState.values.password.length === 0 ? \"Password is requerid\" : \"\");\n }, [focused]);\n\n return {helperText};\n }\n\n return (\n
    \n \n \n
    \n
    \n \n \"Logo\"\n \n
    \n \n Bitácora de Trading / Trading Log\n \n \n Elecsotech\n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n {formState.showPassword ? : }\n \n \n }\n label={}\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\nSignIn.propTypes = {\n history: PropTypes.object\n};\n\n//export default withRouter(SignIn); sx={{ m: 1, width: '25ch' }}\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n error: reducer.session.error,\n success: reducer.session.success,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n Login: (email, password /*, params*/) =>\n dispatch(actions.login({ email, password })),\n Logout: () =>\n dispatch(actions.logout()),\n closeConextionSocket: () =>\n dispatch(actions_event.closeConextionSocket({}))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SignIn);\n/**\n * \n \n {formState.showPassword ? : }\n \n \n }\n />\n *
    \n \n \n \n
    \n * \n Sign in with social media\n \n \n \n \n \n Login with Facebook\n \n \n \n \n \n Login with Google\n \n \n \n */","import * as React from 'react';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nexport default function ScrollDialog() {\n const [open, setOpen] = React.useState(false);\n const [scroll, setScroll] = React.useState('paper');\n\n const handleClickOpen = (scrollType) => () => {\n setOpen(true);\n setScroll(scrollType);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const descriptionElementRef = React.useRef(null);\n React.useEffect(() => {\n if (open) {\n const { current: descriptionElement } = descriptionElementRef;\n if (descriptionElement !== null) {\n descriptionElement.focus();\n }\n }\n }, [open]);\n\n return (\n
    \n \n \n Terms and Conditions\n \n \n

    \n {\n \"We do not provide legal, tax or investment advice. The website and the services within it are not intended to provide financial or investment advice. Stocks and options carry risks and are not suitable for all investors as the special risks inherent in trading can expose investors to potentially significant losses.\"\n }\n

    \n

    \n {\n \"All operations have risks that the investor must consider before investing. Any operation you carry out is at your own risk, we are not responsible for the results obtained of any kind.\"\n }\n

    \n

    \n {\n \"Nosotros no proporcionamos asesoramiento legal, tributario o de inversión. El sitio web y los servicios dentro de la misma no están destinados a proveer asesoría financiera ni de inversión. Las acciones y opciones implican riesgos y no son adecuadas para todos los inversores, ya que los riesgos especiales inherentes al comercio pueden exponer a los inversores a pérdidas potencialmente significativas.\"\n }\n

    \n

    \n {\n \"Todas las operaciones tienen riesgos que el inversionista debe considerar antes de invertir. Cualquier operación que realices es bajo tu propio riesgo, no nos responsabilizamos por los resultados obtenidos de ninguna indole.\"\n }\n

    \n \n
    \n \n \n \n \n
    \n );\n}\n// \n/**\n * [...new Array(50)]\n .map(\n () => `Cras mattis consectetur purus sit amet fermentum.\nCras justo odio, dapibus ac facilisis in, egestas eget quam.\nMorbi leo risus, porta ac consectetur ac, vestibulum at eros.\nPraesent commodo cursus magna, vel scelerisque nisl consectetur et.`,\n )\n .join('\\n')\n */","import React, { useState, useEffect, useCallback } from 'react';\nimport { Link as RouterLink, withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport validate from 'validate.js';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Grid,\n Button,\n IconButton,\n TextField,\n Link,\n FormHelperText,\n Checkbox,\n Typography\n} from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/sessionActions\";\nimport logo1 from 'assets/ebi_n.png';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport Tos from \"./components/Tos\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst schema = {\n name: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 32\n }\n },\n lastN: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 32\n }\n },\n email: {\n presence: { allowEmpty: false, message: 'is required' },\n email: true,\n length: {\n maximum: 64\n }\n },\n password: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 128\n }\n },\n policy: {\n presence: { allowEmpty: false, message: 'is required' },\n checked: true\n }\n};\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.default,\n height: '100%'\n },\n grid: {\n height: '100%'\n },\n quoteContainer: {\n [theme.breakpoints.down('md')]: {\n display: 'none'\n }\n },\n quote: {\n backgroundColor: theme.palette.neutral,\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n },\n quoteInner: {\n textAlign: 'center',\n flexBasis: '600px'\n },\n quoteText: {\n color: theme.palette.black,\n fontWeight: 300\n },\n name: {\n marginTop: theme.spacing(3),\n color: theme.palette.black\n },\n bio: {\n color: theme.palette.black\n },\n contentContainer: {},\n content: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n contentHeader: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: theme.spacing(5),\n paddingBototm: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n logoImage: {\n marginLeft: theme.spacing(4)\n },\n contentBody: {\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n [theme.breakpoints.down('md')]: {\n justifyContent: 'center'\n }\n },\n form: {\n paddingLeft: 100,\n paddingRight: 100,\n paddingBottom: 125,\n flexBasis: 700,\n [theme.breakpoints.down('sm')]: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n }\n },\n title: {\n marginTop: theme.spacing(3)\n },\n textField: {\n marginTop: theme.spacing(2)\n },\n policy: {\n marginTop: theme.spacing(1),\n display: 'flex',\n alignItems: 'center'\n },\n policyCheckbox: {\n marginLeft: '-14px'\n },\n signUpButton: {\n margin: theme.spacing(2, 0)\n }\n}));\n\nconst SignUp = props => {\n const { history } = props;\n\n const classes = useStyles();\n\n const [formState, setFormState] = useState({\n isValid: false,\n values: {},\n touched: {},\n errors: {},\n });\n\n useEffect(() => {\n props.error && alertify.error(props.error);\n if (props.success) {\n alertify.success(props.success);\n history.push('/login');\n }\n props.Logout();\n const errors = validate(formState.values, schema);\n\n setFormState(formState => ({\n ...formState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [formState.values]);\n\n const handleChange = event => {\n event.persist();\n\n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n },\n touched: {\n ...formState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleBack = () => {\n history.goBack();\n };\n\n const register = useCallback(async () => {\n await props.Register(formState.values);\n });\n\n const handleSignUp = async event => {\n event.preventDefault();\n\n await register();\n setFormState(formState => ({\n ...formState,\n isValid: false,\n values: {},\n touched: {},\n errors: {},\n }));\n /* console.timeLog(props.error);\n \n if (props.error)\n alertify.error(props.error);\n */\n };\n\n const hasError = field =>\n formState.touched[field] && formState.errors[field] ? true : false;\n\n return (\n
    \n \n \n
    \n
    \n \n \"Logo\"\n \n
    \n \n Bitácora de Trading / Trading Log\n \n \n Elecsotech\n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n \n }\n name=\"name\"\n onChange={handleChange}\n type=\"text\"\n value={formState.values.name || ''}\n variant=\"outlined\"\n />\n }\n name=\"lastN\"\n onChange={handleChange}\n type=\"text\"\n value={formState.values.lastN || ''}\n variant=\"outlined\"\n />\n \n }\n name=\"password\"\n onChange={handleChange}\n type=\"password\"\n value={formState.values.password || ''}\n variant=\"outlined\"\n />\n
    \n \n \n {' '}\n \n \n
    \n {hasError('policy') && (\n \n {formState.errors.policy[0]}\n \n )}\n \n \n \n \n {' '}\n \n \n \n \n \n
    \n
    \n \n \n
    \n );\n};\n\nSignUp.propTypes = {\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n error: reducer.session.error,\n success: reducer.session.success,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n Register: (params) =>\n dispatch(actions.register({ params })),\n Logout: () =>\n dispatch(actions.logout()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SignUp);\n//export default withRouter(SignUp);\n/**\n *
    \n \n \n \n
    \n * \n \n */\n","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Button,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n IconButton,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n LinearProgress\n} from '@material-ui/core';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/reportActions\";\nimport LinearProgressBar from \"components/LinearProgressBar\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n //height: '100%'\n },\n content: {\n padding: 0\n },\n actions: {\n justifyContent: 'flex-end'\n },\n}));\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.pl);\n });\n return pl.toFixed(2);\n}\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"8px\"\n }\n};\n\nconst StrategySummary = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n const theme = useTheme();\n\n const [list, setList] = useState(props.list);\n\n useEffect(() => {\n props.loadList(props.user_id, props.token);\n }, list);\n\n return (\n \n \n \n \n \n \n \n Srategy\n Tr#\n P/l\n Graphic\n \n \n \n {props.list.map((item, i) => (\n \n \n {item.name}\n \n \n {item.counter}\n \n \n ${(item.pl).toFixed(2)}\n \n \n \n \n \n ))}\n \n
    \n
    \n \n \n \n View all \n \n \n \n );\n};\n\nStrategySummary.propTypes = {\n className: PropTypes.string\n};\n\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.report.listStrategy,\n error: reducer.report.errorStrategy,\n loading: reducer.report.loadingStrategy,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (user_id, token) =>\n dispatch(actions.loadListStrategy({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StrategySummary);\n/**\n * item.pl >= 0?: \"red\"\n */\n","import palette from 'theme/palette';\n\nexport const data = {\n labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dic'],\n datasets: [\n {\n label: 'Stock',\n backgroundColor: palette.primary.main,\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n },\n {\n label: 'Option',\n backgroundColor: palette.neutral,\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n }\n ]\n};\n\nexport const options = {\n responsive: true,\n maintainAspectRatio: false,\n animation: false,\n legend: { display: false },\n cornerRadius: 20,\n tooltips: {\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: palette.divider,\n backgroundColor: palette.white,\n titleFontColor: palette.text.primary,\n bodyFontColor: palette.text.secondary,\n footerFontColor: palette.text.secondary\n },\n layout: { padding: 0 },\n scales: {\n xAxes: [\n {\n barThickness: 12,\n maxBarThickness: 10,\n barPercentage: 0.5,\n categoryPercentage: 0.5,\n ticks: {\n fontColor: palette.text.secondary\n },\n gridLines: {\n display: true,\n drawBorder: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: false,\n //min: 0\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.text.primary,\n }\n }\n ]\n }\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Bar } from 'react-chartjs-2';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button\n} from '@material-ui/core';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport palette from 'theme/palette';\nimport { data, options } from './chart';\n\nconst useStyles = makeStyles(() => ({\n root: {},\n chartContainer: {\n height: 400,\n position: 'relative'\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}));\n\nconst LatestSales = props => {\n const { className, numYear, ...rest } = props;\n\n const data = {\n labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dic'],\n datasets: [\n {\n label: 'Stock',\n backgroundColor: palette.primary.main,//palette.warning.main :\n data: numYear.stock\n },\n {\n label: 'Option',\n backgroundColor: palette.secondary.main,\n data: numYear.option\n }\n ]\n };\n\n const classes = useStyles();\n\n return (\n \n \n Last 12 month \n \n }\n title=\"Trade\"\n />\n \n \n
    \n \n
    \n
    \n \n \n \n Overview \n \n \n \n );\n};\n\nLatestSales.propTypes = {\n className: PropTypes.string\n};\n\nexport default LatestSales;\n","import {\n SymbolSummary,\n StrategySummary,\n PL,\n Trade,\n //PlStatus\n} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/reportActions\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Report = (props) => {\n const classes = useStyles();\n const [list, setList] = useState(props.dataRoi);\n\n useEffect(() => {\n props.loadListRoi(props.user_id, props.token);\n props.loadListTrade(props.user_id, props.token);\n }, list);\n\n return (\n
    \n\n \n \n \n \n \n\n \n\n \n \n \n \n \n
    );\n\n};\n\n//export default Report; \n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n dataRoi: reducer.report.dataRoi,\n dataTrade: reducer.report.dataTrade,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadListRoi: (user_id, token) =>\n dispatch(actions.loadListLatesRoi({ user_id, token })),\n loadListTrade: (user_id, token) =>\n dispatch(actions.loadListTrade({ user_id, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Report);\n\n/**\n * lg={12}\n md={8}\n xl={3}\n xs={12}\n\n \n \n \n */","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n HISTORY_LIST_ATTEMPT,\n HISTORY_LIST_SUCCESS,\n HISTORY_LIST_FAILED,\n ////////////////////\n HISTORY_MORELIST_ATTEMPT,\n HISTORY_MORELIST_SUCCESS,\n HISTORY_MORELIST_FAILED,\n //////////////////////\n HISTORY_REMOVE_SUCCESS,\n HISTORY_REMOVE_FAILED,\n} from \"../types/historyTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: HISTORY_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: HISTORY_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: HISTORY_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: HISTORY_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: HISTORY_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: HISTORY_MORELIST_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successRemove(item) {\n return {\n type: HISTORY_REMOVE_SUCCESS,\n item: item\n };\n}\n\nexport function failedRemove(error) {\n return {\n type: HISTORY_REMOVE_FAILED,\n error: error\n };\n}\n////////////////////////\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"history/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"history/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\nexport const removeItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"delete\",\n url: url_api + \"history/\",\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successRemove(response.data.body));\n else dispatch(failedRemove(response.data.body));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedRemove(\"try_later\"));\n } else {\n dispatch(failedRemove(\"try_later\"));\n }\n return;\n });\n};","export const HISTORY_LIST_SUCCESS = \"HISTORY_LIST_SUCCESS\";\nexport const HISTORY_LIST_ATTEMPT = \"HISTORY_LIST_ATTEMPT\";\nexport const HISTORY_LIST_FAILED = \"HISTORY_LIST_FAILED\";\n/////////////////////\nexport const HISTORY_MORELIST_ATTEMPT = \"HISTORY_MORELIST_ATTEMPT\";\nexport const HISTORY_MORELIST_SUCCESS = \"HISTORY_MORELIST_SUCCESS\";\nexport const HISTORY_MORELIST_FAILED = \"HISTORY_MORELIST_FAILED\";\n////////////////\nexport const HISTORY_REMOVE_SUCCESS = \"HISTORY_REMOVE_SUCCESS\";\nexport const HISTORY_REMOVE_FAILED = \"HISTORY_REMOVE_FAILED\";\n\n\n\n","import React, { useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/historyActions\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport MiniLoader from \"components/MiniLoader\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n actions: {\n justifyContent: \"center\",\n },\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.open_trade + item.close_trade - item.tax);\n });\n return pl.toFixed(2);\n}\n\nconst Table_ = (props) => {\n const { className, list, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n\n const handleSelectAll = (event) => {\n // const { list } = props;\n\n let selectedList;\n\n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n setSelectedList(selectedList);\n };\n\n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n\n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n\n setSelectedList(newSelectedList);\n };\n\n const handlePageChange = (event, page) => {\n setPage(page);\n };\n\n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n\n const onClickDelete = (item) => {\n // console.log(item);\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"delete\") + \"?\",\n function () {\n props.removeItem(\n {\n history_id: item.id,\n symbol: item.symbol,\n id: props.user_id\n }\n , props.token);\n },\n function () {\n\n });\n };\n\n const onClickLoadMore = () => {\n props.loadMore(\n {\n index: props.pageCount,\n id: props.user_id,\n search: props.search,\n }, props.token)\n };\n\n return (\n \n \n \n
    \n \n \n \n Symbol\n Kind\n Qtt\n Open Price\n Close Price\n Open Date\n Close Date\n Expire Date\n Reference\n Stk\n Open Trade\n Close Trade\n Tax\n P/L\n P/L %\n A\n \n \n \n {props.list.map((item) => (\n \n \n \n {item.symbol.toUpperCase()}\n {\n item.dividend === \"1\" && ()\n }\n\n \n {item.kind}\n \n {item.counter && item.counter > 1\n ?\n (item.quantity)\n :\n ((item.market === \"SELL\" ? \"-\" : \"+\") + (item.quantity) + (item.kind === \"OPTION\" ? (item.option_kind === \"CALL\" ? \"C\" : \"P\") : (\"\")))\n }\n \n {item.open_price}{\" \"}{item.kind === \"OPTION\" && (item.market === \"SELL\" ? \"STO\" : \"BTO\")}\n {item.close_price}{\" \"}{item.kind === \"OPTION\" && (item.market === \"SELL\" ? \"BTC\" : \"STC\")}\n \n {moment(item.open_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n {moment(item.close_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n {item.kind === \"OPTION\" && moment(item.expire_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n {item.reference}\n \n {item.kind === \"OPTION\" && item.strike}\n \n {item.open_trade}\n \n \n {item.close_trade}\n \n \n {item.tax}\n \n \n {\n (item.open_price + item.close_price) < 0 ?\n (\n {(item.open_trade + item.close_trade - item.tax).toFixed(2)}\n )\n :\n (\n {(item.open_trade + item.close_trade - item.tax).toFixed(2)}\n )\n }\n\n \n {\n (item.open_price + item.close_price) < 0 ?\n (\n {(((item.open_trade + item.close_trade) / (Math.abs(item.open_trade))) * 100).toFixed(2)}{\"%\"}\n ) :\n (\n {(((item.open_trade + item.close_trade) / (Math.abs(item.open_trade))) * 100).toFixed(2)}{\"%\"}\n )\n\n }\n \n \n {\n item.counter && item.counter > 1\n ? (<>)\n : ( { onClickDelete(item) }}\n >\n \n )\n }\n\n \n \n ))}\n \n Total\n ${pl(list)}\n \n \n
    \n
    \n
    \n
    \n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n \n )\n )\n }\n\n \n
    \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.history.list,\n error: reducer.history.error,\n loading: reducer.history.loading,\n\n search: reducer.history.search,\n\n loadingMore: reducer.history.loadingMore,\n pageSize: reducer.history.page_size,\n pageCount: reducer.history.page_count,\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadMore: (params, token) =>\n dispatch(actions.loadListScroll({ params, token })),\n removeItem: (params, token) =>\n dispatch(actions.removeItem({ params, token })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/**.slice((page * rowsPerPage), (rowsPerPage * (page + 1)))\n * \n * \n {item.year}\n \n \n {item.color}\n \n \n 0 &&\n selectedList.length < list.length\n }\n onChange={handleSelectAll}\n />\n \n\n \n handleSelectOne(event, item.id)}\n value=\"true\"\n />\n \n */\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport Box from '@mui/material/Box';\nimport MenuItem from '@mui/material/MenuItem';\nimport { makeStyles } from \"@material-ui/styles\";\nimport { Button } from \"@material-ui/core\"\nimport TextField from '@mui/material/TextField';\nimport { SearchInput } from \"components\";\n//import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/historyActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport Select from '@mui/material/Select';\nimport FormControl from '@mui/material/FormControl';\nimport InputLabel from '@mui/material/InputLabel';\nimport { Typography } from '@material-ui/core';\nimport InputDate from 'components/InputDate';\nimport FormGroup from '@mui/material/FormGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n row: {\n // height: \"42px\",\n display: \"flex\",\n alignItems: \"center\",\n marginTop: theme.spacing(1),\n },\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n}));\n\nconst Toolbar = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n search: \"\",\n kind: \"\",\n date: \"TODAY\",\n from_at: new Date().toISOString().split('T')[0],\n to_at: new Date().toISOString().split('T')[0],\n option_group: false,\n disabled: true,\n disabledOption: true,\n });\n\n const handleChange = (event) => {\n\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n disabledOption: event.target.value === \"OPTION\" ? false : true\n });\n /* props.loadList({\n event.target.type === 'checkbox'\n ? event.target.checked\n :\n id: props.user_id,\n [event.target.name]: event.target.value,\n // kind: values.kind,\n // date: values.date,\n from_at: values.from_at,\n to_at: values.to_at\n }, props.token);*/\n };\n\n const handleChangeCheck = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.checked\n });\n };\n\n const handleChangDate = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n disabled: event.target.value === \"CUSTOM\" ? false : true\n });\n };\n\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n search: values.search,\n kind: values.kind,\n date: values.date,\n from_at: values.from_at,\n to_at: values.to_at,\n option_group: values.option_group,\n }, props.token);\n }, [values]);\n\n const option_kind =\n [\n {\n value: \"\",\n label: \"Any\",\n },\n {\n value: \"STOCK\",\n label: \"Stock\",\n },\n {\n value: \"OPTION\",\n label: \"Option\",\n },\n\n ];\n\n const option_time =\n [\n {\n value: \"TODAY\",\n label: \"Today\",\n },\n {\n value: \"YESTERDAY\",\n label: \"Yesterday\",\n },\n {\n value: \"7D\",\n label: \"7 Days\",\n },\n {\n value: \"14D\",\n label: \"14 Days\",\n },\n {\n value: \"30D\",\n label: \"30 Days\",\n },\n {\n value: \"60D\",\n label: \"60 Days\",\n },\n {\n value: \"120D\",\n label: \"120 Days\",\n },\n {\n value: \"MTD\",\n label: \"Month To Date\",\n },\n {\n value: \"YTD\",\n label: \"Year To Date\",\n },\n {\n value: \"CUSTOM\",\n label: \"Custom\",\n },\n ];\n\n return (\n
    \n\n
    \n\n \n \n {\n option_kind.map((option) => (\n \n ))\n }\n \n \n {\n option_time.map((option) => (\n \n ))\n }\n \n \n \n \n } onChange={handleChangeCheck} label=\"Option Group\" labelPlacement=\"start\" name=\"option_group\" />\n \n
    \n
    \n );\n};\n\nToolbar.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.history.list,\n error: reducer.history.error,\n loading: reducer.history.loading,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\n/**\n * \n *
    \n \n \n \n \n \n
    \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { Table, Toolbar } from \"./components\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/historyActions\";\n//import list from \"./data\";\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst History = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n\n\n useEffect(() => {\n props.loadList({ id: props.user_id, search: props.search }, props.token);\n }, list);\n\n return (\n
    \n \n
    \n \n \n \n );\n};\n\nHistory.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.history.list,\n error: reducer.history.error,\n loading: reducer.history.loading,\n\n search: reducer.history.search,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(History);","import React, { useState } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/stockActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\n//function FormDialog() {\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n props.newItem(values, props.token);\n setOpen(false);\n };\n\n const [values, setValues] = useState({\n symbol: props.item.symbol,\n operator: \"\",//props.item.quantity ||\n price: 0.01,//props.item.price ||\n open_at: new Date().toISOString().split('T')[0],//props.item.open_at || \n id: props.user_id\n });\n\n\n const handleChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n };\n const option_operator = [\n {\n value: \"<\",\n label: \"<\",\n },\n {\n value: \">\",\n label: \">\",\n },\n ];\n\n return (\n
    \n \n \n Alert Stock Price Entry\n \n \n Enter Data Alert\n \n \n {\" \"}\n \n \n {option_operator.map((option) => (\n \n ))}\n \n {\" \"}\n \n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/watchStockActions\";\nimport AlertModal from '../AlertModal';\nimport Delete from \"@material-ui/icons/Delete\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n avatar: {\n marginRight: theme.spacing(2),\n },\n actions: {\n justifyContent: \"flex-end\",\n },\n avatar: {\n marginRight: '7px',\n height: 30,\n width: 30,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n}));\n\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"8px\"\n }\n};\n\nconst Table_ = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n /*\n const handleSelectAll = (event) => {\n const { list } = props;\n \n let selectedList;\n \n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n setSelectedList(selectedList);\n };\n \n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n \n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n \n setSelectedList(newSelectedList);\n };\n \n const handlePageChange = (event, page) => {\n setPage(page);\n };\n \n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n */\n\n const onClickDelete = (item) => {\n props.removeItem(props.token, { stock_list_id: item.id, id: props.user_id });\n };\n\n const pending = \"Pending\";\n\n return (\n \n \n \n
    \n
    \n \n \n Symbol\n Name\n Exchange\n Bid\n Ask\n Change\n Change%\n Volume\n Act\n \n \n \n {props.list.map((item) => (\n \n \n
    \n \n {item.symbol}\n {\n item.dividend === \"1\" && ()\n }\n
    \n
    \n {item.name}\n {item.exchange}\n \n {item.bid}\n \n \n {item.ask}\n \n \n {item.change}\n \n \n {item.change_p}\n \n \n {item.volume}\n \n \n \n {\" \"}\n { onClickDelete(item) }}\n >\n \n \n \n \n ))}\n
    \n
    \n
    \n \n \n \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.watchStock.list,\n\n auth: reducer.session.auth,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n removeItem: (token, params) =>\n dispatch(actions.removeItem({ token, params })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/**\n * \n \n \n * slice(0, rowsPerPage)\n * \n {item.year}\n \n \n {item.color}\n \n \n 0 &&\n selectedList.length < list.length\n }\n onChange={handleSelectAll}\n />\n \n\n \n handleSelectOne(event, item.id)}\n value=\"true\"\n />\n \n */\n","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst schema = {\n name: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 100\n }\n },\n}\n\nconst FormDialog = (props) => {\n\n const [dialogState, setDialogState] = useState({\n values: {\n name: \"\",\n id: props.user_id,\n },\n errors: {},\n touched: {},\n isValid: false,\n });\n\n\n useEffect(() => {\n const errors = validate(dialogState.values, schema);\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [dialogState.values]);\n\n return (\n
    \n \n Name List\n \n \n Enter Name List\n \n \n\n \n \n \n \n \n \n
    \n );\n}\n\nexport default FormDialog;\n\n/**\n * \n */\n","import React, { useState, useEffect } from 'react';\n//import validate from 'validate.js';\n//import TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport { makeStyles } from \"@material-ui/styles\";\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Divider from '@mui/material/Divider';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport AddIcon from '@mui/icons-material/Add';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport Delete from \"@material-ui/icons/Delete\";\nimport {\n Card,\n CardActions,\n CardContent,\n Typography,\n IconButton,\n} from '@material-ui/core'\nimport MenuItem from '@mui/material/MenuItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport { connect } from \"react-redux\";\n//import * as actions_watch from \"redux/actions/watchStockActions\";\n//import * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_list from \"redux/actions/watchListActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n row: {\n flexDirection: \"row\",\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: \"10px\"\n }\n}));\nconst FormDialog = (props) => {\n const [open, setOpen] = React.useState(false);\n\n const classes = useStyles();\n\n const handleClickOpen = () => {\n setOpen(true);\n\n };\n\n const handleClose = () => {\n setOpen(false);\n // props.resetList();\n };\n\n const onClickRemove = (item) => {\n setOpen(false);\n props.removeItem({\n id: props.user_id,\n list_id: item.id\n }, props.token);\n // props.resetList();\n }\n\n return (\n
    \n \n \n \n \n {\"Select List\"}\n \n \n {\"List must be empty\"}\n \n \n
    \n {\n props.list.map((item) => (\n { onClickRemove(item) }}>\n \n {item.name}\n \n \n \n \n \n ))\n }\n
    \n
    \n \n \n \n \n
    \n );\n}\n\n//export default FormDialog;\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.watchList.list,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // newItem: (params, token) =>\n // dispatch(actions_watch.newItem({ params, token })),\n // resetList: () =>\n // dispatch(actions_stock.resetList({})),\n removeItem: (params, token) =>\n dispatch(actions_list.removeItem({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n/** .list.map((element) => { sm md lg xl xs\n return \n \n }) */","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport { Button, IconButton } from \"@material-ui/core\";\nimport Select from '@mui/material/Select';\nimport { SearchInput } from \"components\";\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport Divider from '@mui/material/Divider';\nimport EntryListModal from \"../EntryListModal\";\nimport OffSetListModal from \"../OffSetListModal\";\nimport { connect } from \"react-redux\";\nimport * as actions_list from \"redux/actions/watchListActions\";\nimport * as actions_stock from \"redux/actions/watchStockActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n \"justifyContent\": \"space-between\"\n },\n\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n row: {\n flexDirection: \"row\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n padding: \"10px\"\n }\n}));\n\nconst Toolbar = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n list_id: null\n });\n\n const [state, setState] = useState({\n isValid: true,\n id: props.user_id\n });\n /*\n useEffect(() => {\n props.loadListStock({ id: props.user_id }, props.token);\n }, props.list);\n */\n const [open, setOpen] = React.useState(false);\n\n\n const handleDropDown = (event) => {\n // event.persist();\n if (event.target.value === 100) {\n setOpen(true);\n }\n else {\n setValues({\n ...values,\n [event.target.name]: event.target.value\n });\n props.loadListStock({\n id: props.user_id,\n list_id: event.target.value\n }, props.token);\n }\n };\n\n const handleChange = (event) => {\n event.persist();\n setState({\n ...state,\n [event.target.name]: event.target.value,\n isValid: event.target.value.length > 0 ? false : true\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n setOpen(false);\n props.NewItem(state, props.token);\n };\n\n return (\n
    \n\n \n \n {\n props.list.map((item) => (\n {item.name}\n ))\n }\n \n Add List\n \n \n \n\n\n \n\n
    \n );\n};\n\nToolbar.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.watchList.list,\n error: reducer.watchList.error,\n loading: reducer.watchList.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n NewItem: (params, token) =>\n dispatch(actions_list.newItem({ params, token })),\n loadListStock: (params, token) =>\n dispatch(actions_stock.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\n/**\n *
    \n * \n * \n Last 12 month \n \n }\n title=\"Latest P/L\"\n />\n \n
    \n \n \n \n \n \n
    \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { Table, Toolbar } from \"./components\";\nimport { connect } from \"react-redux\";\nimport * as actions_stock from \"redux/actions/watchStockActions\";\nimport * as actions_list from \"redux/actions/watchListActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst List = (props) => {\n\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n useEffect(() => {\n props.loadListWatchList(props.user_id, props.token);\n props.loadListStock({ id: props.user_id }, props.token);\n }, list);\n\n return (\n
    \n \n
    \n \n \n \n );\n};\n\nList.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.watchStock.list,\n error: reducer.watchStock.error,\n loading: reducer.watchStock.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadListStock: (params, token) =>\n dispatch(actions_stock.loadList({ params, token })),\n loadListWatchList: (user_id, token) =>\n dispatch(actions_list.loadList({ user_id, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(List);","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { CommentItem } from \"components\";\nimport PhotoCameraIcon from '@mui/icons-material/PhotoCamera';\nimport SendIcon from '@mui/icons-material/Send';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport IconButton from '@mui/material/IconButton';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\nimport \"./styles.css\";\nimport {\n Button,\n} from '@material-ui/core';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/commentActions\";\nimport CardActions from '@mui/material/CardActions';\nimport MiniLoader from \"components/MiniLoader\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Comments = (props) => {\n\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n const [values, setValues] = useState({\n comment: \"\",\n id: props.user_id,\n image: \"\",\n file: \"\",\n hasFile: false,\n });\n\n useEffect(() => {\n props.loadList({ id: props.user_id }, props.token);\n }, list);\n\n const onClickSend = (event) => {\n let params = new FormData();\n params.append(\"comment\", values.comment);\n params.append(\"id\", values.id);\n params.append(\"file\", values.file);\n\n props.newItem(params, props.token);\n setValues({\n ...values,\n comment: \"\",\n image: \"\",\n file: \"\",\n hasFile: false,\n });\n }\n\n const onClickCloseImg = (event) => {\n setValues({\n ...values,\n file: \"\",\n image: \"\",\n hasFile: false,\n });\n }\n\n const onChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n }\n\n const onClickUp = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"1\"\n }, props.token);\n\n }\n\n const onClickDown = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"2\"\n }, props.token);\n\n }\n\n const onClickComment = (item) => {\n props.setItem(item);\n //props.loadList({ id: props.user_id }, props.token);\n }\n\n const onChangeImage = async (e) => {\n e.preventDefault();\n\n let reader = new FileReader();\n let file = e.target.files[0];\n\n reader.onloadend = () => {\n setValues({\n ...values,\n file: file,\n image: reader.result,\n hasFile: true,\n });\n };\n reader.readAsDataURL(file);\n };\n\n const onClickLoadMore = async (e) => {\n props.loadMore(\n {\n id: props.user_id,\n index: props.pageCount,\n }\n , props.token);\n }\n\n return (\n\n \n \n\n\n \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n {values.hasFile && (\n \n \n \n \n \n \n
    \n \n
    \n
    \n )}\n {\n props.list.map((item) => (\n { onClickUp(item) }}\n onClickDown={() => { onClickDown(item) }}\n onClickComment={() => { onClickComment(item) }}\n />\n ))\n }\n {\n props.loading &&
    \n
    \n }\n
    \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n \n )\n )\n }\n
    \n
    \n\n );\n};\n\nComments.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.comment.list,\n error: reducer.comment.error,\n loading: reducer.comment.loading,\n\n pageCount: reducer.comment.page_count,\n pageSize: reducer.comment.page_size,\n loadingMore: reducer.comment.loadingMore,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n updateLike: (params, token) =>\n dispatch(actions.updateLike({ params, token })),\n setItem: (item) =>\n dispatch(actions.setItem({ item })),\n loadMore: (params, token) =>\n dispatch(actions.loadListScroll({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Comments);\n","import {\n Comments,\n} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/dashboardActions\";\nimport MarketWinLow from 'components/MarketWinLow';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Wall = (props) => {\n const classes = useStyles();\n const [list, setList] = useState({});\n\n useEffect(() => {\n // props.loadList(props.user_id, props.token);\n }, list);\n\n return (\n
    \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    );\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n // loadList: (user_id, token) =>\n // dispatch(actions.loadListLatesroi({ user_id, token })), \n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Wall);\n\n/**\n \n */","//import {\n// Comments,\n// StockSummary,\n// LatestSales,\n//} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions from \"../../redux/actions/dashboardActions\";\nimport { PayPalButton } from \"react-paypal-button-v2\";\nimport { config } from \"../../config\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Suscription = (props) => {\n const classes = useStyles();\n const [list, setList] = useState({});\n /*\n useEffect(() => {\n // props.loadList(props.user_id, props.token);\n }, list);\n */\n return (\n
    \n\n \n \n {\n return actions.subscription.create({\n plan_id: 'P-6NE427773H0019055MNC4EYI',\n });\n }}\n onApprove={(data, actions) => {\n // Capture the funds from the transaction\n return actions.subscription.get().then(function (details) {\n props.history.push(\"/suscription\");\n return fetch(\"/api/suscription\", {\n method: \"post\",\n body: JSON.stringify({\n order_id: data.orderID,\n subscription_id: data.subscriptionID,\n id: props.user_id,\n token: props.token,\n details: details,\n plan_id: 'P-6NE427773H0019055MNC4EYI',\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\n//export default Report; \n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n // loadList: (user_id, token) =>\n // dispatch(actions.loadListLatesroi({ user_id, token })), \n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Suscription);","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n FOLLOWER_UPSET_SUCCESS,\n FOLLOWER_UPSET_FAILED,\n ///////////////////\n PROFILE_ITEM_SUCCESS,\n PROFILE_ITEM_FAILED\n ///////////\n} from \"../types/profileTypes\";\nimport { config } from \"../../config\";\nconst url_api = config.api.web;\n\nexport function success(item) {\n return {\n type: PROFILE_ITEM_SUCCESS,\n item: item\n };\n}\n\nexport function failed(error) {\n return {\n type: PROFILE_ITEM_FAILED,\n error: error\n };\n}\n//////////////////////////\nexport function successFollow(item) {\n return {\n type: FOLLOWER_UPSET_SUCCESS,\n item: item\n };\n}\n\nexport function failedFollow(error) {\n return {\n type: FOLLOWER_UPSET_FAILED,\n error: error\n };\n}\n\nexport const upsetFollow = (data: Object) => async (dispatch) => {\n await axios({\n method: \"put\",\n url: url_api + \"profile/follow\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successFollow(response.data.body));\n else dispatch(failedFollow(response.data.body));\n } else {\n dispatch(failedFollow(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedFollow(\"try_later\"));\n } else {\n dispatch(failedFollow(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadItem = (data: Object) => async dispatch => {\n // dispatch(loading());\n await axios\n .get(url_api + \"profile/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};","export const FOLLOWER_UPSET_SUCCESS = \"FOLLOWER_UPSET_SUCCESS\";\nexport const FOLLOWER_UPSET_FAILED = \"FOLLOWER_UPSET_FAILED\";\n\nexport const PROFILE_ITEM_SUCCESS = \"PROFILE_ITEM_SUCCESS\";\nexport const PROFILE_ITEM_FAILED = \"PROFILE_ITEM_FAILED\";\n\n\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n FOLLOWER_LIST_ATTEMPT,\n FOLLOWER_LIST_SUCCESS,\n FOLLOWER_LIST_FAILED,\n ////////////////////\n FOLLOWER_MORELIST_ATTEMPT,\n FOLLOWER_MORELIST_SUCCESS,\n FOLLOWER_MORELIST_FAILED\n} from \"../types/followerListTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: FOLLOWER_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: FOLLOWER_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: FOLLOWER_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: FOLLOWER_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: FOLLOWER_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: FOLLOWER_MORELIST_FAILED,\n error: error\n };\n}\n\n////////////////////////\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"follower/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"follower/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};","export const FOLLOWER_LIST_ATTEMPT = \"FOLLOWER_LIST_ATTEMPT\";\nexport const FOLLOWER_LIST_SUCCESS = \"FOLLOWER_LIST_SUCCESS\";\nexport const FOLLOWER_LIST_FAILED = \"FOLLOWER_LIST_FAILED\";\n////////////\nexport const FOLLOWER_MORELIST_ATTEMPT = \"FOLLOWER_MORELIST_ATTEMPT\";\nexport const FOLLOWER_MORELIST_SUCCESS = \"FOLLOWER_MORELIST_SUCCESS\";\nexport const FOLLOWER_MORELIST_FAILED = \"FOLLOWER_MORELIST_FAILED\";","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\nimport ListItemText from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport Divider from '@mui/material/Divider';\nimport List from '@mui/material/List';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport Avatar from '@mui/material/Avatar';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/followerListActions\";\n\nfunction FollowItem(props) {\n return (\n \n \n {\"Unfollow\"}\n \n ) : (\n \n {\"Follow\"}\n \n )\n }\n\n >\n \n \n \n \n \n {props.item.username}\n \n \n }\n />\n \n \n \n )\n}\nconst FormDialog = (props) => {\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n props.loadList({\n id: props.user_id,\n follower_id: props.item.id,\n kind: props.kind\n }, props.token);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n return (\n
    \n \n \n {props.title}\n \n \n {props.subtitle}\n \n \n \n {\n props.list.map((element) => {\n return \n })\n }\n \n \n \n \n \n \n
    \n );\n}\n\n\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.followerList.list,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n// {props.item.username}\n/**\n * \n \n \n }\n */","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport Button from '@mui/material/Button';\nimport QuestionAnswerIcon from '@mui/icons-material/QuestionAnswer';\nimport PersonRemoveIcon from '@mui/icons-material/PersonRemove';\nimport PersonAddAlt1Icon from '@mui/icons-material/PersonAddAlt1';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/profileActions\";\nimport FollowListModalJs from './components/FollowListModal.js';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n profile: {\n\n },\n row: {\n display: 'flex',\n justifyContent: 'space-around',\n },\n avatar: {\n //marginLeft: 'auto',\n height: 110,\n width: 100,\n flexShrink: 0,\n flexGrow: 0\n },\n progress: {\n marginTop: theme.spacing(2)\n },\n uploadButton: {\n marginRight: theme.spacing(2)\n }\n}));\n\nconst AccountProfile = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickUpsetFollow = () => {\n props.upsetFollow({\n id: props.user_id,\n follower_id: props.item.id\n }, props.token);\n }\n\n return (\n \n \n
    \n
    \n \n
    \n
    \n \n {\"@\"}{props.item.username}\n \n
    \n
    \n \n {props.item.follow && props.item.follow.followme}\n \n \n {props.item.follow && props.item.follow.follower}\n \n
    \n
    \n } item={props.item} title={} kind={\"following\"} disabled={props.item.follow && props.item.follow.followme > 0} />\n\n } item={props.item} title={} kind={\"followers\"} disabled={props.item.follow && props.item.follow.follower > 0} />\n
    \n
    \n {\n props.item.id === auth.id ? (<>) : (\n \n \n {\n props.item.follow && props.item.follow.status === 1 ? () : ()\n }\n \n \n \n \n \n )\n }\n
    \n
    \n
    \n \n\n \n );\n};\n\nAccountProfile.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n item: reducer.profile.item,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n upsetFollow: (params, token) =>\n dispatch(actions.upsetFollow({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountProfile);\n\n/**\n * \n \n \n \n {\"Follower\"}\n \n * Typography\n * variant=\"body1\"\n * \n {auth.city}, {auth.country}\n \n *
    \n Profile Completeness: 70%\n \n
    \n * \n * \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\n//import { Table, Toolbar } from \"./components\";\nimport { CommentItem } from \"components\";\nimport PhotoCameraIcon from '@mui/icons-material/PhotoCamera';\nimport SendIcon from '@mui/icons-material/Send';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport IconButton from '@mui/material/IconButton';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\nimport \"./styles.css\";\nimport {\n Button,\n} from '@material-ui/core';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/commentActions\";\nimport CardActions from '@mui/material/CardActions';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Comments = (props) => {\n\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n const [values, setValues] = useState({\n comment: \"\",\n id: props.user_id,\n image: \"\",\n file: \"\",\n hasFile: false,\n });\n /*\n useEffect(() => {\n \n }, list);\n */\n const onClickSend = (event) => {\n let params = new FormData();\n params.append(\"comment\", values.comment);\n params.append(\"id\", values.id);\n params.append(\"file\", values.file);\n\n props.newItem(params, props.token);\n setValues({\n ...values,\n comment: \"\",\n image: \"\",\n file: \"\",\n hasFile: false,\n });\n }\n\n const onClickCloseImg = (event) => {\n setValues({\n ...values,\n file: \"\",\n image: \"\",\n hasFile: false,\n });\n }\n\n const onChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n }\n\n const onClickUp = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"1\"\n }, props.token);\n\n }\n\n const onClickDown = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"2\"\n }, props.token);\n\n }\n\n const onClickComment = (item) => {\n // console.log(\"comment\");\n props.setItem(item);\n props.loadList({ id: props.user_id }, props.token);\n //props.history.push(\"/comment\");\n }\n\n const onChangeImage = async (e) => {\n e.preventDefault();\n\n let reader = new FileReader();\n let file = e.target.files[0];\n\n reader.onloadend = () => {\n setValues({\n ...values,\n file: file,\n image: reader.result,\n hasFile: true,\n });\n };\n reader.readAsDataURL(file);\n };\n\n return (\n\n \n {values.hasFile && (\n \n \n \n \n \n \n
    \n \n
    \n
    \n )}\n {\n props.list.map((item) => (\n { onClickUp(item) }}\n onClickDown={() => { onClickDown(item) }}\n onClickComment={() => { onClickComment(item) }}\n />\n ))\n }\n
    \n \n
    \n\n
    \n\n );\n};\n\nComments.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.profile.item,\n\n list: reducer.comment.list,\n error: reducer.comment.error,\n loading: reducer.comment.loading,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n updateLike: (params, token) =>\n dispatch(actions.updateLike({ params, token })),\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n setItem: (item) =>\n dispatch(actions.setItem({ item }))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Comments);\n//
    \n\n/**\n * \n\n\n \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n * {this.props.commentList.map(item => {\n return (\n {\n this.onClickUp(item);\n }}\n onClickDown={() => {\n this.onClickDown(item);\n }}\n />\n );\n })}\n
    \n
    \n
    \n
    \n //style={{ \"width\": \"inherit\", \"fontFamily\": \"inherit\", \"fontSize\": \"initial\" }}\n */","import {\n Comments,\n AccountProfile,\n} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions_profile from \"redux/actions/profileActions\";\nimport * as actions_comment from \"redux/actions/commentActions\";\nimport MarketWinLow from 'components/MarketWinLow';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Profile = (props) => {\n const classes = useStyles();\n const [list, setList] = useState({});\n\n useEffect(() => {\n const follower_id = props.match.params.follower_id;\n props.loadItem({\n id: props.user_id,\n follower_id: follower_id\n }, props.token);\n props.loadList({\n id: props.user_id,\n follower_id: follower_id\n }, props.token);\n }, list);\n\n return (\n
    \n \n \n
    \n \n \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    );\n\n};\n\n//export default Report;\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadItem: (params, token) =>\n dispatch(actions_profile.loadItem({ params, token })),\n loadList: (params, token) =>\n dispatch(actions_comment.loadListProfile({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Profile);","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardMedia from '@mui/material/CardMedia';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport Collapse from '@mui/material/Collapse';\nimport Avatar from '@mui/material/Avatar';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport { red } from '@mui/material/colors';\nimport FavoriteIcon from '@mui/icons-material/Favorite';\nimport ShareIcon from '@mui/icons-material/Share';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport TrendingDownIcon from '@mui/icons-material/TrendingDown';\nimport CommentIcon from '@mui/icons-material/Comment';\nimport MessageIcon from '@mui/icons-material/Message';\nimport ReplyIcon from '@mui/icons-material/Reply';\nimport { Link } from '@material-ui/core';\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { YoutubeEmbed } from \"components\";\n\nconst ExpandMore = styled((props) => {\n const { expand, ...other } = props;\n return ;\n})(({ theme, expand }) => ({\n transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',\n marginLeft: 'auto',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n}));\n\nfunction getEmbedId(url) {\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#\\&\\?]*).*/;\n var match = url.match(regExp);\n if (match && match[7].length === 11) {\n console.log(match[7]);\n return match[7];\n } else {\n return false;\n }\n}\nexport default function CommentItem(props) {\n const [expanded, setExpanded] = React.useState(false);\n\n const handleExpandClick = () => {\n setExpanded(!expanded);\n };\n\n return (\n \n \n {props.item.user.avatar}\n \n }\n action={\n \n \n \n }\n title={{props.item.user.username}}\n subheader={props.item.created_at}\n />\n {\n props.item.media && (\n \n )\n }\n {\n getEmbedId(props.item.comment) && ()\n }\n \n {props.item.comment}\n \n \n
    \n {props.item.like.countUp}\n \n \n \n\n {props.item.like.countDown}\n \n \n \n
    \n
    \n {\n props.item.count_subcomment > 1 && ({\"See more comments (\"}{props.item.count_subcomment}{\")\"})\n }\n \n \n \n
    \n
    \n
    \n );\n}\n/**\n * color=\"disabled\" \n * \n \n \n \n \n \n \n This impressive paella is a perfect party dish and a fun meal to cook\n together with your guests. Add 1 cup of frozen peas along with the mussels,\n if you like.\n \n \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\n//import { Table, Toolbar } from \"./components\";\nimport { CommentItem } from \"../CommentItem\";\nimport PhotoCameraIcon from '@mui/icons-material/PhotoCamera';\nimport SendIcon from '@mui/icons-material/Send';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport IconButton from '@mui/material/IconButton';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\nimport \"./styles.css\";\nimport {\n Button,\n} from '@material-ui/core';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport { connect } from \"react-redux\";\nimport * as actions from \"../../../../redux/actions/commentActions\";\nimport CardActions from '@mui/material/CardActions';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Comments = (props) => {\n\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n const [values, setValues] = useState({\n comment: \"\",\n id: props.user_id,\n image: \"\",\n file: \"\",\n hasFile: false,\n comment_id: props.item.id\n });\n\n useEffect(() => {\n props.loadList({ id: props.user_id, comment_id: props.item.id }, props.token);\n }, [props.item]);//list\n\n const onClickSend = (event) => {\n let params = new FormData();\n params.append(\"comment\", values.comment);\n params.append(\"id\", values.id);\n params.append(\"file\", values.file);\n params.append(\"comment_id\", values.comment_id);\n\n props.newItem(params, props.token);\n setValues({\n ...values,\n comment: \"\",\n image: \"\",\n file: \"\",\n hasFile: false,\n });\n }\n\n const onClickCloseImg = (event) => {\n setValues({\n ...values,\n file: \"\",\n image: \"\",\n hasFile: false,\n });\n }\n\n const onChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n }\n\n const onClickUp = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"1\"\n }, props.token);\n\n }\n\n const onClickDown = (item) => {\n //console.log(event)\n props.updateLike({\n comment_id: item.id,\n id: props.user_id,\n reaction: \"2\"\n }, props.token);\n\n }\n\n const onChangeImage = async (e) => {\n e.preventDefault();\n\n let reader = new FileReader();\n let file = e.target.files[0];\n\n reader.onloadend = () => {\n setValues({\n ...values,\n file: file,\n image: reader.result,\n hasFile: true,\n });\n };\n reader.readAsDataURL(file);\n };\n\n return (\n
    \n
    \n { onClickUp(props.item) }}\n onClickDown={() => { onClickDown(props.item) }}\n />\n\n {\n props.list.map((item) => (\n { onClickUp(item) }}\n onClickDown={() => { onClickDown(item) }}\n />\n ))\n }\n
    \n \n
    \n
    \n width: 100%;\n }} >\n\n {values.hasFile ? (\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 \n
    \n
    \n
    \n\n );\n};\n\nComments.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.comment.list,\n error: reducer.comment.error,\n loading: reducer.comment.loading,\n\n item: reducer.comment.item\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n updateLike: (params, token) =>\n dispatch(actions.updateLike({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Comments);\n//
    \n\n/**\n * {this.props.commentList.map(item => {\n return (\n {\n this.onClickUp(item);\n }}\n onClickDown={() => {\n this.onClickDown(item);\n }}\n />\n );\n })}\n
    \n
    \n
    \n
    \n //style={{ \"width\": \"inherit\", \"fontFamily\": \"inherit\", \"fontSize\": \"initial\" }}\n */","import {\n Comments,\n // StockSummary,\n // LatestSales,\n} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport Card from '@mui/material/Card';\nimport Indicator from 'components/Indicator';\nimport MarketWinLow from 'components/MarketWinLow';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Comment = (props) => {\n const classes = useStyles();\n const [list, setList] = useState({});\n\n useEffect(() => {\n // props.loadList(props.user_id, props.token);\n }, list);\n\n return (\n
    \n\n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    );\n\n};\n\n//export default Report;\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n // loadList: (user_id, token) =>\n // dispatch(actions.loadListLatesroi({ user_id, token })), \n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Comment);\n\n/**\n \n */","import React, { useState, useEffect } from 'react';\nimport { Link as RouterLink, withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport validate from 'validate.js';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Grid,\n Button,\n IconButton,\n TextField,\n Link,\n Typography\n} from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/sessionActions\";//\n//import logo from '../../assets/logo2.png';\nimport { Facebook as FacebookIcon, Google as GoogleIcon } from 'icons';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst schema = {\n email: {\n presence: { allowEmpty: false, message: 'is required' },\n email: true,\n length: {\n maximum: 64\n }\n },\n};\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.default,\n height: '100%'\n },\n grid: {\n height: '100%'\n },\n quoteContainer: {\n [theme.breakpoints.down('md')]: {\n display: 'none'\n }\n },\n quote: {\n backgroundColor: theme.palette.neutral,\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n },\n quoteInner: {\n textAlign: 'center',\n flexBasis: '600px'\n },\n quoteText: {\n color: theme.palette.black,\n fontWeight: 300\n },\n name: {\n marginTop: theme.spacing(3),\n color: theme.palette.black\n },\n bio: {\n color: theme.palette.black\n },\n contentContainer: {},\n content: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n contentHeader: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: theme.spacing(5),\n paddingBototm: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n logoImage: {\n marginLeft: theme.spacing(4)\n },\n contentBody: {\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n form: {\n paddingLeft: 100,\n paddingRight: 100,\n paddingBottom: 125,\n flexBasis: 700,\n [theme.breakpoints.down('sm')]: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n }\n },\n title: {\n marginTop: theme.spacing(3)\n },\n socialButtons: {\n marginTop: theme.spacing(3)\n },\n socialIcon: {\n marginRight: theme.spacing(1)\n },\n sugestion: {\n marginTop: theme.spacing(2)\n },\n textField: {\n marginTop: theme.spacing(2)\n },\n signInButton: {\n margin: theme.spacing(2, 0)\n }\n}));\n\nconst Recovery = props => {\n const { history } = props;\n\n const classes = useStyles();\n\n const [formState, setFormState] = useState({\n isValid: false,\n values: {},\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n props.error && alertify.error(props.error);\n if (props.success) {\n alertify.success(props.success);\n history.push('/login');\n }\n props.Logout();\n const errors = validate(formState.values, schema);\n\n setFormState(formState => ({\n ...formState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n }, [formState.values]);\n\n const handleBack = () => {\n history.goBack();\n };\n\n const handleChange = event => {\n event.persist();\n\n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n },\n touched: {\n ...formState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleRecovery = async event => {\n event.preventDefault();\n await props.Recovery(formState.values.email);\n setFormState(formState => ({\n ...formState,\n isValid: false,\n values: {},\n touched: {},\n errors: {},\n }));\n };\n\n const hasError = field =>\n formState.touched[field] && formState.errors[field] ? true : false;\n\n return (\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 \n \n \n \n \n
    \n
    \n \n \n
    \n );\n};\n\nRecovery.propTypes = {\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n error: reducer.session.error,\n success: reducer.session.success,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n Recovery: (email) =>\n dispatch(actions.recovery({ email })),\n Logout: () =>\n dispatch(actions.logout()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Recovery);","import React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid, Button, TextField, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n//import { AccountProfile, AccountDetails, Password } from './components';\nimport { connect } from \"react-redux\";\nimport validate from 'validate.js';\nimport * as actions from \"redux/actions/sessionActions\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\nimport { useLocation } from \"react-router-dom\"\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst schema = {\n pwd_new: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 128\n }\n },\n pwd_new1: {\n presence: { allowEmpty: false, message: 'is required' },\n length: {\n maximum: 128\n }\n },\n\n};\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.default,\n height: '100%'\n },\n grid: {\n height: '100%'\n },\n content: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n contentBody: {\n flexGrow: 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%'\n\n },\n title: {\n margin: '10px',\n textAlign: 'center'\n },\n textField: {\n marginBottom: theme.spacing(2)\n },\n Button: {\n //margin: theme.spacing(2)\n }\n}));\n\nconst params = new URLSearchParams(window.location.pathname);\n\nconst Reset = (props) => {\n const location = useLocation();\n const params = new URLSearchParams(location.search);\n\n const { history } = props;\n\n const classes = useStyles();\n\n const [formState, setFormState] = useState({\n isValid: false,\n values: {\n token: params.get(\"t\"),\n },\n touched: {},\n errors: {}\n });\n\n useEffect(() => {\n props.error && alertify.error(props.error);\n // console.log(params.get(\"t\"));\n if (props.success) {\n alertify.success(props.success);\n history.push('/login');\n }\n props.Logout();\n const errors = validate(formState.values, schema);\n setFormState(formState => ({\n ...formState,\n isValid: errors ? false : true,\n errors: errors || {}\n }));\n\n }, [formState.values]);\n\n const handleChange = event => {\n event.persist();\n\n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: event.target.value\n },\n touched: {\n ...formState.touched,\n [event.target.name]: true\n }\n }));\n };\n\n const handleActivate = async event => {\n event.preventDefault();\n\n if (formState.values.pwd_new !== formState.values.pwd_new1) {\n alertify.error(\"Passwords are not the same\");\n return;\n }\n await props.Activate(formState.values);\n setFormState(formState => ({\n ...formState,\n isValid: false,\n values: {},\n touched: {},\n errors: {},\n }));\n };\n\n const hasError = field =>\n formState.touched[field] && formState.errors[field] ? true : false;\n\n return (\n
    \n
    \n
    \n \n \n \n \n \n \n }\n name=\"pwd_new\"\n id=\"pwd_new\"\n onChange={handleChange}\n type=\"password\"\n value={formState.values.pwd_new || ''}\n variant=\"outlined\"\n />\n }\n name=\"pwd_new1\"\n id=\"pwd_new1\"\n onChange={handleChange}\n type=\"password\"\n value={formState.values.pwd_new1 || ''}\n variant=\"outlined\"\n />\n \n \n \n \n
    \n
    \n
    \n );\n};\n\n//export default Account;\nReset.propTypes = {\n history: PropTypes.object\n};\n\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n error: reducer.session.error,\n success: reducer.session.success,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n Activate: (params) =>\n dispatch(actions.activate({ params })),\n Logout: () =>\n dispatch(actions.logout()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Reset);\n/**\n * spacing={2}\n * \n \n \n */","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport AddIcon from '@mui/icons-material/Add';\nimport PersonRemoveIcon from '@mui/icons-material/PersonRemove';\nimport PersonAddAlt1Icon from '@mui/icons-material/PersonAddAlt1';\nimport WatchListModal from 'components/WatchListModal';\n//import * as actions from \"redux/actions/profileActions\";\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n profile: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n row: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n marginRight: '7px',\n height: 100,\n width: 100,\n flexShrink: 0,\n flexGrow: 0\n },\n progress: {\n marginTop: theme.spacing(2)\n },\n uploadButton: {\n marginRight: theme.spacing(2)\n }\n}));\n\nconst StockProfile = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickUpsetFollow = () => {\n /* props.upsetFollow({\n id: props.user_id,\n follower_id: props.item.id\n }, props.token);*/\n }\n\n return (\n \n \n
    \n
    \n \n
    \n \n {props.item.ask}\n USD\n \n \n {props.item.symbol}\n \n \n {props.item.name}\n \n
    \n
    \n\n\n
    \n \n \n {\"Add Watchlist\"}\n \n \n \n \n {props.item.exchange}\n \n
    \n
    \n
    \n \n\n \n );\n};\n\nStockProfile.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n auth: reducer.session.auth,\n item: reducer.stock.item,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // upsetFollow: (params, token) =>\n // dispatch(actions.upsetFollow({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StockProfile);\n/**\n * \n \n >\n */","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport AddIcon from '@mui/icons-material/Add';\nimport PersonRemoveIcon from '@mui/icons-material/PersonRemove';\nimport PersonAddAlt1Icon from '@mui/icons-material/PersonAddAlt1';\n\n//import * as actions from \"redux/actions/profileActions\";\nconst useStyles = makeStyles(theme => ({\n root: {},\n profile: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n row: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n marginRight: '7px',\n height: 100,\n width: 100,\n flexShrink: 0,\n flexGrow: 0\n },\n progress: {\n marginTop: theme.spacing(2)\n },\n uploadButton: {\n marginRight: theme.spacing(2)\n }\n}));\n\nconst Fundamental = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickUpsetFollow = () => {\n }\n\n return (\n \n \n
    \n
    \n\n
    \n \n {props.item.name}\n \n \n {\"Market Capital:\"}{props.item.market_cap}\n \n\n \n {\"Total Employees:\"}{props.item.total_employees}\n \n \n {\"List Date:\"}{props.item.list_date}\n \n\n

    \n {props.item.description}\n

    \n
    \n \n {props.item.homepage_url}{\" Phone:\"}{props.item.phone_number} {\" \"}{props.item.city} {\" ZipCode:\"}{props.item.postal_code}{\" \"}{props.item.address}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n );\n};\n\nFundamental.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n item: reducer.stock.item,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // upsetFollow: (params, token) =>\n // dispatch(actions.upsetFollow({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Fundamental);","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardMedia from '@mui/material/CardMedia';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport Collapse from '@mui/material/Collapse';\nimport Avatar from '@mui/material/Avatar';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport { red } from '@mui/material/colors';\nimport FavoriteIcon from '@mui/icons-material/Favorite';\nimport ShareIcon from '@mui/icons-material/Share';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport TrendingDownIcon from '@mui/icons-material/TrendingDown';\nimport CommentIcon from '@mui/icons-material/Comment';\nimport MessageIcon from '@mui/icons-material/Message';\nimport { Link } from '@material-ui/core';\n//import { Link as RouterLink } from \"react-router-dom\";\n\n\nconst ExpandMore = styled((props) => {\n const { expand, ...other } = props;\n return ;\n})(({ theme, expand }) => ({\n transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',\n marginLeft: 'auto',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n}));\n\n\n\n\nexport default function NewsItem(props) {\n const [expanded, setExpanded] = React.useState(false);\n\n const handleExpandClick = () => {\n setExpanded(!expanded);\n };\n\n return (\n \n \n }\n action={ {props.item.published_utc}}\n\n title={{props.item.title}}\n subheader={props.item.description}\n />\n {\n props.item.publisher && (\n\n
    \n By {props.item.publisher.name}\n \n\n
    \n )\n }\n\n\n \n\n \n\n
    \n );\n}","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n NEWS_LIST_ATTEMPT,\n NEWS_LIST_SUCCESS,\n NEWS_LIST_FAILED,\n ////////////////////\n NEWS_MORELIST_ATTEMPT,\n NEWS_MORELIST_SUCCESS,\n NEWS_MORELIST_FAILED,\n ////////////////////////\n STOCK_INDICATOR_ATTEMPT,\n STOCK_INDICATOR_SUCCESS,\n STOCK_INDICATOR_FAILED,\n //////////////////////\n STOCK_STRATEGY_ATTEMPT,\n STOCK_STRATEGY_SUCCESS,\n STOCK_STRATEGY_FAILED\n} from \"../types/stockNewsTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: NEWS_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: NEWS_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: NEWS_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: NEWS_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: NEWS_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: NEWS_MORELIST_FAILED,\n error: error\n };\n}\n////////////////////////\nexport function loadingIndicator() {\n return {\n type: STOCK_INDICATOR_ATTEMPT\n };\n}\n\nexport function successIndicator(data) {\n return {\n type: STOCK_INDICATOR_SUCCESS,\n data: data\n };\n}\n\nexport function failedIndicator(error) {\n return {\n type: STOCK_INDICATOR_FAILED,\n error: error\n };\n}\n//////////////////////////////////\nexport function loadingStrategy() {\n return {\n type: STOCK_STRATEGY_ATTEMPT\n };\n}\n\nexport function successStrategy(data) {\n return {\n type: STOCK_STRATEGY_SUCCESS,\n data: data\n };\n}\n\nexport function failedStrategy(error) {\n return {\n type: STOCK_STRATEGY_FAILED,\n error: error\n };\n}\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"stock/news\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"stock/news\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\n\nexport const loadIndicator = (data: Object) => async dispatch => {\n dispatch(loadingIndicator());\n await axios\n .get(url_api + \"stock/indicator\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successIndicator(response.data.body));\n else dispatch(failedIndicator(response.data.body));\n } else {\n dispatch(failedIndicator(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedIndicator(\"try_later\"));\n } else {\n dispatch(failedIndicator(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadStrategy = (data: Object) => async dispatch => {\n dispatch(loadingStrategy());\n await axios\n .get(url_api + \"stock/strategy\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successStrategy(response.data.body));\n else dispatch(failedStrategy(response.data.body));\n } else {\n dispatch(failedStrategy(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedStrategy(\"try_later\"));\n } else {\n dispatch(failedStrategy(\"try_later\"));\n }\n return;\n });\n};","export const NEWS_LIST_ATTEMPT = \"NEWS_LIST_ATTEMPT\";\nexport const NEWS_LIST_SUCCESS = \"NEWS_LIST_SUCCESS\";\nexport const NEWS_LIST_FAILED = \"NEWS_LIST_FAILED\";\n////////////\nexport const NEWS_MORELIST_ATTEMPT = \"NEWS_MORELIST_ATTEMPT\";\nexport const NEWS_MORELIST_SUCCESS = \"NEWS_MORELIST_SUCCESS\";\nexport const NEWS_MORELIST_FAILED = \"NEWS_MORELIST_FAILED\";\n/////////////\nexport const STOCK_INDICATOR_ATTEMPT = \"STOCK_INDICATOR_ATTEMPT\";\nexport const STOCK_INDICATOR_SUCCESS = \"STOCK_INDICATOR_SUCCESS\";\nexport const STOCK_INDICATOR_FAILED = \"STOCK_INDICATOR_FAILED\";\n////////////////\nexport const STOCK_STRATEGY_ATTEMPT = \"STOCK_STRATEGY_ATTEMPT\";\nexport const STOCK_STRATEGY_SUCCESS = \"STOCK_STRATEGY_SUCCESS\";\nexport const STOCK_STRATEGY_FAILED = \"STOCK_STRATEGY_FAILED\";\n\n","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\n//import { Table, Toolbar } from \"./components\";\nimport NewsItem from \"./components/NewsItem\";\nimport PhotoCameraIcon from '@mui/icons-material/PhotoCamera';\nimport SendIcon from '@mui/icons-material/Send';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport IconButton from '@mui/material/IconButton';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\n//import \"./styles.css\";\nimport {\n Button,\n} from '@material-ui/core';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport { connect } from \"react-redux\";\nimport * as actions from \"../../../../redux/actions/stockNewsActions\";\nimport CardActions from '@mui/material/CardActions';\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst News = (props) => {\n\n const classes = useStyles();\n const { className, history, ...rest } = props;\n //const [list, setList] = useState(props.list);\n\n const [values, setValues] = useState({});\n /*\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n symbol: props.symbol\n }, props.token);\n }, props.item);\n */\n const onClickSend = (event) => {\n }\n\n const onClickCloseImg = (event) => {\n }\n\n\n const onClickUp = (item) => {\n //console.log(event)\n }\n\n const onClickDown = (item) => {\n //console.log(event)\n }\n\n return (\n
    \n
    \n {\n props.list.map((item) => (\n { onClickUp(item) }}\n onClickDown={() => { onClickDown(item) }}\n />\n ))\n }\n
    \n \n
    \n
    \n
    \n );\n};\n\nNews.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n symbol: reducer.stock.item.symbol,\n\n list: reducer.stockNews.list,\n error: reducer.stockNews.error,\n loading: reducer.stockNews.loading,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // loadList: (params, token) =>\n // dispatch(actions.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(News);\n//
    \n\n/**\n * {this.props.commentList.map(item => {\n return (\n {\n this.onClickUp(item);\n }}\n onClickDown={() => {\n this.onClickDown(item);\n }}\n />\n );\n })}\n
    \n
    \n
    \n
    \n //style={{ \"width\": \"inherit\", \"fontFamily\": \"inherit\", \"fontSize\": \"initial\" }}\n */","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport AddIcon from '@mui/icons-material/Add';\nimport PersonRemoveIcon from '@mui/icons-material/PersonRemove';\nimport PersonAddAlt1Icon from '@mui/icons-material/PersonAddAlt1';\n\n//import * as actions from \"redux/actions/profileActions\";\nconst useStyles = makeStyles(theme => ({\n root: {},\n profile: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n row: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n marginRight: '7px',\n height: 100,\n width: 100,\n flexShrink: 0,\n flexGrow: 0\n },\n progress: {\n marginTop: theme.spacing(2)\n },\n uploadButton: {\n marginRight: theme.spacing(2)\n }\n}));\n\nconst Fundamental = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickUpsetFollow = () => {\n }\n\n return (\n \n \n
    \n
    \n\n
    \n \n {\"PL: \"}{(props.item && props.item.pl && (props.item.pl).toFixed(2))} {\" USD\"}\n \n\n \n {\"Trade Stock: \"}{props.item && props.item.countSt && props.item.countSt}\n \n \n {\"Trade Option: \"}{props.item && props.item.countOp && props.item.countOp}\n \n\n\n
    \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n );\n};\n\nFundamental.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n item: reducer.stockNews.data,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // upsetFollow: (params, token) =>\n // dispatch(actions.upsetFollow({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Fundamental);","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Card,\n CardActions,\n CardContent,\n CardHeader,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport AddIcon from '@mui/icons-material/Add';\nimport PersonRemoveIcon from '@mui/icons-material/PersonRemove';\nimport PersonAddAlt1Icon from '@mui/icons-material/PersonAddAlt1';\n\n//import * as actions from \"redux/actions/profileActions\";\nconst useStyles = makeStyles(theme => ({\n root: {},\n profile: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n row: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n marginRight: '7px',\n height: 100,\n width: 100,\n flexShrink: 0,\n flexGrow: 0\n },\n progress: {\n marginTop: theme.spacing(2)\n },\n uploadButton: {\n marginRight: theme.spacing(2)\n }\n}));\n\nconst Fundamental = props => {\n const { className, auth, ...rest } = props;\n\n const classes = useStyles();\n\n const onClickUpsetFollow = () => {\n }\n\n return (\n \n \n \n\n {\n props.list.map((item) => (\n
    \n {item.reference}\n {\"$ \"}{item.pl && (item.pl).toFixed(2)} {\" USD\"}\n
    \n ))\n }\n\n
    \n \n\n \n );\n};\n\nFundamental.propTypes = {\n className: PropTypes.string,\n auth: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.stockNews.listStrategy,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // upsetFollow: (params, token) =>\n // dispatch(actions.upsetFollow({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Fundamental);","import React from 'react';\nimport { Line } from 'react-chartjs-2';\n/*\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Filler,\n Legend,\n} from 'chart.js';\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Filler,\n Legend\n);\n*/\nconst options = {\n responsive: true,\n legend: { display: false },\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: false,\n text: 'Chart.js Line Chart',\n },\n },\n};\n\nconst labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];\n\nconst data = {\n labels,\n datasets: [\n {\n fill: false,\n label: '',\n data: labels.map(() => 10),\n borderColor: 'rgb(53, 162, 235)',\n backgroundColor: 'rgba(53, 162, 235, 0.5)',\n },\n /**\n * {\n label: 'Dataset 2',\n data: labels.map(() => faker.datatype.number({ min: -1000, max: 1000 })),\n borderColor: 'rgb(53, 162, 235)',\n backgroundColor: 'rgba(53, 162, 235, 0.5)',\n },\n */\n ],\n};\n\nexport default function Chart(props) {\n return (\n
    \n \n
    \n );\n}","import {\n Fundamental,\n StockProfile,\n News,\n Indicator,\n Strategy\n} from './components';\nimport React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { Grid } from '@material-ui/core';\nimport { connect } from \"react-redux\";\nimport * as actions_stock from \"redux/actions/stockActions\";\nimport * as actions_news from \"redux/actions/stockNewsActions\";\nimport Chart from 'components/Chart';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Stock = (props) => {\n const classes = useStyles();\n const [list, setList] = useState({});\n\n useEffect(() => {\n // console.log(\"entra\");\n props.loadItem({\n id: props.user_id,\n symbol: props.match.params.ticker\n }, props.token);\n\n props.loadList({\n id: props.user_id,\n symbol: props.match.params.ticker\n }, props.token);\n\n props.loadIndicator({\n id: props.user_id,\n symbol: props.match.params.ticker\n }, props.token);\n\n props.loadStrategy({\n id: props.user_id,\n symbol: props.match.params.ticker\n }, props.token);\n\n }, [props.match.params.ticker]);\n\n return (\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\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n item: reducer.stock.item\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadItem: (params, token) =>\n dispatch(actions_stock.loadItem({ params, token })),\n\n loadList: (params, token) =>\n dispatch(actions_news.loadList({ params, token })),\n loadIndicator: (params, token) =>\n dispatch(actions_news.loadIndicator({ params, token })),\n loadStrategy: (params, token) =>\n dispatch(actions_news.loadStrategy({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Stock);","import React, { useState, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/discoverActions\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport MiniLoader from \"components/MiniLoader\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n actions: {\n justifyContent: \"center\",\n },\n avatar: {\n marginRight: '7px',\n height: 25,\n width: 25,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.open_trade + item.close_trade - item.tax);\n });\n return pl.toFixed(2);\n}\n\nconst Table_ = (props) => {\n const { className, list, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n\n const handleSelectAll = (event) => {\n const { list } = props;\n\n let selectedList;\n\n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n setSelectedList(selectedList);\n };\n\n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n\n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n\n setSelectedList(newSelectedList);\n };\n\n const handlePageChange = (event, page) => {\n setPage(page);\n };\n\n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n\n const onClickIn = (item) => {\n // props.setPatient(item);\n };\n\n const onClickDelete = (item) => {\n props.removeItem(props.token, { patient_id: item.id, id: props.user_id });\n };\n\n const onClickLoadMore = () => {\n props.loadMore(\n {\n index: props.pageCount,\n id: props.user_id,\n }, props.token)\n };\n\n useEffect(() => {\n props.loadList({ id: props.user_id }, props.token);\n //props.loadListEarning({ id: props.user_id }, props.token);\n }, []);\n\n return (\n \n \n \n
    \n
    \n \n \n Symbol\n Name\n Exchange\n Last\n Dividend\n PaymentDate\n ExDividenDate\n Declaration\n Frequency\n \n \n \n {list.map((item) => (\n \n \n \n {item.symbol.toUpperCase()}\n {\n item.dividend === \"1\" && ()\n }\n\n \n {item.name}\n {item.exchange}\n {'$ '}{item.price}\n {'$ '}{item.dividend_amount}\n \n {moment(item.dividend_pay_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n {moment(item.dividend_ex_date).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n {moment(item.dividend_declaration).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n {item.dividend_frequency}\n \n \n ))}\n \n
    \n
    \n \n \n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n \n )\n )\n }\n \n \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.discover.list,\n error: reducer.discover.error,\n loading: reducer.discover.loading,\n\n loadingMore: reducer.discover.loadingMore,\n pageSize: reducer.discover.page_size,\n pageCount: reducer.discover.page_count,\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadListDividend({ params, token })),\n loadMore: (params, token) =>\n dispatch(actions.loadListDividendScroll({ params, token })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/**.slice((page * rowsPerPage), (rowsPerPage * (page + 1)))\n * \n * \n {item.year}\n \n \n {item.color}\n \n \n 0 &&\n selectedList.length < list.length\n }\n onChange={handleSelectAll}\n />\n \n\n \n handleSelectOne(event, item.id)}\n value=\"true\"\n />\n \n */\n","import React, { useState, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/discoverActions\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport MiniLoader from \"components/MiniLoader\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n actions: {\n justifyContent: \"center\",\n },\n avatar: {\n marginRight: '7px',\n height: 25,\n width: 25,\n flexDirection: 'row',\n position: \"absolute\",\n borderRadius: \"5px\"\n },\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.open_trade + item.close_trade - item.tax);\n });\n return pl.toFixed(2);\n}\n\nconst Table_ = (props) => {\n const { className, list, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n\n const handleSelectAll = (event) => {\n const { list } = props;\n\n let selectedList;\n\n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n setSelectedList(selectedList);\n };\n\n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n\n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n\n setSelectedList(newSelectedList);\n };\n\n const handlePageChange = (event, page) => {\n setPage(page);\n };\n\n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n\n const onClickIn = (item) => {\n // props.setPatient(item);\n };\n\n const onClickDelete = (item) => {\n props.removeItem(props.token, { patient_id: item.id, id: props.user_id });\n };\n\n const onClickLoadMore = () => {\n props.loadMore(\n {\n index: props.pageCount,\n id: props.user_id,\n }, props.token)\n };\n\n\n useEffect(() => {\n //props.loadListDividend({ id: props.user_id }, props.token);\n props.loadList({ id: props.user_id }, props.token);\n }, []);\n\n return (\n \n \n \n
    \n \n \n \n Symbol\n Name\n Exchange\n Last\n EarningDate\n Information\n Estimation\n Surprise\n \n \n \n {list.map((item) => (\n \n \n \n {item.symbol.toUpperCase()}\n {\n item.dividend === \"1\" && ()\n }\n \n {item.name}\n {item.exchange}\n {'$ '}{item.price}\n \n {moment(item.earning_at).zone(\"+00:00\").format('DD/MM/YYYY')}\n \n \n {item.information}\n \n \n {item.estimation}\n \n \n {item.surprise}\n \n \n ))}\n \n
    \n
    \n
    \n
    \n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n \n )\n )\n }\n \n
    \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.discover.list,\n error: reducer.discover.error,\n loading: reducer.discover.loading,\n\n loadingMore: reducer.discover.loadingMore,\n pageSize: reducer.discover.page_size,\n pageCount: reducer.discover.page_count,\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadListEarning({ params, token })),\n loadMore: (params, token) =>\n dispatch(actions.loadListEarningScroll({ params, token })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/**.slice((page * rowsPerPage), (rowsPerPage * (page + 1)))\n * \n * \n {item.year}\n \n \n {item.color}\n \n \n 0 &&\n selectedList.length < list.length\n }\n onChange={handleSelectAll}\n />\n \n\n \n handleSelectOne(event, item.id)}\n value=\"true\"\n />\n \n */\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport { Button } from \"@material-ui/core\"\nimport TextField from '@mui/material/TextField';\nimport { SearchInput } from \"components\";\n//import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/historyActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n row: {\n height: \"42px\",\n display: \"flex\",\n alignItems: \"center\",\n marginTop: theme.spacing(1),\n },\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n}));\n\nconst Toolbar = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n search: \"\",\n from_at: new Date().toISOString().split('T')[0],\n to_at: new Date().toISOString().split('T')[0],\n });\n const handleChange = (event) => {\n var value = event.target.value;\n var field = event.target.name;\n props.loadList({\n id: props.user_id,\n [field]: value\n }, props.token);\n };\n\n return (\n
    \n\n
    \n \n\n }\n sx={{ m: 1, width: '15ch' }}\n variant=\"outlined\"\n />\n }\n sx={{ m: 1, width: '15ch' }}\n variant=\"outlined\"\n />\n
    \n
    \n );\n};\n\nToolbar.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\n//export default Toolbar;\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.history.list,\n error: reducer.history.error,\n loading: reducer.history.loading,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\n/**\n *
    \n \n \n \n \n \n
    \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { TableDividend, TableEarning } from \"./components\";\nimport Tabs from \"components/Tabs\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/discoverActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Discover = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n return (\n
    \n\n
    \n \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n );\n};\n\nDiscover.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer); \n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.discover.list,\n error: reducer.discover.error,\n loading: reducer.discover.loading,\n\n // search: reducer.history.search,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadListDividend: (params, token) =>\n dispatch(actions.loadListDividend({ params, token })),\n loadListEarning: (params, token) =>\n dispatch(actions.loadListEarning({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Discover);","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardMedia from '@mui/material/CardMedia';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport Collapse from '@mui/material/Collapse';\nimport Avatar from '@mui/material/Avatar';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport { red } from '@mui/material/colors';\nimport FavoriteIcon from '@mui/icons-material/Favorite';\nimport ShareIcon from '@mui/icons-material/Share';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport TrendingDownIcon from '@mui/icons-material/TrendingDown';\nimport CommentIcon from '@mui/icons-material/Comment';\nimport MessageIcon from '@mui/icons-material/Message';\nimport { Link } from '@material-ui/core';\n//import { Link as RouterLink } from \"react-router-dom\";\n\n\nconst ExpandMore = styled((props) => {\n const { expand, ...other } = props;\n return ;\n})(({ theme, expand }) => ({\n transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',\n marginLeft: 'auto',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n}));\n\n\n\n\nexport default function FaqItem(props) {\n const [expanded, setExpanded] = React.useState(false);\n\n const handleExpandClick = () => {\n setExpanded(!expanded);\n };\n\n return (\n\n \n -{props.item.question}\n {props.item.answer}\n \n\n );\n}","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n FAQ_LIST_ATTEMPT,\n FAQ_LIST_SUCCESS,\n FAQ_LIST_FAILED,\n ////////////////////\n FAQ_NEW_SUCCESS,\n FAQ_NEW_FAILED,\n} from \"../types/faqTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: FAQ_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: FAQ_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: FAQ_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n/*\nexport function loadingMore() {\n return {\n type: DISCOVER_MORELIST_ATTEMPT\n };\n}\n*/\nexport function successNew(item) {\n return {\n type: FAQ_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: FAQ_NEW_FAILED,\n error: error\n };\n}\n\n////////////////////////\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"faq\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const newItem = (data: Object) => async (dispatch) => {\n // console.log(data.params);\n await axios({\n method: \"post\",\n url: url_api + \"faq/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n }).then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};","export const FAQ_LIST_ATTEMPT = \"FAQ_LIST_ATTEMPT\";\nexport const FAQ_LIST_SUCCESS = \"FAQ_LIST_SUCCESS\";\nexport const FAQ_LIST_FAILED = \"FAQ_LIST_FAILED\";\n/////////////////\nexport const FAQ_NEW_SUCCESS = \"FAQ_NEW_SUCCESS\";\nexport const FAQ_NEW_FAILED = \"FAQ_NEW_FAILED\";\n","import { Button, Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport FaqItem from \"./components/FaqItem\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/faqActions\";\nimport Typography from '@mui/material/Typography';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { SearchInput } from 'components';\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Faq = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n const [question, setQuestion] = useState(\"\");\n\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n lang: props.lang\n }, props.token);\n }, list);\n\n const onClick = () => {\n props.newItem({\n id: props.user_id,\n question: question,\n lang: props.lang\n }, props.token);\n setQuestion(\"\");\n alertify.success(\"Success\");\n }\n\n const onChange = (event) => {\n setQuestion(event.target.value);\n }\n\n return (\n
    \n \n \n
    \n \n }\n />\n
    \n \n \n
    \n {\n props.list.map((item) => (\n \n ))\n }\n
    \n
    \n \n \n
    \n );\n};\n\nHistory.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n// \n// \nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n lang: reducer.i18n.locale,\n list: reducer.faq.list,\n error: reducer.faq.error,\n loading: reducer.faq.loading,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Faq);","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/noteActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport {\n Button,\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport TextareaAutosize from '@mui/base/TextareaAutosize';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Body = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n //const [list, setList] = useState(props.list);\n\n //const [values, setValues] = useState({});\n\n // const onClickSend = (event) => {\n // }\n\n //useEffect(() => {\n // props.loadList({ id: props.user_id }, props.token);\n // }, props.text);\n // */\n\n return (\n\n
    \n \n
    \n\n );\n}\nBody.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.note.list,\n loading: reducer.note.loading,\n error: reducer.note.error,\n\n pageCount: reducer.note.page_count,\n pageSize: reducer.note.page_size,\n loadingMore: reducer.note.loadingMore,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n // loadList: (params, token) =>\n // dispatch(actions.loadList({ params, token })),\n // loadListEarning: (params, token) =>\n // dispatch(actions.loadListEarning({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Body);","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/noteActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport {\n Button,\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport MiniLoader from \"components/MiniLoader\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst List_ = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n\n // const [selectedIndex, setSelectedIndex] = React.useState(1);\n /*\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n symbol: props.symbol\n }, props.token);\n }, props.item);\n */\n\n return (\n
    \n
    \n \n {\n props.list.map((item, index) => (\n \n \n { props.onClick(item) }}\n selected={props.item.id === item.id}>\n \n \n \n \n \n ))\n }\n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n
    \n \n
    \n )\n )\n }\n\n
    \n
    \n );\n}\nList_.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.note.list,\n loading: reducer.note.loading,\n error: reducer.note.error,\n\n item: reducer.note.item,\n\n pageCount: reducer.note.page_count,\n pageSize: reducer.note.page_size,\n loadingMore: reducer.note.loadingMore,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n setItem: (item) =>\n dispatch(actions.setItem({ item })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(List_);","import React, { useState, useEffect } from 'react';\nimport validate from 'validate.js';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/noteActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst FormDialog = (props) => {\n\n const [dialogState, setDialogState] = useState({\n values: {\n title: \"\",\n id: props.user_id,\n },\n isValid: false,\n });\n\n const [open, setOpen] = React.useState(false);\n\n useEffect(() => {\n\n setDialogState(dialogState => ({\n ...dialogState,\n isValid: dialogState.values.title.length === 0\n }));\n }, [dialogState.values]);\n\n\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleChange = event => {\n event.persist();\n setDialogState(dialogState => ({\n ...dialogState,\n values: {\n ...dialogState.values,\n [event.target.name]: event.target.value\n },\n }));\n }\n\n const handleSave = (event) => {\n // event.preventDefault();\n if (dialogState.values.title === \"\") {\n return;\n }\n props.newItem(dialogState.values, props.token);\n setOpen(false);\n };\n\n return (\n
    \n \n \n Title Note\n \n \n Enter Title Note\n \n \n\n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport clsx from 'clsx';\nimport { List, Body } from \"./components\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/noteActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport { EntryModal } from './components';\n//import Divider from '@mui/material/Divider';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // padding: theme.spacing(3),\n },\n content: {\n // height: \"calc(100vh - 300px)\"\n },\n}));\n\nconst Notes = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [values, setValues] = useState({\n text: (props.item && props.item.text) || \"\"\n });\n\n const handleClickSave = (event) => {\n if (values.text.length > 0)\n props.UpdateItem({\n id: props.user_id,\n text: values.text,\n note_id: props.item.id\n }, props.token);\n else\n props.removeItem({\n id: props.user_id,\n note_id: props.item.id\n }, props.token);\n }\n\n const onChange = (event) => {\n event.persist();\n setValues(values => ({\n ...values,\n [event.target.name]: event.target.value\n }));\n }\n\n const onBlur = (event) => {\n //console.log(\"blur\");\n if (values.text.trim().length === 0)\n props.removeItem({\n id: props.user_id,\n note_id: props.item.id\n }, props.token);\n\n if (values.text.trim().length > 0 && values.text !== props.item.text)\n props.updateItemHide({\n id: props.user_id,\n text: values.text,\n note_id: props.item.id\n }, props.token);\n }\n\n const onClickSelect = (item) => {\n //console.log(props.item);\n //console.log(item);\n // if (item.id !== props.item.id) {\n // console.log(\"selected\");\n setValues(values => ({\n ...values,\n text: item.text\n }));\n props.setItem(item);\n\n // }\n\n /*if (props.item === {}) {\n setValues(values => ({\n ...values,\n text: item.text\n }));\n props.setItem(item);\n }*/\n }\n\n /*useEffect(() => {\n // props.loadList({ id: props.user_id }, props.token);\n setValues(values => ({\n ...values,\n text: (props.item && props.item.text) || \"\"\n }));\n }, props.item);*/\n\n // useEffect(() => {\n // props.list.length === 0 && props.loadList({ id: props.user_id }, props.token);\n /* setValues({\n text: props.item.text\n });*/\n /* return function cleanup() {\n if (values.text.length > 0) {\n props.updateItem({\n id: props.user_id,\n text: values.text,\n note_id: props.item.id\n }, props.token);\n \n setValues(values => ({\n ...values,\n text: \"\"\n }));\n \n /*else\n props.removeItem({\n id: props.user_id,\n note_id: props.item.id\n }, props.token);*/\n\n\n // }; }\n // }, );\n\n const handleClickNew = (event) => {\n // event.preventDefault();\n props.newItem({\n title: \"New Note\",\n id: props.user_id,\n }, props.token);\n };\n\n return (\n
    \n
    \n \n \n \n
    \n }\n title={\"Notas\"}\n />\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n
    \n \n );\n};\n\nNotes.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer); \n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.note.list,\n loading: reducer.note.loading,\n error: reducer.note.error,\n\n item: reducer.note.item,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n UpdateItem: (params, token) =>\n dispatch(actions.updateItem({ params, token })),\n updateItemHide: (params, token) =>\n dispatch(actions.updateItemHide({ params, token })),\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n setItem: (item) =>\n dispatch(actions.setItem({ item })),\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n removeItem: (params, token) =>\n dispatch(actions.removeItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Notes);\n\n","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n KNOWLEDGE_LIST_ATTEMPT,\n KNOWLEDGE_LIST_SUCCESS,\n KNOWLEDGE_LIST_FAILED,\n ////////////////////\n KNOWLEDGE_MORELIST_ATTEMPT,\n KNOWLEDGE_MORELIST_SUCCESS,\n KNOWLEDGE_MORELIST_FAILED,\n} from \"../types/knowledgeTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: KNOWLEDGE_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: KNOWLEDGE_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: KNOWLEDGE_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: KNOWLEDGE_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: KNOWLEDGE_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: KNOWLEDGE_MORELIST_FAILED,\n error: error\n };\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"knowledge/body\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"knowledge/body\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};","export const KNOWLEDGE_LIST_ATTEMPT = \"KNOWLEDGE_LIST_ATTEMPT\";\nexport const KNOWLEDGE_LIST_SUCCESS = \"KNOWLEDGE_LIST_SUCCESS\";\nexport const KNOWLEDGE_LIST_FAILED = \"KNOWLEDGE_LIST_FAILED\";\n////////////\nexport const KNOWLEDGE_MORELIST_ATTEMPT = \"KNOWLEDGE_MORELIST_ATTEMPT\";\nexport const KNOWLEDGE_MORELIST_SUCCESS = \"KNOWLEDGE_MORELIST_SUCCESS\";\nexport const KNOWLEDGE_MORELIST_FAILED = \"KNOWLEDGE_MORELIST_FAILED\";\n","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/knowledgeActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport {\n Button,\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport MiniLoader from \"components/MiniLoader\";\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst Body = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n //const [list, setList] = useState(props.list);\n\n const [values, setValues] = useState({});\n\n const onClisk = (event) => {\n props.loadListScroll({\n id: props.user_id,\n index: props.pageCount,\n category_id: 1\n }, props.token)\n }\n\n return (\n
    \n
    \n {\n props.list.map((item, index) => (\n
    \n

    \n
    \n ))\n }\n {\n props.pageSize === 1 && (\n props.loadingMore ? (\n \n ) : (\n
    \n \n
    \n )\n )\n }\n
    \n
    \n );\n}\nBody.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.knowledge.list,\n loading: reducer.knowledge.loading,\n error: reducer.knowledge.error,\n\n pageCount: reducer.knowledge.page_count,\n pageSize: reducer.knowledge.page_size,\n loadingMore: reducer.knowledge.loadingMore,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n loadListScroll: (params, token) =>\n dispatch(actions.loadListScroll({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Body);","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n KNOWLEDGE_CATEGORY_LIST_ATTEMPT,\n KNOWLEDGE_CATEGORY_LIST_SUCCESS,\n KNOWLEDGE_CATEGORY_LIST_FAILED,\n ////////////////////\n KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT,\n KNOWLEDGE_CATEGORY_MORELIST_SUCCESS,\n KNOWLEDGE_CATEGORY_MORELIST_FAILED,\n} from \"../types/knowledgeCategoryTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: KNOWLEDGE_CATEGORY_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: KNOWLEDGE_CATEGORY_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: KNOWLEDGE_CATEGORY_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: KNOWLEDGE_CATEGORY_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: KNOWLEDGE_CATEGORY_MORELIST_FAILED,\n error: error\n };\n}\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"knowledge/list\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"knowledge/list\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};","export const KNOWLEDGE_CATEGORY_LIST_ATTEMPT = \"KNOWLEDGE_CATEGORY_LIST_ATTEMPT\";\nexport const KNOWLEDGE_CATEGORY_LIST_SUCCESS = \"KNOWLEDGE_CATEGORY_LIST_SUCCESS\";\nexport const KNOWLEDGE_CATEGORY_LIST_FAILED = \"KNOWLEDGE_CATEGORY_LIST_FAILED\";\n////////////\nexport const KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT = \"KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT\";\nexport const KNOWLEDGE_CATEGORY_MORELIST_SUCCESS = \"KNOWLEDGE_CATEGORY_MORELIST_SUCCESS\";\nexport const KNOWLEDGE_CATEGORY_MORELIST_FAILED = \"KNOWLEDGE_CATEGORY_MORELIST_FAILED\";\n\n","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/knowledgeCategoryActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport {\n Button,\n Card,\n CardActions,\n CardContent,\n Avatar,\n Typography,\n Divider,\n IconButton,\n LinearProgress\n} from '@material-ui/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport MiniLoader from \"components/MiniLoader\";\nimport * as actions_body from \"redux/actions/knowledgeActions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst List_ = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n\n const [selectedIndex, setSelectedIndex] = React.useState(1);\n /*\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n symbol: props.symbol\n }, props.token);\n }, props.item);\n */\n const onClick = (item) => {\n setSelectedIndex(item.id);\n props.loadBody({\n id: props.user_id,\n category_id: item.id\n }, props.token);\n }\n\n return (\n
    \n
    \n \n {\n props.list.map((item, index) => (\n \n \n { onClick(item) }}\n selected={selectedIndex === item.id}>\n \n \n \n \n \n ))\n }\n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n
    \n \n
    \n )\n )\n }\n\n
    \n
    \n );\n}\nList_.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.knowledgeCategory.list,\n loading: reducer.knowledgeCategory.loading,\n error: reducer.knowledgeCategory.error,\n\n pageCount: reducer.knowledgeCategory.page_count,\n pageSize: reducer.knowledgeCategory.page_size,\n loadingMore: reducer.knowledgeCategory.loadingMore,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n loadBody: (params, token) =>\n dispatch(actions_body.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(List_);","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport clsx from 'clsx';\nimport { List, Body } from \"./components\";\nimport { connect } from \"react-redux\";\nimport * as actions_body from \"redux/actions/knowledgeActions\";\nimport * as actions_list from \"redux/actions/knowledgeCategoryActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\n//import Divider from '@mui/material/Divider';\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel,\n Link,\n IconButton,\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // padding: theme.spacing(3),\n },\n content: {\n // height: \"calc(100vh - 300px)\"\n },\n}));\n\nconst Knowledge = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [values, setValues] = useState({\n text: (props.item && props.item.text) || \"\"\n });\n\n\n const onClickSelect = (item) => {\n if (item.id !== props.item.id) {\n setValues(values => ({\n ...values,\n text: item.text\n }));\n // props.setItem(item);\n }\n }\n\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n }, props.token);\n props.loadBody({\n id: props.user_id,\n category_id: 1\n }, props.token);\n\n }, []);\n\n return (\n
    \n
    \n \n \n\n
    \n }\n title={\"Knowledge\"}\n />\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n
    \n
    \n );\n};\n\nKnowledge.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer); \n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.knowledge.list,\n loading: reducer.knowledge.loading,\n error: reducer.knowledge.error,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n\n loadList: (params, token) =>\n dispatch(actions_list.loadList({ params, token })),\n loadBody: (params, token) =>\n dispatch(actions_body.loadList({ params, token })),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Knowledge);","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { Notes, Knowledge as Knowledge_ } from \"./components\";\nimport Tabs from \"components/Tabs\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/noteActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(1),\n },\n content: {\n // marginTop: theme.spacing(2),\n },\n}));\n\nconst Knowledge = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n //const [list, setList] = useState(props.list);\n\n useEffect(() => {\n props.loadList({ id: props.user_id }, props.token);\n }, []);\n\n\n return (\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n};\n\nKnowledge.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer); \n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.note.list,\n loading: reducer.note.loading,\n error: reducer.note.error,\n\n // search: reducer.history.search,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n // loadListEarning: (params, token) =>\n // dispatch(actions.loadListEarning({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Knowledge);","import axios from \"axios\";\n//import { I18n } from \"react-redux-i18n\";\nimport {\n BALANCE_LIST_ATTEMPT,\n BALANCE_LIST_SUCCESS,\n BALANCE_LIST_FAILED,\n ////////////////////\n BALANCE_MORELIST_ATTEMPT,\n BALANCE_MORELIST_SUCCESS,\n BALANCE_MORELIST_FAILED,\n //////////////////////\n BALANCE_NEW_SUCCESS,\n BALANCE_NEW_FAILED,\n} from \"../types/balanceTypes\";\nimport { config } from \"../../config\";\n\nconst url_api = config.api.web;\n\nexport function loading() {\n return {\n type: BALANCE_LIST_ATTEMPT\n };\n}\n\nexport function success(data) {\n return {\n type: BALANCE_LIST_SUCCESS,\n data: data\n };\n}\n\nexport function failed(error) {\n return {\n type: BALANCE_LIST_FAILED,\n error: error\n };\n}\n\n///////////////////////////////////////////\n\nexport function loadingMore() {\n return {\n type: BALANCE_MORELIST_ATTEMPT\n };\n}\n\nexport function successMore(data) {\n return {\n type: BALANCE_MORELIST_SUCCESS,\n data: data\n };\n}\n\nexport function failedMore(error) {\n return {\n type: BALANCE_MORELIST_FAILED,\n error: error\n };\n}\n//////////////////////////\n\nexport function successNew(item) {\n return {\n type: BALANCE_NEW_SUCCESS,\n item: item\n };\n}\n\nexport function failedNew(error) {\n return {\n type: BALANCE_NEW_FAILED,\n error: error\n };\n}\n////////////////////////\n\nexport const loadList = (data: Object) => async dispatch => {\n dispatch(loading());\n await axios\n .get(url_api + \"balance/\", {\n params: data.params,//{\n // id: data.user_id,\n //token: data.token,\n //lang: I18n.t(\"locale\")\n // },\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(success(response.data.body));\n else dispatch(failed(response.data.body));\n } else {\n dispatch(failed(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failed(\"try_later\"));\n } else {\n dispatch(failed(\"try_later\"));\n }\n return;\n });\n};\n\nexport const loadListScroll = (data: Object) => async dispatch => {\n dispatch(loadingMore());\n await axios\n .get(url_api + \"balance/\", {\n params: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n //console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successMore(response.data.body));\n else dispatch(failedMore(response.data.body));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n })\n .catch(function (error) {\n console.log(error);\n if (error.Error) {\n dispatch(failedMore(\"try_later\"));\n } else {\n dispatch(failedMore(\"try_later\"));\n }\n return;\n });\n};\n\n\nexport const newItem = (data: Object) => async (dispatch) => {\n await axios({\n method: \"POST\",\n url: url_api + \"balance/\",\n data: data.params,\n headers: { Authorization: `Bearer ${data.token}` },\n })\n .then(function (response) {\n // console.log(response);\n if (response.status < 300) {\n if (response.data.status === 'Success')\n dispatch(successNew(response.data.body));\n else dispatch(failedNew(response.data.body));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n })\n .catch(function (error) {\n //console.log(error);\n if (error.Error) {\n dispatch(failedNew(\"try_later\"));\n } else {\n dispatch(failedNew(\"try_later\"));\n }\n return;\n });\n};","export const BALANCE_LIST_ATTEMPT = \"BALANCE_LIST_ATTEMPT\";\nexport const BALANCE_LIST_SUCCESS = \"BALANCE_LIST_SUCCESS\";\nexport const BALANCE_LIST_FAILED = \"BALANCE_LIST_FAILED\";\n/////////////////////\nexport const BALANCE_MORELIST_ATTEMPT = \"BALANCE_MORELIST_ATTEMPT\";\nexport const BALANCE_MORELIST_SUCCESS = \"BALANCE_MORELIST_SUCCESS\";\nexport const BALANCE_MORELIST_FAILED = \"BALANCE_MORELIST_FAILED\";\n///////////////\n\nexport const BALANCE_NEW_SUCCESS = \"BALANCE_NEW_SUCCESS\";\nexport const BALANCE_NEW_FAILED = \"BALANCE_NEW_FAILED\";\n","import React, { useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport {\n Card,\n CardActions,\n CardContent,\n Avatar,\n Button,\n IconButton,\n Checkbox,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n TablePagination,\n} from \"@material-ui/core\";\nimport UploadFile from \"@material-ui/icons/Backup\"; // Publish\nimport DownloadFile from '@material-ui/icons/CloudDownload';\nimport Edit from \"@material-ui/icons/Edit\";\nimport { getInitials } from \"helpers\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/balanceActions\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport StarIcon from '@mui/icons-material/Star';\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\nimport MiniLoader from \"components/MiniLoader\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport alertify from 'alertifyjs';\nimport 'alertifyjs/build/css/alertify.css';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0,\n },\n inner: {\n minWidth: 1050,\n },\n nameContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n avatar: {\n marginRight: theme.spacing(2),\n },\n actions: {\n justifyContent: \"center\",\n },\n}));\n\nconst stylesLocal = {\n subcell: {\n padding: \"5px\"\n },\n cell: {\n padding: \"5px\"\n }\n};\n\nfunction pl(items) {\n var pl = 0;\n items.map(item => {\n pl = pl + (item.open_trade + item.close_trade - item.tax);\n });\n return pl.toFixed(2);\n}\n\nconst Table_ = (props) => {\n const { className, list, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [selectedList, setSelectedList] = useState([]);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [page, setPage] = useState(0);\n\n const handleSelectAll = (event) => {\n // const { list } = props;\n\n let selectedList;\n\n if (event.target.checked) {\n selectedList = list.map((item) => item.id);\n } else {\n selectedList = [];\n }\n setSelectedList(selectedList);\n };\n\n const handleSelectOne = (event, id) => {\n const selectedIndex = selectedList.indexOf(id);\n let newSelectedList = [];\n\n if (selectedIndex === -1) {\n newSelectedList = newSelectedList.concat(selectedList, id);\n } else if (selectedIndex === 0) {\n newSelectedList = newSelectedList.concat(selectedList.slice(1));\n } else if (selectedIndex === selectedList.length - 1) {\n newSelectedList = newSelectedList.concat(selectedList.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelectedList = newSelectedList.concat(\n selectedList.slice(0, selectedIndex),\n selectedList.slice(selectedIndex + 1)\n );\n }\n\n setSelectedList(newSelectedList);\n };\n\n const handlePageChange = (event, page) => {\n setPage(page);\n };\n\n const handleRowsPerPageChange = (event) => {\n setRowsPerPage(event.target.value);\n };\n\n const onClickDelete = (item) => {\n alertify.confirm(I18n.t(\"warning\"), I18n.t(\"delete\") + \"?\",\n function () {\n props.removeItem(props.token, { balance_id: item.id, id: props.user_id });\n },\n function () {\n\n });\n };\n\n const onClickLoadMore = () => {\n props.loadMore(\n {\n index: props.pageCount,\n id: props.user_id,\n search: props.search,\n }, props.token)\n };\n\n return (\n \n \n \n
    \n
    \n \n \n Id\n Kind\n Description\n Value\n Balance\n Created Date\n \n \n \n {props.list.map((item) => (\n \n \n {item.id}\n \n {item.kind_transaction}\n \n {\n (item.description)\n }\n \n \n {item.value > 0\n ? ( {\"+\"}{(item.value).toFixed(2)})\n :\n ( {\"\"}{(item.value).toFixed(2)})\n }\n \n \n \n {(item.balance).toFixed(2)}\n \n \n \n {moment(item.created_at).zone(\"+00:00\").format(\"DD/MM/YYYY\")}\n \n \n ))}\n \n
    \n
    \n \n \n \n {\n props.pageSize === 25 && (\n props.loadingMore ? (\n \n ) : (\n \n )\n )\n }\n\n \n \n );\n};\n\nTable_.propTypes = {\n className: PropTypes.string,\n list: PropTypes.array.isRequired,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.balance.list,\n error: reducer.balance.error,\n loading: reducer.balance.loading,\n\n search: reducer.balance.search,\n\n loadingMore: reducer.balance.loadingMore,\n pageSize: reducer.balance.page_size,\n pageCount: reducer.balance.page_count,\n\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadMore: (params, token) =>\n dispatch(actions.loadListScroll({ params, token })),\n //removeItem: (token, params) =>\n // dispatch(actions.removeItem({ token, params })),\n\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Table_);\n/**.slice((page * rowsPerPage), (rowsPerPage * (page + 1)))\n * \n * \n {item.year}\n \n \n {item.color}\n \n \n 0 &&\n selectedList.length < list.length\n }\n onChange={handleSelectAll}\n />\n \n\n \n handleSelectOne(event, item.id)}\n value=\"true\"\n />\n \n */\n","import React, { useState } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/balanceActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\n//function FormDialog() {\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n value: 1.00,\n kind: \"CREDIT\",\n id: props.user_id\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n props.newItem(values, props.token);\n setOpen(false);\n };\n\n const [values, setValues] = useState({\n value: 1.00,\n kind: \"CREDIT\",\n //open_at: new Date().toISOString().split('T')[0],//props.item.open_at || \n id: props.user_id\n });\n\n\n const handleChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n };\n\n\n return (\n
    \n \n \n \n \n \n Enter Value\n \n \n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { useState } from 'react';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/balanceActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\n\n//function FormDialog() {\nconst FormDialog = (props) => {\n // const { className, history, ...rest } = props;\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n setValues({\n value: 1.00,\n kind: \"DEBIT\",\n id: props.user_id\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSave = () => {\n props.newItem(values, props.token);\n setOpen(false);\n };\n\n const [values, setValues] = useState({\n value: 1.00,//props.item.price ||\n kind: \"DEBIT\",\n //open_at: new Date().toISOString().split('T')[0],//props.item.open_at || \n id: props.user_id\n });\n\n\n const handleChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n });\n };\n\n return (\n
    \n \n \n \n \n \n Enter Value\n \n \n \n \n \n \n \n \n
    \n );\n}\n\nfunction mapStateToProps(reducer) {\n // console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n };\n}\nconst mapDispatchToProps = dispatch => ({\n newItem: (params, token) =>\n dispatch(actions.newItem({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormDialog);\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport Box from '@mui/material/Box';\nimport MenuItem from '@mui/material/MenuItem';\nimport { makeStyles } from \"@material-ui/styles\";\nimport { Button } from \"@material-ui/core\"\nimport TextField from '@mui/material/TextField';\nimport { SearchInput } from \"components\";\n//import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/balanceActions\";\nimport { Translate, I18n } from \"react-redux-i18n\";\nimport Select from '@mui/material/Select';\nimport FormControl from '@mui/material/FormControl';\nimport InputLabel from '@mui/material/InputLabel';\nimport { Typography } from '@material-ui/core';\nimport InputDate from 'components/InputDate';\nimport FormGroup from '@mui/material/FormGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\nimport Deposit from \"../Deposit\";\nimport Withdrawal from \"../Withdrawal\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n row: {\n // height: \"42px\",\n display: \"flex\",\n alignItems: \"center\",\n marginTop: theme.spacing(1),\n },\n spacer: {\n flexGrow: 1,\n },\n importButton: {\n marginRight: theme.spacing(1),\n },\n exportButton: {\n marginRight: theme.spacing(1),\n },\n searchInput: {\n marginRight: theme.spacing(1),\n },\n}));\n\nconst Toolbar = (props) => {\n const { className, history, ...rest } = props;\n\n const classes = useStyles();\n\n const [values, setValues] = useState({\n // search: \"\",\n kind: \"\",\n // date: \"TODAY\",\n // from_at: new Date().toISOString().split('T')[0],\n // to_at: new Date().toISOString().split('T')[0],\n // option_group: false,\n // disabled: true,\n // disabledOption: true,\n });\n\n const handleChange = (event) => {\n\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n //disabledOption: event.target.value === \"OPTION\" ? false : true\n });\n /* props.loadList({\n event.target.type === 'checkbox'\n ? event.target.checked\n :\n id: props.user_id,\n [event.target.name]: event.target.value,\n // kind: values.kind,\n // date: values.date,\n from_at: values.from_at,\n to_at: values.to_at\n }, props.token);*/\n };\n\n const handleChangeCheck = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.checked\n });\n };\n\n const handleChangDate = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value,\n disabled: event.target.value === \"CUSTOM\" ? false : true\n });\n };\n\n const handleClickDeposit = () => {\n\n }\n\n const handleClickWithdrawal = () => {\n\n }\n\n useEffect(() => {\n props.loadList({\n id: props.user_id,\n search: values.search,\n kind: values.kind,\n // date: values.date,\n // from_at: values.from_at,\n // to_at: values.to_at,\n //option_group: values.option_group,\n }, props.token);\n }, [values]);\n\n const balance_kind =\n [\n {\n value: \"\",\n label: \"Any\",\n },\n {\n value: \"USER\",\n label: \"User\",\n },\n {\n value: \"TRADE\",\n label: \"Trade\",\n },\n\n ];\n\n const option_time =\n [\n {\n value: \"TODAY\",\n label: \"Today\",\n },\n {\n value: \"YESTERDAY\",\n label: \"Yesterday\",\n },\n {\n value: \"7D\",\n label: \"7 Days\",\n },\n {\n value: \"14D\",\n label: \"14 Days\",\n },\n {\n value: \"30D\",\n label: \"30 Days\",\n },\n {\n value: \"60D\",\n label: \"60 Days\",\n },\n {\n value: \"120D\",\n label: \"120 Days\",\n },\n {\n value: \"MTD\",\n label: \"Month To Date\",\n },\n {\n value: \"YTD\",\n label: \"Year To Date\",\n },\n {\n value: \"CUSTOM\",\n label: \"Custom\",\n },\n ];\n\n return (\n
    \n\n
    \n \n {\n balance_kind.map((option) => (\n \n ))\n }\n \n\n \n \n \n \n
    \n
    \n );\n};\n\nToolbar.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n auth: reducer.session.auth,\n\n list: reducer.balance.list,\n error: reducer.balance.error,\n loading: reducer.balance.loading,\n };\n}\n\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\n/**\n * \n * \n \n {\n option_time.map((option) => (\n \n ))\n }\n \n \n \n *
    \n \n \n \n \n \n
    \n */","import { Grid } from '@material-ui/core';\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport PropTypes from \"prop-types\";\nimport { Table, Toolbar } from \"./components\";\nimport { connect } from \"react-redux\";\nimport * as actions from \"redux/actions/balanceActions\";\n//import list from \"./data\";\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n },\n content: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst History = (props) => {\n const classes = useStyles();\n const { className, history, ...rest } = props;\n const [list, setList] = useState(props.list);\n\n\n\n useEffect(() => {\n props.loadList({ id: props.user_id, search: props.search }, props.token);\n }, list);\n\n return (\n
    \n \n
    \n \n \n \n );\n};\n\nHistory.propTypes = {\n className: PropTypes.string,\n history: PropTypes.object\n};\n\nfunction mapStateToProps(reducer) {\n //console.log(reducer);\n return {\n user_id: reducer.session.auth.id,\n token: reducer.session.auth.token,\n\n list: reducer.balance.list,\n error: reducer.balance.error,\n loading: reducer.balance.loading,\n\n search: reducer.balance.search,\n };\n}\nconst mapDispatchToProps = dispatch => ({\n loadList: (params, token) =>\n dispatch(actions.loadList({ params, token })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(History);","export default {\n report: {\n title: \"Report\",\n url: \"/report\",\n },\n user: {\n title: \"Usuario\",\n url: \"/user\",\n },\n history: {\n title: \"History\",\n url: \"/history\",\n },\n watchlist: {\n title: \"Watchlist\",\n url: \"/watchlist\",\n },\n wall: {\n title: \"Wall\",\n url: \"/wall\",\n },\n suscription: {\n title: \"Suscription\",\n url: \"/suscription\",\n },\n comment: {\n title: \"Comment\",\n url: \"/comment\",\n },\n profile: {\n title: \"Profile\",\n url: \"/profile/:follower_id\",\n },\n stock: {\n title: \"Stock\",\n url: \"/stock/:ticker\",\n },\n discover: {\n title: \"Discover\",\n url: \"/discover\",\n },\n faq: {\n title: \"Faq/Release\",\n url: \"/faq\",\n },\n knowledge: {\n title: \"Knowledge\",\n url: \"/knowledge\",\n },\n balance: {\n title: \"Balance\",\n url: \"/balance\",\n },\n\n ///////////////////////////////\n portfolio: {\n title: \"Portfolio\",\n url: \"/portfolio\",\n },\n account: {\n title: \"Cuenta\",\n url: \"/account\",\n },\n exit: {\n title: \"Salir\",\n url: \"/login\",\n },\n setting: {\n title: \"Configuración\",\n url: \"/setting\",\n },\n signup: {\n title: \"Sign Up\",\n url: \"/signup\",\n },\n recovery: {\n title: \"Recovery password\",\n url: \"/recovery\",\n },\n reset: {\n title: \"Reset password\",\n url: \"/reset/\",\n },\n}","import React from \"react\";\nimport { Redirect, Switch, Route, BrowserRouter as Router } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { RouteWithLayout } from \"./components\";\nimport { Main as MainLayout, Minimal as MinimalLayout } from \"./layouts\";\nimport {\n Portfolio as PortfolioView,\n Account as AccountView,\n Settings as SettingsView,\n SignUp as SignUpView,\n SignIn as SignInView,\n Report as ReportView,\n History as HistoryView,\n Wall as WallView,\n NotFound as NotFoundView,\n Watchlist as WatchlistView,\n Suscription as SuscriptionView,\n Profile as ProfileView,\n Comment as CommentView,\n Recovery as RecoveryView,\n Reset as ResetView,\n Stock as StockView,\n Discover as DiscoverView,\n Faq as FaqView,\n Knowledge as KnowledgeView,\n Balance as BalanceView\n} from \"./views\";\nimport Menu from \"./menu\";\n\n\n//\nconst Routes = (props) => {\n return (// JSON.stringify()\n\n \n {\n Object.keys(props.auth).length > 0 ? (\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 (\n \n \n \n \n \n \n \n\n \n \n )\n }\n \n );\n};\n\n\n\nconst mapStateToProps = (reducer) => {\n return {\n auth: reducer.session.auth,\n // lang: reducer.configuration.lang,\n };\n};\n\n\nexport default connect(mapStateToProps, null)(Routes);\n/*\n \n \n \n \n \n \n JSON.stringify(props.auth) === \"{}\" ?\n ( {\n\n \n \n\n \n \n \n\n )\n : (\n )\n }\n */\n","import React, { Component } from \"react\";\nimport { Router } from \"react-router-dom\";\nimport { Chart } from \"react-chartjs-2\";\nimport { ThemeProvider } from \"@material-ui/styles\";\nimport validate from \"validate.js\";\nimport { chartjs } from \"./helpers\";\nimport theme from \"./theme\";\nimport \"react-perfect-scrollbar/dist/css/styles.css\";\n// import \"./assets/scss/index.scss\";\nimport validators from \"./common/validators\";\nimport Routes from \"./Routes\";\n\n\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\n draw: chartjs.draw,\n});\n\nvalidate.validators = {\n ...validate.validators,\n ...validators,\n};\n\n\nexport default class App extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n/**\n * \n * \n */\n\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import {\n\n ////////////////////\n USER_NEW_SUCCESS,\n USER_NEW_FAILED,\n ///////////////////\n USER_REMOVE_SUCCESS,\n USER_REMOVE_FAILED,\n ///////////////\n USER_SET_ITEM\n} from \"../types/userTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n item: {}\n\n};\nfunction users(state = INITIAL_STATE, action) {\n switch (action.type) {\n /* case USER_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case USER_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case USER_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n */\n case USER_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id; // return all the items not matching the action.id\n });\n return {\n ...state,\n list: newList,\n };\n }\n case USER_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case USER_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case USER_NEW_SUCCESS:\n return {\n ...state,\n item: {}\n }\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default users;","\n//////////////////\nexport const USER_NEW_SUCCESS = \"USER_NEW_SUCCESS\";\nexport const USER_NEW_FAILED = \"USER_NEW_FAILED\";\n///////////////////\nexport const USER_REMOVE_SUCCESS = \"USER_REMOVE_SUCCESS\";\nexport const USER_REMOVE_FAILED = \"USER_REMOVE_FAILED\";\n\nexport const USER_SET_ITEM = \"USER_SET_ITEM\";\n\n\n","import {\n LOGIN_ATTEMPT,\n LOGIN_SUCCESS,\n LOGIN_FAILED,\n ////////////////////\n LOGOUT,\n ///////////////\n RESET_SUCCESS,\n UPDATE_FAILED,\n /////////////////////\n UPDATE_SUCCESS\n} from \"../types/sessionTypes\";\n\nconst INITIAL_STATE = {\n loading: false,\n auth: {},\n error: \"\",\n /////////\n success: '',\n item: {}\n};\n\nfunction session(state = INITIAL_STATE, action) {\n switch (action.type) {\n case LOGIN_ATTEMPT:\n return {\n ...state,\n loading: true,\n error: \"\",\n success: \"\"\n };\n\n case LOGIN_SUCCESS:\n return {\n ...state,\n auth: action.data,\n loading: false\n };\n case LOGIN_FAILED:\n return {\n ...state,\n loading: false,\n error: action.error,\n auth: {},\n };\n ////////////////////////////////\n case LOGOUT:\n return INITIAL_STATE\n //////////////////////\n case RESET_SUCCESS:\n // console.timeLog(action.success);\n return {\n ...state,\n success: action.success,\n error: \"\"\n };\n case UPDATE_FAILED:\n // console.timeLog(action.error);\n return {\n ...state,\n error: action.error,\n success: \"\"\n };\n //////////////////\n case UPDATE_SUCCESS:\n return {\n ...state,\n auth: action.item,\n loading: false,\n error: \"\",\n success: \"\"\n };\n default:\n return state;\n }\n}\nexport default session;","import {\n DASHBOARD_INDICATOR_ATTEMPT,\n DASHBOARD_INDICATOR_SUCCESS,\n DASHBOARD_INDICATOR_FAILED,\n //////////////////////\n DASHBOARD_INVOICE_ATTEMPT,\n DASHBOARD_INVOICE_SUCCESS,\n DASHBOARD_INVOICE_FAILED,\n} from \"../types/dashboardTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n data: {},\n error: \"\",\n /////////\n}\nfunction dashboard(state = INITIAL_STATE, action) {\n switch (action.type) {\n case DASHBOARD_INDICATOR_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case DASHBOARD_INDICATOR_SUCCESS:\n return {\n ...state,\n data: action.data,\n error: \"\",\n loading: false\n };\n case DASHBOARD_INDICATOR_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false,\n data: {}\n };\n /////////////////////////////////////////\n\n /////////////////////////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default dashboard;","import {\n EMAIL_WELCOME_SUCCESS,\n MAIL_WELCOME_FAILED,\n} from \"../types/emailTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n success: \"\",\n error: \"\",\n loading: false\n /////////\n};\nfunction email(state = INITIAL_STATE, action) {\n switch (action.type) {\n\n case EMAIL_WELCOME_SUCCESS:\n return {\n ...state,\n success: action.data.success,\n error: \"\",\n loading: false\n };\n case MAIL_WELCOME_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false,\n };\n\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default email;","export const EMAIL_WELCOME_SUCCESS = \"EMAIL_WELCOME_SUCCESS\";\nexport const MAIL_WELCOME_FAILED = \"MAIL_WELCOME_FAILED\";","import {\n OPTION_LIST_ATTEMPT,\n OPTION_LIST_SUCCESS,\n OPTION_LIST_FAILED,\n ////////////////////\n OPTION_NEW_SUCCESS,\n OPTION_NEW_FAILED,\n ///////////////////\n OPTION_REMOVE_SUCCESS,\n OPTION_REMOVE_FAILED,\n ///////////\n OPTION_SET_ITEM\n} from \"../types/optionOrderTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n item: {}\n\n};\nfunction optionOrder(state = INITIAL_STATE, action) {\n switch (action.type) {\n case OPTION_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case OPTION_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case OPTION_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n\n case OPTION_REMOVE_SUCCESS: {\n var newList;\n if (action.item.counter === 0) {\n newList = state.list.filter(item => {\n return item.symbol !== action.item.symbol;\n });\n }\n else {\n newList = state.list.map((item) => {\n if (item.symbol === action.item.symbol) {\n return action.item;\n }\n return item;\n });\n }\n return {\n ...state,\n list: newList,\n };\n }\n case OPTION_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case OPTION_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case OPTION_NEW_SUCCESS:\n {\n let band = true;\n const newState = state.list.map((item) => {\n if (item.symbol === action.item.symbol) {\n band = false;\n return action.item;\n }\n else return item;\n });\n\n if (band)\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n item: {}\n };\n return {\n ...state,\n list: newState,\n item: {}\n };\n }\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default optionOrder;","import {\n STOCK_ORDER_LIST_ATTEMPT,\n STOCK_ORDER_LIST_SUCCESS,\n STOCK_ORDER_LIST_FAILED,\n ////////////////////\n STOCK_ORDER_NEW_SUCCESS,\n STOCK_ORDER_NEW_FAILED,\n ///////////////////\n STOCK_ORDER_REMOVE_SUCCESS,\n STOCK_ORDER_REMOVE_FAILED,\n ///////////\n STOCK_ORDER_SET_ITEM\n} from \"../types/stockOrderTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n item: {}\n\n};\nfunction stockOrder(state = INITIAL_STATE, action) {\n switch (action.type) {\n case STOCK_ORDER_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case STOCK_ORDER_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case STOCK_ORDER_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n\n case STOCK_ORDER_REMOVE_SUCCESS: {\n var newList;\n if (action.item.counter === 0)\n newList = state.list.filter(item => {\n return item.symbol !== action.item.symbol;\n });\n else {\n newList = state.list.map((item) => {\n if (item.symbol === action.item.symbol) {\n return action.item;\n }\n return item;\n });\n }\n return {\n ...state,\n list: newList,\n item: {}\n };\n }\n case STOCK_ORDER_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case STOCK_ORDER_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case STOCK_ORDER_NEW_SUCCESS:\n let band = true;\n const newState = state.list.map((item) => {\n if (item.symbol === action.item.symbol) {\n band = false;\n return action.item;\n }\n return item;\n });\n if (band)\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n item: {}\n };\n return {\n ...state,\n list: newState,\n item: {}\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default stockOrder;\n\n/**\n * else {\n newItem = item.sub_order.filter(item_ => {\n return item_.id.toString() !== action.item.id.toString();\n });\n item.sub_order = newItem;\n item.count = item.sub_order.length;\n return item;\n }\n */","import {\n HISTORY_LIST_ATTEMPT,\n HISTORY_LIST_SUCCESS,\n HISTORY_LIST_FAILED,\n ////////////////////\n HISTORY_MORELIST_ATTEMPT,\n HISTORY_MORELIST_SUCCESS,\n HISTORY_MORELIST_FAILED,\n ////////////////////\n HISTORY_REMOVE_SUCCESS,\n HISTORY_REMOVE_FAILED,\n} from \"../types/historyTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n search: ''\n};\nfunction history(state = INITIAL_STATE, action) {\n switch (action.type) {\n case HISTORY_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case HISTORY_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n search: action.data.search,\n error: \"\",\n loading: false\n };\n case HISTORY_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case HISTORY_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case HISTORY_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n search: action.data.search,\n error: \"\",\n };\n\n case HISTORY_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case HISTORY_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id;\n });\n\n return {\n ...state,\n list: newList,\n };\n }\n\n case HISTORY_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default history;","import {\n SUMSYMBOL_LIST_ATTEMPT,\n SUMSYMBOL_LIST_SUCCESS,\n SUMSYMBOL_LIST_FAILED,\n ////////////////////\n LATESROI_LIST_ATTEMPT,\n LATESROI_LIST_SUCCESS,\n LATESROI_LIST_FAILED,\n //////////////////////\n LATESTRADE_LIST_ATTEMPT,\n LATESTRADE_LIST_SUCCESS,\n LATESTRADE_LIST_FAILED,\n /////////////////////\n SUMSTRATEGY_LIST_ATTEMPT,\n SUMSTRATEGY_LIST_SUCCESS,\n SUMSTRATEGY_LIST_FAILED,\n} from \"../types/reportTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loadingSymbol: false,\n listSymbol: [],\n errorSymbol: \"\",\n /////////\n loadingRoi: false,\n errorRoi: \"\",\n dataRoi: {},\n /////////\n loadingTrade: false,\n errorTrade: \"\",\n dataTrade: {},\n /////////\n loadingStrategy: false,\n listStrategy: [],\n errorStrategy: \"\",\n /////////////\n\n};\nfunction report(state = INITIAL_STATE, action) {\n switch (action.type) {\n case SUMSYMBOL_LIST_ATTEMPT:\n return {\n ...state,\n loadingSymbol: true\n };\n case SUMSYMBOL_LIST_SUCCESS:\n return {\n ...state,\n listSymbol: action.data.list,\n errorSymbol: \"\",\n loadingSymbol: false\n };\n case SUMSYMBOL_LIST_FAILED:\n return {\n ...state,\n errorSymbol: action.error,\n loadingSymbol: false\n };\n ////////////////////\n case LATESROI_LIST_ATTEMPT:\n return {\n ...state,\n loadingRoi: true\n };\n case LATESROI_LIST_SUCCESS:\n return {\n ...state,\n dataRoi: action.data,\n errorRoi: \"\",\n loadingRoi: false\n };\n case LATESROI_LIST_FAILED:\n return {\n ...state,\n errorRoi: action.error,\n loadingRoi: false,\n dataRoi: {},\n };\n /////////////////////////////////////////\n case LATESTRADE_LIST_ATTEMPT:\n return {\n ...state,\n loadingTrade: true\n };\n case LATESTRADE_LIST_SUCCESS:\n return {\n ...state,\n dataTrade: action.data,\n errorTrade: \"\",\n loadingTrade: false\n };\n case LATESTRADE_LIST_FAILED:\n return {\n ...state,\n errorTrade: action.error,\n loadingTrade: false,\n dataTrade: {},\n };\n /////////////////////\n case SUMSTRATEGY_LIST_ATTEMPT:\n return {\n ...state,\n loadingStrategy: true\n };\n case SUMSTRATEGY_LIST_SUCCESS:\n return {\n ...state,\n listStrategy: action.data.list,\n errorStrategy: \"\",\n loadingStrategy: false\n };\n case SUMSTRATEGY_LIST_FAILED:\n return {\n ...state,\n errorStrategy: action.error,\n loadingStrategy: false,\n listStrategy: [],\n };\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default report;","import {\n SETTING_ITEM_SUCCESS,\n SETTING_ITEM_FAILED,\n ///////////////////\n SETTING_UPDATE_SUCCESS,\n SETTING_UPDATE_FAILED,\n} from \"../types/settingTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n item: {},\n error: \"\",\n ////////\n};\nfunction setting(state = INITIAL_STATE, action) {\n switch (action.type) {\n\n case SETTING_ITEM_SUCCESS:\n return {\n ...state,\n item: action.item,\n error: \"\",\n };\n case SETTING_ITEM_FAILED:\n return {\n ...state,\n error: action.error,\n };\n /////////////////////////////////////////\n case SETTING_UPDATE_SUCCESS:\n return {\n ...state,\n item: action.item,\n error: \"\",\n };\n case SETTING_UPDATE_FAILED:\n return {\n ...state,\n error: action.error,\n };\n\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default setting;","import {\n STOCK_LIST_ATTEMPT,\n STOCK_LIST_SUCCESS,\n STOCK_LIST_FAILED,\n STOCK_LIST_RESET,\n ////////////////////\n STOCK_ITEM_ATTEMPT,\n STOCK_ITEM_SUCCESS,\n STOCK_ITEM_FAILED,\n ////////////////////\n STOCK_NEW_SUCCESS,\n STOCK_NEW_FAILED,\n ///////////////////\n STOCK_REMOVE_SUCCESS,\n STOCK_REMOVE_FAILED,\n ///////////\n STOCK_SET_ITEM\n} from \"../types/stockTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n item: {}\n\n\n};\nfunction stock(state = INITIAL_STATE, action) {\n switch (action.type) {\n case STOCK_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case STOCK_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case STOCK_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n case STOCK_LIST_RESET:\n return {\n ...state,\n list: [],\n }\n ///////////////////////////\n case STOCK_ITEM_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case STOCK_ITEM_SUCCESS:\n return {\n ...state,\n item: action.item,\n error: \"\",\n loading: false\n };\n case STOCK_ITEM_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n //////////////////////////\n case STOCK_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id.toString();\n });\n\n return {\n ...state,\n list: newList,\n };\n }\n case STOCK_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case STOCK_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case STOCK_NEW_SUCCESS:\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n item: {}\n }\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default stock;","import {\n SET_IMPORT_TABLE\n} from \"../types/importTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n header: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n};\nfunction history(state = INITIAL_STATE, action) {\n switch (action.type) {\n case SET_IMPORT_TABLE:\n return {\n ...state,\n list: action.data.list,\n header: action.data.header\n };\n\n ////////////////////\n\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default history;","import {\n COMMENT_LIST_ATTEMPT,\n COMMENT_LIST_SUCCESS,\n COMMENT_LIST_FAILED,\n ////////////////////\n COMMENT_NEW_SUCCESS,\n COMMENT_NEW_FAILED,\n ////////////////////\n COMMENT_LIKE_SUCCESS,\n COMMENT_LIKE_FAILED,\n /////////////////\n COMMENT_SET_ITEM,\n //////////\n COMMENT_MORELIST_ATTEMPT,\n COMMENT_MORELIST_SUCCESS,\n COMMENT_MORELIST_FAILED,\n ////////////////\n COMMENT_REMOVE_SUCCESS,\n COMMENT_REMOVE_FAILED,\n} from \"../types/commentTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {}\n};\nfunction comment(state = INITIAL_STATE, action) {\n switch (action.type) {\n case COMMENT_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case COMMENT_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case COMMENT_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n //////////////////////////////////////////\n case COMMENT_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case COMMENT_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case COMMENT_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case COMMENT_NEW_SUCCESS:\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n error: \"\",\n loading: false\n };\n case COMMENT_NEW_FAILED:\n return {\n ...state,\n error: action.error,\n };\n /////////////////////\n case COMMENT_LIKE_SUCCESS:\n {\n let newState = state.list.map((item) => {\n if (item.id === action.item.id) {\n item.like = action.item.like;\n return item;\n }\n else return item;\n });\n return {\n ...state,\n list: newState,\n error: \"\",\n loading: false\n };\n }\n case COMMENT_LIKE_FAILED:\n return {\n ...state,\n error: action.error,\n };\n ////////////////////\n case COMMENT_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n\n /////////////////////\n case COMMENT_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id.toString();\n });\n\n return {\n ...state,\n list: newList,\n };\n }\n case COMMENT_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default comment;","import {\n FOLLOWER_UPSET_SUCCESS,\n FOLLOWER_UPSET_FAILED,\n //////////////////\n PROFILE_ITEM_SUCCESS,\n PROFILE_ITEM_FAILED\n} from \"../types/profileTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n item: {},\n error: \"\",\n /////////\n};\n\nfunction profile(state = INITIAL_STATE, action) {\n switch (action.type) {\n\n case FOLLOWER_UPSET_SUCCESS:\n return {\n ...state,\n item: {\n ...state.item,\n follow: action.item,\n },\n error: \"\",\n };\n case FOLLOWER_UPSET_FAILED:\n return {\n ...state,\n error: action.error,\n };\n ////////////////////////\n case PROFILE_ITEM_SUCCESS:\n return {\n ...state,\n item: action.item,\n error: \"\",\n };\n case PROFILE_ITEM_FAILED:\n return {\n ...state,\n error: action.error,\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default profile;","import {\n WATCHLIST_LIST_ATTEMPT,\n WATCHLIST_LIST_SUCCESS,\n WATCHLIST_LIST_FAILED,\n ////////////////////\n WATCHLIST_NEW_SUCCESS,\n WATCHLIST_NEW_FAILED,\n ///////////////////\n WATCHLIST_REMOVE_SUCCESS,\n WATCHLIST_REMOVE_FAILED,\n ///////////\n WATCHLIST_SET_ITEM\n} from \"../types/watchListTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n item: {}\n\n};\nfunction watchList(state = INITIAL_STATE, action) {\n switch (action.type) {\n case WATCHLIST_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case WATCHLIST_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case WATCHLIST_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n\n case WATCHLIST_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id; // return all the items not matching the action.id\n });\n return {\n ...state,\n list: newList,\n };\n }\n case WATCHLIST_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case WATCHLIST_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case WATCHLIST_NEW_SUCCESS:\n return {\n ...state,\n list: [\n ...state.list,\n action.item,\n ],\n }\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default watchList;","import {\n WATCHSTOCK_LIST_ATTEMPT,\n WATCHSTOCK_LIST_SUCCESS,\n WATCHSTOCK_LIST_FAILED,\n ////////////////////\n WATCHSTOCK_NEW_SUCCESS,\n WATCHSTOCK_NEW_FAILED,\n ///////////////////\n WATCHSTOCK_REMOVE_SUCCESS,\n WATCHSTOCK_REMOVE_FAILED,\n ///////////\n WATCHSTOCK_SET_ITEM\n} from \"../types/watchStockTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list_id: \"\",\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n};\nfunction watchStock(state = INITIAL_STATE, action) {\n switch (action.type) {\n case WATCHSTOCK_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case WATCHSTOCK_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n list_id: action.data.list_id.toString(),\n page_size: action.data.size,\n error: \"\",\n loading: false\n };\n case WATCHSTOCK_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false,\n list: [],\n list_id: 0\n };\n\n case WATCHSTOCK_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id; // return all the items not matching the action.id\n });\n return {\n ...state,\n list: newList,\n };\n }\n case WATCHSTOCK_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////\n ////////////////////////\n case WATCHSTOCK_SET_ITEM:\n return {\n ...state,\n item: action.item\n }\n case WATCHSTOCK_NEW_SUCCESS:\n {\n if (state.list_id.toString() === action.item.list_id.toString()) {\n return {\n ...state,\n list: [\n ...state.list,\n action.item,\n ],\n }\n }\n\n }\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default watchStock;","import {\n FOLLOWER_LIST_ATTEMPT,\n FOLLOWER_LIST_SUCCESS,\n FOLLOWER_LIST_FAILED,\n ////////////////////\n FOLLOWER_MORELIST_ATTEMPT,\n FOLLOWER_MORELIST_SUCCESS,\n FOLLOWER_MORELIST_FAILED\n} from \"../types/followerListTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n\n};\nfunction followerList(state = INITIAL_STATE, action) {\n switch (action.type) {\n case FOLLOWER_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case FOLLOWER_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case FOLLOWER_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n case FOLLOWER_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case FOLLOWER_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case FOLLOWER_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default followerList;","import {\n NOTIFICATION_LIST_ATTEMPT,\n NOTIFICATION_LIST_SUCCESS,\n NOTIFICATION_LIST_FAILED,\n ////////////////////\n NOTIFICATION_MORELIST_ATTEMPT,\n NOTIFICATION_MORELIST_SUCCESS,\n NOTIFICATION_MORELIST_FAILED,\n //////////////////\n NOTIFICATION_SET_COUNT\n} from \"../types/notificationTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n count: null\n};\nfunction notification(state = INITIAL_STATE, action) {\n switch (action.type) {\n case NOTIFICATION_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case NOTIFICATION_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false,\n count: 0\n };\n case NOTIFICATION_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n case NOTIFICATION_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case NOTIFICATION_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case NOTIFICATION_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case NOTIFICATION_SET_COUNT:\n return {\n ...state,\n count: action.count,\n };\n case LOGOUT:\n return INITIAL_STATE;\n\n default:\n return state;\n }\n};\nexport default notification;","import {\n NEWS_LIST_ATTEMPT,\n NEWS_LIST_SUCCESS,\n NEWS_LIST_FAILED,\n ////////////////////\n NEWS_MORELIST_ATTEMPT,\n NEWS_MORELIST_SUCCESS,\n NEWS_MORELIST_FAILED,\n ///////////////////////\n STOCK_INDICATOR_ATTEMPT,\n STOCK_INDICATOR_SUCCESS,\n STOCK_INDICATOR_FAILED,\n ///////////////////\n STOCK_STRATEGY_ATTEMPT,\n STOCK_STRATEGY_SUCCESS,\n STOCK_STRATEGY_FAILED\n} from \"../types/stockNewsTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n loadingData: false,\n data: {},\n errorData: \"\",\n //////////////\n loadingStrategy: false,\n listStrategy: [],\n errorStrategy: \"\",\n};\nfunction stockNews(state = INITIAL_STATE, action) {\n switch (action.type) {\n case NEWS_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case NEWS_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case NEWS_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n\n case NEWS_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case NEWS_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case NEWS_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case STOCK_INDICATOR_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case STOCK_INDICATOR_SUCCESS:\n return {\n ...state,\n data: action.data,\n error: \"\",\n loading: false\n };\n case STOCK_INDICATOR_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n //////////////////////////////////////////\n case STOCK_STRATEGY_ATTEMPT:\n return {\n ...state,\n loadingStrategy: true\n };\n case STOCK_STRATEGY_SUCCESS:\n return {\n ...state,\n listStrategy: action.data.list,\n errorStrategy: \"\",\n loadingStrategy: false\n };\n case STOCK_STRATEGY_FAILED:\n return {\n ...state,\n errorStrategy: action.error,\n listStrategy: [],\n loadingStrategy: false\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default stockNews;","import {\n DISCOVER_LIST_ATTEMPT,\n DISCOVER_LIST_SUCCESS,\n DISCOVER_LIST_FAILED,\n ////////////////////\n DISCOVER_MORELIST_ATTEMPT,\n DISCOVER_MORELIST_SUCCESS,\n DISCOVER_MORELIST_FAILED\n} from \"../types/discoverTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n};\nfunction discover(state = INITIAL_STATE, action) {\n switch (action.type) {\n case DISCOVER_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case DISCOVER_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case DISCOVER_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n case DISCOVER_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case DISCOVER_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case DISCOVER_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n\n default:\n return state;\n }\n};\nexport default discover;","import {\n FAQ_LIST_ATTEMPT,\n FAQ_LIST_SUCCESS,\n FAQ_LIST_FAILED,\n ////////////////////\n} from \"../types/faqTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n};\nfunction faq(state = INITIAL_STATE, action) {\n switch (action.type) {\n case FAQ_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case FAQ_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case FAQ_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n /* case DISCOVER_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n \n case DISCOVER_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n \n case DISCOVER_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };*/\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default faq;","import {\n OPTIONHISTORY_LIST_ATTEMPT,\n OPTIONHISTORY_LIST_SUCCESS,\n OPTIONHISTORY_LIST_FAILED,\n ////////////////////\n} from \"../types/optionHistoryTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n};\nfunction optionHistory(state = INITIAL_STATE, action) {\n switch (action.type) {\n case OPTIONHISTORY_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case OPTIONHISTORY_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case OPTIONHISTORY_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n /* case DISCOVER_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n \n case DISCOVER_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n \n case DISCOVER_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };*/\n /////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default optionHistory;","import {\n UPDATE_TICKER_STOCK_QUOTE,\n ////////////////////\n UPDATE_TICKER_OPTION_QUOTE\n} from \"../types/eventTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n stock: {},\n /////////\n option: {},\n /////////////\n};\nfunction event(state = INITIAL_STATE, action) {\n\n switch (action.type) {\n case UPDATE_TICKER_STOCK_QUOTE:\n return {\n ...state,\n stock: {\n ...state.stock,\n [action.item.sym]: action.item\n }\n };\n case UPDATE_TICKER_OPTION_QUOTE:\n return {\n ...state,\n option: {\n ...state.option,\n [action.item.sym]: action.item\n }\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default event;","import {\n NOTE_LIST_ATTEMPT,\n NOTE_LIST_SUCCESS,\n NOTE_LIST_FAILED,\n ////////////////////\n NOTE_MORELIST_ATTEMPT,\n NOTE_MORELIST_SUCCESS,\n NOTE_MORELIST_FAILED,\n ////////////////\n NOTE_NEW_SUCCESS,\n NOTE_NEW_FAILED,\n /////////////////////\n NOTE_UPDATE_SUCCESS,\n NOTE_UPDATE_HIDE_SUCCESS,\n NOTE_SET_ITEM,\n /////////////////\n NOTE_REMOVE_SUCCESS,\n NOTE_REMOVE_FAILED\n} from \"../types/noteTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n};\nfunction note(state = INITIAL_STATE, action) {\n switch (action.type) {\n case NOTE_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case NOTE_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n item: action.data.list[0],\n error: \"\",\n loading: false\n };\n case NOTE_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case NOTE_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case NOTE_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case NOTE_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case NOTE_NEW_SUCCESS:\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n item: {}\n }\n case NOTE_NEW_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ///////////////////////\n case NOTE_UPDATE_SUCCESS: {\n const newList = state.list.map((element) => {\n if (element.id === action.item.id)\n return action.item;\n return element;\n });\n return {\n ...state,\n item: action.item,\n list: newList\n };\n }\n case NOTE_UPDATE_HIDE_SUCCESS:\n {\n const newList = state.list.map((element) => {\n if (element.id === action.item.id)\n return action.item;\n return element;\n });\n return {\n ...state,\n list: newList\n };\n }\n case NOTE_SET_ITEM:\n return {\n ...state,\n item: action.item\n };\n //////////////////////////////////////////\n case NOTE_REMOVE_SUCCESS: {\n const newList = state.list.filter(item => {\n return item.id.toString() !== action.item.id.toString();\n });\n\n return {\n ...state,\n list: newList,\n };\n }\n case NOTE_REMOVE_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default note;","import {\n KNOWLEDGE_LIST_ATTEMPT,\n KNOWLEDGE_LIST_SUCCESS,\n KNOWLEDGE_LIST_FAILED,\n ////////////////////\n KNOWLEDGE_MORELIST_ATTEMPT,\n KNOWLEDGE_MORELIST_SUCCESS,\n KNOWLEDGE_MORELIST_FAILED,\n} from \"../types/knowledgeTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n};\nfunction knowledge(state = INITIAL_STATE, action) {\n switch (action.type) {\n case KNOWLEDGE_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case KNOWLEDGE_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n item: action.data.list[0],\n error: \"\",\n loading: false\n };\n case KNOWLEDGE_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case KNOWLEDGE_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case KNOWLEDGE_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case KNOWLEDGE_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default knowledge;","import {\n KNOWLEDGE_CATEGORY_LIST_ATTEMPT,\n KNOWLEDGE_CATEGORY_LIST_SUCCESS,\n KNOWLEDGE_CATEGORY_LIST_FAILED,\n ////////////////////\n KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT,\n KNOWLEDGE_CATEGORY_MORELIST_SUCCESS,\n KNOWLEDGE_CATEGORY_MORELIST_FAILED,\n} from \"../types/knowledgeCategoryTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n};\nfunction knowledgeCategory(state = INITIAL_STATE, action) {\n switch (action.type) {\n case KNOWLEDGE_CATEGORY_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case KNOWLEDGE_CATEGORY_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n item: action.data.list[0],\n error: \"\",\n loading: false\n };\n case KNOWLEDGE_CATEGORY_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case KNOWLEDGE_CATEGORY_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case KNOWLEDGE_CATEGORY_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n error: \"\",\n };\n\n case KNOWLEDGE_CATEGORY_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default knowledgeCategory;","import {\n BALANCE_LIST_ATTEMPT,\n BALANCE_LIST_SUCCESS,\n BALANCE_LIST_FAILED,\n ////////////////////\n BALANCE_MORELIST_ATTEMPT,\n BALANCE_MORELIST_SUCCESS,\n BALANCE_MORELIST_FAILED,\n ////////////////////\n BALANCE_NEW_SUCCESS,\n BALANCE_NEW_FAILED,\n} from \"../types/balanceTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\n\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n search: ''\n};\nfunction balance(state = INITIAL_STATE, action) {\n switch (action.type) {\n case BALANCE_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case BALANCE_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n search: action.data.search,\n error: \"\",\n loading: false\n };\n case BALANCE_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case BALANCE_MORELIST_ATTEMPT:\n return {\n ...state,\n loadingMore: true,\n };\n\n case BALANCE_MORELIST_SUCCESS:\n return {\n ...state,\n loadingMore: false,\n page_size: action.data.size,\n page_count: state.page_count + action.data.size,\n list: state.list.concat(action.data.list),\n search: action.data.search,\n error: \"\",\n };\n\n case BALANCE_MORELIST_FAILED:\n return {\n ...state,\n loadingMore: false,\n };\n /////////////////////\n case BALANCE_NEW_SUCCESS: {\n return {\n ...state,\n list: [\n action.item,\n ...state.list\n ],\n error: \"\",\n loading: false\n };\n };\n case BALANCE_NEW_FAILED: {\n return {\n ...state,\n error: action.error,\n };\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default balance;","import {\n CALENDAR_LIST_ATTEMPT,\n CALENDAR_LIST_SUCCESS,\n CALENDAR_LIST_FAILED,\n} from \"../types/calendarTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n\n};\nfunction calendar(state = INITIAL_STATE, action) {\n switch (action.type) {\n case CALENDAR_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case CALENDAR_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false,\n };\n case CALENDAR_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default calendar;","import {\n WINNERS_LIST_ATTEMPT,\n WINNERS_LIST_SUCCESS,\n WINNERS_LIST_FAILED,\n ////////////////////\n LOSERS_LIST_ATTEMPT,\n LOSERS_LIST_SUCCESS,\n LOSERS_LIST_FAILED,\n} from \"../types/marketWinLowTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loadingWinners: false,\n listWinners: [],\n errorWinners: \"\",\n /////////\n loadingLosers: false,\n listLosers: [],\n errorLosers: \"\",\n};\nfunction marketWinLow(state = INITIAL_STATE, action) {\n switch (action.type) {\n case WINNERS_LIST_ATTEMPT:\n return {\n ...state,\n loadingWinners: true\n };\n case WINNERS_LIST_SUCCESS:\n return {\n ...state,\n listWinners: action.data.list,\n errorWinners: \"\",\n loadingWinners: false,\n };\n case WINNERS_LIST_FAILED:\n return {\n ...state,\n errorWinners: action.error,\n loadingWinners: false\n };\n ////////////////////\n case LOSERS_LIST_ATTEMPT:\n return {\n ...state,\n loadingLosers: true\n };\n case LOSERS_LIST_SUCCESS:\n return {\n ...state,\n listLosers: action.data.list,\n errorLosers: \"\",\n loadingLosers: false,\n };\n case LOSERS_LIST_FAILED:\n return {\n ...state,\n errorLosers: action.error,\n loadingLosers: false\n };\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default marketWinLow;","import {\n LEGAL_ATTEMPT,\n LEGAL_SUCCESS,\n LEGAL_FAILED,\n //////////////////\n} from \"../types/legalTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n page_size: 0,\n index: 1,\n count: 0,\n error_update: \"\",\n //success_update: \"\"\n};\n\nfunction legal(state = INITIAL_STATE, action) {\n switch (action.type) {\n case LEGAL_ATTEMPT:\n return {\n ...state,\n loading: true,\n };\n\n case LEGAL_SUCCESS:\n return {\n ...state,\n loading: false,\n list: action.data.list,\n page_size: action.data.size,\n index: action.data.index,\n //count: action.data.users_count,\n error: \"\",\n };\n\n case LEGAL_FAILED:\n return {\n ...state,\n loading: false,\n error: action.error,\n list: [],\n };\n /////////////////////////////////////////////\n /* case AD_DELETE_SUCCESS: {\n const newState = state.userList.filter(item => {\n return item.Id !== action.id;\n });\n return {\n ...state,\n userList: newState,\n count: state.count - 1,\n error: \"\"\n };\n }\n \n case AD_DELETE_FAILED:\n return {\n ...state,\n error_update: action.error\n };\n \n case REGISTER_SUCCESS:\n return {\n ...state,\n success_update: action.success,\n error_update: \"\"\n };\n \n case UPDATE_FAILED:\n return {\n ...state,\n success_update: \"\",\n error_update: action.error\n };\n */\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default legal;\n","export const LEGAL_ATTEMPT = \"LEGAL_ATTEMPT\";\nexport const LEGAL_SUCCESS = \"LEGAL_SUCCESS\";\nexport const LEGAL_FAILED = \"LEGAL_FAILED\";\n\n","import {\n OPTIONTRADE_LIST_ATTEMPT,\n OPTIONTRADE_LIST_SUCCESS,\n OPTIONTRADE_LIST_FAILED,\n ////////////////////\n} from \"../types/optionTradeTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n list: [],\n error: \"\",\n /////////\n loadingMore: false,\n page_count: 0,\n page_size: 0,\n /////////////\n item: {},\n};\nfunction optionTrade(state = INITIAL_STATE, action) {\n switch (action.type) {\n case OPTIONTRADE_LIST_ATTEMPT:\n return {\n ...state,\n loading: true\n };\n case OPTIONTRADE_LIST_SUCCESS:\n return {\n ...state,\n list: action.data.list,\n page_size: action.data.size,\n page_count: action.data.size,\n error: \"\",\n loading: false\n };\n case OPTIONTRADE_LIST_FAILED:\n return {\n ...state,\n error: action.error,\n loading: false\n };\n ////////////////////\n //////////////////////////////////////////\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n};\nexport default optionTrade;","import {\n PENDING_ITEM_ATTEMPT,\n PENDING_ITEM_SUCCESS,\n PENDING_ITEM_FAILED,\n ////////////////////\n PENDING_UPDATE_SUCCESS,\n PENDING_UPDATE_FAILED,\n} from \"../types/pendingTypes\";\nimport {\n LOGOUT,\n} from \"../types/sessionTypes\";\nconst INITIAL_STATE = {\n loading: false,\n item: {},\n error: \"\",\n /////////\n};\n\nfunction pending(state = INITIAL_STATE, action) {\n switch (action.type) {\n case PENDING_ITEM_ATTEMPT:\n return {\n ...state,\n loading: true,\n };\n case PENDING_ITEM_SUCCESS:\n return {\n ...state,\n item: action.item,\n loading: false,\n error: \"\",\n };\n case PENDING_ITEM_FAILED:\n return {\n ...state,\n item: {},\n loading: false,\n error: action.error,\n };\n ////////////////////////\n case PENDING_UPDATE_SUCCESS:\n return {\n ...state,\n item: action.item,\n error: \"\",\n };\n case PENDING_UPDATE_FAILED:\n return {\n ...state,\n error: action.error,\n };\n\n case LOGOUT:\n return INITIAL_STATE\n default:\n return state;\n }\n}\nexport default pending;","import { combineReducers } from \"redux\";\nimport { routerReducer } from 'react-router-redux';\n\nimport user from \"./reducers/user\";\nimport session from \"./reducers/session\";\nimport dashboard from \"./reducers/dashboard\";\nimport email from \"./reducers/email\";\nimport optionOrder from \"./reducers/optionOrder\";\nimport stockOrder from \"./reducers/stockOrder\";\nimport history from \"./reducers/history\";\nimport report from \"./reducers/report\";\nimport setting from \"./reducers/setting\";\nimport stock from \"./reducers/stock\";\nimport import_ from \"./reducers/import\";\nimport comment from \"./reducers/comment\";\nimport profile from \"./reducers/profile\";\nimport watchList from \"./reducers/watchList\";\nimport watchStock from \"./reducers/watchStock\";\nimport followerList from \"./reducers/followerList\";\nimport notification from \"./reducers/notification\";\nimport stockNews from \"./reducers/stockNews\";\nimport discover from \"./reducers/discover\";\nimport faq from \"./reducers/faq\";\nimport optionHistory from \"./reducers/optionHistory\";\nimport event from \"./reducers/event\";\nimport { i18nReducer } from \"react-redux-i18n\";\nimport note from \"./reducers/note\";\nimport knowledge from \"./reducers/knowledge\";\nimport knowledgeCategory from \"./reducers/knowledgeCategory\";\nimport balance from \"./reducers/balance\";\nimport calendar from \"./reducers/calendar\";\nimport marketWinLow from \"./reducers/marketWinLow\";\nimport legal from \"./reducers/legal\";\nimport optionTrade from \"./reducers/optionTrade\";\nimport pending from \"./reducers/pending\";\n\nconst appReducer = combineReducers({\n balance,\n calendar,\n comment,\n dashboard,\n discover,\n email,\n event,\n faq,\n followerList,\n history,\n import_,\n i18n: i18nReducer,\n knowledge,\n knowledgeCategory,\n legal,\n marketWinLow,\n note,\n notification,\n optionHistory,\n optionOrder,\n optionTrade,\n pending,\n profile,\n session,\n stockOrder,\n report,\n routing: routerReducer,\n setting,\n stock,\n stockNews,\n user,\n watchList,\n watchStock\n});\n\nconst rootReducer = (state, action) => {\n // if (action.type === DESTROY_SESSION) {\n //state = undefined;\n //storage.removeItem('persist:root');\n //state = {};\n //action = {};\n //\n //}\n\n return appReducer(state, action);\n};\n\nexport default rootReducer;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n//redux\nimport { Provider } from \"react-redux\";\nimport { createStore, applyMiddleware } from \"redux\";\nimport redux from \"./redux\";\nimport thunk from \"redux-thunk\";\nimport detectBrowserLanguage from \"detect-browser-language\";\n//redux\nimport {\n setLocale,\n loadTranslations,\n syncTranslationWithStore,\n} from \"react-redux-i18n\";\nimport { syncHistoryWithStore } from 'react-router-redux';\nimport { createBrowserHistory } from \"history\";\n\nconst middleware = applyMiddleware(thunk);\nconst container = document.getElementById(\"root\");\nconst store = createStore(redux, middleware);\nconst translations = {\n en: require(\"assets/lang/en.json\"),\n es: require(\"assets/lang/es.json\"),\n};\nsyncTranslationWithStore(store);\nstore.dispatch(loadTranslations(translations));\nstore.dispatch(setLocale(detectBrowserLanguage().substring(0, 2)));\n\nconst browserHistory = createBrowserHistory();\nconst history = syncHistoryWithStore(browserHistory, store);\n\nReactDOM.render(\n \n \n ,\n container\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n\n"],"sourceRoot":""}