From 925a57aa0360808c89a7236d69b45ab198a0fc4a Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 4 May 2026 19:14:29 -0400 Subject: [PATCH] Remove edit product flow Product catalog entries are set at creation time. Per-instance details (price, THC, weight) are edited from the inventory drawer. Co-Authored-By: Claude Opus 4.6 --- web/src/App.tsx | 15 +-------------- web/src/components/ProductDetail.tsx | 26 +++----------------------- 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 8f56092..31322dd 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -2,7 +2,7 @@ import { useEffect, useMemo, useState } from "react"; import { useQuery } from "@tanstack/react-query"; import { Routes, Route } from "react-router-dom"; import { api } from "./api.js"; -import type { Bin, Bootstrap, Brand, Item, Product, Shop } from "./types.js"; +import type { Bin, Bootstrap, Brand, Item, Shop } from "./types.js"; import { enrichItems } from "./types.js"; import { computeStats } from "./stats.js"; import { Sidebar } from "./components/Sidebar.js"; @@ -17,7 +17,6 @@ import type { ThemeKey } from "./views/SettingsView.js"; import { ProductDetail } from "./components/ProductDetail.js"; import { AddInventoryFlow } from "./components/modals/AddInventoryFlow.js"; import { EditInventoryFlow } from "./components/modals/EditInventoryFlow.js"; -import { EditProductFlow } from "./components/modals/EditProductFlow.js"; import { ConsumeFlow } from "./components/modals/ConsumeFlow.js"; import { MarkGoneFlow } from "./components/modals/MarkGoneFlow.js"; import { AuditFlow } from "./components/modals/AuditFlow.js"; @@ -33,7 +32,6 @@ import { type ModalKey = | "add" | "edit" - | "editProduct" | "consume" | "gone" | "audit" @@ -49,7 +47,6 @@ export function App() { const [selected, setSelected] = useState(null); const [modal, setModal] = useState(null); const [modalItem, setModalItem] = useState(null); - const [modalProduct, setModalProduct] = useState(null); const [modalBin, setModalBin] = useState(null); const [modalBrand, setModalBrand] = useState(null); const [modalShop, setModalShop] = useState(null); @@ -104,12 +101,6 @@ export function App() { setSelected(null); setModal("edit"); }; - const openEditProduct = (p: Product) => { - setModalProduct(p); - setSelected(null); - setModal("editProduct"); - }; - if (isLoading) { return (
)} @@ -209,9 +199,6 @@ export function App() { {modal === "edit" && modalItem && ( setModal(null)} /> )} - {modal === "editProduct" && modalProduct && ( - setModal(null)} /> - )} {modal === "consume" && ( setModal(null)} item={modalItem} /> )} diff --git a/web/src/components/ProductDetail.tsx b/web/src/components/ProductDetail.tsx index 74dcaf5..ab2e3f5 100644 --- a/web/src/components/ProductDetail.tsx +++ b/web/src/components/ProductDetail.tsx @@ -15,7 +15,6 @@ export function ProductDetail({ onMarkGone, onAudit, onEdit, - onEditProduct, }: { item: Item; data: Bootstrap; @@ -24,7 +23,6 @@ export function ProductDetail({ onMarkGone: (i: Item) => void; onAudit: (i: Item) => void; onEdit: (i: Item) => void; - onEditProduct: (p: Product) => void; }) { const bin = data.bins.find((b) => b.id === item.binId); const cfg = TYPES.find((t) => t.id === item.type); @@ -178,27 +176,9 @@ export function ProductDetail({
{helpers.brandName(data, item.brandId)} · from {helpers.shopName(data, item.shopId)}
- {product && ( -
- - {siblings.length > 0 && ( - - · {siblings.length} other instance{siblings.length === 1 ? "" : "s"} on file - - )} + {siblings.length > 0 && ( +
+ {siblings.length} other instance{siblings.length === 1 ? "" : "s"} on file
)}