import type { NuzlockeRules } from '../types/rules' import { RULE_DEFINITIONS, DEFAULT_RULES } from '../types/rules' import { RuleToggle } from './RuleToggle' interface RulesConfigurationProps { rules: NuzlockeRules onChange: (rules: NuzlockeRules) => void onReset?: () => void } export function RulesConfiguration({ rules, onChange, onReset, }: RulesConfigurationProps) { const coreRules = RULE_DEFINITIONS.filter((r) => r.category === 'core') const difficultyRules = RULE_DEFINITIONS.filter( (r) => r.category === 'difficulty' ) const handleRuleChange = (key: keyof NuzlockeRules, value: boolean) => { onChange({ ...rules, [key]: value }) } const handleResetToDefault = () => { onChange(DEFAULT_RULES) onReset?.() } const enabledCount = Object.values(rules).filter(Boolean).length const totalCount = Object.keys(rules).length return (
{enabledCount} of {totalCount} rules enabled
The fundamental rules of a Nuzlocke challenge
Optional rules to increase the challenge