fix(worksheets): correct findNearestPreset direction logic
Fix broken OR logic in findNearestPreset that allowed presets to be classified as both "harder" AND "easier" simultaneously. This caused the system to select the current preset as the "next" target, preventing navigation away from presets. Changed to AND logic requiring: - Harder preset: Not easier in ANY dimension AND harder in AT LEAST ONE - Easier preset: Not harder in ANY dimension AND easier in AT LEAST ONE This prevents selecting the current preset and ensures proper directional navigation toward adjacent presets. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -701,9 +701,18 @@ export function findNearestPreset(
|
||||
)
|
||||
|
||||
// Calculate if this preset is harder or easier
|
||||
// Harder = higher regrouping OR lower scaffolding (higher scaffolding level number)
|
||||
const isHarder = regrouping > currentRegrouping || scaffolding > currentScaffolding
|
||||
const isEasier = regrouping < currentRegrouping || scaffolding < currentScaffolding
|
||||
// Harder = not easier in ANY dimension AND harder in AT LEAST ONE dimension
|
||||
// This prevents selecting the current preset as "next" when already at a preset
|
||||
const isHarder =
|
||||
regrouping >= currentRegrouping &&
|
||||
scaffolding >= currentScaffolding &&
|
||||
(regrouping > currentRegrouping || scaffolding > currentScaffolding)
|
||||
|
||||
// Easier = not harder in ANY dimension AND easier in AT LEAST ONE dimension
|
||||
const isEasier =
|
||||
regrouping <= currentRegrouping &&
|
||||
scaffolding <= currentScaffolding &&
|
||||
(regrouping < currentRegrouping || scaffolding < currentScaffolding)
|
||||
|
||||
return { profile, distance, regrouping, scaffolding, isHarder, isEasier }
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user