fix: add hobby tags to catalog seed data for onboarding discovery

This commit is contained in:
2026-04-13 13:48:40 +02:00
parent bedef04581
commit 13883ea14d
2 changed files with 51 additions and 30 deletions

View File

@@ -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) ────────

View File

@@ -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",