1.8 KiB
1.8 KiB
PineAP Dashboard: Remove Mode Card, Move RF Role Card
Date: 2026-08-23
Goal
Remove the "Passive / Active / Advanced" mode card from the PineAP dashboard and move the "RF Role (radio1)" card into its position, cleaning up all supporting code that becomes dead as a result.
Layout
Current PineAP dashboard rows:
[Passive/Active/Advanced, Quick Settings][RF Role (radio1)][Karma, Open Network, Evil WPA]
New layout:
[RF Role (radio1), Quick Settings][Karma, Open Network, Evil WPA]
Changes
payload/user/remote_access/pager-webui/www/js/views.js (views.pineap)
- Remove mode-card UI:
modebadge,segBtns/modeBar,modeInfo,saveModeBtn,modeCard. - Append
rfCardtomodeRow(first position, before Quick Settings); deleterfRow. - Remove functions
selectMode(),saveMode(),renderModeInfo(). - Remove state
selectedMode,modeDirty,modePending. - Remove
PINEAP_SESSION.modeand the'advanced'write inrememberAdvanced()(Quick Settings toggles keep working). - In
load(): drop theGET /api/pineap/modecall,PINEAP_SESSION.modetracking, and the badge-class update on the removedmodeelement.
payload/user/remote_access/pager-webui/www/css/app.css
- Remove mode-card-only rules:
.seg,.seg-btn,.seg-btn + .seg-btn,.seg-btn.active,.seg-btn:disabled,.pineap-card-button-group .seg,.pineap-card-button-group .seg-btn,.pineap-mode-save,.pineap-mode-features. - Keep
.pineap-card-title-flex(used by other views).
Untouched
- Backend
/api/pineap/modeendpoint (still exercised bytests/test_pineap_modes.py). - RF role logic, all other views,
build/(regenerated byscripts/deploy.sh).
Verification
node --checkonviews.js.- Manual browser check of the PineAP dashboard layout.