@@ -296,8 +296,18 @@ function showMessagesScroller(msg) {
296296 for ( let i = 0 ; i < lines . length ; i ++ ) {
297297 titleLines . push ( i + allLines . length ) ;
298298 }
299+ let footer = [ "" ] ;
300+ if ( msg . negative ) {
301+ footer [ 0 ] += "<" + "-" . repeat ( 4 ) + " " + ( ( ! msg . reply && ! msg . positive ) ?" " . repeat ( 6 ) :"" ) ;
302+ }
303+ if ( msg . reply || msg . positive ) {
304+ footer [ 0 ] += ( ( ! msg . negative ) ?" " . repeat ( 6 ) :"" ) + " " + "-" . repeat ( 4 ) + ">" ;
305+ }
306+ if ( ! footer ) {
307+ footer = [ "-" . repeat ( 12 ) ] ;
308+ }
299309 lines = lines . concat ( g . wrapString ( msgIter . body , APP_RECT . w - 10 ) ,
300- [ "-" . repeat ( 12 ) ] ) ;
310+ footer ) ;
301311 allLines = allLines . concat ( lines ) ;
302312 }
303313
@@ -326,12 +336,20 @@ function showMessagesScroller(msg) {
326336 select : function ( scrollIdx , touch ) {
327337 for ( let i = firstTitleLinePerMsg . length - 1 ; i >= 0 ; i -- ) {
328338 if ( scrollIdx >= firstTitleLinePerMsg [ i ] ) {
339+ if ( touch && touch . type === 2 ) { return ; }
340+ const MSG_SELECTED = MESSAGES [ i ] ;
341+ WU && WU . show ( ) ;
342+ delete titleLines , allLines ;
343+ //E.showScroller();
344+ updateReadMessages ( ) ;
329345 if ( ! touch || touch . type === 0 ) {
330- WU && WU . show ( ) ;
331- delete titleLines , allLines ;
332- //E.showScroller();
333- updateReadMessages ( ) ;
334- setTimeout ( ( ) => showMessageRouter ( MESSAGES [ i ] , true , "overview" ) , 0 ) ;
346+ setTimeout ( ( ) => showMessageRouter ( MSG_SELECTED , true , "overview" ) , 0 ) ;
347+ }
348+ print ( touch )
349+ if ( touch && touch . type . swipeLR ) {
350+ print ( "select swipe" )
351+ if ( touch . type . swipeLR > 0 && posHandler ) { posHandler ( MSG_SELECTED ) ; }
352+ if ( touch . type . swipeLR < 0 && negHandler ) { negHandler ( MSG_SELECTED ) ; }
335353 }
336354 break ;
337355 }
@@ -388,6 +406,50 @@ function showMessagesScroller(msg) {
388406 }
389407 //print(MESSAGES)
390408 }
409+ var negHandler , posHandler = [ ] ;
410+ if ( msg . negative ) {
411+ negHandler = ( msg ) => {
412+ print ( "negHandler" )
413+ msg . new = false ;
414+ cancelReloadTimeout ( ) ; // don't auto-reload to clock now
415+ Bangle . messageResponse ( msg , false ) ;
416+ returnToCheckMessages ( ) ;
417+ } ;
418+ //footer.push({type:"img",src:atob("PhAB4A8AAAAAAAPAfAMAAAAAD4PwHAAAAAA/H4DwAAAAAH78B8AAAAAA/+A/AAAAAAH/Af//////w/gP//////8P4D///////H/Af//////z/4D8AAAAAB+/AfAAAAAA/H4DwAAAAAPg/AcAAAAADwHwDAAAAAA4A8AAAAAAAA=="),col:"#f00",cb:negHandler});
419+ }
420+ if ( msg . reply && reply ) {
421+ print ( "posHandler reply" )
422+ posHandler = ( msg ) => {
423+ replying = true ;
424+ msg . new = false ;
425+ cancelReloadTimeout ( ) ; // don't auto-reload to clock now
426+ reply . reply ( { msg : msg } )
427+ . then ( result => {
428+ Bluetooth . println ( JSON . stringify ( result ) ) ;
429+ replying = false ;
430+ returnToCheckMessages ( ) ;
431+ } )
432+ . catch ( ( ) => {
433+ replying = false ;
434+ showMessagesScroller ( msg ) ;
435+ } ) ;
436+ } ;
437+ //footer.push({type:"img",src:atob("QRABAAAAAAAH//+AAAAABgP//8AAAAADgf//4AAAAAHg4ABwAAAAAPh8APgAAAAAfj+B////////geHv///////hf+f///////GPw///////8cGBwAAAAAPx/gDgAAAAAfD/gHAAAAAA8DngOAAAAABwDHP8AAAAADACGf4AAAAAAAAM/w=="),col:"#0f0", cb:posHandler});
438+ }
439+ else if ( msg . positive ) {
440+ posHandler = ( msg ) => {
441+ print ( "posHandler" )
442+ msg . new = false ;
443+ cancelReloadTimeout ( ) ; // don't auto-reload to clock now
444+ Bangle . messageResponse ( msg , true ) ;
445+ returnToCheckMessages ( ) ;
446+ } ;
447+ //footer.push({type:"img",src:atob("QRABAAAAAAAAAAOAAAAABgAAA8AAAAADgAAD4AAAAAHgAAPgAAAAAPgAA+AAAAAAfgAD4///////gAPh///////gA+D///////AD4H//////8cPgAAAAAAPw8+AAAAAAAfB/4AAAAAAA8B/gAAAAAABwB+AAAAAAADAB4AAAAAAAAABgAA=="),col:"#0f0",cb:posHandler});
448+ }
449+ Bangle . swipeHandler = ( lr ) => {
450+ if ( lr ) { Bangle . emit ( "touch" , 1 , { x :APP_RECT . x2 / 2 , y :APP_RECT . y2 / 2 , type :{ swipeLR :lr } } ) ; }
451+ } ;
452+ Bangle . on ( "swipe" , Bangle . swipeHandler ) ;
391453}
392454
393455function showMessageSettings ( msg ) {
0 commit comments