From 1012359c24f923e1a41d179e7e9aa7aa337e79ed Mon Sep 17 00:00:00 2001 From: Shibo Date: Fri, 17 Jan 2025 23:04:08 +0200 Subject: [PATCH] used getFootprintNamesByType() (#585) --- bun.lockb | Bin 532068 -> 531683 bytes package.json | 2 +- src/components/FootprintDialog.tsx | 9 +++------ 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2ef5641f32531f6c9f5440cfbeafcdd0aed8b7c8..98d1957ff18c3c52abf65d4eb558d6cc863ed467 100755 GIT binary patch delta 33333 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 delta 33451 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 QHK$z5;?4Qx`ab->0O?$-kpKVy diff --git a/package.json b/package.json index 1143cc08..cc4599d5 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.2", "@tscircuit/3d-viewer": "^0.0.96", - "@tscircuit/footprinter": "^0.0.99", + "@tscircuit/footprinter": "^0.0.101", "@tscircuit/layout": "^0.0.29", "@tscircuit/math-utils": "^0.0.10", "@tscircuit/mm": "^0.0.8", diff --git a/src/components/FootprintDialog.tsx b/src/components/FootprintDialog.tsx index f5af6d7a..59803d30 100644 --- a/src/components/FootprintDialog.tsx +++ b/src/components/FootprintDialog.tsx @@ -3,7 +3,7 @@ import { useEffect, useMemo, useState } from "react" import { parseFootprintParams } from "../lib/utils/parseFootprintParams" import ParametersEditor from "./ParametersEditor" import { convertCircuitJsonToPcbSvg } from "circuit-to-svg" -import { fp } from "@tscircuit/footprinter" +import { fp, getFootprintNamesByType } from "@tscircuit/footprinter" import { useToast } from "../hooks/use-toast" import { Button } from "./ui/button" import { FileName } from "./CodeEditorHeader" @@ -53,10 +53,7 @@ export const FootprintDialog = ({ const [error, setError] = useState(null) const { toast } = useToast() - const PASSIVE_COMPONENTS = ["diode", "led", "resistor", "cap", "res"] - const footprintNames = fp - .getFootprintNames() - .filter((footprintName) => !PASSIVE_COMPONENTS.includes(footprintName)) + const { normalFootprintNames } = getFootprintNamesByType() useEffect(() => { if (copied) { @@ -266,7 +263,7 @@ export const FootprintDialog = ({ handleFootprintPreview(value) } }} - options={footprintNames} + options={normalFootprintNames} placeholder="Select footprint..." searchPlaceholder="Search footprints..." emptyText="No footprints found."