+ handleSecondary: (state, setState, icons) => {
+ const mm = state['mm-medallion'];
+ const tr = state['tr-medallion'];
+ const isMM = mm === icons[0];
+ const isTR = tr === icons[0];
+ console.log({ mm, isMM, tr, isTR });
+ if (!isMM && !isTR) {
+ // empty: set as MM if mire is unset, else set as TR if TR is unset
+ if (!mm) {
+ setState(s => ({ ...s, 'mm-medallion': icons[0] }));
+ } else if (!tr) {
+ setState(s => ({ ...s, 'tr-medallion': icons[0] }));
+ }
+ } else if (isMM && !isTR) {
+ // MM: if TR is free, switch to TR, otherwise remove MM
+ if (!tr) {
+ setState(s => ({ ...s, 'mm-medallion': null, 'tr-medallion': icons[0] }));
+ } else {
+ setState(s => ({ ...s, 'mm-medallion': null }));
+ }
+ } else if (!isMM && isTR) {
+ // TR: if MM is free, switch to both, otherwise remove TR
+ if (!mm) {
+ setState(s => ({ ...s, 'mm-medallion': icons[0] }));
+ } else {
+ setState(s => ({ ...s, 'tr-medallion': null }));
+ }
+ } else {
+ // both: remove both
+ setState(s => ({ ...s, 'mm-medallion': null, 'tr-medallion': null }));
+ }
+ },