Files
REM-Mod/EXE/remui/market.rml
T

211 lines
17 KiB
Plaintext

<rml>
<head>
<title>Market</title>
<link type="text/rcss" href="rem.rcss"/>
<link type="text/rcss" href="market.rcss"/>
</head>
<body class="window mkt" data-model="market">
<div class="win-head">
<img class="head-ico" src="3db:INTERFACE/REM/IMAGES/icon_economy.3db"/>
<span class="title">MARKET</span><span class="sl">\\\</span>
<span class="loc">{{ here }}</span>
<span class="spacer"></span>
<span class="chip">{{ fees }}<div class="tip">Broker fee: from your bank when you place an order or give it a new price. Sales tax: from what you get for a sale. Orders end after their days: goods back into the depot, escrow back to the bank.</div></span>
<span class="close" data-action="close">&#215;</span>
</div>
<div class="win-main">
<div class="content">
<!--PANE-->
<div class="subtabs">
<div class="tab" data-class-active="tab == 0" data-action="tab" data-arg="0">Market</div>
<div class="tab" data-class-active="tab == 1" data-action="tab" data-arg="1">My orders</div>
<div class="tab" data-class-active="tab == 2" data-action="tab" data-arg="2">Couriers<div class="tip">Courier contracts between pilots: carry goods for a reward, or have yours carried.</div></div>
<span class="hint" style="margin-left: auto;">updates by itself</span>
</div>
<!-- ================================================= MARKET -->
<div class="split" data-if="tab == 0">
<div class="goods">
<div class="tools">
<input class="text" type="text" data-value="filter" maxlength="40"/>
<span class="toggle" data-class-on="only_orders" data-action="only-orders">with orders<div class="tip">Only goods somebody offers or wants. Off: every commodity, to place a buy order for it.</div></span>
</div>
<div class="ghead"><span class="n">Good</span><span class="v">sell</span><span class="v">buy</span><span class="v">avg</span></div>
<div class="list">
<div class="hint" style="padding: 10dp;" data-if="goods.size == 0">{{ received ? 'No good matches.' : 'Asking the server...' }}</div>
<div class="g" data-for="r : goods" data-class-selected="r.selected" data-class-quiet="!r.has_orders" data-action="good" data-attr-data-arg="r.key">
<span class="n">{{ r.name }}</span><span class="v s">{{ r.sell }}</span><span class="v b">{{ r.buy }}</span><span class="v a">{{ r.avg }}</span>
</div>
</div>
</div>
<div class="detail">
<div class="ihead">
<span class="t">{{ has_item ? item_name : 'Pick a good' }}</span>
<span class="prices">{{ item_prices }}</span>
</div>
<div class="chartbar">
<span class="toggle" data-class-on="!days90" data-action="days" data-arg="30">30 days</span>
<span class="toggle" data-class-on="days90" data-action="days" data-arg="90">90 days</span>
<span class="toggle" style="margin-left: 10dp;" data-class-on="!region_here" data-action="region" data-arg="all">all regions</span>
<span class="toggle" data-class-on="region_here" data-action="region" data-arg="here">{{ here_region != '' ? here_region : 'this region' }}</span>
<span class="legend"><span class="k" style="background-color: #f2b13c;"></span>market mean<span class="k" style="background-color: #dbe6f0;"></span>low - high<span class="k" style="background-color: #3d6d96;"></span>volume</span>
</div>
<div class="axis">
<span class="y" style="top: 0dp;">{{ chart_hi }}</span>
<span class="y" style="top: 176dp;">{{ chart_lo }}</span>
</div>
<div class="chart">
<div class="grid" style="top: 25%;"></div><div class="grid" style="top: 50%;"></div><div class="grid" style="top: 75%;"></div>
<div class="col" data-for="b : bars" data-style-left="b.x + '%'" data-style-width="b.w + '%'">
<div class="mean" data-if="b.trades" data-style-height="b.mean + '%'"></div>
<div class="band" data-if="b.trades" data-style-bottom="b.lo + '%'" data-style-height="(b.hi - b.lo) + '%'"></div>
<div class="tip">{{ b.tip }}</div>
</div>
<div class="empty" data-if="chart_note != ''">{{ chart_note }}</div>
</div>
<div class="vol">
<div class="vb" data-for="b : bars" data-style-left="b.x + '%'" data-style-width="b.w + '%'" data-style-height="b.vol + '%'"></div>
</div>
<div class="dates"><span>{{ chart_from }}</span><span class="r">{{ chart_to }}</span></div>
<div class="books" data-if="has_item">
<div class="book gap">
<div class="label">Sell orders - buy from them</div>
<div class="table">
<div class="head"><span class="c1">Base</span><span class="c2">jumps</span><span class="c3">qty</span><span class="c4">price</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="sells.size == 0">Nobody sells this. Place a buy order.</div>
<div class="row" data-for="r : sells" data-class-selected="r.selected" data-class-mine="r.mine" data-action="pick-sell" data-attr-data-arg="r.id">
<span class="c1">{{ r.base }}</span><span class="c2">{{ r.jumps }}</span><span class="c3">{{ r.qty }}</span><span class="c4">{{ r.price }}</span>
<div class="tip">{{ r.who }} - ends in {{ r.expires }}{{ r.mine ? ' - your order' : '' }}{{ r.eta }}</div>
</div>
</div>
</div>
</div>
<div class="book">
<div class="label">Buy orders - sell into them</div>
<div class="table">
<div class="head"><span class="c1">Base</span><span class="c2">jumps</span><span class="c3">qty</span><span class="c4">price</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="buys.size == 0">Nobody wants this yet. Place a sell order.</div>
<div class="row" data-for="r : buys" data-class-selected="r.selected" data-class-mine="r.mine" data-action="pick-buy" data-attr-data-arg="r.id">
<span class="c1">{{ r.base }}</span><span class="c2">{{ r.jumps }}</span><span class="c3">{{ r.qty }}</span><span class="c4">{{ r.price }}</span>
<div class="tip">{{ r.who }} - ends in {{ r.expires }}{{ r.mine ? ' - your order' : '' }}</div>
</div>
</div>
</div>
</div>
</div>
<div class="panel" data-if="has_pick">
<div class="pick">{{ pick_text }}</div>
<div class="row2">
<input class="range" type="range" min="1" step="1" data-attr-max="amount_max" data-value="amount"/>
<span class="num" style="width: 80dp; text-align: right;">{{ amount_text }}</span>
<div class="btn" style="margin-left: 10dp; padding: 3dp 10dp;" data-action="max">Max</div>
<span class="sum">{{ deal_total }}</span>
<div class="btn primary" data-action="deal">{{ pick_buy ? 'Sell' : 'Buy' }}<div class="tip">{{ pick_buy ? 'Sells from your depot on that base into the buy order; the credits go to your bank.' : 'Buys with your bank credits; the goods go into your depot on that base.' }}</div></div>
</div>
</div>
<div class="panel" data-if="has_item">
<div class="row2" style="margin-bottom: 8dp;">
<span class="toggle" data-class-on="!place_buy" data-action="place-mode" data-arg="sell">Sell order</span>
<span class="toggle" style="margin-left: 6dp;" data-class-on="place_buy" data-action="place-mode" data-arg="buy">Buy order</span>
<span class="hint" style="margin-left: 14dp;">{{ place_have }}</span>
</div>
<div class="row2">
<span class="label">Amount</span><input class="text" type="text" data-value="place_qty" maxlength="10"/>
<span class="label" style="width: 90dp;">Price / unit</span><input class="text" type="text" data-value="place_price" maxlength="12"/>
<span class="label" style="width: 50dp;">Days</span><input class="text" type="text" style="width: 50dp;" data-value="place_days" maxlength="2"/>
<div class="btn primary" data-class-disabled="!can_place" data-action="place">Place<div class="tip">Sell order: the goods leave your depot here and wait on the market. Buy order: the credits wait in escrow; what is sold into it goes into your depot here.</div></div>
</div>
<div class="info">{{ place_info }}</div>
</div>
<div class="status" data-class-bad="!status_ok" data-if="status != ''">{{ status }}</div>
</div>
</div>
<!-- ================================================= MY ORDERS -->
<div class="mine-split" data-if="tab == 1">
<div class="label">Your orders</div>
<div class="table mt" style="flex: 1 1 0;">
<div class="head"><span class="cs">Kind</span><span class="c1">Good</span><span class="cb">Base</span><span class="cn">qty</span><span class="cn">price</span><span class="cn">ends in</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="mine.size == 0">You have no orders on the market.</div>
<div class="row" data-for="r : mine" data-class-selected="r.selected" data-action="mine-pick" data-attr-data-arg="r.id">
<span class="cs" data-style-color="r.buy ? '#5fd08a' : '#f2b13c'">{{ r.kind }}</span><span class="c1">{{ r.item }}</span><span class="cb">{{ r.base }}</span>
<span class="cn">{{ r.qty }}</span><span class="cn">{{ r.price }}</span><span class="cn">{{ r.expires }}</span>
</div>
</div>
</div>
<div class="panel" data-if="has_mine_pick">
<div class="row2">
<span class="label">New price</span><input class="text" type="text" data-value="reprice" maxlength="12"/>
<div class="btn primary" data-action="mine-price">Set price<div class="tip">A new price per unit; the broker fee is charged again. A buy order's escrow follows the price.</div></div>
<div class="btn danger" style="margin-left: 10dp;" data-action="mine-cancel">Take back<div class="tip">Sell order: the goods go back into your depot on that base. Buy order: the escrow goes back to your bank.</div></div>
</div>
</div>
<div class="status" data-class-bad="!status_ok" data-if="status != ''">{{ status }}</div>
<div class="label" style="margin-top: 12dp;">Your last trades</div>
<div class="table mt" style="flex: 1 1 0;">
<div class="head"><span class="cb">When</span><span class="cs">Side</span><span class="c1">Good</span><span class="cn">qty</span><span class="cn">price</span><span class="cb">Base</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="trades.size == 0">No trades yet.</div>
<div class="row" data-for="r : trades">
<span class="cb">{{ r.when }}</span><span class="cs">{{ r.side }}</span><span class="c1">{{ r.item }}</span>
<span class="cn">{{ r.qty }}</span><span class="cn">{{ r.price }}</span><span class="cb">{{ r.base }}</span>
</div>
</div>
</div>
</div>
<!-- ================================================= COURIERS (W6) -->
<div class="mine-split" data-if="tab == 2">
<div class="label">Courier contracts <span class="hint">- open ones, yours and the ones you carry</span></div>
<div class="table mt" style="flex: 1 1 0;">
<div class="head"><span class="cb">From</span><span class="cb">To</span><span class="c1">Goods</span><span class="cn">reward</span><span class="cn">collateral</span><span class="cn">time left</span><span class="cs">state</span></div>
<div class="body">
<div class="hint" style="padding: 8dp;" data-if="cons.size == 0">{{ cons_received ? 'No courier contracts.' : 'Asking the server...' }}</div>
<div class="row" data-for="r : cons" data-class-selected="r.selected" data-action="con-pick" data-attr-data-arg="r.id">
<span class="cb">{{ r.from }}</span><span class="cb">{{ r.to }}</span><span class="c1">{{ r.goods }}</span>
<span class="cn">{{ r.reward }}</span><span class="cn">{{ r.collateral }}</span><span class="cn">{{ r.left }}</span><span class="cs">{{ r.state }}</span>
</div>
</div>
</div>
<div class="panel" data-if="con_pick != ''">
<div class="pick">{{ con_text }}</div>
<div class="row2">
<div class="btn primary" data-if="con_can_accept" data-action="con-accept">Take it<div class="tip">The collateral leaves your bank until you deliver. Pick the goods up at the start, bring them to the goal before the time is up.</div></div>
<div class="btn primary" data-if="con_can_pickup" data-action="con-pickup">Pick up<div class="tip">Docked at the start: the goods into your hold.</div></div>
<div class="btn primary" data-if="con_can_deliver" data-action="con-deliver">Deliver<div class="tip">Docked at the goal: the goods into the poster's depot, the reward and your collateral into your bank.</div></div>
<div class="btn danger" data-if="con_can_cancel" data-action="con-cancel">Withdraw<div class="tip">Nobody took it yet: the goods back into your depot, the reward back into your bank.</div></div>
</div>
</div>
<div class="status" data-class-bad="!status_ok" data-if="status != ''">{{ status }}</div>
<div class="panel">
<div class="label">Post a contract - goods from your depot here</div>
<div class="row2" style="margin-bottom: 6dp;">
<span class="label">Goods</span><span class="toggle on" data-action="con-good">{{ con_good }}<div class="tip">Click for the next good in your depot here.</div></span>
<span class="label" style="width: 70dp; margin-left: 14dp;">Amount</span><input class="text" type="text" style="width: 70dp;" data-value="con_qty" maxlength="8"/>
<span class="label" style="width: 40dp;">To</span><input class="text" type="text" style="width: 200dp;" data-value="con_to" maxlength="60"/>
</div>
<div class="row2">
<span class="label">Reward</span><input class="text" type="text" data-value="con_reward" maxlength="12"/>
<span class="label" style="width: 80dp;">Collateral</span><input class="text" type="text" data-value="con_coll" maxlength="12"/>
<span class="label" style="width: 70dp;">Insured</span><input class="text" type="text" data-value="con_ins" maxlength="12"/>
<span class="label" style="width: 40dp;">Days</span><input class="text" type="text" style="width: 40dp;" data-value="con_days" maxlength="2"/>
<div class="btn primary" data-action="con-post">Post<div class="tip">The goods leave your depot, the reward (and the premium, a Courier Terminal's fee) your bank - until the contract ends.</div></div>
</div>
<div class="info">{{ con_info }}</div>
</div>
</div>
<!--/PANE-->
</div>
</div>
<div class="win-foot">
<span class="key">Esc</span><span class="hint">close</span>
</div>
</body>
</rml>