Component for PCBs, many visual tweaks, finished dechorionator content, added many many photos, started work on mars rover software lead, timeline to luxon and automatic date-based ordering
This commit is contained in:
32
src/interfaces/printed-circuit-board.ts
Normal file
32
src/interfaces/printed-circuit-board.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import type { ImageMetadata } from "astro";
|
||||
import { DateTime } from "luxon";
|
||||
|
||||
import type { timelineEntry } from "@interfaces/timeline.ts";
|
||||
import type { lineItem } from "@interfaces/ul-li.ts";
|
||||
|
||||
export interface printedCircuitBoardRevision {
|
||||
major: number;
|
||||
minor: number;
|
||||
patch: number;
|
||||
|
||||
date: DateTime;
|
||||
|
||||
images?: ImageMetadata[];
|
||||
notes?: lineItem[];
|
||||
}
|
||||
|
||||
export interface printedCircuitBoard {
|
||||
name: string;
|
||||
description: string;
|
||||
|
||||
revisions: printedCircuitBoardRevision[];
|
||||
}
|
||||
|
||||
export const timelineFromPrintedCircuitBoard = (
|
||||
pcb: printedCircuitBoard,
|
||||
): timelineEntry[] =>
|
||||
pcb.revisions?.map((revision) => ({
|
||||
event: `PCB Released: ${pcb.name} `,
|
||||
eventDetail: `Revision: ${revision.major}.${revision.minor}.${revision.patch}`,
|
||||
date: revision.date,
|
||||
}));
|
||||
Reference in New Issue
Block a user