Hide Pinwheel Clause rule toggle for games without pinwheel zones

Fetches routes for the selected game during run creation and hides
the Pinwheel Clause option when no routes have pinwheel zone data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 10:40:18 +01:00
parent d50d189114
commit 8fbf658a27
3 changed files with 31 additions and 11 deletions

View File

@@ -6,15 +6,20 @@ interface RulesConfigurationProps {
rules: NuzlockeRules
onChange: (rules: NuzlockeRules) => void
onReset?: () => void
hiddenRules?: Set<keyof NuzlockeRules>
}
export function RulesConfiguration({
rules,
onChange,
onReset,
hiddenRules,
}: RulesConfigurationProps) {
const coreRules = RULE_DEFINITIONS.filter((r) => r.category === 'core')
const difficultyRules = RULE_DEFINITIONS.filter(
const visibleRules = hiddenRules
? RULE_DEFINITIONS.filter((r) => !hiddenRules.has(r.key))
: RULE_DEFINITIONS
const coreRules = visibleRules.filter((r) => r.category === 'core')
const difficultyRules = visibleRules.filter(
(r) => r.category === 'difficulty'
)
@@ -27,8 +32,8 @@ export function RulesConfiguration({
onReset?.()
}
const enabledCount = Object.values(rules).filter(Boolean).length
const totalCount = Object.keys(rules).length
const enabledCount = visibleRules.filter((r) => rules[r.key]).length
const totalCount = visibleRules.length
return (
<div className="space-y-6">