import type { CategoryId } from "@/types/gunbuilder"; export const CATEGORY_TO_PART_ROLES: Record = { upper: ["upper-receiver", "upper"], completeUpper: ["complete-upper"], barrel: ["barrel"], gasBlock: ["gas-block"], gasTube: ["gas-tube"], muzzleDevice: ["muzzle-device", "compensator", "brake"], suppressor: ["suppressor"], handguard: ["handguard"], chargingHandle: ["charging-handle"], bcg: ["bcg", "bolt-carrier-group"], lower: ["lower-receiver", "lower", "LOWER_RECEIVER_STRIPPED"], completeLower: ["complete-lower"], lowerParts: ["lower-parts-kit", "lower-parts"], trigger: ["trigger", "trigger-kit"], grip: ["pistol-grip", "grip"], safety: ["safety", "safety-selector"], buffer: ["buffer-kit", "buffer"], stock: ["stock"], sights: ["sight", "sights", "iron-sights"], optic: ["optic", "optics"], magazine: ["magazine", "mag", "magazine-ar15", "magazine-308", "drum-magazine"], weaponLight: ["weapon-light", "light", "weapon-light-laser", "light-laser-combo", "laser"], foregrip: ["vertical-grip", "angled-foregrip", "foregrip", "handstop"], bipod: ["bipod"], sling: ["sling", "sling-mount", "sling-swivel", "qd-sling-mount"], railAccessory: ["rail-section", "picatinny-rail-section", "m-lok-rail-section", "keymod-rail-section", "rail-cover", "rail-panel"], tools: ["tool", "armorer-tool", "armorer-wrench", "cleaning-kit", "bore-snake", "vise-block", "torque-wrench"], }; export const PART_ROLE_TO_CATEGORY: Record = Object.entries( CATEGORY_TO_PART_ROLES ).reduce((acc, [categoryId, roles]) => { for (const role of roles) acc[role] = categoryId as CategoryId; return acc; }, {} as Record);