Remove edge resistance when sidebar swipe is enabled

Makes swiping to open sidebar feel natural without resistance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-23 02:36:54 +01:00
parent be5d6141f4
commit 75cb687500

View File

@@ -295,7 +295,9 @@ export function SwipeTabs<T extends string | number>({
let offset = dx; let offset = dx;
const atStart = state.startIndex <= 0; const atStart = state.startIndex <= 0;
const atEnd = state.startIndex >= tabs.length - 1; const atEnd = state.startIndex >= tabs.length - 1;
if ((atStart && dx > 0) || (atEnd && dx < 0)) { // Don't apply resistance at start if onSwipePastStart is defined (sidebar can open)
const hasVirtualTabAtStart = !!onSwipePastStart;
if ((atStart && dx > 0 && !hasVirtualTabAtStart) || (atEnd && dx < 0)) {
offset = dx * EDGE_RESISTANCE; offset = dx * EDGE_RESISTANCE;
} }
offset = Math.max(Math.min(offset, width), -width); offset = Math.max(Math.min(offset, width), -width);
@@ -306,7 +308,7 @@ export function SwipeTabs<T extends string | number>({
preventDefault(); preventDefault();
} }
}, },
[scheduleDragUpdate, tabs.length] [onSwipePastStart, scheduleDragUpdate, tabs.length]
); );
const finishDrag = useCallback( const finishDrag = useCallback(