68 lines
3.3 KiB
TypeScript
68 lines
3.3 KiB
TypeScript
import type { Category } from "@/types/gunbuilder";
|
|
|
|
export const CATEGORY_SLUGS: Record<string, string> = {
|
|
lower: "lower",
|
|
completeLower: "complete-lower",
|
|
lowerParts: "lower-parts",
|
|
trigger: "trigger",
|
|
grip: "grip",
|
|
safety: "safety",
|
|
buffer: "buffer",
|
|
stock: "stock",
|
|
|
|
upper: "upper",
|
|
completeUpper: "complete-upper",
|
|
barrel: "barrel",
|
|
handguard: "handguard",
|
|
gasBlock: "gas-block",
|
|
gasTube: "gas-tube",
|
|
muzzleDevice: "muzzle-device",
|
|
bcg: "bcg",
|
|
sights: "sights",
|
|
chargingHandle: "charging-handle",
|
|
suppressor: "suppressor",
|
|
optic: "optic",
|
|
|
|
magazine: "magazine",
|
|
weaponLight: "weapon-light",
|
|
foregrip: "foregrip",
|
|
bipod: "bipod",
|
|
sling: "sling",
|
|
railAccessory: "rail-accessory",
|
|
tools: "tools",
|
|
};
|
|
|
|
export const CATEGORIES: Category[] = [
|
|
// Lower group
|
|
{ id: "lower", name: "Stripped Lowers", group: "lower", slug: CATEGORY_SLUGS.lower },
|
|
{ id: "completeLower", name: "Complete Lower", group: "lower", slug: CATEGORY_SLUGS.completeLower },
|
|
{ id: "lowerParts", name: "Lower Parts Kit", group: "lower", slug: CATEGORY_SLUGS.lowerParts },
|
|
{ id: "trigger", name: "Trigger / Fire Control", group: "lower", slug: CATEGORY_SLUGS.trigger },
|
|
{ id: "grip", name: "Pistol Grip", group: "lower", slug: CATEGORY_SLUGS.grip },
|
|
{ id: "safety", name: "Safety / Selector", group: "lower", slug: CATEGORY_SLUGS.safety },
|
|
{ id: "buffer", name: "Buffer System", group: "lower", slug: CATEGORY_SLUGS.buffer },
|
|
{ id: "stock", name: "Stock / Brace", group: "lower", slug: CATEGORY_SLUGS.stock },
|
|
|
|
// Upper group
|
|
{ id: "upper", name: "Stripped Upper", group: "upper", slug: CATEGORY_SLUGS.upper },
|
|
{ id: "completeUpper", name: "Complete Upper", group: "upper", slug: CATEGORY_SLUGS.completeUpper },
|
|
{ id: "barrel", name: "Barrels", group: "upper", slug: CATEGORY_SLUGS.barrel },
|
|
{ id: "handguard", name: "Handguards / Rails", group: "upper", slug: CATEGORY_SLUGS.handguard },
|
|
{ id: "gasBlock", name: "Gas Block", group: "upper", slug: CATEGORY_SLUGS.gasBlock },
|
|
{ id: "gasTube", name: "Gas Tube", group: "upper", slug: CATEGORY_SLUGS.gasTube },
|
|
{ id: "muzzleDevice", name: "Muzzle Device", group: "upper", slug: CATEGORY_SLUGS.muzzleDevice },
|
|
{ id: "sights", name: "Iron Sights", group: "upper", slug: CATEGORY_SLUGS.sights },
|
|
{ id: "bcg", name: "Bolt Carrier Group", group: "upper", slug: CATEGORY_SLUGS.bcg },
|
|
{ id: "chargingHandle", name: "Charging Handle", group: "upper", slug: CATEGORY_SLUGS.chargingHandle },
|
|
{ id: "suppressor", name: "Suppressors", group: "upper", slug: CATEGORY_SLUGS.suppressor },
|
|
{ id: "optic", name: "Optics", group: "upper", slug: CATEGORY_SLUGS.optic },
|
|
|
|
// Accessories (platform-agnostic)
|
|
{ id: "magazine", name: "Magazines", group: "accessories", slug: CATEGORY_SLUGS.magazine },
|
|
{ id: "weaponLight", name: "Weapon Lights & Lasers", group: "accessories", slug: CATEGORY_SLUGS.weaponLight },
|
|
{ id: "foregrip", name: "Vertical / Angled Grips", group: "accessories", slug: CATEGORY_SLUGS.foregrip },
|
|
{ id: "bipod", name: "Bipods", group: "accessories", slug: CATEGORY_SLUGS.bipod },
|
|
{ id: "sling", name: "Slings & Mounts", group: "accessories", slug: CATEGORY_SLUGS.sling },
|
|
{ id: "railAccessory", name: "Rail Accessories", group: "accessories", slug: CATEGORY_SLUGS.railAccessory },
|
|
{ id: "tools", name: "Tools & Maintenance", group: "accessories", slug: CATEGORY_SLUGS.tools },
|
|
]; |