import { useBackend } from '../backend';
import { Box, Button, Chart, Divider, Section, Table } from '../components';
import { Window } from '../layouts';
export const StockExchange = (props, context) => {
const { act, data } = useBackend(context);
const { screen, stationName } = data;
let body;
if (screen === 'stocks') {
body = ;
} else if (screen === 'logs') {
body = ;
} else if (screen === 'archive') {
body = ;
} else if (screen === 'graph') {
body = ;
}
return (
);
};
const StockExchangeStockList = (props, context) => {
const { act, data } = useBackend(context);
const { balance, stationName, viewMode } = data;
let subTemplate = ;
if (viewMode === 'Full') {
subTemplate = ;
} else if (viewMode === 'Compressed') {
subTemplate = ;
}
return (
Welcome, {stationName} Cargo Department |{' '}
Credits: {balance}
View mode:
);
};
const StockExchangeFullView = (props, context) => {
const { act, data } = useBackend(context);
const { stocks = [] } = data;
return (
Actions: + Buy, - Sell, (A)rchives, (H)istory
ID
Name
Value
Owned
Avail
Actions
{stocks.map((stock) => (
{stock.ID}
{stock.Name}
{stock.Value}
{stock.Owned}
{stock.Avail}
act('stocks_buy', { share: stock.REF })}
/>
act('stocks_sell', { share: stock.REF })}
/>
act('stocks_archive', { share: stock.REF })}
/>
act('stocks_history', { share: stock.REF })}
/>
))}
);
};
const StockExchangeCompactView = (props, context) => {
const { act, data } = useBackend(context);
const { stocks = [] } = data;
return (
{stocks.map((stock) => (
{stock.name} {stock.ID}
{stock.bankrupt === 1 && BANKRUPT}
Unified shares {stock.Unification} ago.
Current value per share: {stock.Value} |{' '}
act('stocks_history', { share: stock.REF })}
/>
You currently own {stock.Owned} shares in this company.
There are {stock.Avail} purchasable shares on the market currently.
{stock.bankrupt === 1 ? (
You cannot buy or sell shares in a bankrupt company!
) : (
act('stocks_buy', { share: stock.REF })}
/>{' '}
|{' '}
act('stocks_sell', { share: stock.REF })}
/>
)}
Prominent products:
{stock.Products}
act('stocks_archive', { share: stock.REF })}
/>{' '}
{/* [news ? " (updated)" : null] */}
))}
);
};
// "
"
const StockExchangeLogs = (props, context) => {
const { act, data } = useBackend(context);
const { logs = [] } = data;
return (
Stock Transaction Logs
act('stocks_backbutton')} />
{logs.map((log) => (
{log.type !== 'borrow' ? (
{log.time} | {log.user_name}{' '}
{log.type === 'transaction_bought' ? (
bought
) : (
sold
)}{' '}
{log.stocks} stocks at {log.shareprice} a share for{' '}
{log.money} total credits{' '}
{log.type === 'transaction_bought' ? (
in
) : (
from
)}{' '}
{log.company_name}.
) : (
{log.time} | {log.user_name} borrowed {log.stocks}{' '}
stocks with a deposit of {log.money} credits in{' '}
{log.company_name}.
)}
))}
);
};
const StockExchangeArchive = (props, context) => {
const { act, data } = useBackend(context);
const { name, events = [], articles = [] } = data;
return (
News feed for {name}
act('stocks_backbutton')} />
Events
{events.map((event) => (
{event.current_title}
{event.current_desc}
))}
Articles
{articles.map((article) => (
{article.headline}
{article.subtitle}
{article.article}
- {article.author}, {article.spacetime} (via{' '}
{article.outlet})
))}
);
};
const StockExchangeGraph = (props, context) => {
const { act, data } = useBackend(context);
const { name, maxValue, values = [] } = data;
return (
act('stocks_backbutton')} />
{name} share value per share
);
};