├── src ├── styles │ ├── HistoryPage.css │ ├── Tabs.css │ ├── ListContainer.css │ ├── arrow.png │ ├── logo.png │ ├── Quotes.css │ ├── eprint_1024x1024.png │ ├── onTheMoon1920x1200.jpg │ ├── Margin.css │ ├── HistoryPriceDisplay.css │ ├── SectionWrapper.css │ ├── AddButton.css │ ├── Earnings.css │ ├── BuyingPower.css │ ├── LeftPanelItem.css │ ├── Statistics.css │ ├── RemoveButton.css │ ├── PortfolioPage.css │ ├── Input.css │ ├── Position.css │ ├── News.css │ ├── PortfolioValue.css │ ├── Dashboard.css │ ├── List.css │ ├── Orders.css │ ├── Search.css │ ├── PriceAlertPage.css │ ├── LeftPanelModule.css │ ├── LeftPanelFolder.css │ ├── DashboardPage.css │ ├── LoginPage.css │ ├── PriceAlertToggle.css │ ├── Instrument.css │ ├── OrderDetail.css │ ├── App.css │ └── PlaceOrder.css ├── components │ ├── AddButton.js │ ├── RemoveButton.js │ ├── Posts.js │ ├── StatisticsCard.js │ ├── SectionWrapper.js │ ├── Picker.js │ ├── NewsCard.js │ ├── WithTimeTooltip.js │ ├── LeftPanelItem.js │ ├── Input.js │ ├── WithoutTimeTooltip.js │ ├── DummyQuotes.js │ ├── PieChartTooltip.js │ ├── Margin.js │ ├── LeftPanelModule.js │ ├── PriceAlertTicker.js │ ├── LeftPanelFolder.js │ ├── Dashboard.js │ ├── Position.js │ ├── Symbol.js │ ├── QuotesForPortfolios.js │ ├── Quotes.js │ ├── EarningsChart.js │ ├── Search.js │ ├── ListContainer.js │ ├── HistoryPriceDisplay.js │ ├── Orders.js │ └── List.js ├── actions │ ├── action_ui.js │ ├── index.js │ ├── action_tabs.js │ ├── action_cards.js │ ├── action_news.js │ ├── action_earnings.js │ ├── action_markets.js │ ├── action_fundamentals.js │ ├── action_instruments.js │ ├── action_monitor.js │ ├── action_login.js │ ├── action_quotes.js │ ├── action_watchlists.js │ ├── action_portfolios.js │ └── action_positions.js ├── reducers │ ├── reducer_cards.js │ ├── reducer_news.js │ ├── reducer_ui.js │ ├── reducer_earnings.js │ ├── reducer_fundamentals.js │ ├── reducer_markets.js │ ├── reducer_instruments.js │ ├── reducer_account.js │ ├── reducer_token.js │ ├── index.js │ ├── reducer_watchlists.js │ ├── reducer_portfolios.js │ ├── reducer_monitor.js │ ├── reducer_tabs.js │ ├── reducer_quotes.js │ ├── reducer_positions.js │ ├── reducer_orders.js │ └── reducer_local.js ├── electron-wait-react.js ├── containers │ ├── App.js │ ├── PriceAlertToggle.js │ ├── PriceAlertPage.js │ ├── EditableLocalPositions.js │ ├── News.js │ ├── EditableLocalWatchLists.js │ ├── Statistics.js │ ├── PendingOrdersPage.js │ ├── Earnings.js │ ├── HistoryPage.js │ ├── LoginPage.js │ ├── BuyingPower.js │ ├── RightPanel.js │ └── PortfolioValue.js ├── index.js └── utils.js ├── Procfile ├── icon.ico ├── public ├── favicon.ico └── index.html ├── .gitignore ├── README.md └── package.json /src/styles/HistoryPage.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/styles/Tabs.css: -------------------------------------------------------------------------------- 1 | .rdTabAddButton { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | react: npm start 2 | electron: node src/electron-wait-react 3 | -------------------------------------------------------------------------------- /icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/icon.ico -------------------------------------------------------------------------------- /src/styles/ListContainer.css: -------------------------------------------------------------------------------- 1 | .draggableListsWrapper { 2 | /*display: flex;*/ 3 | } 4 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/styles/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/src/styles/arrow.png -------------------------------------------------------------------------------- /src/styles/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/src/styles/logo.png -------------------------------------------------------------------------------- /src/styles/Quotes.css: -------------------------------------------------------------------------------- 1 | .quotesWrapper { 2 | width: 100%; 3 | background-color: black; 4 | max-height: 500px; 5 | } 6 | -------------------------------------------------------------------------------- /src/styles/eprint_1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/src/styles/eprint_1024x1024.png -------------------------------------------------------------------------------- /src/styles/onTheMoon1920x1200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edwardlai3582/RobInDaHood/HEAD/src/styles/onTheMoon1920x1200.jpg -------------------------------------------------------------------------------- /src/styles/Margin.css: -------------------------------------------------------------------------------- 1 | .marginEach { 2 | display: flex; 3 | padding: 10px 0; 4 | } 5 | 6 | .marginEachTitle { 7 | width: 50%; 8 | color: black; 9 | } 10 | 11 | .marginEachValue { 12 | width: 50%; 13 | } 14 | -------------------------------------------------------------------------------- /src/components/AddButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import '../styles/AddButton.css' 3 | 4 | const AddButton = ({cb}) => ( 5 |
42 | Number(previous_close))? 44 | "greenUp" 45 | : 46 | (Number(last_trade_price).toFixed(2) === Number(previous_close))? 47 | "whiteNomove":"redDown" 48 | }> 49 | { (Number(last_trade_price) - Number(previous_close) >0)? '+' : (Number(last_trade_price) - Number(previous_close) < 0)? '-' : ''} 50 | { 'US$' } 51 | { Math.abs((Number(last_trade_price) - Number(previous_close)).toFixed(2)) } 52 | { ' (' } 53 | { displayPercentage(last_trade_price, previous_close) } 54 | { ')' } 55 | 56 | 57 | { ` ${printDateOnly(updated_at)}` } 58 | 59 |
60 | { (last_extended_hours_trade_price)? ( 61 |62 | { (Number(last_extended_hours_trade_price) - Number(last_trade_price) >0)? '+' : (Number(last_extended_hours_trade_price) - Number(last_trade_price) < 0)? '-' : ''} 63 | { 'US$' } 64 | { Math.abs((Number(last_extended_hours_trade_price) - Number(last_trade_price)).toFixed(2)) } 65 | { ' (' } 66 | { displayPercentage(Number(last_extended_hours_trade_price)-Number(last_trade_price)+Number(previous_close), previous_close) } 67 | { `) After Hours` } 68 |
69 | ): null 70 | } 71 |81 | Number(firstDayPrice))? 83 | "greenUp" 84 | : 85 | (Number(last_trade_price).toFixed(2) === Number(firstDayPrice))? 86 | "whiteNomove":"redDown" 87 | }> 88 | { (Number(last_trade_price) - Number(firstDayPrice) >0)? '+' : (Number(last_trade_price) - Number(firstDayPrice) < 0)? '-' : ''} 89 | { 'US$' } 90 | { Math.abs((Number(last_trade_price) - Number(firstDayPrice)).toFixed(2)) } 91 | { ' (' } 92 | { displayPercentage(last_trade_price, firstDayPrice) } 93 | { ')' } 94 | 95 | 96 | { ` Past ${ 97 | (selectedButtonName === "1W")? "Week" : 98 | (selectedButtonName === "1M")? "Month" : 99 | (selectedButtonName === "3M")? "3M" : 100 | (selectedButtonName === "1Y")? "Year" : 101 | "5 Years" 102 | }` } 103 | 104 |
105 | ); 106 | } 107 | 108 | 109 | 110 | return ( 111 |