@@ -2676,14 +2676,17 @@ <h3>Proofs</h3>
2676
2676
2677
2677
sidebarClose . addEventListener ( 'click' , ( ) => {
2678
2678
closeSidebar ( ) ;
2679
+ console . log ( "click close" ) ;
2679
2680
} ) ;
2680
2681
2681
2682
function toggleSidebar ( ) {
2682
2683
if ( sidebar . classList . contains ( 'expanded' ) ) {
2683
2684
closeSidebar ( ) ;
2685
+ console . log ( "close" ) ;
2684
2686
}
2685
2687
else {
2686
2688
openSidebar ( ) ;
2689
+ console . log ( "open" ) ;
2687
2690
}
2688
2691
}
2689
2692
@@ -2693,6 +2696,7 @@ <h3>Proofs</h3>
2693
2696
2694
2697
if ( ! sidebar . classList . contains ( 'expanded' ) ) {
2695
2698
sidebar . classList . add ( 'expanded' ) ;
2699
+ console . log ( "added expanded" ) ;
2696
2700
}
2697
2701
if ( ! sidebarToggle . classList . contains ( 'active' ) ) {
2698
2702
sidebarToggle . classList . add ( 'active' )
@@ -2710,6 +2714,7 @@ <h3>Proofs</h3>
2710
2714
2711
2715
function closeSidebar ( ) {
2712
2716
sidebar . classList . remove ( 'expanded' ) ;
2717
+ console . log ( "removed expanded" ) ;
2713
2718
sidebarToggle . classList . remove ( 'active' ) ;
2714
2719
sidebar . classList . remove ( 'partially-expanded' ) ;
2715
2720
if ( ! sidebar . classList . contains ( 'button-collapsed' ) ) {
@@ -2726,24 +2731,40 @@ <h3>Proofs</h3>
2726
2731
// Sidebar swipe gesture
2727
2732
let startX = 0 ;
2728
2733
let endX = 0 ;
2734
+ let startY = 0 ;
2735
+ let endY = 0 ;
2736
+ const SWIPE_THRESHOLD = 50 ; // Minimum distance to qualify as a swipe
2737
+ const TAP_THRESHOLD = 10 ; // Allowable movement for taps
2729
2738
2730
2739
document . addEventListener ( 'touchstart' , ( e ) => {
2731
2740
startX = e . changedTouches [ 0 ] . clientX ;
2741
+ startY = e . changedTouches [ 0 ] . clientY ;
2732
2742
} , false ) ;
2733
2743
2734
- document . addEventListener ( 'touchmove ' , ( e ) => {
2744
+ document . addEventListener ( 'touchend ' , ( e ) => {
2735
2745
endX = e . changedTouches [ 0 ] . clientX ;
2736
- } , false ) ;
2746
+ endY = e . changedTouches [ 0 ] . clientY ;
2737
2747
2738
- document . addEventListener ( 'touchend' , ( ) => {
2739
- const difference = endX - startX ;
2740
- // Set a minimum distance to qualify as a swipe (e.g. 50px)
2741
- if ( difference > 50 ) {
2742
- // Swiped from left to right => open sidebar
2743
- openSidebar ( ) ;
2744
- } else if ( difference < - 50 ) {
2745
- // Swiped from right to left => close sidebar
2746
- closeSidebar ( ) ;
2748
+ const deltaX = endX - startX ; // Horizontal movement
2749
+ const deltaY = endY - startY ; // Vertical movement
2750
+
2751
+ // Check if it's a tap (small movement)
2752
+ if ( Math . abs ( deltaX ) < TAP_THRESHOLD && Math . abs ( deltaY ) < TAP_THRESHOLD ) {
2753
+ return ; // Do nothing, treat as a tap
2754
+ console . log ( "tap" ) ;
2755
+ }
2756
+
2757
+ // Check for swipe
2758
+ if ( Math . abs ( deltaX ) > Math . abs ( deltaY ) && Math . abs ( deltaX ) > SWIPE_THRESHOLD ) {
2759
+ if ( deltaX > 0 ) {
2760
+ // Swiped from left to right => open sidebar
2761
+ openSidebar ( ) ;
2762
+ console . log ( "swiped open" ) ;
2763
+ } else {
2764
+ // Swiped from right to left => close sidebar
2765
+ closeSidebar ( ) ;
2766
+ console . log ( "swiped close" ) ;
2767
+ }
2747
2768
}
2748
2769
} , false ) ;
2749
2770
</ script >
0 commit comments