From 70aa1156f53047475bd10dc5de87e270e3ac92d1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 22 Feb 2026 11:00:54 +0000 Subject: [PATCH 1/2] Add renovate.json --- renovate.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..7190a60 --- /dev/null +++ b/renovate.json @@ -0,0 +1,3 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json" +} From 535154a05690d012bdf9c05e6eb3b3a315aed4eb Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Tue, 17 Mar 2026 13:32:34 +0100 Subject: [PATCH 2/2] Allow multiple games per region in Custom genlocke In custom mode, the region picker no longer filters out already-used regions, letting users add multiple legs from the same region (e.g. Black + Black 2 in Unova). Preset modes keep the one-per-region behavior. Already-used regions show a subtle dot indicator. Co-Authored-By: Claude Opus 4.6 --- ...ple-games-per-region-in-custom-genlocke.md | 11 ++++ frontend/src/pages/NewGenlocke.tsx | 53 +++++++++++++------ 2 files changed, 48 insertions(+), 16 deletions(-) create mode 100644 .beans/nuzlocke-tracker-na3s--allow-multiple-games-per-region-in-custom-genlocke.md diff --git a/.beans/nuzlocke-tracker-na3s--allow-multiple-games-per-region-in-custom-genlocke.md b/.beans/nuzlocke-tracker-na3s--allow-multiple-games-per-region-in-custom-genlocke.md new file mode 100644 index 0000000..59e52e5 --- /dev/null +++ b/.beans/nuzlocke-tracker-na3s--allow-multiple-games-per-region-in-custom-genlocke.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-na3s +title: Allow multiple games per region in Custom genlocke +status: completed +type: feature +priority: normal +created_at: 2026-03-17T12:29:57Z +updated_at: 2026-03-17T12:32:05Z +--- + +Users want to run multiple games from the same region in a genlocke (e.g., Black + Black 2 in Unova). Change availableRegions computation so custom mode shows all regions, and add a subtle indicator for already-used regions in AddLegDropdown. \ No newline at end of file diff --git a/frontend/src/pages/NewGenlocke.tsx b/frontend/src/pages/NewGenlocke.tsx index e4f59df..5252454 100644 --- a/frontend/src/pages/NewGenlocke.tsx +++ b/frontend/src/pages/NewGenlocke.tsx @@ -111,8 +111,14 @@ export function NewGenlocke() { const enabledRuleCount = RULE_DEFINITIONS.filter((r) => nuzlockeRules[r.key]).length const totalRuleCount = RULE_DEFINITIONS.length - // Regions not yet used in legs (for "add leg" picker) - const availableRegions = regions?.filter((r) => !legs.some((l) => l.region === r.name)) ?? [] + // In custom mode, show all regions (allow multiple legs per region). + // In preset modes, filter out regions already used. + const availableRegions = + preset === 'custom' + ? regions ?? [] + : regions?.filter((r) => !legs.some((l) => l.region === r.name)) ?? [] + + const usedRegionNames = new Set(legs.map((l) => l.region)) return (
@@ -225,7 +231,11 @@ export function NewGenlocke() { {/* Add leg button */} {preset === 'custom' && availableRegions.length > 0 && (
- +
)} @@ -551,9 +561,11 @@ function LegRow({ function AddLegDropdown({ regions, + usedRegionNames, onAdd, }: { regions: Region[] + usedRegionNames?: Set onAdd: (region: Region) => void }) { const [open, setOpen] = useState(false) @@ -583,19 +595,28 @@ function AddLegDropdown({
Select a region to add
- {regions.map((region) => ( - - ))} + {regions.map((region) => { + const alreadyUsed = usedRegionNames?.has(region.name) + return ( + + ) + })}