REM-Client b240ec16: QoL - chat mentions (tab, sound), auto repair after docking, ship comparison at the dealer, loadout presets (Base Manager page Loadouts), shared nav map bookmarks, Play again for repeatable story chapters, mail from the attention icon
This commit is contained in:
+3
-3
@@ -1,6 +1,6 @@
|
||||
REM-Client test build (64-bit)
|
||||
date: 2026-11-10 10:24
|
||||
commit: 771c9ce7 (main)
|
||||
subject: Server list: Connect, Refresh and Star in one row on top of the side column, Connect twice as wide
|
||||
date: 2026-11-10 10:56
|
||||
commit: b240ec16 (main)
|
||||
subject: QoL: chat mentions, auto repair, ship comparison, loadout presets, shared bookmarks, "Play again", mail from the attention icon
|
||||
tree: clean
|
||||
build: OK
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -174,6 +174,7 @@
|
||||
<div class="item" data-class-active="page == 9" data-action="page" data-arg="9"><img class="ico" src="3db:INTERFACE/REM/IMAGES/icon_contracts.3db"/><span>Contracts</span><div class="tip">Trade bundles with other pilots - goods, equipment, ammunition and credits - or have them carried.</div></div>
|
||||
<div class="sep"></div>
|
||||
<div class="item" data-class-active="page == 10" data-action="page" data-arg="10"><img class="ico" src="3db:INTERFACE/NEURONET/ICONS/NN_Chat.3db"/><span>Mail</span><span class="badge" data-if="mail_unread > 0">{{ mail_unread }}</span><div class="tip">Letters to any pilot, also offline - with credits and items from your depot.</div></div>
|
||||
<div class="item" data-class-active="page == 11" data-action="page" data-arg="11"><img class="ico" src="3db:INTERFACE/REM/IMAGES/icon_ships.3db"/><span>Loadouts</span><div class="tip">Save your mounted equipment and put it back on with one click - what is missing is bought here.</div></div>
|
||||
</div>
|
||||
<div class="content" id="base-pages" data-model="base">
|
||||
<div class="blocked" data-if="blocked != 0">
|
||||
@@ -181,6 +182,39 @@
|
||||
<div>{{ blocked_text }}</div>
|
||||
</div>
|
||||
|
||||
<!-- ================================================= LOADOUTS -->
|
||||
<div class="page" data-if="blocked == 0 && page == 11">
|
||||
<div class="colm gap">
|
||||
<div class="col-h"><h3>Loadouts</h3><span class="hint">{{ lo_rows.size }} saved</span></div>
|
||||
<div class="hint" data-if="lo_rows.size == 0">No loadouts yet. Mount what you like, give it a name below and save it.</div>
|
||||
<div class="table" data-if="lo_rows.size > 0" style="height: 260dp;">
|
||||
<div class="body">
|
||||
<div class="row" data-for="r : lo_rows" data-class-selected="r.selected" data-action="lo-pick" data-attr-data-arg="r.key">
|
||||
<span class="c1">{{ r.a }}</span><span class="c2">{{ r.b }}{{ r.current ? '' : ' (other ship)' }}</span><span class="c3">{{ r.c }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="namefield" style="margin-top: 10dp;"><span class="label">Name</span><input class="text" type="text" data-value="lo_name" maxlength="40"/></div>
|
||||
<div class="actions" style="margin-top: 8dp;"><div class="btn" data-action="lo-save">Save current loadout<div class="tip">Saves what is mounted now under the name (the same name replaces it).</div></div></div>
|
||||
</div>
|
||||
<div class="colm gap">
|
||||
<div class="col-h"><h3>What it does here</h3><span class="hint">{{ lo_cost }}</span></div>
|
||||
<div class="hint" data-if="!lo_sel">Pick a loadout.</div>
|
||||
<div class="table" data-if="lo_sel" style="height: 380dp;">
|
||||
<div class="body">
|
||||
<div class="row" data-for="r : lo_plan" data-class-short="r.short">
|
||||
<span class="c1">{{ r.b }}</span><span class="c2">{{ r.a }}</span><span class="c3">{{ r.c }}</span><span class="c3">{{ r.d }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions" style="margin-top: 8dp;" data-if="lo_sel">
|
||||
<div class="btn primary" data-action="lo-apply">Apply<div class="tip">Mounts what is in the hold, buys what is missing on this base and mounts it.</div></div>
|
||||
<div class="btn" data-action="lo-del">Delete</div>
|
||||
</div>
|
||||
<div class="hint" style="margin-top: 8dp;" data-if="lo_msg != ''">{{ lo_msg }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ================================================= DEPOT -->
|
||||
<div class="page" data-if="blocked == 0 && page == 0">
|
||||
<div class="blocked" data-if="depot_state == 0 && !depot_remote">
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
<div class="tgl" data-action="players"><div class="box" data-class-on="hide_players"></div><span class="l">Hide players' chat (universe, system, local - group and private messages stay)</span></div>
|
||||
<div class="info">Hides the server's NPC pilots ([NPC] names) from the chat, the player list of the chat window, the chat targets and the contact list.</div>
|
||||
<div class="tgl" style="margin-top: 8dp;" data-action="stamps"><div class="box" data-class-on="stamps"></div><span class="l">Show times in the chat history</span></div>
|
||||
<div class="tgl" style="margin-top: 8dp;" data-action="mention"><div class="box" data-class-on="mention_sound"></div><span class="l">Sound when someone writes your name</span></div>
|
||||
</div>
|
||||
<div class="sec">
|
||||
<h3>Muted players</h3>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<div class="head"><span class="c1">Mission</span><span class="c2">Where (mission board)</span><span class="c3" style="text-align: left;">Status</span></div>
|
||||
<div class="body">
|
||||
<div class="empty" data-if="playable.size == 0">No missions known yet.</div>
|
||||
<div class="row" data-for="r : playable" data-class-current="r.current" data-class-done="r.key == 'd'"><span class="c1">{{ r.a }}</span><span class="c2">{{ r.b }}</span><span class="c3" style="text-align: left;">{{ r.c }}</span></div>
|
||||
<div class="row" data-for="r : playable" data-class-current="r.current" data-class-done="r.key == 'd'"><span class="c1">{{ r.a }}</span><span class="c2">{{ r.b }}</span><span class="c3" style="text-align: left;">{{ r.c }}</span><div class="btn small" data-if="r.key == 'r'" data-action="replay" data-attr-data-arg="r.arg">Play again<div class="tip">Docked at a base that offers it: its mission board opens. Elsewhere: where to fly.</div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -28,6 +28,15 @@
|
||||
.stat { display: flex; flex-direction: row; padding: 3dp 0; border-bottom: 1dp #ffffff08; font-size: 13dp; }
|
||||
.stat .l { flex: 1; color: #8197ad; }
|
||||
.stat .v { font-family: "IBM Plex Mono"; text-align: right; }
|
||||
/* REM: the own ship beside it - its value and the difference (more green, less red) */
|
||||
.stat .o { font-family: "IBM Plex Mono"; text-align: right; width: 70dp; margin-left: 10dp; color: #5cc8f0; }
|
||||
.stat .d { font-family: "IBM Plex Mono"; text-align: right; width: 52dp; color: #8197ad; }
|
||||
.stat .d.up { color: #6fd08c; }
|
||||
.stat .d.down { color: #ef6a5b; }
|
||||
.stathead { display: flex; flex-direction: row; font-size: 11dp; letter-spacing: 1dp; color: #8197ad; text-transform: uppercase; padding-bottom: 3dp; }
|
||||
.stathead .sp { flex: 1; }
|
||||
.stathead .o { width: 70dp; text-align: right; color: #5cc8f0; }
|
||||
.stathead .d { width: 52dp; text-align: right; }
|
||||
.deal { margin-top: 14dp; padding: 12dp; display: flex; flex-direction: row; align-items: center; background-color: #5cc8f010; }
|
||||
.deal .txt { flex: 1; min-width: 0; }
|
||||
.deal .t { font-family: "Saira SemiCondensed"; font-weight: 600; font-size: 18dp; }
|
||||
@@ -70,7 +79,8 @@
|
||||
</div>
|
||||
<div class="colm facts">
|
||||
<h3 style="margin-bottom: 8dp;">Specifications</h3>
|
||||
<div class="stat" data-for="s : stats"><span class="l">{{ s.label }}</span><span class="v">{{ s.value }}</span></div>
|
||||
<div class="stathead" data-if="compare"><span class="sp">This ship</span><span class="o">Yours</span><span class="d">Diff</span></div>
|
||||
<div class="stat" data-for="s : stats"><span class="l">{{ s.label }}</span><span class="v">{{ s.value }}</span><span class="o" data-if="compare">{{ s.own }}</span><span class="d" data-if="compare" data-class-up="s.dir > 0" data-class-down="s.dir < 0">{{ s.diff }}</span></div>
|
||||
<div class="info">{{ pick_info }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user