import {DialogPopup} from "./options/DialogPopup"; import React from "react"; import {useShopStore, whichItems} from "./shop_store"; import {SummaryPopup} from "./options/SummaryPopup"; export function OptionsDialogWrapper({crate_index, card_index, horizontal}) { const whichH = whichItems(horizontal); const crate_id = useShopStore((state) => state.crates[crate_index].id); const use_options = useShopStore((state) => state.crateParams(state.crates[crate_index].crate_mode).options); const options = useShopStore((state) => state.crates[crate_index][whichH][card_index][use_options]); const options_data = useShopStore((state) => state.crates[crate_index][whichH][card_index].options_data); const card_id = useShopStore((state) => state.crates[crate_index][whichH][card_index].id); const options_class = useShopStore((state) => state.crates[crate_index][whichH][card_index].options_class); const sideMenuIsOpen = useShopStore((state) => state.sideMenuIsOpen); const _notificationTimer = useShopStore((state) => state.notificationTimer); const hideNotification = useShopStore((state) => state.hideNotification); const displayNotification = useShopStore((state) => !!state.notificationHorizontal === !!horizontal && state.notificationCrateId === crate_id && (state.notificationCardIndex === card_index || (state.crates[crate_index][whichH].length + (state.notificationCardIndex || -1)) === card_index)); const onOptionsUpdate = useShopStore((state) => state.updateOptions); return ( { // #!options_log console.log("construct", outvar, value, options_data); options_data[outvar] = value; }), update: ((outvar, value) => { // #!options_log console.log("update", outvar, value, options_data); if (outvar in options_data) options_data[outvar] = value; onOptionsUpdate(crate_id, card_index, {[outvar]: value}, horizontal); }) }} /> ) } export function OptionsSummaryWrapper({crate_index, card_index, horizontal}) { const whichH = whichItems(horizontal); const card_id = useShopStore((state) => state.crates[crate_index][whichH][card_index].id); const use_options = useShopStore((state) => state.crateParams(state.crates[crate_index].crate_mode).options); const options = useShopStore((state) => state.crates[crate_index][whichH][card_index][use_options]); const options_data = useShopStore((state) => state.crates[crate_index][whichH][card_index].options_data); return ( ) }