PageSourceSearch

https://www.sofarsounds.com/admin_page_AdminPromoCodes-Cynbf30e.js

js sofarsounds.com collected 2026-10-02 03:17:40 UTC 11,600 bytes, 27 lines download raw bytes

1import{u as G,j as t,A as $,q as g,r as u}from"./vendor-BJ3uik3T.js";import{u as B,l as A,a0 as k,ad as v,a6 as K,bJ as W}from"./index-DmAIYZkV.js";import{u as Y}from"./shared_util_useModal-C6VgIZRP.js";import{u as N}from"./shared_util_socialLinks-YuZIfsmn.js";import{L as Z,a as q}from"./shared_context_ListPage-B1YBpM1F.js";import O from"./shared_atom_DottedLine-CCYIlQhm.js";import z from"./shared_atom_LoadingBlocksManualCSS-x7hgjqsw.js";import{R as E}from"./shared_molecule_RoutableModal-Dk5omd3u.js";import"./moment-BKcQHhSN.js";import{G as H}from"./shared_pagepiece_500-BFBTKvIC.js";import{m as J,n as X,p as ee,b as te,d as oe}from"./admin_util_optionLists-D_Y-7sLt.js";import{p as ae,G as ie,a as re,b as se,c as de}from"./admin_graphql_promoCodes_queryHooks-bNLNJWwH.js";import{b as ne}from"./admin_graphql_campaigns_queryHooks-bevlMMU9.js";import le from"./admin_molecule_ListingFooter-B2U7wOSL.js";import me from"./admin_molecule_ListingNoResults-CFAaxbqh.js";import pe from"./admin_organism_CardGrid-CKOtLhWy.js";
1import ce from"./admin_organism_ListingControls-BxOATHTa.js";import ge from"./admin_organism_ListingFilter-OV7Ved8z.js";import{L as ue}from"./admin_organism_ListingHeader-DoYWMgpI.js";import fe from"./shared_atom_TruncatedByCharText-CxnfAyAW.js";import{u as Ce}from"./admin_util_users-BfLbG5QU.js";import{K as xe}from"./admin_molecule_KeyAboveValueInfoList-scdrnXCu.js";import{K as he}from"./admin_molecule_KeyValueInfoList-kg-7zCaw.js";import{L as ye}from"./admin_molecule_ListingCardTopTag-D1n-Qrr8.js";import{C as ve}from"./admin_organism_CardControls-_99SsHpJ.js";import Pe from"./admin_template_ListPage-BQr8RxPs.js";import{L as Se}from"./admin_layout_ListPage-DjpU8Ez9.js";import"./shared_util_useVisaAuth-DCvZ1H6O.js";import"./shared_molecule_SocialIcons-NroLdBVB.js";import"./shared_molecule_PaginationManualCSS-BzJLPc6Z.js";import"./shared_atom_Badge-BPxxlc1O.js";import"./shared_atom_ResponsiveManualCSS-ECPHQhrs.js";import"./shared_molecule_Dropdown-DXpwvYsP.js";import"./synchronize-arrow-Diddp0GD.js";import"./admin_molecule_DropdownOptions-D4dgwJqI.js";import"./shared_atom_CheckboxManualCSS-By0gT3AZ.js";import"./shared_atom_RadioManualCSS-hpujcAar.js";import"./admin_molecule_ListingResetAction-DPAOWjzN.js";import"./calendar-3-Do_7kuIk.js";import"./maps-pin-2-Dmp42pzK.js";import"./shared_atom_LinkManualCSS-Pw77bzd8.js";import"./shared_atom_ToolTipManualCSS-DQ563GMt.js";import"./admin_molecule_SearchInputManualCSS-CcgSrZNW.js";import"./admin_molecule_TagElementList-MIWT7591.js";import"./shared_atom_ToggleText-BmKHcatw.js";import"./shared_molecule_Flyover-DH6L6N_E.js";import"./shared_atom_Container-Cbi2ird4.js";import"./admin_layout_Admin-D5WIauNM.js";import"./shared_atom_LogoManualCSS-By4Gn_-I.js";import"./shared_molecule_IconButtonManualCSS-ZCrZrN-U.js";import"./delete-1-t586yGRf.js";const be=g.div`
2  ${({theme:o})=>$`
3    width: 100%;
4    max-width: 240px;
5    margin: 0;
6    position: relative;
7    background-color: ${o.colors.silverSprings};
8    border-radius: 10px;
9    padding: ${o.ruler[4]}px;
10    display: inline-block;
11  `}
12`,Me=g.div`
13  margin-bottom: 15px;
14  padding-top: 5px;
15`,Le=g.div`
16  font-size: 14px;
17  font-weight: 600;
18  line-height: 150%;
19  margin-bottom: 10px;
20`,je=g.div`
21  margin-bottom: 11px;
22`,Te=g.div`
23  height: 200px;
24`,_e=g.div`
25  height: auto;
26`,Re=(o,e,i)=>{const r=ae(e);return{pending_start:{tagElementColor:i.colors.mellowYellow,name:r.pending_start},cancelled:{tagElementColor:i.colors.redRedWine,name:r.cancelled},expired:{tagElementColor:i.colors.blueSmoke,name:r.expired}}[o]},we=({index:o,id:e,code:i,typeName:r,validFrom:m,expiresAt:P,campaign:s,generationReason:d,numTimesUsed:S,numTicketsPurchased:b,status:p,createdBy:c,createdAt:M,onShowDetails:f})=>{const a=G(),L=B(),j=N("campaign.access"),C=N("user.list.access"),x=[{key:a.formatMessage({id:"admin.shared.type"}),value:r},{key:a.formatMessage({id:"admin.promoCodes.listingCard.reason"}),value:d?d.description:"None"},{key:a.formatMessage({id:"admin.promoCodes.listingCard.campaign"}),value:s&&s.title?s.title:"None",url:s&&j?`/admin/campaigns?campaign_search=${s.id}`:void 0},{key:a.formatMessage({id:"admin.promoCodes.listingCard.addedBy"}),value:c?Ce(c)||"":"None",url:c&&C?`/admin/users?user_id=${c.id}`:void 0}],T=[{key:a.formatMessage({id:"admin.promoCodes.listingCard.addedOn"}),value:A(M,"shortMonthDateAndYear")},{key:a.formatMessage({id:"admin.promoCodes.listingCard.validOn"}),value:A(m,"shortMonthDateAndYear")},{key:a.formatMessage({id:"admin.promoCodes.listingCard.expiresOn"}),value:A(P,"shortMonthDateAndYear")},{key:a.formatMessage({id:"admin.promoCodes.listingCard.timesUsed"}),value:S.toString()},{key:a.formatMessage({id:"admin.promoCodes.listingCard.ticketsPurchased"}),value:b.toString()}],n={id:e,code:i,status:p},h=Re(p,a,L);return t.jsx(t.Fragment,{children:t.jsxs(be,{"data-qaid":"admin-promo-code-card",children:[t.jsx(Me,{children:h&&t.jsx(ye,{tags:[h],extraPaddingRight:"25px"})}),t.jsx(k,{children:a.formatMessage({id:"admin.promoCodes.listingCard.promoCode"})}),t.jsx(Le,{children:t.jsx(fe,{text:i,truncateLength:17})}),t.jsx(O,{}),t.jsx(je,{children:t.jsx(k,{children:a.formatMessage({id:"admin.promoCodes.listingCard.promoCodeDetails"})})}),t.jsx(Te,{children:t.jsx(xe,{keysAndValues:x})}),t.jsx(_e,{children:t.jsx(he,{keysAndValues:T})}),t.jsx(O,{}
26),t.jsx(ve,{controlsInfoList:[],onClickShowDetails:f&&(()=>{f(n)}),showDetailsTipText:a.formatMessage({id:"admin.promoCodes.cardControls.expandDetails"}),dataQaidPrefix:"promo-codes",cardIndex:o,extraHeight:!1})]},e)})},Ae=[{title:"Code (A - Z)",value:{by:"code",direction:"asc"}},{title:"Code (Z - A)",value:{by:"code",direction:"desc"}},{title:"Type (A - Z)",value:{by:"type",direction:"asc"}},{title:"Type (Z - A)",value:{by:"type",direction:"desc"}},{title:"Oldest Expiration First",value:{by:"expires_at",direction:"asc"}},{title:"Newest Expiration First",value:{by:"expires_at",direction:"desc"}},{title:"Most Recently Added",value:{by:"created_at",direction:"desc"}},{title:"Least Recently Added",value:{by:"created_at",direction:"asc"}}],D={typeGroup:[{title:"Marketing",value:"marketing_codes"},{title:"User",value:"user_promo_codes"},{title:"Partner",value:"partner_codes"}],status:[{title:"Pending Start",value:"pending_start"},{title:"Active",value:"active"},{title:"Cancelled",value:"cancelled"},{title:"Expired",value:"expired"}],expiresAt:[{title:"Next 7 Days",value:"expires_next_7_days"},{title:"Next 30 Days",value:"expires_next_30_days"},{title:"Next 90 Days",value:"expires_next_90_days"}]},De={filterNames:["type_group","type","status","expires_at","generation_reason","campaign","rule_type"],defaultSort:{by:"expires_at",direction:"desc"},textSearchParamName:"promo_code_search",idParamName:"promo_code_id"},Ne=o=>Object.keys(o).reduce((e,i)=>(e[i]=W(o[i]),e),{}),Oe=()=>{const o=G(),e=u.useContext(q),i=18,r=N("campaign.access"),{data:m,loading:P,error:s}=ie(),{data:d,loading:S,error:b}=re(),{data:p,loading:c,error:M}=ne({skipPagination:!0}),f=J(m),a=X(d),L=ee(p),j=te(Ne(de)),C=[{filterName:"type_group",dropdownParams:{title:o.formatMessage({id:"admin.promoCodes.filter.typeGroup"}),options:D.typeGroup}},{filterName:"type",dropdownParams:{title:o.formatMessage({id:"admin.shared.type"}),groupBy:"typeGroupName",groupNames:v(d,"promoCodeTypes.promoCodeTypeGroupNames",[]),options:a}},{filterName:"status",dropdownParams:{title:o.formatMessage({id:"shared.status"}),options:D.status}},{filterName:"expires_at",dropdownParams:{title:o.formatMessage({id:"admin.promoCodes.filter.expiresAt"}),options:D.expiresAt}},{filterName:"generation_reason",dropdownParams:{title:o.formatMessage({id:"admin.promoCodes.filter.generationReason"}),options:f}},{filterName:"campaign",dropdownParams:{searchBar:!0,title:o.formatMessage({id:"admin.promoCodes.filter.campaign"}),options:L}},{filterName:"rule_type",dropdownParams:{searchBar:!0,title:o.formatMessage({id:"admin.promoCodes.filter.ruleType"}),options:j}}],[x,T]=Y(),{loading:n,error:h,data:l,refetch:y}=se({promoCodeSearch:e.textSearchState,typeGroup:e.filterListVariable("type_group"),type:e.filterListVariable("type"),status:e.filterListVariable("status"),expiresAt:e.filterListVariable("expires_at"),generationReason:e.filterListVariable("generation_reason"),campaign:e.filterListVariable("campaign"),ruleType:e.filterListVariable("rule_type"),orderBy:e.sortState.by,orderDirection:e.sortState.direction,page:e.page,perPage:i});if(u.useEffect(()=>{e.updateScrollPositionOnPage()},[e.detailsModal.isShowing]),u.useEffect(()=>{e.updateDetailsModal()},[]),u.useEffect(()=>{e.setupFilterLabelTitleMapping(oe(C))},[l,m,d,p]),u.useEffect(()=>{e.updatePageUrl()},[e.page,e.sortState,e.filterState,e.textSearchState,e.detailData,e.detailsModal.isShowing]),!n&&!l||h||!P&&!m||s||!S&&!d||b||!c&&!p||M)return t.jsx(H,{});const F=e.filterListVariable("campaign")&&e.filterListVariable("campaign").split(",").length==1,V=new URLSearchParams(window.location.search).toString(),I=F?void 0:o.formatMessage({id:"admin.promoCodes.downloadCsvExplanation"});let _,R;r?(_=o.formatMessage({id:"admin.promoCodes.downloadCsv"}),R=`/admin/download-promo-codes.csv?${V}`):(_=void 0,R=void 0);const Q=()=>t.jsxs(t.Fragment,{children:[e.detailsModal.isShowing&&t.jsx(E,{hide:({shouldRefetchPromoCodes:w=!1}={})=>{e.detailsModal.hide(),w&&y()},initialRouteProps:{...e.detailData,refetchPromoCodes:y},initialRouteName:"promo-code-details",dataQaidSuffix:"admin-edit-promo-code-details"}),x.isShowing&&t.jsx(E,{hide:x.hide,initialRouteProps:{refetchPromoCodes:y},initialRouteName:"promo-code-create",dataQaidSuffix:"admin-create-promo-code"})]});return t.jsx(Se,{scrollDisabled:e.detailsModal.isShowing,children:t.jsxs(Pe,{pageTitle:o.formatMessage({id:"admin.promoCodes.pageTitle"}),modalsContent:Q,children:[t.jsx(ue,{pageTitle:o.formatMessage({id:"admin.promoCodes.pageTitle"}),addEntityText:o.formatMessage({id:"admin.promoCodes.addPromoCodes"}),onClickAddEntity:T,downloadText:_,downloadUrl:R,downloadDisabledText:I,searchPlaceholder:o.formatMessage({id:"admin.promoCodes.textSearch.placeholder"}),searchValue:e.textSearchState,onSearch:e.handleTextSearch,data
26QaidPrefix:"promo-code"}),t.jsxs("div",{children:[t.jsx(ce,{sortOptions:Ae,orderBy:e.sortState.by,orderDirection:e.sortState.direction,totalRecords:l&&l.promoCodes.metadata.totalRecords,loading:n,onSort:e.handleSortChange,onReset:e.handleResetFilters,dataQaidPrefix:"promo-code"}),t.jsx(ge,{filterTitle:o.formatMessage({id:"admin.promoCodes.filterTitle"}),textSearchString:e.textSearchState,handleTextSearchLabelClose:e.handleTextSearchLabelClose,labelTitleMapping:e.filterLabelTitleMapping,dropdownOptionsInfoList:C,filterState:e.filterState,handleRemoveFilter:e.handleRemoveFilter,handleFilterChange:e.handleFilterChange})]}),t.jsxs("div",{children:[t.jsx(pe,{objectData:v(l,"promoCodes.promoCodes",[]),renderCardComponent:(w,U)=>t.jsx(we,{index:U,onShowDetails:e.toggleDetailsModalAndSetDetailData,refetchPromoCodes:y,...w}),dataQaid:"admin-promo-codes-list",loading:n,loadingComponent:t.jsx(z.Rectangle,{width:"100%",height:"420px"}),hideDividerOnSize:"xs"}),t.jsx(O,{}),t.jsx(K,{mb:2})]}),t.jsx(me,{entityName:o.formatMessage({id:"admin.promoCodes.noResultsEntityName"}),numResults:v(l,"promoCodes.promoCodes.length",void 0),loading:n}),t.jsx(le,{numTotalRecords:v(l,"promoCodes.metadata.totalRecords",void 0),perPage:i,currentPage:e.page,onPageChange:e.handlePageChange,loading:n,dataQaidPrefix:"promo-codes"})]})})},Dt=()=>t.jsx(Z,{config:De,children:t.jsx(Oe,{})});export{Dt as default};
27//# sourceMappingURL=admin_page_AdminPromoCodes-Cynbf30e.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.