Add Hardware tab with sensor stills next to UI previews.
Map each firmware project to a Commons or original module photo for local catalog browsing. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
86
lib/sensor-media.ts
Normal file
86
lib/sensor-media.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
/**
|
||||
* Hardware / sensor stills shown in the preview “Hardware” tab.
|
||||
* Prefer Wikimedia Commons (CC) or original studio stubs — see public/sensors/ATTRIBUTION.md
|
||||
*/
|
||||
export type SensorMedia = {
|
||||
/** Short part name shown under the photo */
|
||||
label: string;
|
||||
/** Public URL under /sensors/… */
|
||||
src: string;
|
||||
};
|
||||
|
||||
/** Map firmware project folder name → sensor/module still. */
|
||||
const BY_PROJECT: Record<string, SensorMedia> = {
|
||||
temperature: {
|
||||
label: "DHT11 / DHT22",
|
||||
src: "/sensors/dht.jpg",
|
||||
},
|
||||
gy30test: {
|
||||
label: "GY-30 / BH1750",
|
||||
src: "/sensors/bh1750.jpg",
|
||||
},
|
||||
sgp30test: {
|
||||
label: "SGP30",
|
||||
src: "/sensors/sgp30.jpg",
|
||||
},
|
||||
ld2420test: {
|
||||
label: "LD2420 mmWave",
|
||||
src: "/sensors/ld2420.jpg",
|
||||
},
|
||||
phtotest: {
|
||||
label: "microSD / TF",
|
||||
src: "/sensors/microsd.jpg",
|
||||
},
|
||||
tftest: {
|
||||
label: "Speaker (GPIO26)",
|
||||
src: "/sensors/speaker.jpg",
|
||||
},
|
||||
activeBuzzerTest: {
|
||||
label: "Active buzzer",
|
||||
src: "/sensors/buzzer.jpg",
|
||||
},
|
||||
btntest: {
|
||||
label: "Tactile button",
|
||||
src: "/sensors/button.jpg",
|
||||
},
|
||||
touchbtntest: {
|
||||
label: "TTP223 touch",
|
||||
src: "/sensors/ttp223.jpg",
|
||||
},
|
||||
humanInfraredModuletest: {
|
||||
label: "PIR SR505 / SR501",
|
||||
src: "/sensors/pir.jpg",
|
||||
},
|
||||
voicechecktest: {
|
||||
label: "Whistle / sound (digital)",
|
||||
src: "/sensors/sound_sensor.jpg",
|
||||
},
|
||||
hw069digitdisplaytest: {
|
||||
label: "HW-069 / TM1637",
|
||||
src: "/sensors/tm1637.jpg",
|
||||
},
|
||||
hw269test: {
|
||||
label: "HW-269 white LED",
|
||||
src: "/sensors/white_led.jpg",
|
||||
},
|
||||
smdky009ledtest: {
|
||||
label: "KY-009 RGB LED",
|
||||
src: "/sensors/rgb.jpg",
|
||||
},
|
||||
lcd1602atest: {
|
||||
label: "LCD1602A + PCF8574",
|
||||
src: "/sensors/lcd1602.jpg",
|
||||
},
|
||||
bletest: {
|
||||
label: "Onboard BLE (ESP32)",
|
||||
src: "/sensors/bluetooth_icon.svg",
|
||||
},
|
||||
wifitest: {
|
||||
label: "Onboard Wi‑Fi (ESP32)",
|
||||
src: "/sensors/wifi_icon.svg",
|
||||
},
|
||||
};
|
||||
|
||||
export function sensorMediaForProject(project: string): SensorMedia | null {
|
||||
return BY_PROJECT[project] ?? null;
|
||||
}
|
||||
Reference in New Issue
Block a user