diff --git a/src/client/routes/items/$itemId.tsx b/src/client/routes/items/$itemId.tsx index 08a58a6..3bbb1a6 100644 --- a/src/client/routes/items/$itemId.tsx +++ b/src/client/routes/items/$itemId.tsx @@ -315,35 +315,33 @@ function ItemDetail() { /> ) : ( - <> -
- {imageUrl ? ( - + {imageUrl ? ( + + ) : ( +
+ - ) : ( -
- -
- )} -
- +
+ )} + )} {/* Header / Name */} diff --git a/src/db/dev-seed-data.ts b/src/db/dev-seed-data.ts index b9944b9..76cf638 100644 --- a/src/db/dev-seed-data.ts +++ b/src/db/dev-seed-data.ts @@ -370,44 +370,180 @@ export const DEV_GLOBAL_ITEMS = [ export const DEV_TAG_ASSIGNMENTS = [ // 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"] }, + { + 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"] }, + { + 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"] }, + { + 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"] }, + { + 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"] }, + { + 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"] }, + { + 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"] }, + { + globalItemIndex: 32, + tagNames: ["multi-tool", "repair-kit", "bikepacking", "cycling"], + }, // Clothing — general outdoor - { globalItemIndex: 33, tagNames: ["rain-jacket", "hiking", "camping", "bikepacking", "climbing", "running"] }, + { + 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"] }, + { + 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) ────────