import {formatMoney} from "./utils"; import {WarningIndicator} from "./CardWarnings"; import {SummaryPopup} from "./options/SummaryPopup"; import React from "react"; import {useShopStore} from "./shop_store"; // #!render_count import {useRenderCount} from "@uidotdev/usehooks"; export function SummaryCrateCard({crate_index, card_index}) { // #!render_count const renderCount = useRenderCount(); const currency = useShopStore((state) => state.currency); const deleteCard = useShopStore((state) => state.deleteCard); const setHighlight = useShopStore((state) => state.highlightCard); const resetHighlight = useShopStore((state) => state.highlightReset); const highlighted = useShopStore((state) => state.crates[crate_index].id === state.highlighted.crate && card_index === state.highlighted.card); const crate_id = useShopStore((state) => state.crates[crate_index].id); const card = useShopStore((state) => state.crates[crate_index].items[card_index], (a, b) => a.id === b.id && a.options_data === b.options_data && a.show_warnings === b.show_warnings); // #!render_count console.log("SummaryCrateCard renders: ", renderCount) const options = card && card.options; const options_data = card && card.options_data; const warnings = card && card.show_warnings; return ( setHighlight(crate_id, card_index)} onMouseEnter={() => setHighlight(crate_id, card_index)} onMouseLeave={() => resetHighlight()}>  
{`${card.name_number} ${card.name} ${card.name_codename}`}
{`${currency} ${formatMoney(card.price)}`}
{(warnings && warnings.length > 0 ? ( ) : (   ))} {((options && options_data) ? ( ) : (   ))}
); }