1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8321],{1979:e=>{e.exports={container:"deckTagSettings_container__v3EsM",blurb:"deckTagSettings_blurb__Ydnh9",dropContainer:"deckTagSettings_dropContainer__XxisJ",row:"deckTagSettings_row__cOkqY",removeButton:"deckTagSettings_removeButton__YVpDw",removeSpinner:"deckTagSettings_removeSpinner__CS94p",dragHandle:"deckTagSettings_dragHandle__GzYf5",selector:"deckTagSettings_selector__OlVCH"}},7487:e=>{e.exports={controls:"qrViewer_controls__6pAiQ",container:"qrViewer_container___cdd6",card:"qrViewer_card__F_4Fm",titleBox:"qrViewer_titleBox__z_8zc",art:"qrViewer_art__sglc1",tags:"qrViewer_tags__a1NAo",dimText:"qrViewer_dimText__JMSk7"}},10124:(e,t,a)=>{"use strict";a.d(t,{A:()=>C,E:()=>_});var r=a(75038),o=a(76430),n=a(82185),l=a(85785),s=a(21159),i=a(68835),c=a(21008),d=a(26975),u=a(7648),g=a(79400),h=a(23418),m=a(89532),p=a(21129),b=a(35635);let k={header:!0,quantity:!0,name:!0,edition:!1,editionCode:!1,editionDate:!1,category:!1,secondaryCategories:!1,label:!1,price:!1,collection:!1,modifier:!1,collectorNumber:!1,salt:!1,color:!1,cmc:!1,rarity:!1,scryfallId:!1,types:!1,cardText:!1,manaCost:!1};function x(e=[],t=k,a=l.fv.ALPHA,r=[h.s6.CK]){let{quantity:o,name:n,edition:s,editionCode:i,editionDate:c,category:d,secondaryCategories:u,label:g,price:y,collection:f,modifier:_,collectorNumber:C,salt:v,color:j,cmc:A,rarity:S,scryfallId:D,types:w,cardText:N,manaCost:T}=t,$="";o&&($+="Quantity,"),n&&($+="Name,"),s&&($+="Edition name,"),i&&($+="Edition code,"),c&&($+="Edition date"),d&&($+="Category,"),u&&($+="Secondary categories,"),g&&($+="Label,"),_&&($+="Finish,"),C&&($+="Collector number,"),v&&($+="Salt,"),j&&($+="Colors,"),A&&($+="Mana Value,"),S&&($+="Rarity,"),D&&($+="Scryfall ID,"),w&&($+="Types,"),y&&($+="Price,"),f&&($+="Collector Number,"),N&&($+="Card text,"),T&&($+="Mana cost,"),","===$.charAt($.length-1)&&($=$.substring(0,$.length-1)),$+="\n";let E=b.jN[`${a}`]||b.X4;e.sort((e,t)=>E(e,t,r));let F=e.reduce((e,t)=>{let a=t.front&&t.back?[...t.front.types,...t.back.types]:t.types,r=t.front&&t.back?`${t.front.castingCost.join("")} // ${t.back.castingCost.join("")}`:t.castingCost.join("");if(o&&(e+=t.qty+","),n&&(e+=(t.name.includes(",")?'"'+t.name+'"':t.name)+","),s&&(e+=(t.set.includes(",")?'"'+t.set+'"':t.set)+","),i&&(e+=t.setCode+","),c&&(e+=new Date(t.setDate).toLocaleDateString()+","),d&&(e+=t.categories[0]+","),u&&(e+=`"${t.categories.filter((e,t)=>t>0).join(",")}",`),g&&(e+=(""===t.colorLabel.name?"default":t.colorLabel.name)+","),_&&(e+=`${t.modifier},`),C&&(e+=`${t.collectorNumber},`),v&&(e+=`${t.salt},`),j&&(e+=`"${t.colors.join(",")}",`),A&&(e+=`${t.cmc},`),S&&(e+=`${t.rarity},`),D&&(e+=`${t.uid},`),w&&(e+=`"${a.join(",")}",`),y){let a=m.M.getState(),r=a?a.active.priceSource[0]:h.s6.TCG,{price:o}=(0,p.y8)(t,r,"Normal"!==t.modifier);e+=`${o},`}if(f&&(t.owned===l.yl.NO?e+="not owned,":t.owned===l.yl.YES?e+="own exact edition,":e+="own different edition,"),N){let a=(t.text||`${t?.front?.text} // ${t?.back?.text}`).replaceAll('"','""').replaceAll("\n"," ");e+=`"${a}"`}return T&&(e+=`${r},`),","===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e+="\n"},"");return t.header?$+F:F}var y=a(33623),f=a.n(y);let _=x,C=({selectedCards:e,fileName:t="archidekt_export",onSubmit:a})=>{let[h,m]=(0,o.useState)(["quantity","name"]),[p,b]=(0,o.useState)(l.fv.ALPHA),k=(0,n.GV)(e=>e.active.priceSource),y={header:h.includes("header"),quantity:h.includes("quantity"),name:h.includes("name"),edition:h.includes("edition"),editionCode:h.includes("editionCode"),editionDate:h.includes("editionDate"),category:h.includes("category"),secondaryCategories:h.includes("secondaryCategories"),label:h.includes("label"),price:h.includes("price"),collection:h.includes("collection"),modifier:h.includes("modifier"),collectorNumber:h.includes("collectorNumber"),salt:h.includes("salt"),color:h.includes("color"),cmc:h.includes("cmc"),rarity:h.includes("rarity"),scryfallId:h.includes("scryfallId"),types:h.includes("types"),cardText:h.includes("cardText"),manaCost:h.includes("manaCost")},_=x(e,y,p,k);return(0,r.jsxs)("div",{children:[(0,r.jsx)(c.A,{includeSelectAllNoneOptions:!0,header:"Enabled columns",onChange:m,value:h,options:[{label:"Quantity",id:"quantity"},{label:"Name",id:"name"},{label:"Edition name",id:"edition"},{label:"Edition code",id:"editionCode"},{label:"Edition date",id:"editionDate"}
1,{label:"Collector number",id:"collectorNumber"},{label:"Category",id:"category"},{label:"Secondary categories",id:"secondaryCategories"},{label:"Label",id:"label"},{label:"Price",id:"price"},{label:"Collection",id:"collection"},{label:"Modifier",id:"modifier"},{label:"Salt",id:"salt"},{label:"Color",id:"color"},{label:"Mana value",id:"cmc"},{label:"Rarity",id:"rarity"},{label:"Scryfall ID",id:"scryfallId"},{label:"Types",id:"types"},{label:"Card Text",id:"cardText"},{label:"Mana Cost",id:"manaCost"}]}),(0,r.jsx)(u.A,{inlineHeader:!0,header:"Sort by",value:p||l.fv.ALPHA,options:Object.keys(l.Zl).map(e=>({label:e,id:`${l.Zl[e]}`,onClick:()=>b(l.Zl[e])}))}),(0,r.jsx)(d.A,{label:"Include header line as first line (eg: quantity,name,edition name, etc)",checked:y.header,onChange:()=>y.header?h.filter(e=>"header"!=e):m([...h,"header"])}),(0,r.jsxs)("div",{className:f().controls,children:[!a&&(0,r.jsx)(i.A,{icon:"copy outline",onClick:()=>{try{navigator.clipboard.writeText(_),s.A.create("Copied to clipboard","Deck Export","success")}catch{s.A.create("Unable to copy to clipboard","Deck Export")}},color:"blue",children:"Copy"}),(0,r.jsx)(i.A,{icon:"download",color:"green",onClick:()=>a?a({optionState:y,sortBy:p,priceSource:k}):(()=>{try{(0,g.R)(`${t.toLowerCase().replace(" ","_")}.csv`,_)}catch{s.A.create("Unable to download file","Deck export","error")}})(),children:"Download"})]})]})}},10228:e=>{e.exports={link:"globalColorTags_link__bI2u2",none:"globalColorTags_none__0ToP5"}},19693:(e,t,a)=>{"use strict";a.d(t,{A:()=>g,E:()=>u});var r=a(75038);a(76430);var o=a(21159),n=a(68835),l=a(79400),s=a(35635);function i(e=[],t){let a=[...e].sort(s.X4),r="";for(let e of(r+=`<?xml version="1.0" encoding="utf-8"?> 2<Deck xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 3 <NetDeckID>0</NetDeckID> 4 <PreconstructedDeckID>0</PreconstructedDeckID> 5`,a)){let a=t[e?.categories[0]||""],o=a?.name==="Sideboard"||a.isPremier,n=e.qty,l=e.ids.mtgoNormalId,s=e?.front?.name||e.name;r+=` <Cards CatID="${l}" Quantity="${n}" Sideboard="${o}" Name="${s}" /> 6`}return r+`</Deck> 7`}var c=a(33623),d=a.n(c);let u=i,g=({selectedCards:e,categoryMap:t,fileName:a="archidekt_export",onSubmit:s})=>{let c=i(e,t);return(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:d().warning,children:"Some cards do not have MTGO IDs. These cards will export without a specific version ID. Doing so will cause MTGO to potentially use a different edition of the card. Occasionally MTGO will not have a card at all, when this happens, the import will be skipped entirely."}),(0,r.jsxs)("div",{className:d().controls,children:[!s&&(0,r.jsx)(n.A,{icon:"copy outline",onClick:()=>{try{navigator.clipboard.writeText(c),o.A.create("Copied to clipboard","Deck Export","success")}catch{o.A.create("Unable to copy to clipboard","Deck Export")}},color:"blue",children:"Copy"}),(0,r.jsx)(n.A,{icon:"download",color:"green",onClick:()=>s?s():(()=>{try{let e=`${a.toLowerCase().replace(" ","_")}.dek`;(0,l.R)(e,c)}catch{o.A.create("Unable to download file","Deck export","error")}})(),children:"Download"})]})]})}},22663:e=>{e.exports={container:"playgroupForm_container__kGZyl",logo:"playgroupForm_logo__1_Ecl",logoName:"playgroupForm_logoName__7XvDY",controls:"playgroupForm_controls__o2vfn",input:"playgroupForm_input__gsNAE",link:"playgroupForm_link__DJ7_w"}},24765:(e,t,a)=>{"use strict";a.d(t,{A:()=>c});var r=a(75038);a(76430);var o=a(67574),n=a(49502),l=a(701),s=a(35308),i=a(32071);let c=({children:e,options:t,backend:a,delayTouchStart:c=0,touchSlop:d=0})=>{let u={backends:[]};return i.Ay.getIsFirefox()&&u.backends.push({id:"html5",backend:s.t2,transition:n.v8,preview:!1}),u.backends.push({id:"touch",backend:l.qi,options:{enableMouseEvents:!0,touchSlop:5},transition:n.lr}),(0,r.jsx)(o.Q,{context:window,backend:a||n.U2,options:t||u,children:e})}},26705:e=>{e.exports={container:"categories_container__kwk_f",controls:"categories_controls__7LCgE",categoryDeleteList:"categories_categoryDeleteList__brhwM"}},28657:e=>{e.exports={recommendedTags:"deckTagRecommendation_recommendedTags__W95oe",header:"deckTagRecommendation_header__OSoa7",blurb
7:"deckTagRecommendation_blurb__UGoGo",tags:"deckTagRecommendation_tags__iWXtz"}},32177:e=>{e.exports={flex:"colorTagSettings_flex__Jnw3y",controls:"colorTagSettings_controls__RlQJI",editorControls:"colorTagSettings_editorControls__5XN8t",list:"colorTagSettings_list__yTQ49",dropdown:"colorTagSettings_dropdown__Zq_oZ",container:"colorTagSettings_container__KH9By",colorTag:"colorTagSettings_colorTag__tUyz0",colorCell:"colorTagSettings_colorCell__3CfHM",editorPicker:"colorTagSettings_editorPicker__2xbdX"}},33623:e=>{e.exports={flex:"generic_flex__7sp6C",controls:"generic_controls__iTEGf",example:"generic_example__5MAXs",warning:"generic_warning__21eGQ"}},34087:e=>{e.exports={container:"deckSettingsOverlay_container___HHtb",tabs:"deckSettingsOverlay_tabs__qraPM",tabButton:"deckSettingsOverlay_tabButton___wg36",playgroupHeader:"deckSettingsOverlay_playgroupHeader__SXaif"}},44092:(e,t,a)=>{"use strict";a.d(t,{A:()=>u,o:()=>g});var r=a(75038);a(76430);var o=a(15918),n=a(4444),l=a(47777),s=a(82185),i=a(98279),c=a(58916),d=a.n(c);let u=()=>{let e=(0,s.GV)(e=>e.active.modals.cloneModal),[t]=(0,s.zU)(i.zM),a=()=>t({modalName:"cloneModal",flag:!1});return(0,r.jsx)(n.A,{open:e,onClose:a,className:d().container,children:(0,r.jsx)(g,{onDeckCloned:a})})},g=({onDeckCloned:e})=>{let[{tbUser:t}]=(0,o.A)(["tbUser"]),a=(0,s.GV)(e=>e.deck.name),n=(0,s.GV)(e=>e.deck.id),i=(0,s.GV)(e=>e.deck.format),c=(0,s.GV)(e=>e.deck.cardPackage);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("h3",{children:["Clone ",(c?"Package":"Deck").toLocaleLowerCase()]}),""===t?(0,r.jsx)("p",{children:"You must be logged in to use this feature"}):(0,r.jsx)(l.A,{openInNewTab:!0,copyId:n,copyName:a,copyFormat:i,onCreate:e,createDeckWithCards:!n})]})}},44693:e=>{e.exports={flex:"bannerButton_flex__MGVcG",container:"bannerButton_container__Mn0dV",groups:"bannerButton_groups__eySSm",scrollContainer:"bannerButton_scrollContainer__baAyy",reverseOnMobile:"bannerButton_reverseOnMobile__mhtz5",deckControls:"bannerButton_deckControls__utrSU",button:"bannerButton_button__qmzLx",hideOnMobile:"bannerButton_hideOnMobile__7vmjf"}},48083:(e,t,a)=>{"use strict";a.d(t,{A:()=>_,E:()=>y});var r=a(75038),o=a(76430),n=a(78732),l=a(82185),s=a(21159),i=a(68835),c=a(7648),d=a(21008),u=a(26975),g=a(79400),h=a(85785),m=a(35635),p=a(23418);function b(e=[],t,a=!0,r=!1,o=!0,n=!0,l=!0,s=!0,i=!0,c="none",d=h.fv.ALPHA,u=[p.s6.CK]){let g=m.jN[`${d}`]||m.X4,k=[];return("none"===c?e.sort((e,t)=>g(e,t,u)):e.sort((e,a)=>{let r=t[e.categories[0]],o=t[a.categories[0]];if(r?.isPremier&&!o?.isPremier)return -1;if(!r?.isPremier&&o?.isPremier||r?.name==="Sideboard"&&o?.name!=="Sideboard")return 1;if(r?.name!=="Sideboard"&&o?.name==="Sideboard"||r?.includedInDeck&&!o?.includedInDeck)return -1;if(!r?.includedInDeck&&o?.includedInDeck)return 1;let n="cardType"===c?e.typeCategory:e.categories[0],l="cardType"===c?a.typeCategory:a.categories[0];return n===l?(0,m.X4)(e,a):n<l?-1:1})).reduce((e,d)=>{if("none"!==c){let a=function(e,t,a){if("none"===a)return"";let r=e.categories[0],o=t[r];if("Sideboard"===o.name||o.isPremier)return o.name;if("primaryCategory"===a)return r;if("cardType"===a)return e.typeCategory;let n=t[r];return n?n.isPremier&&n.includedInDeck?"Commander":n.includedInDeck&&"Sideboard"===n.name?"Sideboard":n.includedInDeck?"Mainboard":"Maybeboard":""}(d,t,c);k.includes(a)||(""!==e&&(e+="\n"),e+=`${a} 8`,k.push(a))}let u=`${d.qty}`;return u+=(a?"x":"")+` ${r?d.front?.name??d.name:d.name}`,o&&d.setCode&&(u+=` (${d.setCode})`),n&&o&&(u+=` ${d.collectorNumber}`),l&&"Foil"===d.modifier&&(u+=" *F*"),l&&"Etched"===d.modifier&&(u+=" *E*"),s&&(u+=` [${d.categories.map(e=>{let a,r;return a=t[e],r=`${e}`,a&&(a?.isPremier&&(r+="{top}"),a?.includedInDeck||(r+="{noDeck}"),a?.includedInPrice||(r+="{noPrice}")),r}).join(",")}]`),i&&d.colorLabel.name&&(u+=` ^${d.colorLabel.name},${d.colorLabel.color}^`),d.customCard&&(u+=" #CustomCard"),e+(u+="\n")},"")}var k=a(33623),x=a.n(k);let y=b,f={stringDisplayFlags:["includeQuantityX","includeSetCode","includeCollectorNumber","includeFoil","includeCategories","includeColorTags"],frontNameOnly:!1,sectionHeader:"none",sortBy:h.fv.ALPHA},_=({selectedCards:e,fileName:t="archidekt_export",categoryMap:a,onSubmit:m})=>{let[k,y]=(0,n.Mj)("archidekt_text_export_options",f),_=(0,l.GV)(e=>e.active.priceSource),{includeQuantityX:C,includeSetCode:v,includeCollectorNumber:j,includeFoil:A,includeCategories:S,includeColorTags:D}=(0,o.useMemo)(()=>({includeQuantityX:k.stringDisplayFlags.includes("includeQuantityX"),includeSetCode:k.stringDisplayFlags.includes("includeSetCode"),includeCollectorNumber:k.stringDisplayFlags.includes("includeCollectorNumber"),includeFoil:k.stringDisplayFlags.includes("includeFoil"),includeCategories:k.stringDisplayFlags.includes("includeCategories"),includeColorTags:k.stringDisplayFlags.includes("includeColorTags")}),[k.stringDisplayFlags]),{exampleWithNoHeaders:w,exampleWithHeaders:N}=function(e=!0,t=!1,a=!0,r=!0,o=!0,n=!0,l=!0,s="none"){let i={"Example category":(0,h.F3)("Example category")},c=[{...h.o5,qty:1,name:"Example Card",setCode:"set",collectorNumber:"123",categories:["Example category"],types:["Creature"],typeCategory:"Creature",modifier:"Foil",colorLabel:{name:"Buy",color:"#0066ff"}}];return{exampleWithNoHeaders:b(c,i,e,t,a,r,o,n,l,"none",h.fv.ALPHA,[p.s6.CK]),exampleWithHeaders:b(c,i,e,t,a,r,o,n,l,s,h.fv.ALPHA,[p.s6.CK])}}(C,k.frontNameOnly,v,j,A,S,D,k.sectionHeader),T=b(e,a,C,k.frontNameOnly,v,j,A,S,D,k.sectionHeader,k.sortBy,_);return(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{value:k.stringDisplayFlags,includeSelectAllNoneOptions:!0,onChange:e=>y({...k,stringDisplayFlags:e}),header:"Export options",selectedOptionsDisplayOverride:w,options:[{label:"Include x in quantity",id:"includeQuantityX"},{label:"Include set code",id:"includeSetCode"},{label:"Include collector number",id:"includeCollectorNumber"},{label:"Include foil indicator",id:"includeFoil"},{label:"Include categories",id:"includeCategories"},{label:"Include color tag data",id:"includeColorTags"}]}),(0,r.jsx)(c.A,{inlineHeader:!0,disabled:"none"!==k.sectionHeader,header:"Sort by",value:k.sortBy||h.fv.ALPHA,options:Object.keys(h.Zl).map(e=>({label:e,id:`${h.Zl[e]}`,onClick:()=>y({...k,sortBy:h.Zl[e]})}))}),(0,r.jsx)(c.A,{inlineHeader:!0,header:"Section header",value:k.sectionHeader,options:[{label:"No section header",id:"none",onClick:()=>y({...k,sectionHeader:"none"})},{label:"Primary category",id:"primaryCategory",onClick:()=>y({...k,sectionHeader:"primaryCategory"})},{label:"Card type",id:"cardType",onClick:()=>y({...k,sectionHeader:"cardType"})},{label:"Generic (eg: Commander, Mainboard, Sideboard)",id:"generic",onClick:()=>y({...k,sectionHeader:"generic"})}]}),(0,r.jsx)(u.A,{checked:k.frontNameOnly,onChange:()=>y({...k,frontNameOnly:!k.frontNameOnly}),label:"Use front name only for MDFC cards"}),(0,r.jsx)("h4",{children:"Export example"}),(0,r.jsx)("div",{className:x().example,children:N}),(0,r.jsxs)("div",{className:x().controls,children:[!m&&(0,r.jsx)(i.A,{icon:"copy outline",color:"blue",onClick:()=>{try{navigator.clipboard.writeText(T),s.A.create("Copied to clipboard","Deck Export","success")}catch{s.A.create("Unable to copy to clipboard","Deck Export")}},children:"Copy"}),(0,r.jsx)(i.A,{icon:"download",color:"green",onClick:()=>m?m([C,k.frontNameOnly,v,j,A,S,D,k.sectionHeader]):(()=>{try{let e=`${t.toLowerCase().replace(" ","_")}.txt`;(0,g.R)(e,T)}catch{s.A.create("Unable to download file","Deck export","error")}})(),children:"Download"})]})]})}},48706:(e,t,a)=>{"use strict";a.d(t,{G:()=>n});var r=a(15918),o=a(82185);let n=()=>{let[{tbId:e}]=(0,r.A)(["tbId"]),t=(0,o.GV)(e=>
8e.deck.id),a=(0,o.GV)(e=>e.deck.ownerid),n=(0,o.GV)(e=>e.deck.snapshotMeta);return!t||!n&&`${a}`==`${e}`}},49383:(e,t,a)=>{"use strict";a.d(t,{p8:()=>N,cj:()=>w});var r=a(75038),o=a(76430),n=a(14645),l=a.n(n),s=a(82185),i=a(85785),c=a(98279),d=a(65718),u=a(68835),g=a(92910),h=a(53492),m=a(69433),p=a(21159),b=a(49435),k=a(7487),x=a.n(k);let y=({link:e,onCloseQrViewer:t})=>{let[a,n]=(0,o.useState)("qr-only"),l=(0,o.useRef)(null),i=(0,s.GV)(e=>e.deck.name),c=(0,s.GV)(e=>e.deck.featured),g=(0,s.GV)(e=>e.deck.customFeatured),k=(0,s.GV)(e=>e.deck.deckTags);return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:x().controls,children:(0,r.jsx)(u.A,{icon:"arrow left",onClick:()=>t(),children:"Back to options"})}),(0,r.jsxs)("div",{className:x().container,children:["qr-only"===a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(h.QRCode,{ref:l,size:256,value:e,logoImage:"/images/logo.svg",logoWidth:64,logoHeight:64,logoPadding:4,qrStyle:"dots",removeQrCodeBehindLogo:!0,style:{background:"white",padding:"0.5rem",borderRadius:8}}),(0,r.jsx)(u.A,{onClick:()=>{m.A.signalEvent("Downloaded QR Code only");try{l.current?.download("png",`${(0,d.Tv)(i)}_qr_only.png`)}catch(e){p.A.create(`Unable to generate file: ${e}`,"QR Code generator","error")}},children:"Download QR Code"})]}),"card"===a&&(0,r.jsxs)("div",{className:x().card,children:[(0,r.jsx)("div",{className:x().titleBox,children:i}),(0,r.jsx)("div",{className:x().art,children:(0,r.jsx)(b.A,{src:g||c,alt:"Deck featured preview"})}),(0,r.jsxs)("div",{className:x().tags,children:[k.map(e=>e.name).join(", "),!k.length&&(0,r.jsx)("span",{className:x().dimText,children:"No deck tags"})]}),(0,r.jsx)(h.QRCode,{ref:l,size:100,value:e,logoImage:"/images/logo.svg",logoWidth:25,logoHeight:25,logoPadding:2,qrStyle:"dots",removeQrCodeBehindLogo:!0,style:{background:"white",borderRadius:8}})]})]})]})};var f=a(56771),_=a(40120),C=a(7648),v=a(4444);a(44693);var j=a(57413);j.Ay.div.withConfig({componentId:"sc-61db6dc4-0"})(["display:flex;flex-direction:column;gap:0.5rem;"]),j.Ay.button.withConfig({componentId:"sc-61db6dc4-1"})(["background-color:transparent;color:#ff992d;padding:0;border:none;&:hover:enabled,&:focus{cursor:pointer;}"]);let A=j.Ay.div.withConfig({componentId:"sc-61db6dc4-2"})(["margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;"]);var S=a(80283),D=a.n(S);let w=()=>{let e=(0,s.GV)(e=>e.active.modals.shareDeck),[t]=(0,s.zU)(c.zM);return(0,r.jsx)(v.A,{open:e,onClose:()=>t({modalName:"shareDeck",flag:!1}),className:D().container,children:(0,r.jsx)(N,{})})},N=()=>{let e,t,a,n,c=(0,s.GV)(e=>e.deck.sorting),h=(0,s.GV)(e=>e.deck.stack),m=(0,s.GV)(e=>e.deck.id),p=(0,s.GV)(e=>e.deck.name),[b,k]=(0,o.useState)(!1),[x,v]=(0,o.useState)(!1),[j,S]=(0,o.useState)(),[w,N]=(0,o.useState)(),T=(e=(0,d.cR)(m,p),t=`${window.origin}${e}`,a=l()(i.fv)[j],n=l()(i.Le)[w],(a||n)&&(t+="?"),a&&(t+=`sort=${a.toLowerCase()}&`),n&&(t+=`stack=${n.toLowerCase()}`),t);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Share Menu"}),x&&(0,r.jsx)(y,{link:T,onCloseQrViewer:()=>v(!1)}),!x&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:D().copyFiled,children:[(0,r.jsx)(f.A,{disabled:!0,value:T}),(0,r.jsx)(u.A,{color:b?"green":"blue",onClick:()=>{navigator.clipboard.writeText(T),k(!0),setTimeout(()=>k(!1),3e3)},children:b?"Copied":"Copy"})]}),(0,r.jsxs)("div",{className:D().row,children:[(0,r.jsx)(u.A,{icon:"qrcode",onClick:()=>v(!0),children:"View link as QR Code"}),(0,r.jsx)(g.A,{href:`/decks/image/${m}`,about:"_blank",children:(0,r.jsx)(u.A,{icon:"image outline",children:"Generate deck image"})})]}),(0,r.jsx)("h3",{children:"Link Options"}),(0,r.jsx)("p",{children:"To specify how others see your deck, select custom sorting and stacking options. This will change the link generated above."}),(0,r.jsx)(A,{children:(0,r.jsx)(u.A,{onClick:()=>{S(c),N(h)},children:"Apply Current Settings"})}),(0,r.jsx)(C.A,{inlineHeader:!0,header:(0,r.jsxs)(r.Fragment,{children:["Sorting Options ",(0,r.jsx)(_.A,{name:"sort amount down"})]}),value:j,placeholder:"Alphabetical, CMC, Colors, etc",options:[{label:"None",onClick:()=>S(null)},{type:"spacer"},...Object.keys(i.Zl).map(e=>({label:e,id:`${i.Zl[e]}`,onClick:()=>S(i.Zl[e])})).filter(e=>!i.PD.includes(e.id))]}),(0,r.jsx)("label",{}),(0,r.jsx)(C.A,{inlineHeader:!0,header:(0,r.jsxs)(r.Fragment,{children:["Stacking Options ",(0,r.jsx)(_.A,{name:"clone outline"})]}),value:w,placeholder:"Alphabetical, CMC, Colors, etc",options:[{label:"None",onClick:()=>N(null)},{type:"spacer"},...Object.keys(i.p2).map(e=>({label:e,id:`${i.p2[e]}`,onClick:()=>N(i.p2[e])}))]})]})]})}},50413:(e,t,a)=>{"use strict";a.d(t,{A:()=>k});var r=a(75038),o=a(76430),n=a(48706),l=a(82185),s=a(6016),i=a(41944),c=a(21159),d=a(51911),u=a(84919),g=a(68835),h=a(65293),m=a(75499),p=a.n(m),b=a(40120);let k=({onDescriptionChange:e,onDescriptionSaved:t,allowHeightExpansion:a=!1,editorClassName:m="",description:k=""})=>{let x=(0,l.GV)(e=>
8e.deck.id),y=(0,n.G)(),f=(0,l.GV)(e=>!e.deck.id),_=(0,l.GV)(e=>e.deck.hasPrimer),C=(0,l.GV)(e=>e.deck.deckTags),[v]=(0,l.zU)(s.XI),j=(e,t)=>e>=1&&t>200,[A,S]=(0,o.useState)(_),[D,w]=(0,o.useState)(!1),[N,T]=(0,o.useState)(0),[$,E]=(0,o.useState)(j(C.length,N)),[F,G]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{E(j(C.length,N))},[N,C]),(0,r.jsx)(r.Fragment,{children:y&&(0,r.jsxs)("div",{className:p().description,children:[f?"Not available in Sandbox mode.":(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{editorClassname:`${D?"":p().limitHeight} ${m}`,value:k,placeholder:"What's the win con...",onChange:t=>{e&&e(t)},onTextChange:e=>{T(e.split(/\s+/).length)},autofocus:!0}),(0,r.jsxs)("div",{className:p().meta,children:[(0,r.jsxs)("button",{disabled:!a,onClick:()=>w(!D),className:a?void 0:p().hide,children:[(0,r.jsx)(b.A,{name:D?"arrow circle up":"arrow circle down"}),D?"Shrink":"Expand"," text area"]}),(0,r.jsxs)("div",{className:p().descriptionLength,children:["Word count: ",N]})]})]}),(0,r.jsx)("div",{children:(0,r.jsx)(h.A,{disabled:f,checked:A,onClick:()=>S(!A),header:"Deck has primer",className:p().largeFancyBox,description:"Mark this description as a primer, which explains how your deck works and why you've chosen these cards in detail. Doing so affects how other users view your deck.",detailedDescription:(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:"Allows deck to be found when searching for primers"}),(0,r.jsx)("li",{children:"All deck links show that this deck has a primer"}),(0,r.jsx)("li",{children:'Forces the deck page to load with "pinned description" enabled'})]})})}),(0,r.jsx)(g.A,{color:"green",className:p().save,onClick:()=>{let e={description:k,hasPrimer:A};return G(!0),i.A.update(x,e).then(()=>{v(e),d.A.send(e,"DECK_PATCH_SUCCEEDED"),c.A.create("Description updated","Deck Settings","success"),t&&t(k)}).catch(e=>c.A.create(e,"Deck Settings","error")).finally(()=>G(!1))},icon:"save outline",disabled:f||F||A&&!$,children:"Save changes"}),A&&!$&&(0,r.jsxs)("div",{className:`${p().primerReqs} ${p().red}`,children:[(0,r.jsx)("h5",{children:"Writing a primer? Try hitting these benchmarks"}),(0,r.jsxs)("ul",{children:[(0,r.jsxs)("li",{children:[200," or more words"]}),(0,r.jsxs)("li",{children:[1," or more deck tags set"]})]})]})]})})}},51803:e=>{e.exports={list:"categoryTemplateDeckSettings_list__hC1U0",controls:"categoryTemplateDeckSettings_controls__JQnnf",checkBox:"categoryTemplateDeckSettings_checkBox__cbt5f",loadingColumn:"categoryTemplateDeckSettings_loadingColumn___42Nj",link:"categoryTemplateDeckSettings_link__lkpz7"}},53304:(e,t,a)=>{"use strict";a.d(t,{y:()=>r});let r=e=>new Promise(t=>setTimeout(t,e))},58383:e=>{e.exports={flex:"collaborators_flex__OP9wh",controls:"collaborators_controls__jy4AH",formControls:"collaborators_formControls__Xz4DZ",container:"collaborators_container__cHpCa",avatar:"collaborators_avatar__F8y0_",userRow:"collaborators_userRow__1eYln",followingRow:"collaborators_followingRow__kqwKR",userInfo:"collaborators_userInfo__Bg3Hc",rowControls:"collaborators_rowControls__9Dj6b",row:"collaborators_row__CUFAy",metaInfo:"collaborators_metaInfo__xYmFd",search:"collaborators_search__43WyJ",link:"collaborators_link__vp_XS",loadMore:"collaborators_loadMore__uUw8C",table:"collaborators_table__ktMyR"}},58916:e=>{e.exports={container:"copyDeck_container__ieovw"}},67007:e=>{e.exports={container:"rootSettings_container__wc3om",controls:"rootSettings_controls__hbOuv",flags:"rootSettings_flags__uj4mZ",bracketDropdown:"rootSettings_bracketDropdown__mpGha",description:"rootSettings_description__N_Y_g"}},67560:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var r=a(75038),o=a(85785),n=a(62982);let l=({value:e,placeholder:t,onChange:a,header:l})=>(0,r.jsx)(n.A,{placeholder:t||"Formats",header:l,options:Object.keys(o.yi).map(e=>({label:e,value:o.yi[e]})),onChange:a,value:e})},73143:e=>{e.exports={container:"featuredDeckImage_container__DGery"}},75499:e=>{e.exports={formContainer:"description_formContainer__SvCmg",description:"description_description__l_LhK",descriptionLength:"description_descriptionLength__PTRpa",readOnly:"description_readOnly__AGEH9",limitHeight:"description_limitHeight__9dqJz",meta:"description_meta___sUXq",hide:"description_hide__WcaI2",largeFancyBox:"description_largeFancyBox__d5Ibm",primerReqs:"description_primerReqs__0ZR0u",red:"description_red__vvgYu",green:"description_green__QGb8B",save:"description_save__UHvty"}},79400:(e,t,a)=>{"use strict";a.d(t,{R:()=>r}),a(23305);let r=(e,t)=>{let a=document.body;if(a){let r=document.createElement("a");r.setAttribute("href","data:pdf/plain;charset=utf-8,"+encodeURIComponent(t)),r.setAttribute("download",e),r.style.display="none",a.appendChild(r),r.click(),a.removeChild(r)}}},80283:e=>{e.exports={container:"share_container__s3IWN",row:"share_row__LJkFH",copyFiled:"share_copyFiled__AFxTb"}},81170:(e,t,a)=>{"use strict";a.d(t,{I:()=>eB,A:()=>eq});var r=a(75038),o=a(76430),n=a(48706),l=a(82185),s=a(98279),i=a(6016),c=a(4444),d=a(97930),u=a(98381),g=a(85785),h=a(78516),m=a(41944),p=a(21159),b=a(51911),k=a(68835),x=a(90922),y=a(30898);let f=()=>(0,r.jsxs)(y.A,{children:[(0,r.jsxs)("p",{children:["This represents the intended ",(0,r.jsx)("b",{children:"game"})," type of a deck (Paper, MTGO or Arena)."]}),(0,r.jsx)("p",{children:"Currently this only effects the collection flags for the owner of the deck. If you own the deck and set the game type, on the cards in the deck and in search, you will only see collection flags from the collection of the set game type. (ie: If you set the game type to Paper, you will only see collection flags from your paper collection)."}),(0,r.jsx)("p",{children:(0,r.jsx)("b",{children:"This change requires a page refresh to take effect on the collection flags."})})]});var _=a(67560),C=a(65293),v=a(40120),j=a(11060),A=a(14918),S=a(56771),D=a(7648),w=a(36601),N=a(73143),T=a.n(N),$=a(6126),E=a(57146);let F=({})=>{let e=(0,l.GV)(e=>
8e.deck.id);(0,l.GV)(e=>e.deck.featured);let t=(0,l.GV)(e=>e.deck.customFeatured),[a]=(0,l.zU)(i.XI),[n,s]=(0,o.useState)(!1);return(0,r.jsxs)("div",{className:T().container,children:[(0,r.jsx)("label",{children:"Featured image"}),t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.A,{onClick:()=>{let t={customFeatured:""};s(!0),m.A.update(e,t).then(e=>a(t)).catch(w.A.createToast).finally(()=>s(!1))},children:n?"Changing deck image...":"Autoselect deck image"}),(0,r.jsx)("p",{children:"You currently have a custom featured image set for this deck. If you'd like to revert to the automatic selection, hit the button above."})]}),!t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)($.Ay,{fetchCard:!0,onSelect:t=>{let r={customFeatured:(0,E.Vq)(t.setCode,t.uid,!1)};s(!0),m.A.update(e,r).then(e=>a(r)).catch(w.A.createToast).finally(()=>{setTimeout(()=>s(!1),1e3)})},placeholder:"Atraxa, Praetors' Voice"}),(0,r.jsx)("p",{children:"We are currently selecting a featured card image from your deck automatically. If you'd like to set it yourself, open a card menu and hit the 'Set Deck Image' button or search for a card above."})]})]})};var G=a(67007),I=a.n(G);let L=({onDeckUpdated:e})=>{let t=(0,u.useRouter)(),a=(0,l.GV)(e=>e.deck.format),s=(0,l.GV)(e=>e.deck.game),c=(0,l.GV)(e=>e.deck.edhBracket),d=(0,l.GV)(e=>e.deck.id),y=(0,l.GV)(e=>e.deck.name),w=(0,l.GV)(e=>e.deck.cardPackage),N=(0,l.GV)(e=>e.deck.private),T=(0,l.GV)(e=>e.deck.unlisted),$=(0,l.GV)(e=>e.deck.theorycrafted),E=(0,l.GV)(e=>!e.deck.id),G=(0,n.G)(),L=(0,l.GV)(h.mi),[P]=(0,l.zU)(i.XI),[V,H]=(0,o.useState)(!1),[O,U]=(0,o.useState)(s),[M,R]=(0,o.useState)(y),[q,B]=(0,o.useState)(a),[z,Q]=(0,o.useState)(c),[X,Y]=(0,o.useState)(N),[W,Z]=(0,o.useState)(T),[J,K]=(0,o.useState)($),[ee,et]=(0,o.useState)(`${w?.keywords||""}`),[ea,er]=(0,o.useState)(!1),[eo,en]=(0,o.useState)(w?.intendedFormats||[]),[el,es]=(0,o.useState)(w?.budget||null),ei=w?"Card Package":"Deck",ec=async t=>{t.preventDefault();let a={name:M,deckFormat:q,edhBracket:q===g.uB.EDH?z:null,private:X,unlisted:W,theorycrafted:J,game:O||null};return er(!0),m.A.update(d,a).then(t=>(e&&e(t),w&&w.id)?m.A.updatePackage(w.id,{...w,keywords:ee,intendedFormats:eo,budget:el}):Promise.resolve()).then(()=>{P(a),b.A.send(a,"DECK_PATCH_SUCCEEDED"),p.A.create("Deck updated","Deck Settings","success")}).catch(e=>p.A.create(e,"Deck Settings","error")).finally(()=>er(!1))},ed=async()=>m.A.deleteDeck(d).then(()=>t.push("/")).catch(e=>p.A.create(e,"Deck Settings"));return(0,r.jsxs)(r.Fragment,{children:[G&&(0,r.jsxs)("form",{className:I().container,onSubmit:ec,children:[(0,r.jsx)(S.A,{header:`${ei} Name`,value:M,disabled:E,onChange:R}),!w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(D.A,{header:"Format",inlineHeader:!0,value:q,disabled:E,options:Object.keys(g.yi).map(e=>({label:e,id:`${g.yi[e]}`,onClick:()=>B(g.yi[e])}))}),q===g.uB.EDH&&(0,r.jsx)(j.A,{className:I().bracketDropdown,includeDisclaimer:!0,header:(0,r.jsxs)(r.Fragment,{children:["Commander Bracket (Estimated Bracket: ",g.P_[L],") ",(0,r.jsx)(A.Ay,{})]}),value:z,onChange:e=>Q(e),overrideUnsetLabel:"Unset"}),(0,r.jsx)(D.A,{inlineHeader:!0,header:(0,r.jsxs)(r.Fragment,{children:["Game Type ",(0,r.jsx)(f,{})]}),value:O||0,disabled:E,options:[{label:"Any",id:"0",onClick:()=>U(null)},...Object.keys(g.$p).map(e=>({label:e,id:`${g.$p[e]}`,onClick:()=>U(g.$p[e])}))]})]}),!!w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(S.A,{inlineHeader:!0,header:"Keywords",value:ee,onChange:et}),(0,r.jsx)(_.A,{header:"Intended Formats",value:eo,placeholder:"Not all packages have intended formats",onChange:en}),(0,r.jsx)(D.A,{inlineHeader:!0,header:"Estimated budget",placeholder:"Estimated package budget",options:[{id:"1",onClick:()=>es(1),label:"$"},{id:"2",onClick:()=>es(2),label:"$$"},{id:"3",onClick:()=>es(3),label:"$$$"},{id:"4",onClick:()=>es(4),label:"$$$$"}],value:el??void 0})]}),(0,r.jsx)(F,{}),(0,r.jsxs)("div",{className:I().flags,children:[(0,r.jsx)(C.A,{disabled:E,checked:X,onClick:()=>Y(!X),header:"Private",description:`The ${ei} is only visible to you`}),(0,r.jsx)(C.A,{disabled:E,checked:W,onClick:()=>Z(!W),header:"Unlisted",description:`The ${ei} is viewable with a direct link, but not shown in lists like search, folders, or your user page (for other users)`}),!w&&(0,r.jsx)(C.A,{disabled:E,checked:J,onClick:()=>K(!J),header:"Theorycrafted",description:'The deck is not included by default in "In decks" view'})]}),(0,r.jsxs)("div",{className:I().controls,children:[(0,r.jsxs)(k.A,{disabled:E||ea,type:"button",color:"red",onClick:()=>H(!0),children:[(0,r.jsx)(v.A,{name:"trash alternate outline"}),"Delete ",ei]}),(0,r.jsxs)(k.A,{disabled:E||ea,type:"submit",color:"green",children:[(0,r.jsx)(v.A,{name:"save outline"}),"Save Changes"]})]})]}),(0,r.jsx)(x.A,{delayEnabledTime:3e3,header:`Delete ${ei}`,message:`Are you sure you want to delete this ${ei}?`,buttonText:`Delete "${M}"`,loadingMessage:`Deleting "${M}"...`,open:V,onClose:()=>H(!1),onDelete:ed})]})};var P=a(31869),V=a(2477),H=a(47303),O=a(92910),U=a(75249),M=a(51202),R=a(10228),q=a.n(R);let B=()=>{let e=(0,l.GV)(e=>e.active.globalColorTags),t=(0,l.GV)(e=>e.deck.colorLabels),[a,n]=(0,l.zU)(s.iY,i.RP),[c,d]=(0,o.useState)(!0);(0,o.useEffect)(()=>{H.A.list().then(e=>a({globalColorTags:e})).catch(()=>p.A.create("Unable to load global color tags","Deck page","error")).finally(()=>d(!1))},[]);let u=(e||[]).filter(e=>!t.some(t=>t.name===e.name&&t.color===e.color));return(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{children:"Color tag templates"}),(0,r.jsxs)("p",{children:["You can manage your Color Tag Templates in your"," ",(0,r.jsx)(O.A,{className:q().link,href:"/accountSettings/color-tag-templates",children:"Account Settings"}),". To add these color tags to cards, use the color tag dropdown in the card options, or the corner quantity of a card."]}),c&&(0,r.jsx)(U.A,{}),null!==e&&0===u.length&&(0,r.jsx)("div",{className:q().none,children:"You have no unused color tag templates"}),null!==e&&(0,r.jsx)(M.A,{tags:u,onAddToDeck:e=>n({colorLabels:[...t,{name:e.name,color:e.color}]})})]})};var z=a(37217),Q=a(32177),X=a.n(Q);let Y=()=>{let[e,t]=(0,o.useState)(!1),[a]=(0,l.dN)(P.D),n=(0,l.GV)(e=>e.deck.colorLabels),s=(0,l.GV)(e=>e.deck.cardMap);return(0,r.jsxs)("div",{className:X().container,children:[(0,r.jsx)("h4",{children:"Deck color tags"}),(0,r.jsx)(M.A,{usedOnDeckPage:!0,noEditOnDefaults:!0,tags:n,onSetAll:({name:e})=>{let t=n.find(t=>t.name===e)||g.o5.colorLabel;V.A.save(Object.values(s).map(e=>({...e,colorLabel:t})))},onEdited:({name:e,color:t})=>{let r={name:e,color:t},o=Object.values(s).filter(t=>t.colorLabel.name===e),l=n.map(t=>t.name===e?r:t),i=o.map(e=>({...e,colorLabel:r}));V.A.save(i).then(()=>{a({colorLabels:l})})},onRemovedFromDeck:({name:e})=>{let t=Object.values(s).filter(t=>t.colorLabel.name===e).map(e=>({...e,colorLabel:g.o5.colorLabel}));V.A.save(t).then(()=>{a({colorLabels:n.filter(t=>t.name!==e)})})}}),(0,r.jsx)("div",{className:X().controls,children:(0,r.jsxs)(k.A,{color:"green",onClick:()=>t(!0),children:[(0,r.jsx)(v.A,{name:"add"})," New color tag"]})}),(0,r.jsx)(z.A,{open:e,onClose:()=>t(!1),onEdit:e=>a({colorLabels:[...n,{name:e.name,color:e.color}]})}),(0,r.jsx)(B,{})]})};
8var W=a(25730),Z=a(34131),J=a(44619),K=a(15918),ee=a(51803),et=a.n(ee);let ea=()=>{let[e,t]=(0,o.useState)(!0),[a,n]=(0,o.useState)([]),[s,c]=(0,o.useState)(null),[{tbId:d}]=(0,K.A)(["tbId"]),u=(0,l.GV)(e=>e.deck.categories),[g]=(0,l.zU)(i.RP);(0,o.useEffect)(()=>{W.A.listTemplates(d).then(n).catch(c).finally(()=>t(!1))},[]);let h=null,m=a.reduce((e,t)=>(u[t.name]||e.push(t),e),[]);return m.length||(h=(0,r.jsx)("div",{children:"All Category Templates are already being used in this deck"})),m.length&&(h=(0,r.jsx)(Z.A,{categories:m,onTemplateAdd:e=>W.A.create(e).then(e=>{let t={...u};t[e.name]=e,g({categories:t})}).catch(e=>p.A.create(e))})),a.length||(h=(0,r.jsx)("div",{children:"You have no Category Templates"})),e&&(h=(0,r.jsx)(U.A,{})),s&&(h=(0,r.jsx)("div",{children:"Unable to load category templates"})),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{children:"Category Templates"}),(0,r.jsxs)("p",{children:["You can manage your Category Templates in your"," ",(0,r.jsx)(O.A,{className:et().link,href:"/accountSettings/category-templates",children:"Account Settings"})]}),h]})};var er=a(26705),eo=a.n(er);let en=()=>{let[e,t]=(0,o.useState)(!1),[a,n]=(0,o.useState)(null),[s,c]=(0,o.useState)(null),[d,u]=(0,o.useState)(!1),m=(0,l.GV)(e=>e.deck.categories),y=(0,l.GV)(h.dc),f=(0,l.GV)(h.qs),_=y.filter(e=>!f[e.name]),[C]=(0,l.zU)(i.RP);return(0,r.jsxs)("div",{className:eo().container,children:[(0,r.jsx)("b",{children:"* A category must have no cards in it to be deleted"}),(0,r.jsx)(Z.A,{categories:y,onDelete:n,onEdit:c}),(0,r.jsxs)("div",{className:eo().controls,children:[(0,r.jsx)(k.A,{icon:"trash alternate outline",color:"red",onClick:()=>u(!0),disabled:!_.length,children:"Delete unused categories"}),(0,r.jsx)(k.A,{icon:"circle-plus",onClick:()=>t(!0),color:"green",children:"Create Category"})]}),(0,r.jsx)(ea,{}),(0,r.jsx)(x.A,{header:"Delete category",message:`Are you sure you want to delete the category "${a?.name}"?`,buttonText:`Delete "${a?.name}"`,open:!!a,onDelete:()=>{let e;return e=a||(0,g.F3)(),W.A.remove(e.id).then(()=>{let t={...m};delete t[e.name],C({categories:t}),b.A.send({categories:t},"SET_DECK_STATE")}).catch(()=>p.A.create("Failed to delete category","Deck settings","error"))},onClose:()=>n(null)}),(0,r.jsx)(x.A,{header:"Delete empty categories",open:d,onClose:()=>u(!1),message:(0,r.jsx)(el,{unusedCategories:_}),buttonText:"Delete unused categories",loadingMessage:"Deleting categories...",onDelete:()=>Promise.all(_.map(e=>W.A.remove(e.id))).then(()=>{let e={...m};_.forEach(t=>{delete e[t.name]}),C({categories:e})}).catch(()=>p.A.create("Failed to delete one or more categories. Data could be in a weird state since we are not sure which categories were removed. We recommend refreshing the page.","Deck settings","error"))}),(0,r.jsx)(J.A,{category:s||(0,g.F3)(),open:!!s,onClose:()=>c(null),onSave:()=>c(null)}),(0,r.jsx)(J.A,{open:e,onClose:()=>t(!1),onSave:()=>t(!1)})]})},el=({unusedCategories:e})=>(0,r.jsxs)("div",{children:[`Are you sure you want to delete all (${e.length}) categories that are not being used by any card? This action cannot be undone.`,(0,r.jsxs)("div",{className:eo().categoryDeleteList,children:[(0,r.jsx)("p",{children:"Categories to be deleted"}),(0,r.jsx)("ul",{children:e.map(e=>(0,r.jsx)("li",{children:e.name},e.name))})]})]});var es=a(3957);let ei=function(e,t){return w.A.post(`/api/decks/${e}/editors/`,{user:t})};var ec=a(57809),ed=a(49435),eu=a(69133),eg=a(72770),eh=a(58383),em=a.n(eh);let ep=()=>{let[e,t]=(0,o.useState)(!0),[a,n]=(0,o.useState)(null),[s,i]=(0,o.useState)([]),[c,d]=(0,o.useState)([]),[u,g]=(0,o.useState)("null"),[h,m]=(0,o.useState)(!1),[b,x]=(0,o.useState)(null),[{tbId:y}]=(0,K.A)(["tbId"]),f=(0,l.GV)(e=>e.deck.id);(0,o.useEffect)(()=>{var e;(e=f,w.A.get(`/api/decks/${e}/editors/`)).then(e=>i(e.results)).catch(n),es.A.following(y).then(e=>{e.results&&(d([...e.results]),g(e.next))}).catch(e=>console.error(e)).finally(()=>t(!1))},[]);let _=e=>(e?.preventDefault(),b)?(t(!0),ei(f,b?.id).then(e=>{x(null),m(!1),i([...s,e])}).catch(n).finally(()=>t(!1))):p.A.create("Missing selected user","Deck Settings","error"),C=e=>i(s.filter(t=>t.id!==e)),v=e=>i([...s,e]);if(a)return(0,r.jsx)("div",{children:a});let j=c.filter(e=>!s.some(t=>e.id===t.user.id));return(0,r.jsxs)("div",{className:em().container,children:[(0,r.jsx)("p",{children:"This feature allows users to share their decks with others and update them in real time together. Setting someone as a collaborator grants them privileges to make any changes to the deck that an owner could outside of anything found in the Main Settings (above)."}),(0,r.jsxs)("p",{children:["Have any feedback?"," ",(0,r.jsx)("a",{className:em().link,href:"https://archidekt.com/forum/thread/3552530",rel:"noopener noreferrer",target:"_blank",children:"Leave those comments here"}),"."]}),!h&&(0,r.jsx)("div",{className:em().controls,children:(0,r.jsx)(k.A,{color:"blue",onClick:()=>m(!0),children:"Add new Collaborator"})}),e&&(0,r.jsx)(U.A,{}),h&&(0,r.jsxs)("form",{onSubmit:_,children:[(0,r.jsx)(ec.A,{triggerClassName:em().search,value:b,onSelected:x}),(0,r.jsxs)("div",{className:em().formControls,children:[(0,r.jsx)(k.A,{type:"button",color:"red",onClick:()=>m(!1),children:"Cancel"}),(0,r.jsx)(k.A,{type:"button",color:"green",onClick:()=>_(),children:"Add Collaborator"})]})]}),(0,r.jsxs)("div",{className:em().table,children:[s.map((e,t)=>(0,r.jsx)(eb,{collaborator:e,removeCollaborator:C},t)),!e&&!s.length&&(0,r.jsx)("i",{children:"No collaborators set for this deck"})]}),!!c.length&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{children:"Users you follow"}),(0,r.jsx)("div",{className:em().table,children:j.map((e,t)=>(0,r.jsx)(ek,{user:e,deckId:f,addCollaborator:v},t))}
8),u&&(0,r.jsx)("div",{className:em().loadMore,children:(0,r.jsx)("button",{onClick:()=>{u&&es.A.following(y,u||void 0).then(e=>{e.results&&(d([...c,...e.results]),g(e.next))}).catch(e=>console.error(e))},children:"Load more"})})]})]})},eb=({collaborator:e,removeCollaborator:t})=>{let[a,n]=(0,o.useState)(!1);return(0,r.jsxs)("div",{className:em().userRow,children:[(0,r.jsxs)("div",{className:em().userInfo,children:[(0,r.jsx)(ed.A,{className:em().avatar,src:e.user.avatar,alt:`${e.user.username} avatar`}),(0,r.jsx)("b",{children:e.user.username})]}),(0,r.jsxs)("div",{className:em().rowControls,children:[(0,r.jsxs)("div",{className:em().metaInfo,children:["Added by ",e.createdBy.username," ",(0,eg._)(e.createdAt)," ago"]}),(0,r.jsx)(k.A,{onClick:()=>{var a,r;return a=e.id,n(!0),(r=a,w.A.delete(`/api/decks/editors/${r}/`,void 0,!0)).then(()=>t(a)).catch(()=>p.A.create("Unable to remove collaborator","Deck Settings","error")).finally(()=>{n(!1)})},disabled:a,color:"red",children:a?(0,r.jsx)(eu.A,{size:"xSmall"}):(0,r.jsx)(v.A,{name:"close"})})]})]})},ek=({user:e,deckId:t,addCollaborator:a})=>{let[n,l]=(0,o.useState)(!1);return(0,r.jsxs)("div",{className:em().followingRow,children:[(0,r.jsxs)("div",{className:em().userInfo,children:[(0,r.jsx)(ed.A,{className:em().avatar,src:e.avatar,alt:`${e.username} avatar`}),(0,r.jsx)("b",{children:e.username})]}),(0,r.jsx)("div",{className:em().rowControls,children:(0,r.jsxs)(k.A,{onClick:()=>(l(!0),ei(t,e.id).then(e=>{a(e)}).catch().finally(()=>{l(!1)})),disabled:n,color:"green",children:[n?(0,r.jsx)(eu.A,{size:"xSmall"}):(0,r.jsx)(v.A,{name:"check"})," Add collaborator"]})})]})};var ex=a(46354),ey=a(93275),ef=a(51960);let e_={Spellslinger:25,"Custom cards":1},eC={"-1/-1 counter":"-1/-1 Counters","\\+1/\\+1 counter":"+1/+1 Counters","activated abilities":"Activated Abilities",attacks:"Attack Triggers","as a copy of":"Clones",dungeon:"Dungeon",initiative:"Dungeon","{E}":"Energy","additional combat":"Extra Combats","extra turn":"Extra Turns",poison:"Infect",monarch:"Monarch",token:"Tokens",graveyard:"Graveyard","deals .* damage":"Burn","gain .* life":"Lifegain"};var ev=a(28657),ej=a.n(ev);let eA=({alreadySelectedTags:e,onTagAdded:t})=>{let[a,n]=(0,o.useState)({}),s=(()=>{let[e,t]=(0,o.useState)([]),[a,r]=(0,o.useState)([]);if(!(0,h.b8)())return[];let n=(0,l.GV)(h.kn),s=(0,l.GV)(h.Sm),i=[...s,...n];return(0,o.useEffect)(()=>{ey.A.list().then(e=>t(e))},[]),(0,o.useEffect)(()=>{let t={},a=[],o=(e,a)=>t[e]=t[e]?t[e]+a:t[e]=a;for(let e of i){e.customCard&&o("Custom cards",e.qty);let t=e.back?[...e.back.superTypes||[],...e.back.types||[],...e.back.subTypes||[],...e.back.keywords||[]]:[];for(let a of[...e.superTypes,...e.types,...e.subTypes,...e.keywords,...t])if(!["Island","Mountain","Forest","Swamp","Plains"].includes(a)){if(["Instant","Sorcery"].includes(a)){o("Spellslinger",e.qty);continue}o(a,e.qty)}}for(let e of i){let a=e.front?e.front.text+e.back?.text:e.text;for(let t of Object.keys(eC)){let r=new RegExp(t);a.match(r)&&o(eC[t],e.qty)}for(let r of Object.keys(t))!e.keywords.includes(r)&&a.includes(r)&&o(r,e.qty)}for(let r of Object.keys(t).filter(e=>{let a=e_[e]||18;return t[e]>=a}))for(let t of e)(t.aliases.split(" ").includes(r.toLowerCase())||t.name.toLowerCase()===r.toLowerCase())&&a.push([r,t]);a.sort(([e,t],[a,r])=>t.name>r.name?1:-1),r(a)},[e,s,n]),a})(),i=s.filter(([t,a])=>!e[a.name]);return 0===s.length?null:(0,r.jsxs)("div",{className:ej().recommendedTags,children:[(0,r.jsx)("p",{className:ej().blurb,children:"Based on the cards in your deck, we think these tags might fit. These recommendations aren't the only tags that might be relevant to your deck. Click any you wish to apply, or type below to search for tags you feel are more accurate."}),i.map(([e,o],l)=>(0,r.jsxs)("div",{className:ej().tags,children:[(0,r.jsxs)(y.A,{children:["Deck contains at least 18 cards containing the word"," ","Spellslinger"===e?"instant or sorcery":e.toLowerCase()," in the type line or text box."]}),(0,r.jsxs)("button",{onClick:()=>{var e,r;return e=o.id||0,r=o.name,void(n({...a,[r]:!0}),t(e,r).finally(()=>{n({...a,[r]:!1})}))},disabled:a[o.name],children:[(0,r.jsx)(v.A,{name:"plus"}),o.name]})]},`${o.name}${l}`))]})};var eS=a(1979),eD=a.n(eS);let ew=({})=>{let[e,t]=(0,o.useState)({count:0,next:null,previous:null,results:[]}),[a,n]=(0,o.useState)(!0),[s,c]=(0,o.useState)({}),d=(0,l.GV)(e=>
8e.deck.id),[u]=(0,l.zU)(i.RP),g=t=>{let a=eN(null,e.results.length,e.results);return n(!0),ey.A.createDeckRelation(d,t,a).then(()=>h()).catch(()=>p.A.create("Unable to add deck tag")).finally(()=>n(!1))},h=()=>ey.A.getTags(d).then(e=>(t(e),u({deckTags:e.results}),e)).catch(()=>p.A.create("Unable to fetch deck tags")).finally(()=>n(!1));(0,o.useEffect)(()=>{h()},[]);let m=e.results.reduce((e,t)=>({...e,[t.name||""]:!0}),{});return(0,r.jsxs)("div",{className:eD().container,children:[(0,r.jsxs)("p",{className:eD().blurb,children:["Deck tags are created and managed by the Archidekt team so they can be made to be searchable. If you can't find a tag that you feel should be present, feel free to reach out either on"," ",(0,r.jsx)("a",{href:"https://discord.gg/GyAAANU8uJ",target:"_blank",rel:"noopener noreferrer",children:"discord"})," ","or our"," ",(0,r.jsx)(O.A,{href:"/forum/General/Development",target:"_blank",rel:"noopener noreferrer",children:"forums"}),". You can browse the full list of available decks tags on the"," ",(0,r.jsx)(O.A,{href:"/tags",target:"_blank",rel:"noopener noreferrer",children:"tags"})," ","page."]}),(0,r.jsx)(eA,{alreadySelectedTags:m,onTagAdded:g}),(0,r.jsx)(ef.A,{clearValueOnSelection:!0,className:eD().selector,disabled:e.count>9,onSelect:g,disabledOptions:m}),!a&&!e.results.length&&(0,r.jsx)("div",{children:"No tags"}),!!e.results.length&&(0,r.jsx)(ex.JY,{onDragEnd:a=>{if(!a.destination)return;let r=((e,t,a)=>{let r=Array.from(e),[o]=r.splice(t,1);return r.splice(a,0,o),r})(e.results,a.source.index,a.destination.index);t({...e,results:r});let o=eN(a.source.index,a.destination.index,e.results),n=e.results[a.source.index];ey.A.updateDeckRelation({...n,position:o}).then(h)},children:(0,r.jsx)(ex.gL,{droppableId:"deck-tags",children:t=>(0,r.jsx)("div",{...t.droppableProps,ref:t.innerRef,className:eD().dropContainer,children:e.results.map((e,t)=>(0,r.jsx)(ex.sx,{draggableId:`${e.id}`,index:t,children:(t,a)=>(0,r.jsxs)("div",{ref:t.innerRef,className:eD().row,...t.dragHandleProps,...t.draggableProps,children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("div",{className:eD().dragHandle,children:(0,r.jsx)(v.A,{name:"bars"})}),(0,r.jsx)("label",{children:e.name})]}),!a.isDragging&&(0,r.jsx)(r.Fragment,{children:s[`${e.id}`||"0"]?(0,r.jsx)(eu.A,{size:"tiny"}):(0,r.jsx)("button",{className:eD().removeButton,onClick:()=>(e=>{if(e)return c({...s,[e]:!0}),ey.A.removeDeckRelation(e).then(()=>h()).catch(()=>p.A.create("Unable to delete tag")).finally(()=>c({...s,[e]:!1}))})(e.id),children:(0,r.jsx)(v.A,{name:"trash alternate outline"})})})]},e.id)},e.id))})})}),a&&(0,r.jsx)(U.A,{})]})},eN=(e,t,a)=>null!==e||a.length?null===e&&a.length||t===a.length-1?e$(eF(a[a.length-1].position)):0===t?e$(eF(a[0].position),!0):eT(a[t-1].position,a[t].position):"M-500000",eT=(e,t)=>{let a=eF(e),r=eF(t),o=r.number>a.number?r.number-a.number:1e4-a.number;return eE({letter:a.letter,number:Math.floor(a.number+o/2)})},e$=(e,t=!1)=>{let{letter:a,number:r}=e;return r+1e4<1e6&&!t?eE({...e,number:r+1e4}):r-1e4>0&&t?eE({...e,number:r-1e4}):r+1e4>999999&&!t&&"Z"!==a?eE({letter:eG(a),number:0}):r-1e4<1&&t&&"A"!==a?eE({letter:eG(a,!0),number:9e5}):r+1e4>999999&&!t&&"Z"===a?eE({letter:eG(a),number:0}):r-1e4<1&&t&&"A"===a?eE({letter:eG(a,!0),number:9e3}):t?"A-000000":"Z-999999"},eE=e=>`${e.letter}-${e.number}`,eF=e=>{let[t,a]=e.split("-");return{letter:t[0]??"M",number:Number(a)??5e5}},eG=(e,t)=>{let a=e.toLocaleUpperCase();return"0"===a&&t?"0":"9"!==a||t?"A"===a&&t?"9":"Z"!==a||t?String.fromCharCode(a.charCodeAt(0)+(t?-1:1)):"Z":"A"},eI="https://playgroup.gg/api/public/v1/",eL=async e=>{let t=e.split("/decks/")[1]?.split("-")[0];return t?w.A.get(`${eI}/decks/${t}.json`,void 0,!0):Promise.reject("Unexpected Playgroup.gg deck URL")};var eP=a(22663),eV=a.n(eP);let eH=()=>{let e=(0,l.GV)(e=>e.deck.id),t=(0,l.GV)(e=>e.deck.playgroupDeckUrl),[a]=(0,l.zU)(i.RP),[n,s]=(0,o.useState)(t||""),[c,d]=(0,o.useState)(!1),u=async()=>{if(d(!0),!n)return m.A.update(e,{playgroupDeckUrl:""}).then(()=>p.A.create("Playgroup.gg URL removed","Deck service","success")).catch(()=>p.A.create("Failed to update Playgroup.gg deck URL","Deck service","error")).finally(()=>d(!1));try{await eL(n)}catch{return d(!1),p.A.create("Invalid Playgroup.gg deck URL or the deck is private on Playgroup.gg","Deck service","error")}return m.A.update(e,{playgroupDeckUrl:n}).then(()=>{p.A.create("Playgroup.gg deck URL updated","Deck service","success"),a({playgroupDeckUrl:n})}).catch(()=>p.A.create("Failed to update Playgroup.gg deck URL","Deck service","error")).finally(()=>d(!1))},g=(0,r.jsx)(O.A,{href:"https://playgroup.gg",target:"_blank",className:eV().link,
8children:"Playgroup.gg"});return(0,r.jsxs)("div",{className:eV().container,children:[(0,r.jsx)("div",{className:eV().controls,children:(0,r.jsxs)("div",{className:eV().logo,children:[(0,r.jsxs)("div",{className:eV().logoName,children:[(0,r.jsx)("span",{children:"Playgroup.gg"}),(0,r.jsx)("span",{children:"EDH Tracker"})]}),(0,r.jsx)(ed.A,{src:"/images/playgroup_gg.svg",title:"Playgroup.gg",alt:"playgroup dot gg"})]})}),(0,r.jsxs)("p",{children:[g," is third party EDH deck stat tracking software. Use it to keep track of your EDH game wins, losses, and more. Check out all of the features on ",g,". Linking your deck will allow you to see the power level for this deck in the deck info at the top of the deck page as well as offer a convenient link to your deck on your Playgroup.gg account."]}),(0,r.jsxs)("p",{children:["The deck on Playgroup.gg must be public for this to work. If you don't have a Playgroup.gg account, you can create one"," ",(0,r.jsx)(O.A,{className:eV().link,href:"https://playgroup.gg/users/sign_up",target:"_blank",children:"here"}),"."]}),(0,r.jsx)(S.A,{header:"Playgroup.gg deck URL",placeholder:"https://playgroup.gg/decks/75110-squirrels-and-tokens",containerClassName:eV().input,value:n,onChange:s,disabled:c}),(0,r.jsx)("div",{className:eV().controls,onClick:u,children:(0,r.jsx)(k.A,{color:"green",disabled:!1,icon:"save outline",children:"Save Playgroup.gg deck URL"})})]})};var eO=a(50413),eU=a(34087),eM=a.n(eU);let eR=["deckSettings","collaborators","colorTags","categories","playgroupForm","deckTags","featuredDeckImage","description"],eq=()=>{let e=(0,l.GV)(e=>e.active.modals),t=(0,l.GV)(e=>e.deck.description),[a,n]=(0,o.useState)(t),[d,u]=(0,o.useState)(!1),[g,h]=(0,o.useState)(!1),[m,p]=(0,l.zU)(s.iY,i.RP),b=()=>{m({modals:eR.reduce((e,t)=>({...e,[t]:!1}),{})}),h(!1),n(t)};return(0,o.useEffect)(()=>{let a=eR.some(t=>e[t]);n(t),u(a)},[e]),(0,r.jsx)(c.A,{open:d,onClose:()=>{if(a!==t)return h(!0);b()},className:eM().container,id:"deck-settings",children:(0,r.jsx)(eB,{description:a,onDeckSaved:e=>{p({game:e.game,edhBracket:e.edhBracket})},onDeleteDeck:b,onDescriptionEdited:n,unsavedWarning:g,setUnsavedWarning:h})})},eB=({onDeleteDeck:e,description:t,unsavedWarning:a,onDescriptionEdited:s,setUnsavedWarning:i,onDeckSaved:c})=>{let u=(0,l.GV)(e=>e.active.modals),g=(0,n.G)(),h=(0,l.GV)(e=>e.deck.id),[m,p]=(0,o.useState)("deckSettings");return(0,o.useEffect)(()=>{let e=eR.find(e=>u[e]);e&&p(e)},[u]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:eM().tabs,optionsClassName:eM().tabButton,options:[{label:"Main Settings",onClick:()=>p("deckSettings"),selected:"deckSettings"===m,disabled:!g,className:"deckSettings"===m?eM().activeTab:""},{icon:void 0,label:"Description",onClick:()=>p("description"),selected:"description"===m,className:"description"===m?eM().activeTab:"",disabled:!h},{icon:void 0,label:"Collaborators",onClick:()=>p("collaborators"),selected:"collaborators"===m,className:"collaborators"===m?eM().activeTab:"",disabled:!h},{icon:void 0,label:"Color tags",onClick:()=>p("colorTags"),selected:"colorTags"===m,className:"colorTags"===m?eM().activeTab:""},{icon:void 0,label:"Categories",onClick:()=>p("categories"),selected:"categories"===m,className:"categories"===m?eM().activeTab:""},{icon:void 0,label:"Deck tags",onClick:()=>p("deckTags"),selected:"deckTags"===m,className:"deckTags"===m?eM().activeTab:"",disabled:!h},{icon:void 0,label:(0,r.jsx)("span",{className:eM().playgroupHeader,children:"Power level"}),onClick:()=>p("playgroupForm"),selected:"playgroupForm"===m,className:"playgroupForm"===m?eM().activeTab:""}]}),"deckSettings"===m&&g&&(0,r.jsx)(L,{onDeckUpdated:c},h),"collaborators"===m&&(0,r.jsx)(ep,{}),"deckTags"===m&&(0,r.jsx)(ew,{}),"colorTags"===m&&(0,r.jsx)(Y,{}),"categories"===m&&(0,r.jsx)(en,{}),"playgroupForm"===m&&(0,r.jsx)(eH,{}),"description"===m&&(0,r.jsx)(eO.A,{description:t,onDescriptionChange:e=>{s&&s(e)},allowHeightExpansion:!0}),(0,r.jsx)(x.A,{open:!!a,onClose:()=>i&&i(!1),buttonText:"Close without saving",header:"Unsaved description changes",onConfirm:e,message:"You have unsaved changes to the description. Are you sure you want to close without saving?"})]})}},82768:e=>
8{e.exports={container:"export_container___8R_W",content:"export_content__JwLm8",cardSelector:"export_cardSelector__Cm4y8",fileTypeDropdown:"export_fileTypeDropdown__EGIpE"}},87189:e=>{e.exports={row:"pdfFile_row__QAuzt",date:"pdfFile_date__bTRmI",form:"pdfFile_form___BTqA"}},91641:(e,t,a)=>{"use strict";a.d(t,{W:()=>w,A:()=>D});var r=a(75038),o=a(76430),n=a(50017),l=a(82185),s=a(7648),i=a(4444),c=a(59057),d=a(48083),u=a(10124),g=a(21159),h=a(68835),m=a(33623),p=a.n(m),b=a(19693),k=a(56771),x=a(36601),y=a(35635),f=a(87189),_=a.n(f),C=a(26975);let v={Sorcery:"Sorceries",Conspiracy:"Conspiracies",Commander:"Commander",Sideboard:"Sideboard",Maybeboard:"Maybeboard"};var j=a(82768),A=a.n(j);let S=[{label:"Text",value:"txt",component:d.A},{label:"CSV",value:"csv",component:u.A},{label:"Arena",value:"arena",component:({selectedCards:e,categoryMap:t})=>{let a,o,n,l=(a="",o="",n=e=>{let t=e.mtgoCode.toUpperCase();return`${e.qty} ${e.front?.name||e.name} (${t}) ${e.collectorNumber} 9`},e.map(e=>{let r=t[e.categories[0]];"Sideboard"===r.name?o+=n(e):r.includedInDeck&&(a+=n(e))}),a+="\n",a+=o);return(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:p().warning,children:"Note that Arena will only accept editions of cards that are available on Arena. If you receive an error when importing to Arena, please ensure all your cards are of an acceptable edition."}),(0,r.jsx)("div",{className:p().controls,children:(0,r.jsx)(h.A,{icon:"copy outline",onClick:()=>{try{navigator.clipboard.writeText(l),g.A.create("Copied to clipboard","Deck Export","success")}catch{g.A.create("Unable to copy to clipboard","Deck Export")}},color:"blue",children:"Copy"})})]})}},{label:"MTGO.dek",value:"dek",component:b.A},{label:"Deck Registration PDF",value:"pdf",component:({selectedCards:e,categoryMap:t,fileName:a="archidekt_export"})=>{let[n,l]=(0,o.useState)(a),[i,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(""),[m,b]=(0,o.useState)(""),[f,C]=(0,o.useState)(""),[v,j]=(0,o.useState)(""),[A,S]=(0,o.useState)(""),[D,w]=(0,o.useState)(""),[N,T]=(0,o.useState)("alpha"),[$,E]=(0,o.useState)(!1);return(0,r.jsxs)("form",{onSubmit:a=>{a.preventDefault(),E(!0),(function(e,t,a,r,o,n="",l="",s="",i="",c="",d=""){let u,g=y.X4;"manaValue"===a&&(g=y.Oj),"color"===a&&(g=y.yW),"type"===a&&(g=y.Li);let h=e.filter(e=>"Sideboard"===t[e.categories[0]].name).sort(g),m=e.filter(e=>"Sideboard"!==t[e.categories[0]].name).sort(g),p={},b=0,k=0;for(let[e,t]of m.entries())p[`card_${e}`]=t.name,p[`card_${e}_qty`]=t.qty,b+=t.qty;for(let[e,t]of h.entries())p[`sideboard_${e}`]=t.name,p[`sideboard_${e}_qty`]=t.qty,k+=t.qty;for(let e=0;e<i.length;e++){let t=i[e];p[`dci_${e}`]=t}return u={...p,deckSize:b,sideboardSize:k,deckName:r,date:o,firstName:n,lastName:l,designer:s,location:c,event:d,firstOfLastName:l?l.charAt(0):""},x.A.post("/api/decks/exportPdf/",u).then(e=>{let t=document.body;if(t){let a=document.createElement("a");a.setAttribute("href",e.fileUrl),a.style.display="none",t.appendChild(a),a.click(),t.removeChild(a)}})})(e,t,N,n,i,d,m,f,v,A,D).catch(()=>g.A.create("Failed to generate PDF","Deck export","error")).finally(()=>E(!1))},className:_().form,children:[(0,r.jsxs)("div",{className:_().row,children:[(0,r.jsx)(k.A,{header:"Deck name",placeholder:"My super awesome deck",value:n,onChange:l,name:"Deck name"}),(0,r.jsx)(k.A,{header:"Date",onChange:c,placeholder:"08/15/2024",containerClassName:_().date,name:"date"})]}),(0,r.jsxs)("div",{className:_().row,children:[(0,r.jsx)(k.A,{header:"First name",onChange:(e,t)=>
9u(t.value),placeholder:"Tony",name:"First name"}),(0,r.jsx)(k.A,{header:"Last name",value:m,onChange:b,placeholder:"Tiger",name:"Last name"}),(0,r.jsx)(k.A,{header:"Designer",onChange:C,placeholder:"FlakeyTiger22"})]}),(0,r.jsxs)("div",{className:_().row,children:[(0,r.jsx)(k.A,{header:"DCI #",onChange:j,placeholder:"22299933311"}),(0,r.jsx)(k.A,{header:"Location",onChange:S,placeholder:"LVCC - Hall G - Table 12"}),(0,r.jsx)(k.A,{header:"Event name",onChange:w,placeholder:"Grand Prix Las Vegas 2024 - Modern"})]}),(0,r.jsx)(s.A,{value:N,inlineHeader:!0,header:"Sort by",options:[{id:"alpha",label:"Alphabetical",onClick:()=>T("alpha")},{id:"manaValue",label:"Mana value",onClick:()=>T("manaValue")},{id:"color",label:"Color",onClick:()=>T("color")},{id:"type",label:"Type",onClick:()=>T("type")}]}),(0,r.jsx)("div",{className:p().controls,children:(0,r.jsx)(h.A,{color:"green",icon:"download",type:"submit",disabled:$,children:$?"Generating PDF...":"Download PDF"})})]})}},{label:"EDHREC Article",value:"edhrec",component:({selectedCards:e,categoryMap:t,fileName:a="EDHREC export"})=>{let[n,l]=(0,o.useState)(!1),s=function(e,t,a,r=!1){let{inDeck:o={},outOfDeck:n={}}=e.reduce((e,a)=>{e.inDeck||(e.inDeck={}),e.outOfDeck||(e.outOfDeck={});let o=t[a.categories[0]];if(o.isPremier)e.inDeck.Commander?e.inDeck.Commander.push(a):e.inDeck.Commander=[a];else if("Sideboard"!==o.name&&o.includedInDeck){let t=r&&o.name||a.typeCategory;e.inDeck[t]?e.inDeck[t].push(a):e.inDeck[t]=[a]}else"Sideboard"===o.name?e.outOfDeck.Sideboard?e.outOfDeck.Sideboard.push(a):e.outOfDeck.Sideboard=[a]:o.includedInDeck||(e.outOfDeck[o.name]?e.outOfDeck[o.name].push(a):e.outOfDeck[o.name]=[a]);return e},{}),l="";for(let e in o){let t=e;if("Land"===t)continue;r||(t=v[e]?v[e]:e+"s");let a=`[${t}] 10`;o[e].sort((e,t)=>e.name>t.name?1:-1),o[e].forEach(e=>a+=`*${e.qty} ${e.name} 11`),a+=`[/${t}] 12 13`,"Commander"===e?l=a+l:l+=a}if(o.Land){let e=`[Lands] 14`;o.Land.sort((e,t)=>e.name>t.name?1:-1),o.Land.forEach(t=>e+=`*${t.qty} ${t.name} 15`),e+=`[/Lands] 16 17`,l+=e}for(let e in n){let t=e;r||(t=v[e]?v[e]:e+"s");let a=`[${t}] 18`;n[e].sort((e,t)=>e.name>t.name?1:-1),n[e].forEach(e=>a+=`*${e.qty} ${e.name} 19`),a+=`[/${t}] 20 21`,l+=a}return`[deck title=${a}] 22 23${l}[/deck]`}(e,t,a,n);return(0,r.jsxs)("div",{children:[(0,r.jsx)(C.A,{checked:n,onChange:()=>l(!n),label:"Group cards by primary category"}),(0,r.jsx)("div",{className:p().controls,children:(0,r.jsx)(h.A,{icon:"copy outline",onClick:()=>{try{navigator.clipboard.writeText(s),g.A.create("Copied to clipboard","Deck Export","success")}catch{g.A.create("Unable to copy to clipboard","Deck Export")}},color:"blue",children:"Copy"})})]})}}],D=()=>{let e=(0,l.GV)(e=>e.active.modals.export),[t]=(0,l.dN)(n.YK);return(0,r.jsx)(i.A,{open:e,onClose:()=>t("export",!1),className:A().container,children:(0,r.jsx)(w,{})})},w=()=>{let[e,t]=(0,o.useState)("txt"),[a,n]=(0,o.useState)([]),i=(0,l.GV)(e=>e.deck.name),u=(0,l.GV)(e=>e.deck.categories),g=S.find(t=>t.value===e)?.component||d.A;return(0,r.jsxs)("div",{className:A().content,children:[(0,r.jsxs)("h3",{children:[" Export ",i]}),(0,r.jsx)(c.A,{onChange:n,className:A().cardSelector,includeOutOfDeckAsDefault:"txt"===e||"csv"===e}),(0,r.jsx)(s.A,{inlineHeader:!0,header:"Export type",value:e,triggerWrapperClassName:A().fileTypeDropdown,options:S.map(e=>({label:e.label,id:e.value,onClick:()=>t(e.value)}))}),(0,r.jsx)(g,{selectedCards:a,categoryMap:u,fileName:i})]})}}}]); 24//# sourceMappingURL=8321-176dde1156a8d958.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.