Files
ossm-configurator/website/src/data/components/stand.json
MunchDev-oss aba0964a59 feat: Add prop-types dependency, implement currency context, and enhance pricing display in components
- Added `prop-types` for better prop validation in components.
- Introduced `CurrencyProvider` to manage currency context and preload exchange rates.
- Updated pricing logic in various components to support new price structure and display currency.
- Refactored BOMSummary, MotorStep, and PowerSupplyStep to utilize new pricing methods and improve user experience.
- Enhanced export utilities to format prices correctly in markdown and Excel outputs.
- Updated hardware and component data structures to include detailed pricing information.
2026-01-10 03:04:28 -05:00

286 lines
9.8 KiB
JSON

{
"hinges": {
"category": "Hinges",
"type": "mod",
"systems": {
"pivot-plate": {
"name": "Pivot Plate",
"description": "Pivot plate for the stand",
"image": "/images/options/pivot-plate.webp",
"hardwareCost": 10,
"price": {
"amount": 0,
"currency": "USD"
},
"printedParts": [
{
"id": "pivot-plate",
"name": "Pivot Plate Left",
"description": "Pivot plate for the stand",
"filamentEstimate": 150,
"colour": "primary",
"required": true,
"filePath": "OSSM - Stand - Pivot Plate.stl",
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Pivot%20Plate%20Left.stl?raw=true",
"quantity": 1,
"vendor": {
"manifest_id": "pivot-plate",
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
"checksum_sha256": "44a5527b613743acc394e4a6dfe89677d37c2e1c8a1537e76184812edbba0216",
"last_checked": "2026-01-07T09:38:41.826563+00:00",
"status": "up-to-date"
}
},
{
"id": "pivot-plate-right",
"name": "Pivot Plate Right",
"description": "Pivot plate for the stand",
"filamentEstimate": 150,
"colour": "primary",
"required": true,
"filePath": "OSSM - Stand - Pivot Plate.stl",
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Pivot%20Plate%20Right.stl?raw=true",
"quantity": 1,
"vendor": {
"manifest_id": "pivot-plate-right",
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
"checksum_sha256": "20fba186fd8c50f08b35d57c354e62288d582ad283aa474ee271b27f08aa972a",
"last_checked": "2026-01-07T10:37:58.707054+00:00",
"status": "up-to-date"
}
},
{
"id": "handle-spacer",
"name": "Handle Spacer",
"description": "Handle spacer for the stand",
"filamentEstimate": 20,
"colour": "primary",
"required": true,
"filePath": "OSSM - Stand - Pivot Spacer.stl",
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Handle%20Spacer.stl?raw=true",
"quantity": 8,
"vendor": {
"manifest_id": "handle-spacer",
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
"checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115",
"last_checked": "2026-01-07T23:40:52.301339+00:00",
"status": "up-to-date"
}
}
],
"hardwareParts": [
{
"id": "hardware-fasteners-m6x25-shcs",
"required": true,
"quantity": 6
},
{
"id": "hardware-fasteners-m6-t-nuts",
"required": true,
"quantity": 6
},
{
"id": "hardware-fasteners-m6-washer",
"required": true,
"quantity": 6
},
{
"id": "hardware-fasteners-m6x25-handle",
"required": true,
"quantity": 2
}
]
},
"pitclamp-reinforced-3030": {
"name": "PitClamp Reinforced 3030 Hinges",
"description": "Reinforced 3030 hinges for PitClamp",
"image": "/images/options/pitclamp-reinforced-3030-hinges.jpg",
"hardwareCost": 15,
"price": {
"amount": 0,
"currency": "USD"
},
"printedParts": [
{
"id": "pitclamp-reinforced-3030",
"name": "PitClamp Reinforced 3030 Hinges",
"description": "Reinforced 3030 hinges for PitClamp",
"filamentEstimate": 200,
"colour": "primary",
"required": true,
"quantity": 1
}
],
"hardwareParts": [
{
"id": "pitclamp-reinforced-3030-hardware",
"required": true
}
]
}
}
},
"feet": {
"category": "Feet",
"type": "mod",
"printedParts": [
{
"id": "standard-feet",
"name": "Standard",
"description": "Standard feet",
"filamentEstimate": 50,
"image": "/images/options/standard-feet.jpg",
"hardwareCost": 0,
"price": {
"amount": 0,
"currency": "USD"
},
"colour": "secondary",
"required": true
},
{
"id": "suction-feet",
"name": "Suction",
"description": "Suction feet for better stability",
"filamentEstimate": 60,
"image": "/images/options/suction-feet.jpg",
"hardwareCost": 5,
"price": {
"amount": 0,
"currency": "USD"
},
"colour": "secondary",
"required": true
}
],
"hardwareParts": [
{
"id": "hardware-fasteners-m6x12-shcs",
"required": true,
"quantity": 4,
"relatedParts": [
"standard-feet"
]
},
{
"id": "hardware-fasteners-m6-t-nuts",
"required": true,
"quantity": 4,
"relatedParts": [
"standard-feet"
]
}
]
},
"caps": {
"category": "Caps",
"type": "base",
"printedParts": [
{
"id": "ossm-3030-cap",
"name": "3030 Cap",
"description": "Cap mounting system",
"filamentEstimate": 10,
"timeEstimate": "2h10m",
"colour": "secondary",
"required": true,
"filePath": "OSSM - 3030 Cap.stl",
"quantity": 6,
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Extrusion%20Cap.stl?raw=true",
"vendor": {
"manifest_id": "ossm-3030-cap",
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl",
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl",
"checksum_sha256": "56fa9bb318cdeadc6d1698a1e6cef9371e58b0bc9c7729985bf639d8da2f25da",
"last_checked": "2026-01-07T23:40:56.344743+00:00",
"status": "up-to-date"
}
}
]
},
"crossbarSupports": {
"category": "Crossbar Supports",
"type": "mod",
"printedParts": [
{
"id": "standard-90-degree-support",
"name": "Standard 90 Degree Support",
"description": "Standard 90 degree support for the stand (hardware only)",
"filamentEstimate": 0,
"image": "/images/options/standard-90-degree-support.jpg",
"hardwareCost": 10,
"price": {
"amount": {
"min": 10.00,
"max": 20.00
},
"currency": "USD"
},
"colour": "primary",
"required": true,
"isHardwareOnly": true
},
{
"id": "3d-printed-90-degree-support",
"name": "3D Printed 90 Degree Support",
"description": "3D printed 90 degree support for the stand",
"filamentEstimate": 100,
"image": "/images/options/3d-printed-90-degree-support.jpg",
"hardwareCost": 2,
"price": {
"amount": {
"min": 2.00,
"max": 4.00
},
"currency": "USD"
},
"colour": "secondary",
"required": true
}
],
"hardwareParts": [
{
"id": "hardware-fasteners-m6x12-shcs",
"required": true,
"quantity": 8,
"relatedParts": [
"3d-printed-90-degree-support",
"standard-90-degree-support"
]
},
{
"id": "hardware-fasteners-m6-t-nuts",
"required": true,
"quantity": 8,
"relatedParts": [
"3d-printed-90-degree-support",
"standard-90-degree-support"
]
},
{
"id": "hardware-fasteners-m6-washer",
"required": true,
"quantity": 8,
"relatedParts": [
"3d-printed-90-degree-support",
"standard-90-degree-support"
]
},
{
"id": "hardware-fasteners-3030-90-degree-support",
"required": true,
"quantity": 4,
"relatedParts": [
"standard-90-degree-support"
]
}
]
}
}