diff --git a/src/db/dev-seed-data.ts b/src/db/dev-seed-data.ts index db19945..b9944b9 100644 --- a/src/db/dev-seed-data.ts +++ b/src/db/dev-seed-data.ts @@ -369,36 +369,45 @@ export const DEV_GLOBAL_ITEMS = [ // Maps global item index -> tag names. Tags are seeded by seedGlobalItems(). export const DEV_TAG_ASSIGNMENTS = [ - { globalItemIndex: 0, tagNames: ["saddlebag", "bike-bag"] }, - { globalItemIndex: 1, tagNames: ["handlebar-bag", "bike-bag"] }, - { globalItemIndex: 2, tagNames: ["framebag", "bike-bag"] }, - { globalItemIndex: 3, tagNames: ["handlebar-bag", "bike-bag"] }, - { globalItemIndex: 4, tagNames: ["framebag", "bike-bag"] }, - { globalItemIndex: 5, tagNames: ["top-tube-bag", "bike-bag"] }, - { globalItemIndex: 6, tagNames: ["tent"] }, - { globalItemIndex: 7, tagNames: ["tent"] }, - { globalItemIndex: 8, tagNames: ["tent"] }, - { globalItemIndex: 9, tagNames: ["tent"] }, - { globalItemIndex: 10, tagNames: ["quilt"] }, - { globalItemIndex: 11, tagNames: ["sleeping-pad"] }, - { globalItemIndex: 12, tagNames: ["sleeping-pad"] }, - { globalItemIndex: 13, tagNames: ["pillow"] }, - { globalItemIndex: 14, tagNames: ["sleeping-bag"] }, - { globalItemIndex: 15, tagNames: ["stove"] }, - { globalItemIndex: 16, tagNames: ["stove"] }, - { globalItemIndex: 17, tagNames: ["cookware", "mug"] }, - { globalItemIndex: 18, tagNames: ["cookware"] }, - { globalItemIndex: 19, tagNames: ["stove"] }, - { globalItemIndex: 20, tagNames: ["headlamp"] }, - { globalItemIndex: 21, tagNames: ["bike-light"] }, - { globalItemIndex: 22, tagNames: ["headlamp"] }, - { globalItemIndex: 29, tagNames: ["water-filter"] }, - { globalItemIndex: 30, tagNames: ["water-filter"] }, - { globalItemIndex: 31, tagNames: ["water-bottle"] }, - { globalItemIndex: 32, tagNames: ["multi-tool", "repair-kit"] }, - { globalItemIndex: 33, tagNames: ["rain-jacket"] }, - { globalItemIndex: 34, tagNames: ["bike-computer", "gps"] }, - { globalItemIndex: 35, tagNames: ["handlebar-bag", "bike-bag", "dry-bag"] }, + // Bags — bikepacking/cycling gear + { globalItemIndex: 0, tagNames: ["saddlebag", "bike-bag", "bikepacking", "cycling"] }, + { globalItemIndex: 1, tagNames: ["handlebar-bag", "bike-bag", "bikepacking", "cycling"] }, + { globalItemIndex: 2, tagNames: ["framebag", "bike-bag", "bikepacking", "cycling"] }, + { globalItemIndex: 3, tagNames: ["handlebar-bag", "bike-bag", "bikepacking", "cycling"] }, + { globalItemIndex: 4, tagNames: ["framebag", "bike-bag", "bikepacking", "cycling"] }, + { globalItemIndex: 5, tagNames: ["top-tube-bag", "bike-bag", "bikepacking", "cycling"] }, + // Shelter — camping/hiking/bikepacking + { globalItemIndex: 6, tagNames: ["tent", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 7, tagNames: ["tent", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 8, tagNames: ["tent", "camping", "hiking", "backpacking"] }, + { globalItemIndex: 9, tagNames: ["tent", "camping", "hiking", "backpacking", "climbing", "mountaineering"] }, + // Sleep — camping/hiking/bikepacking + { globalItemIndex: 10, tagNames: ["quilt", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 11, tagNames: ["sleeping-pad", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 12, tagNames: ["sleeping-pad", "camping", "hiking", "backpacking"] }, + { globalItemIndex: 13, tagNames: ["pillow", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 14, tagNames: ["sleeping-bag", "camping", "hiking", "backpacking", "climbing"] }, + // Cooking — camping/hiking/bikepacking + { globalItemIndex: 15, tagNames: ["stove", "camping", "hiking", "bikepacking", "backpacking"] }, + { globalItemIndex: 16, tagNames: ["stove", "camping", "hiking", "backpacking"] }, + { globalItemIndex: 17, tagNames: ["cookware", "mug", "camping", "hiking", "bikepacking"] }, + { globalItemIndex: 18, tagNames: ["cookware", "camping", "hiking", "backpacking"] }, + { globalItemIndex: 19, tagNames: ["stove", "camping", "hiking", "backpacking", "climbing"] }, + // Lighting — general outdoor + { globalItemIndex: 20, tagNames: ["headlamp", "camping", "hiking", "climbing", "backpacking", "running", "trail-running"] }, + { globalItemIndex: 21, tagNames: ["bike-light", "bikepacking", "cycling", "road-cycling", "gravel"] }, + { globalItemIndex: 22, tagNames: ["headlamp", "camping", "hiking", "climbing", "backpacking"] }, + // Water — hiking/camping/bikepacking + { globalItemIndex: 29, tagNames: ["water-filter", "hiking", "camping", "bikepacking", "backpacking"] }, + { globalItemIndex: 30, tagNames: ["water-filter", "hiking", "camping", "backpacking"] }, + { globalItemIndex: 31, tagNames: ["water-bottle", "hiking", "camping", "cycling", "running"] }, + // Tools — bikepacking/cycling + { globalItemIndex: 32, tagNames: ["multi-tool", "repair-kit", "bikepacking", "cycling"] }, + // Clothing — general outdoor + { globalItemIndex: 33, tagNames: ["rain-jacket", "hiking", "camping", "bikepacking", "climbing", "running"] }, + // Electronics — bikepacking/cycling + { globalItemIndex: 34, tagNames: ["bike-computer", "gps", "bikepacking", "cycling", "gravel"] }, + { globalItemIndex: 35, tagNames: ["handlebar-bag", "bike-bag", "dry-bag", "bikepacking", "cycling"] }, ] as const; // ── Category name mapping (for FK lookups by category name) ──────── diff --git a/src/db/seed-global-items.ts b/src/db/seed-global-items.ts index 84f9ac7..9c11d9a 100644 --- a/src/db/seed-global-items.ts +++ b/src/db/seed-global-items.ts @@ -5,6 +5,18 @@ import { globalItems, tags } from "./schema.ts"; type Db = typeof prodDb; const SEED_TAGS = [ + // Hobby / activity tags (used by onboarding hobby picker) + "bikepacking", + "cycling", + "hiking", + "backpacking", + "camping", + "climbing", + "mountaineering", + "road-cycling", + "gravel", + "running", + "trail-running", // Bag types "handlebar-bag", "framebag",