@@ -84,9 +84,7 @@ async Task<List<EtcdKeyValue>> LoadAllKeysAsync()
8484 var user = await _etcdClient . GetUserAsync ( username ) ;
8585
8686 if ( user is null || user . Roles . Count == 0 || user . Roles . Contains ( "root" ) )
87- {
8887 _allKeys = await LoadAllKeysAsync ( ) ;
89- }
9088 else
9189 {
9290 var keys = new List < EtcdKeyValue > ( ) ;
@@ -236,15 +234,20 @@ private void RenderSearchBar()
236234 Console . WriteLine ( ) ;
237235
238236 Console . Write ( bgSeq ) ;
237+
239238 if ( _searchQuery . Length == 0 )
240239 AnsiConsole . Markup ( "[grey] \U0001f50d Type to search keys...[/]" ) ;
241240 else
242241 AnsiConsole . Markup ( $ " \U0001f50d [white]{ Markup . Escape ( _searchQuery ) } [/]") ;
242+
243243 _searchEndCol = Console . CursorLeft ;
244244 _searchBarRow = Console . CursorTop ;
245+
245246 var remaining = Console . WindowWidth - _searchEndCol ;
247+
246248 if ( remaining > 0 )
247249 Console . Write ( bgSeq + new string ( ' ' , remaining ) + resetSeq ) ;
250+
248251 Console . WriteLine ( ) ;
249252
250253 Console . Write ( bgSeq + fill + resetSeq ) ;
@@ -284,6 +287,8 @@ private void RenderKeyList()
284287 private void RenderPagination ( )
285288 {
286289 var bgSeq = "\x1b [48;2;27;28;30m" ;
290+ var greySeq = "\x1b [38;2;128;128;128m" ;
291+ var whiteSeq = "\x1b [38;2;255;255;255m" ;
287292 var resetSeq = "\x1b [0m" ;
288293 var fill = new string ( ' ' , Console . WindowWidth ) ;
289294
@@ -294,13 +299,13 @@ private void RenderPagination()
294299 Console . Write ( bgSeq + fill + resetSeq ) ;
295300 Console . WriteLine ( ) ;
296301
297- Console . Write ( bgSeq ) ;
298- AnsiConsole . Markup ( $ "[grey] Page { currentPageLabel } /{ totalPages } • { totalKeys } total keys[/]") ;
302+ Console . Write ( bgSeq + greySeq + " Page " + whiteSeq + currentPageLabel + "/" + totalPages + greySeq + " • " + whiteSeq + totalKeys + greySeq + " total keys" + resetSeq ) ;
299303 var remaining = Console . WindowWidth - Console . CursorLeft ;
304+
300305 if ( remaining > 0 )
301306 Console . Write ( bgSeq + new string ( ' ' , remaining ) + resetSeq ) ;
302- Console . WriteLine ( ) ;
303307
308+ Console . WriteLine ( ) ;
304309 Console . Write ( bgSeq + fill + resetSeq ) ;
305310 }
306311
@@ -328,7 +333,9 @@ private async Task EditKeyAsync()
328333
329334 AnsiConsole . Clear ( ) ;
330335 Header . Render ( ) ;
336+
331337 var savedTop = Console . CursorTop ;
338+
332339 StatusBar . Render ( _config ) ;
333340 Console . CursorTop = savedTop ;
334341 Console . CursorLeft = 0 ;
@@ -345,20 +352,21 @@ private async Task EditKeyAsync()
345352
346353 AnsiConsole . Clear ( ) ;
347354 Header . Render ( ) ;
355+
348356 savedTop = Console . CursorTop ;
357+
349358 StatusBar . Render ( _config ) ;
350359 Console . CursorTop = savedTop ;
351360 Console . CursorLeft = 0 ;
352361
353362 if ( result )
354363 {
355364 AnsiConsole . MarkupLine ( KeyUpdated ) ;
365+
356366 await ReloadAsync ( ) ;
357367 }
358368 else
359- {
360369 AnsiConsole . MarkupLine ( CouldNotUpdateKey ) ;
361- }
362370
363371 Console . WriteLine ( ) ;
364372 AnsiConsole . Markup ( Prompt . PressAnyKeyMarkup ) ;
@@ -372,7 +380,9 @@ private async Task DeleteKeyAsync()
372380
373381 AnsiConsole . Clear ( ) ;
374382 Header . Render ( ) ;
383+
375384 var savedTop = Console . CursorTop ;
385+
376386 StatusBar . Render ( _config ) ;
377387 Console . CursorTop = savedTop ;
378388 Console . CursorLeft = 0 ;
@@ -388,20 +398,21 @@ private async Task DeleteKeyAsync()
388398
389399 AnsiConsole . Clear ( ) ;
390400 Header . Render ( ) ;
401+
391402 savedTop = Console . CursorTop ;
403+
392404 StatusBar . Render ( _config ) ;
393405 Console . CursorTop = savedTop ;
394406 Console . CursorLeft = 0 ;
395407
396408 if ( result )
397409 {
398410 AnsiConsole . MarkupLine ( KeyDeleted ) ;
411+
399412 await ReloadAsync ( ) ;
400413 }
401414 else
402- {
403415 AnsiConsole . MarkupLine ( KeyCouldNotBeDeleted ) ;
404- }
405416
406417 Console . WriteLine ( ) ;
407418 AnsiConsole . Markup ( Prompt . PressAnyKeyMarkup ) ;
@@ -423,9 +434,7 @@ private async Task ReloadAsync()
423434 private void ApplyFilter ( )
424435 {
425436 if ( string . IsNullOrEmpty ( _searchQuery ) )
426- {
427437 _filteredKeys = [ .. _allKeys ] ;
428- }
429438 else
430439 {
431440 var query = _searchQuery ;
@@ -444,7 +453,7 @@ private List<EtcdKeyValue> GetCurrentPageKeys()
444453 {
445454 var start = _currentPage * PageSize ;
446455
447- return _filteredKeys . Skip ( start ) . Take ( PageSize ) . ToList ( ) ;
456+ return [ .. _filteredKeys . Skip ( start ) . Take ( PageSize ) ] ;
448457 }
449458
450459 private EtcdKeyValue ? GetCurrentPageKey ( )
0 commit comments