Skip to content

Commit cf7192e

Browse files
committed
feat(ui): add drawer menu
1 parent ee8d8be commit cf7192e

File tree

87 files changed

+1955
-1484
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+1955
-1484
lines changed

e2e/backup.e2e.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ d('Backup', () => {
8484

8585
// change currency to GBP
8686
await element(by.id('TotalBalance')).tap(); // switch to local currency
87-
await element(by.id('Settings')).tap();
87+
await element(by.id('HeaderMenu')).tap();
88+
await element(by.id('DrawerSettings')).tap();
8889
await element(by.id('GeneralSettings')).tap();
8990
await element(by.id('CurrenciesSettings')).tap();
9091
await element(by.text('GBP (£)')).tap();

e2e/boost.e2e.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ d('Boost', () => {
5151
}
5252

5353
// switch off RBF mode
54-
await element(by.id('Settings')).tap();
54+
await element(by.id('HeaderMenu')).tap();
55+
await element(by.id('DrawerSettings')).tap();
5556
if (!__DEV__) {
5657
await element(by.id('DevOptions')).multiTap(5); // enable dev mode
5758
}

e2e/helpers.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ export const waitForActiveChannel = async (lnd, nodeId, maxRetries = 20) => {
185185
};
186186

187187
export const getSeed = async () => {
188-
await element(by.id('Settings')).tap();
188+
await element(by.id('HeaderMenu')).tap();
189+
await element(by.id('DrawerSettings')).tap();
189190
await element(by.id('BackupSettings')).tap();
190191
await element(by.id('BackupWallet')).tap();
191192
// animation
@@ -247,7 +248,8 @@ export const restoreWallet = async (seed, passphrase) => {
247248
};
248249

249250
export const waitForBackup = async () => {
250-
await element(by.id('Settings')).tap();
251+
await element(by.id('HeaderMenu')).tap();
252+
await element(by.id('DrawerSettings')).tap();
251253
await element(by.id('BackupSettings')).tap();
252254
await waitFor(element(by.id('AllSynced')))
253255
.toBeVisible()

e2e/lightning.e2e.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ d('Lightning', () => {
7171
const { identityPubkey: lndNodeID } = await lnd.getInfo();
7272

7373
// get LDK Node id
74-
await element(by.id('Settings')).tap();
74+
await element(by.id('HeaderMenu')).tap();
75+
await element(by.id('DrawerSettings')).tap();
7576
await element(by.id('AdvancedSettings')).tap();
7677
// wait for LDK to start
7778
await sleep(5000);
@@ -112,7 +113,8 @@ d('Lightning', () => {
112113
await waitForActiveChannel(lnd, ldkNodeId);
113114

114115
// check channel status
115-
await element(by.id('Settings')).tap();
116+
await element(by.id('HeaderMenu')).tap();
117+
await element(by.id('DrawerSettings')).tap();
116118
await element(by.id('AdvancedSettings')).atIndex(0).tap();
117119
await element(by.id('Channels')).tap();
118120
await element(by.id('Channel')).atIndex(0).tap();
@@ -331,7 +333,8 @@ d('Lightning', () => {
331333
await element(by.id('NavigationClose')).tap();
332334

333335
// check channel status
334-
await element(by.id('Settings')).tap();
336+
await element(by.id('HeaderMenu')).tap();
337+
await element(by.id('DrawerSettings')).tap();
335338
await element(by.id('AdvancedSettings')).tap();
336339
await sleep(100);
337340
await element(by.id('Channels')).tap();

e2e/lnurl.e2e.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ d('LNURL', () => {
9090
}
9191

9292
// get LDK Node id
93-
await element(by.id('Settings')).tap();
93+
await element(by.id('HeaderMenu')).tap();
94+
await element(by.id('DrawerSettings')).tap();
9495
if (!__DEV__) {
9596
await element(by.id('DevOptions')).multiTap(5); // enable dev mode
9697
}

e2e/numberpad.e2e.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ d('NumberPad', () => {
8585
}
8686

8787
// switch to classic denomination
88-
await element(by.id('Settings')).tap();
88+
await element(by.id('HeaderMenu')).tap();
89+
await element(by.id('DrawerSettings')).tap();
8990
await element(by.id('GeneralSettings')).tap();
9091
await element(by.id('UnitSettings')).tap();
9192
await element(by.id('DenominationClassic')).tap();

e2e/onchain.e2e.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,8 @@ d('Onchain', () => {
246246
const coreAddress = await rpc.getNewAddress();
247247

248248
// enable warning for sending over 100$ to test multiple warning dialogs
249-
await element(by.id('Settings')).tap();
249+
await element(by.id('HeaderMenu')).tap();
250+
await element(by.id('DrawerSettings')).tap();
250251
await element(by.id('SecuritySettings')).tap();
251252
await element(by.id('SendAmountWarning')).tap();
252253
await element(by.id('NavigationClose')).atIndex(0).tap();

e2e/security.e2e.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ d('Settings Security And Privacy', () => {
7171

7272
await device.setBiometricEnrollment(true);
7373

74-
await element(by.id('Settings')).tap();
74+
await element(by.id('HeaderMenu')).tap();
75+
await element(by.id('DrawerSettings')).tap();
7576
await element(by.id('SecuritySettings')).tap();
7677
await element(by.id('PINCode')).tap();
7778
await element(by.id('SecureWallet-button-continue')).tap();
@@ -164,7 +165,8 @@ d('Settings Security And Privacy', () => {
164165
await element(by.id('Close')).tap();
165166

166167
// test PIN on idle and disable it after
167-
await element(by.id('Settings')).tap();
168+
await element(by.id('HeaderMenu')).tap();
169+
await element(by.id('DrawerSettings')).tap();
168170
await element(by.id('SecuritySettings')).tap();
169171

170172
// FIXME: this fails too often
@@ -223,7 +225,8 @@ d('Settings Security And Privacy', () => {
223225
await element(by.id('Close')).tap();
224226

225227
// disable PIN, restart the app, it should not ask for it
226-
await element(by.id('Settings')).tap();
228+
await element(by.id('HeaderMenu')).tap();
229+
await element(by.id('DrawerSettings')).tap();
227230
await element(by.id('SecuritySettings')).tap();
228231
await element(by.id('PINCode')).tap();
229232
await element(by.id('DisablePin')).tap();
@@ -235,7 +238,8 @@ d('Settings Security And Privacy', () => {
235238
.withTimeout(10000);
236239

237240
// enable PIN for last test
238-
await element(by.id('Settings')).tap();
241+
await element(by.id('HeaderMenu')).tap();
242+
await element(by.id('DrawerSettings')).tap();
239243
await element(by.id('SecuritySettings')).tap();
240244
await element(by.id('PINCode')).tap();
241245
await element(by.id('SecureWallet-button-continue')).tap();

e2e/send.e2e.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ d('Send', () => {
185185
const { identityPubkey: lndNodeID } = await lnd.getInfo();
186186

187187
// get LDK Node id
188-
await element(by.id('Settings')).tap();
188+
await element(by.id('HeaderMenu')).tap();
189+
await element(by.id('DrawerSettings')).tap();
189190
await element(by.id('AdvancedSettings')).tap();
190191
// wait for LDK to start
191192
await sleep(5000);
@@ -226,7 +227,8 @@ d('Send', () => {
226227
await waitForActiveChannel(lnd, ldkNodeId);
227228

228229
// check channel status
229-
await element(by.id('Settings')).tap();
230+
await element(by.id('HeaderMenu')).tap();
231+
await element(by.id('DrawerSettings')).tap();
230232
await element(by.id('AdvancedSettings')).atIndex(0).tap();
231233
await element(by.id('Channels')).tap();
232234
await element(by.id('Channel')).atIndex(0).tap();
@@ -455,7 +457,8 @@ d('Send', () => {
455457
const { paymentRequest: invoice7 } = await lnd.addInvoice({ value: 1000 });
456458

457459
// enable quickpay
458-
await element(by.id('Settings')).tap();
460+
await element(by.id('HeaderMenu')).tap();
461+
await element(by.id('DrawerSettings')).tap();
459462
await element(by.id('GeneralSettings')).tap();
460463
await element(by.id('QuickpaySettings')).tap();
461464
await element(by.id('QuickpayIntro-button')).tap();

e2e/settings.e2e.js

+44-23
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ d('Settings', () => {
5858
).toHaveText('$');
5959

6060
// switch to GBP
61-
await element(by.id('Settings')).tap();
61+
await element(by.id('HeaderMenu')).tap();
62+
await element(by.id('DrawerSettings')).tap();
6263
await element(by.id('GeneralSettings')).tap();
6364
await element(by.id('CurrenciesSettings')).tap();
6465
await element(by.text('GBP (£)')).tap();
@@ -72,7 +73,8 @@ d('Settings', () => {
7273
await element(by.id('TotalBalance')).tap();
7374

7475
// switch to USD
75-
await element(by.id('Settings')).tap();
76+
await element(by.id('HeaderMenu')).tap();
77+
await element(by.id('DrawerSettings')).tap();
7678
await element(by.id('GeneralSettings')).tap();
7779
await element(by.id('CurrenciesSettings')).tap();
7880
await element(by.text('USD ($)')).tap();
@@ -95,7 +97,8 @@ d('Settings', () => {
9597
by.id('Value').withAncestor(by.id('UnitSettings')),
9698
);
9799

98-
await element(by.id('Settings')).tap();
100+
await element(by.id('HeaderMenu')).tap();
101+
await element(by.id('DrawerSettings')).tap();
99102
await element(by.id('GeneralSettings')).tap();
100103
// check default unit
101104
await expect(unitRow).toHaveText('Bitcoin');
@@ -110,7 +113,8 @@ d('Settings', () => {
110113
await expect(balance).toHaveText('0.00');
111114

112115
// switch back to BTC
113-
await element(by.id('Settings')).tap();
116+
await element(by.id('HeaderMenu')).tap();
117+
await element(by.id('DrawerSettings')).tap();
114118
await element(by.id('GeneralSettings')).tap();
115119
await element(by.id('UnitSettings')).tap();
116120
await element(by.id('Bitcoin')).tap();
@@ -120,7 +124,8 @@ d('Settings', () => {
120124
await expect(balance).toHaveText('0');
121125

122126
// switch to classic denomination
123-
await element(by.id('Settings')).tap();
127+
await element(by.id('HeaderMenu')).tap();
128+
await element(by.id('DrawerSettings')).tap();
124129
await element(by.id('GeneralSettings')).tap();
125130
await element(by.id('UnitSettings')).tap();
126131
await element(by.id('DenominationClassic')).tap();
@@ -137,7 +142,8 @@ d('Settings', () => {
137142
return;
138143
}
139144

140-
await element(by.id('Settings')).tap();
145+
await element(by.id('HeaderMenu')).tap();
146+
await element(by.id('DrawerSettings')).tap();
141147
await element(by.id('GeneralSettings')).tap();
142148

143149
// switch to Fast
@@ -172,7 +178,8 @@ d('Settings', () => {
172178
}
173179

174180
// no tags, menu entry should be hidden
175-
await element(by.id('Settings')).tap();
181+
await element(by.id('HeaderMenu')).tap();
182+
await element(by.id('DrawerSettings')).tap();
176183
await element(by.id('GeneralSettings')).tap();
177184
await expect(element(by.id('TagsSettings'))).not.toBeVisible();
178185
await element(by.id('NavigationClose')).atIndex(0).tap();
@@ -191,7 +198,8 @@ d('Settings', () => {
191198
await sleep(1000);
192199

193200
// open tag manager, delete tag
194-
await element(by.id('Settings')).tap();
201+
await element(by.id('HeaderMenu')).tap();
202+
await element(by.id('DrawerSettings')).tap();
195203
await element(by.id('GeneralSettings')).tap();
196204
await element(by.id('TagsSettings')).tap();
197205
await expect(element(by.text(tag))).toBeVisible();
@@ -214,7 +222,8 @@ d('Settings', () => {
214222
return;
215223
}
216224

217-
await element(by.id('Settings')).tap();
225+
await element(by.id('HeaderMenu')).tap();
226+
await element(by.id('DrawerSettings')).tap();
218227
await element(by.id('About')).tap();
219228
await expect(element(by.id('AboutLogo'))).toBeVisible();
220229

@@ -242,7 +251,8 @@ d('Settings', () => {
242251
await expect(element(by.id('ShowBalance'))).toBeVisible();
243252

244253
// Disable 'swipe to hide balance'
245-
await element(by.id('Settings')).tap();
254+
await element(by.id('HeaderMenu')).tap();
255+
await element(by.id('DrawerSettings')).tap();
246256
await element(by.id('SecuritySettings')).tap();
247257
await element(by.id('SwipeBalanceToHide')).tap();
248258
await element(by.id('NavigationClose')).atIndex(0).tap();
@@ -255,7 +265,8 @@ d('Settings', () => {
255265
await expect(element(by.id('ShowBalance'))).not.toBeVisible();
256266

257267
// Enable 'hide balance on open'
258-
await element(by.id('Settings')).tap();
268+
await element(by.id('HeaderMenu')).tap();
269+
await element(by.id('DrawerSettings')).tap();
259270
await element(by.id('SecuritySettings')).tap();
260271
await element(by.id('SwipeBalanceToHide')).tap();
261272
await element(by.id('HideBalanceOnOpen')).tap();
@@ -275,7 +286,8 @@ d('Settings', () => {
275286
return;
276287
}
277288

278-
await element(by.id('Settings')).tap();
289+
await element(by.id('HeaderMenu')).tap();
290+
await element(by.id('DrawerSettings')).tap();
279291
await element(by.id('BackupSettings')).tap();
280292
await element(by.id('ResetAndRestore')).tap(); // just check if this screen can be opened
281293
await element(by.id('NavigationBack')).atIndex(0).tap();
@@ -327,7 +339,8 @@ d('Settings', () => {
327339
await sleep(1000);
328340

329341
// check same address in Address Viewer
330-
await element(by.id('Settings')).tap();
342+
await element(by.id('HeaderMenu')).tap();
343+
await element(by.id('DrawerSettings')).tap();
331344
await element(by.id('AdvancedSettings')).tap();
332345
await element(by.id('WebRelay')).swipe('up');
333346
await element(by.id('AddressViewer')).tap();
@@ -389,7 +402,8 @@ d('Settings', () => {
389402
await sleep(1000);
390403

391404
// switch back to Native segwit
392-
await element(by.id('Settings')).tap();
405+
await element(by.id('HeaderMenu')).tap();
406+
await element(by.id('DrawerSettings')).tap();
393407
await element(by.id('AdvancedSettings')).tap();
394408
await element(by.id('AddressTypePreference')).tap();
395409
await element(by.id('p2wpkh')).tap();
@@ -403,7 +417,8 @@ d('Settings', () => {
403417
return;
404418
}
405419

406-
await element(by.id('Settings')).tap();
420+
await element(by.id('HeaderMenu')).tap();
421+
await element(by.id('DrawerSettings')).tap();
407422
if (!__DEV__) {
408423
await element(by.id('DevOptions')).multiTap(5); // enable dev mode
409424
}
@@ -438,7 +453,8 @@ d('Settings', () => {
438453
return;
439454
}
440455

441-
await element(by.id('Settings')).tap();
456+
await element(by.id('HeaderMenu')).tap();
457+
await element(by.id('DrawerSettings')).tap();
442458
await element(by.id('AdvancedSettings')).tap();
443459
await element(by.id('ElectrumConfig')).tap();
444460

@@ -527,7 +543,8 @@ d('Settings', () => {
527543
return;
528544
}
529545

530-
await element(by.id('Settings')).tap();
546+
await element(by.id('HeaderMenu')).tap();
547+
await element(by.id('DrawerSettings')).tap();
531548
await element(by.id('AdvancedSettings')).tap();
532549
await element(by.id('WebRelay')).tap();
533550

@@ -561,7 +578,8 @@ d('Settings', () => {
561578
return;
562579
}
563580

564-
await element(by.id('Settings')).tap();
581+
await element(by.id('HeaderMenu')).tap();
582+
await element(by.id('DrawerSettings')).tap();
565583
await element(by.id('AdvancedSettings')).tap();
566584
await element(by.id('RGSServer')).tap();
567585

@@ -610,7 +628,8 @@ d('Settings', () => {
610628
await expect(element(by.id('Suggestion-lightning'))).not.toBeVisible();
611629

612630
// reset suggestions
613-
await element(by.id('Settings')).tap();
631+
await element(by.id('HeaderMenu')).tap();
632+
await element(by.id('DrawerSettings')).tap();
614633
await element(by.id('AdvancedSettings')).tap();
615634
await element(by.id('WebRelay')).swipe('up');
616635
await element(by.id('ResetSuggestions')).tap();
@@ -628,7 +647,8 @@ d('Settings', () => {
628647
return;
629648
}
630649

631-
await element(by.id('Settings')).tap();
650+
await element(by.id('HeaderMenu')).tap();
651+
await element(by.id('DrawerSettings')).tap();
632652
if (!__DEV__) {
633653
await element(by.id('DevOptions')).multiTap(5); // enable dev mode
634654
}
@@ -653,15 +673,16 @@ d('Settings', () => {
653673
return;
654674
}
655675

656-
await element(by.id('Settings')).tap();
676+
await element(by.id('HeaderMenu')).tap();
677+
await element(by.id('DrawerSettings')).tap();
657678
await element(by.id('Support')).tap();
658679
await element(by.id('AppStatus')).tap();
659680

660681
await expect(element(by.id('Status-internet'))).toBeVisible();
661-
await expect(element(by.id('Status-bitcoin_node'))).toBeVisible();
682+
await expect(element(by.id('Status-electrum'))).toBeVisible();
662683
await expect(element(by.id('Status-lightning_node'))).toBeVisible();
663684
await expect(element(by.id('Status-lightning_connection'))).toBeVisible();
664-
await expect(element(by.id('Status-full_backup'))).toBeVisible();
685+
await expect(element(by.id('Status-backup'))).toBeVisible();
665686

666687
await element(by.id('NavigationClose')).atIndex(0).tap();
667688

0 commit comments

Comments
 (0)