1import{ah as j,bH as p,aJ as pe,l0 as qe,l1 as Qe,l2 as M,l3 as X,j as e,a9 as I,aa as F,aW as ge,eS as U,gy as Je,ko as Ze,R as x,bO as ee,bL as Xe,by as et,b_ as tt,bK as nt,gH as N,s as m,T as L,l4 as st,aL as C,l5 as b,l6 as it,ae as rt,ad as V,bu as ot,bb as at,bs as de,ab as z,bA as ye,a_ as lt,aq as Re,l7 as K,l8 as Y,d$ as me,bm as je,D,b6 as ct,as as dt,ar as ut,eP as ht,be as Le,af as f,aV as ie,aN as pt,bv as gt,r as R,bx as mt,bc as De,A as B,fO as ue,jZ as xt,cH as ft,eQ as yt,bf as jt,bg as bt,bh as vt,bi as wt,bj as Tt,l9 as kt,ac as St}from"./ErrorPage-_Vd6n00G.js";import{f as S,a as Ge,P as Ct,u as A,J as It,k as Et,aw as Me,R as be}from"./useCurrentEvent-DsrQvHYR.js";import{u as re}from"./useEventFieldGenerator-C261kGEi.js";import{C as At}from"./CheckList-CI_IFFwd.js";import{e as H,F as oe,G as Pt}from"./index-BfGmU9hU.js";import{i as Ue,f as G,u as _e,y as Ot,G as te,B as Be,L as Nt,K as Rt}from"./billing-CS5K81-K.js";import{M as Lt}from"./FileDialog-BuTf2evX.js";import{S as Dt}from"./index-BA3sUpr4.js";import{o as Gt,L as Mt,E as Ut,p as ne,q as ve,s as xe,u as $e,D as _t,t as Bt,V as $t,P as Vt}from"./main-tKtdWpa9.js";import{B as W}from"./BasicPanel-BSw_lfsh.js";import{L as Ft}from"./LoadingIndicator-CGLezzF5.js";import{u as zt,M as we}from"./MapPreview-BlKjHYmK.js";import{E as Ve}from"./EventLogo-DFm-kBlK.js";import{I as Fe}from"./ImageDropView-CVJ-W8-_.js";import{C as $,H as Kt,c as Yt}from"./MetaComponent-CFW3Ub47.js";import{R as k,C as y}from"./row-B_47fKql.js";import{Q as he}from"./QRCode-DvA84WAo.js";import{P as Ht,T as fe}from"./PopoverHint-CLgcEhFE.js";import{S as Wt}from"./EventTimes-rYpRd6_T.js";import"./TagsTable-DwR_H3NL.js";import{k as qt}from"./emotion-react.browser.esm-D9HZaA9m.js";import{c as Qt}from"./index-4tNvP-Vj.js";import{E as Jt}from"./EventLink-BmDsvwn9.js";import{D as Zt,S as Xt}from"./SortableTable-CpLJ9ag6.js";import{P as en}from"./index-BS0mFrLm.js";import{u as tn}from"./useChildEventsInStore-D5A2Kawq.js";import{P as nn}from"./ParticipantKeysWithInfoText-B5qKMW-6.js";import{C as sn}from"./index-CC0qTjwS.js";import{b as rn,z as on,A as an}from"./map-B16RrdG1.js";import{S as ln}from"./SportChooser-CHyS-Un3.js";import{F as E}from"./getLeaderboardUrl-DgVygveo.js";import{I as O}from"./index-DbxsCGWm.js";import{u as cn}from"./index-DA5qiaqL.js";import{G as dn}from"./GeojsonDropView-BGstVbO6.js";import"./useDebounce-CjtZo4Sd.js";import"./index-DYHT4jYZ.js";import"./index-BYQjkAoH.js";import"./comlink-CJ5Oz-yY.js";import"./HelperModal-CgpZwr3x.js";import"./index-CVBB_w5j.js";import"./Search-Btn2KshF.js";import"./useForm-BBnGxT8u.js";import"./PlusOutlined-CTUX1L4g.js";import"./core.esm-DsxvtAch.js";import"./NavbarWithoutHeader-CZWDLWnD.js";import"./logo-with-text-DCfw3ox2.js";import"./dateTimeSettings-DtwWEreu.js";import"./useAsyncAction-W-5facZY.js";import"./buildUpdate-M9ra3xg7.js";import"./ua-parser-mEjrhLtL.js";import"./useBreakpoint-qI9TKZOm.js";import"./UserAvatar-UCJZx0J6.js";import"./VersionLabel-DoPKR6Fj.js";import"./CostCalculator-DvPld_G8.js";import"./react-BN8DgQaU.js";import"./DropZone-DqNEa_-9.js";import"./Table-DUxvMjRd.js";import"./modifiers.esm-CNjpqzB2.js";import"./sortable.esm-CR7NwnE8.js";import"./KeyCell--mU_d8HU.js";import"./starters-ByzXndpJ.js";import"./geoPoint-BY57ShCK.js";import"./TrackImport-DGQhxZRE.js";import"./sax-CTksbhu4.js";const un=t=>{if(t==null)return[];switch(t){case j.SAFEMAP:return[p.PARTICIPANTS,p.TRACKER_RENTAL];case j.REGULAR:case j.CONTEST:case j.STAGE:return[p.PREDICTIVE,p.PARTICIPANTS,p.TRACKER_RENTAL,p.TIMING,p.SPONSOR,p.API,p.KEYS,p.HIGH_RESOLUTION];case j.CONTEST_GROUP:return[];case j.STAGE_GROUP:return[p.PARTICIPANTS,p.TIMING,p.KEYS];default:throw new Error(`Unknown event type: ${t}`)}},{Text:P}=L,hn=({addOnKey:t})=>{const n=S(),r=Ge(),{user:i}=H({userId:n?.creatorId}),s=Ue({isReseller:i?.isReseller}),o=pe(),l=jn[t];if(n==null||i==null||l==null)return null;const{title:a,icon:d,subtitle:u,actions:c}=l,h=n.modules[t],g=xn(h),T=c.find(w=>w.actionIsDefault),v=()=>{T!=null&&q(T)},q=w=>{switch(w.actionType){case"link":if(w.link.startsWith("http")){window.open(w.link,"_blank");return}o(w.link);break;case"modal":Lt.info({title:null,content:w.content,icon:null,width:600,footer:null,closable:!0});break}},Q=e.jsxs(bn,{children:[e.jsx(vn,{children:d}),e.jsx(mn,{title:a,subtitle:u}),e.jsxs(I,{gap:10,align:"center",justify:"end",children:[e.jsx(gn,{children:yn(g,t,r,s)}),c.map(w=>e.jsx(F,{icon:w.icon,type:w.actionIsDefault?"primary":"default",onClick:J=>{J.preventDefault(),J.stopPropagation(),q(w)},style:{width:100},children:w.title},w.title))]})]});return T?.actionType==="link"?e.jsx(ge,{to:T.link,children:Q}):e.jsx(pn,{onClick:v,onKeyUp:v,children:Q})},pn=m.button` 2 all: unset; 3 cursor: pointer; 4`,gn=m.div` 5 white-space: nowrap; 6 `,mn=({title:t,subtitle:n})=>e.jsxs(I,{vertical:!0,className:"title-and-subtitle",children:[e.jsx(P,{strong:!0,children:t.toLocaleUpperCase()}),e.jsx(P,{ellipsis:!0,type:"secondary",children:n})]}),xn=t=>t==null||typeof t!="object"?N.NONE:"state"in t&&t.state===N.ACTIVATED?N.ACTIVATED:"enabled"in t&&t.enabled?N.ACTIVATED:N.NONE,fn={[p.API]:C.API_ADDON,[p.SPONSOR]:C.SPONSOR_ADDON,[p.TIMING]:C.TIMING_ADDON,[p.TRACKER_RENTAL]:C.TRACKER_RENTAL},yn=(t,n,r,i)=>{if(r==null)return null;if(t===N.ACTIVATED)return e.jsx(P,{type:"success",children:"ON"});if(n===p.PREDICTIVE||n===p.PARTICIPANTS)return e.jsx(P,{type:"secondary",children:"INCLUDED"});if(st(r))return e.jsx(P,{type:"secondary",children:"AVAILABLE"});if(i==null)return e.jsx(Ct,{width:100});if(n===p.KEYS)return e.jsx(P,{type:"secondary",children:`FROM â¬0 to ${G(i(C.KEY,1))}`});if(n===p.TRACKER_RENTAL)return e.jsxs(P,{type:"secondary",children:[G(i(C.TRACKER_RENTAL,5))," p. 5 dev."]});const s=fn[n];return s==null?e.jsx(P,{type:"danger",children:"NOT AVAILABLE"}):e.jsx(P,{type:"secondary",children:G(i(s,1))})},jn={[p.API]:{title:M[p.API],icon:e.jsx(nt,{size:"2x",fixedWidth:!0,color:x.PaleBlue}),subtitle:"For TV graphics, speed monitoring, live scoring",actions:[{icon:e.jsx(U,{}),title:"Setup",actionType:"link",link:"../dataapi",actionIsDefault:!0},{icon:e.jsx(ee,{}),title:"Docs",actionType:"link",link:X[p.API],actionIsDefault:!1}]},[p.SPONSOR]:{title:M[p.SPONSOR],icon:e.jsx(tt,{size:"2x",fixedWidth:!0,color:x.PaleBlue}),subtitle:"Advertising space in tracking map & in leaderboard",actions:[{icon:e.jsx(U,{}),title:"Setup",actionType:"link",link:`../${p.SPONSOR}`,actionIsDefault:!0},{icon:e.jsx(ee,{}),title:"Docs",actionType:"link",link:X[p.SPONSOR],actionIsDefault:!1}]},[p.TIMING]:{title:M[p.TIMING],icon:e.jsx(et,{size:"2x",fixedWidth:!0,color:x.PaleBlue}),subtitle:"Live rank & results with location data & geofences",actions:[{icon:e.jsx(U,{}),title:"Setup",actionType:"link",link:"../leaderboard",actionIsDefault:!0},{icon:e.jsx(ee,{}),title:"Docs",actionType:"link",link:X[p.TIMING],actionIsDefault:!1}]},[p.KEYS]:{title:M[p.KEYS],icon:e.jsx(Xe,{size:"2x",fixedWidth:!0,color:x.PaleBlue}),subtitle:"Seamless sign-up for live tracking",actions:[{icon:e.jsx(U,{}),title:"Setup",actionType:"link",link:`../${p.KEYS}`,actionIsDefault:!0},{icon:e.jsx(ee,{}),title:"Docs",actionType:"link",link:X[p.KEYS],actionIsDefault:!1}]},[p.TRACKER_RENTAL]:{title:M[p.TRACKER_RENTAL],icon:e.jsx(Ze,{size:"2x",fixedWidth:!0,color:x.PaleBlue}),subtitle:"Rent trackers for your event",actions:[{icon:e.jsx(U,{}),title:"Rent",actionType:"link",link:qe,actionIsDefault:!0},{icon:e.jsx(Je,{}),title:"Info",actionType:"link",link:Qe,actionIsDefault:!1}]}},bn=m.div` 7 display: grid; 8 grid-template-columns: 50px 1fr 1fr; 9 width: 100%; 10 align-items: center; 11 border: 1px solid ${x.LightGray}; 12 border-radius: 5px; 13 padding: 10px; 14 cursor: pointer; 15 16 &:hover { 17 background-color: ${x.LightLightGray}; 18 border-color: ${x.PaleBlue}; 19 } 20 21 .title-and-subtitle { 22 min-width: 0; 23 } 24`,vn=m.div` 25 display: flex; 26 justify-content: center; 27 align-items: center; 28 width: 50px; 29 height: 50px; 30 filter: drop-shadow(0 2px 0 rgba(0, 50, 65, 0.2)); 31`,{Title:wn}=L,Tn=()=>{const t=S(),{user:n}=H({userId:t?.creatorId}),{isLoading:r}=_e({isReseller:n?.isReseller}),i=un(t?.type);return e.jsxs("div",{children:[e.jsx(wn,{level:3,children:"Add-Ons"}),e.jsx(kn,{children:e.jsx(Dt,{spinning:r,children:e.jsx(I,{vertical:!0,gap:12,children:Object.values(i).map(s=>e.jsx(hn,{addOnKey:s},s))})})})]})},kn=m.div` 32 border: solid 1px ${x.LightGray}; 33 border-radius: 5px; 34 padding: 30px ; 35 width: 100%; 36 background-color: white; 37`,_=new Intl.NumberFormat("en",{notation:"standard"}),Sn=({status:t})=>{const n=S(),r=Gt(n?.type),{user:i}=H({userId:n?.creatorId}),s=t===b.SUCCESS,o=Ge(),l=Ot(),{priceList:a,isLoading:d}=_e({isReseller:i?.isReseller}),{openPaymentModal:u}=A(v=>v.events.actions);if(d)return e.jsx(Ft,{});if(n==null||o==null||s||r==null||a==null)return null;const c=te(C.GPS_DEVICE,a),h=te(C.TRANSPONDER,a),g=te(C.MAP_OR_MONITOR_LOAD,a),T=te(C.API_OR_LEADERBOARD_LOAD,a);return e.jsx(Nn,{children:e.jsx(W,{title:"Checkout",children:e.jsxs(An,{children:[e.jsxs(I,{vertical:!0,children:[!it(o)&&e.jsx(En,{children:G(r)}),e.jsxs("ul",{children:[e.jsx("li",{children:"Show your event public without watermark."}),e.jsxs("li",{children:["Up to ",e.jsx("strong",{children:_.format(l)})," days event running time."]}),e.jsxs("li",{children:["Up to ",e.jsx("strong",{children:_.format(c)})," GPS devices &"," ",e.jsx("strong",{children:_.format(h)})," transponders per account and month included."]}),e.jsxs("li",{children:["Up to ",e.jsx("strong",{children:_.format(g)})," map loads &"," ",e.jsx("strong",{children:_.format(T)})," API loads per account per month included."]})]})]}),e.jsx(I,{vertical:!0,justify:"center",align:"center",children:e.jsx(Cn,{event:n,currentUser:o,onClick:()=>u()})})]})})})},Cn=({event:t,currentUser:n,onClick:r})=>{const i=In(t,n),s=()=>{i&&r()};return!rt(t)||V(t)?null:e.jsxs(Pn,{onClick:s,disabled:!i,title:i?"":"Only the owner of the Tracking Map can pay for it!",children:[e.jsx(On,{children:e.jsx(ot,{})}),e.jsx("div",{className:"button-title",children:"Activate your Event"})]})},In=(t,n)=>n?.id===t.creatorId||n?.parentId!=null,En=m.div` 38 margin-bottom: 15px; 39 text-align: center; 40 font-size: x-large; 41`,An=m.div` 42 display: grid; 43 grid-template-columns: 1fr 1fr; 44 gap: 20px; 45 padding: 2em; 46`,Pn=m.div` 47 border: solid 2px ${x.PaleBlue}; 48 background-color: ${x.LightBlue}; 49 display: flex; 50 flex-direction: column; 51 justify-content: space-around; 52 align-items: center; 53 border-radius: 5px; 54 backdrop-filter: blur(10px); 55 margin: 2px; 56 max-height: 110px; 57 min-width: 300px; 58 cursor: pointer;
59 color: ${x.PaleBlue}; 60 padding: 5px; 61 62 .button-title { 63 font-size: 1.3em; 64 font-weight: 500; 65 color: ${x.PaleBlue}; 66 margin-bottom: 3px; 67 } 68 69 .icon, 70 svg { 71 height: 35px; 72 } 73 74 :hover { 75 border-color: ${x.CloudBlue}; 76 background-color: ${`${x.PaleBlue}88`}; 77 box-shadow: 0 0 6px 1px ${x.PaleBlue}; 78 color: white; 79 80 .button-title { 81 color: white; 82 } 83 84 .icon, 85 svg { 86 filter: brightness(1000); 87 } 88 } 89`,On=m.div` 90 margin: 5px; 91 height: 40px; 92 display: flex; 93 align-items: center; 94`,Nn=m.div` 95 padding: 1em 0; 96 border: none; 97`,{Title:Rn,Text:Ln}=L,Dn=()=>{const t=S(),n=zt(),r=re(t);if(t==null||r==null)return e.jsx(e.Fragment,{});const i=t.images?.app==null&&n?.images?.app!=null,s=t.type===j.STAGE?"stage group":"contest group",o=t.type===j.STAGE?"stage":"contest";return e.jsx($,{children:e.jsxs(k,{justify:"space-between",align:"top",gutter:16,wrap:!1,children:[e.jsxs(y,{flex:"auto",children:[e.jsx(Rn,{level:3,style:{marginTop:0},children:t.images?.app!=null?"Event logo":"Upload event logo"}),i&&e.jsxs(I,{align:"center",gap:12,style:{marginTop:12},children:[e.jsx(Ve,{event:t,size:60,rounded:!0}),e.jsxs(Ln,{type:"secondary",style:{fontSize:12},children:["No logo set â this event inherits the logo from its ",s,". Upload one here to override it just for this ",o,"."]})]})]}),e.jsx(y,{flex:"none",children:e.jsx(Gn,{className:"upload-button",children:e.jsx(Fe,{imageClass:"logo",id:"racemap_event_image_input",withOutPlaceholder:!1,positionButton:"inside-bottom-right",...r("images")})})})]})})},Gn=m.div` 98 padding-top: 6px; 99 font-size: 12px; 100`;function Mn(t,n,r){const i=new Set([...Object.keys(t),...n]),s=new Set(Object.values(t).map(l=>l.index));return Object.fromEntries(Array.from(i).map((l,a)=>{const d=t[l];let u;r.length===0?u=!0:d&&!n.includes(l)?u=d.visible:u=r.includes(l);let c;return d?c=d.index:s.has(a)?(c=Math.max(...s)+1,s.add(c)):(c=a,s.add(c)),[l,{visible:u,default:d?.default??[],groupStarterBy:d?.groupStarterBy??!1,index:c}]}))}const{Text:Un}=L,_n=({value:t,onChange:n,groups:r,eventId:i,title:s,hint:o})=>{const l=t!=null?Array.from(t):[],a=t?.filter(c=>!r.includes(c)),d=a!=null&&a.length>0,u=[...r,...a||[]].map(c=>({value:c,label:at(c)}));return r.length===0&&t?.length===0?e.jsx(de,{showIcon:!0,description:e.jsxs(e.Fragment,{children:["Add tags for each participant such as age group, club, and nationality"," ",e.jsx(ge,{to:`/admin/events/${i.toString()}/participants`,children:"here"}),"."]})}):e.jsxs($n,{orientation:"vertical",children:[e.jsxs(z,{size:3,children:[ye(s)&&e.jsx(Un,{strong:!0,children:s}),ye(o)&&e.jsx(Ht,{children:o})]}),e.jsx(Wt,{allowClear:!0,value:l,onChange:n,options:u,mode:"multiple",placeholder:"Choose tag groups",tagRender:({value:c,...h})=>e.jsx(Vn,{value:c,...h,abandoned:!!a?.includes(c)}),status:d?"error":void 0})]})},Bn=t=>{if(t==null)return[];const r=Array.from(t.values()).map(s=>s.tags!=null?Object.keys(s?.tags):[]);return[...new Set(r.flat(1))]},$n=m(z)` 101 width: 100%; 102 103 .ant-select { 104 width: 100%; 105 } 106`,Vn=({value:t,closable:n,onClose:r,abandoned:i,label:s})=>{const o=a=>{a.preventDefault(),a.stopPropagation()},l=i?e.jsxs(z,{size:4,title:"No starter is in this tag group!",className:"abandoned-tag-group",children:[e.jsx(lt,{}),s||t]}):s||t;return e.jsx(fe,{onMouseDown:o,closable:n,onClose:r,color:i?"red":void 0,className:"tag-group-chooser-tag",children:l})};function ze(t,n){if(t===n||t==null&&n==null)return 0;if(t==null||Number.isNaN(t)||t===Number.POSITIVE_INFINITY)return 1;if(n==null||Number.isNaN(n)||n===Number.POSITIVE_INFINITY||t<n)return-1;if(t>n)return 1;throw new Error("Unexpected case")}const Ke=({eventClassName:t,onEventRemove:n,onSwapEvents:r,onVisibilityToggle:i,events:s})=>{const o=pe(),l=[...s].sort((h,g)=>ze(h.index,g.index)),a=s.length===0,d=!a&&s.every(h=>Re(h)),u=Hn(l),c=[{dataIndex:"id",key:"logo",className:"logo-cell",width:100,render:(h,g)=>e.jsxs(I,{align:"center",gap:8,children:[e.jsx(Zt,{}),e.jsx(Ve,{event:g,size:45})]})},{title:t||"Name",dataIndex:"name",key:"name",className:"name-cell",render:(h,g)=>Jn(h,g.id)}
106,{title:"Start",dataIndex:"startTime",key:"startTime",className:"time-cell",width:105,render:h=>Se(h)},{title:u.span>0?e.jsxs(zn,{children:["Î ",Ye(u.span)]}):null,dataIndex:"id",key:"duration",className:"duration-cell",render:(h,g)=>Zn(g),width:80},{title:"End",dataIndex:"endTime",key:"endTime",className:"time-cell",width:105,render:h=>Se(h)},{title:"State",dataIndex:"id",key:"event_state",render:(h,g)=>Xn(g),width:155},{title:"Action",dataIndex:"id",key:"maintenance",className:"maintenance-cell",render:(h,g)=>Qn({event:g,onEventRemove:n,onVisibilityToggle:i}),width:125}];return e.jsxs(I,{gap:7,vertical:!0,children:[e.jsx(Yn,{dataSource:l,pagination:!1,size:"medium",tableLayout:"fixed",withHandleColumn:!1,rowClassName:h=>Qt("event-row",{"disabled-row":K(h)||Y(h)}),onRow:h=>qn(h,u,o),columns:c,onOrderChange:(h,g,T)=>r?.(g,T)}),a&&e.jsx(de,{title:"No stages added yet. Add a stage to show events in the player of the group.",type:"warning",showIcon:!0}),d&&e.jsx(de,{title:"All events are hidden. You will not see any events in the player of the group.",type:"error",showIcon:!0})]})},Te=m.span` 107 // Block, so it takes the cell's width: the cell caps its own at zero to stay flexible, and an 108 // inline-block would size itself against that and spill into the Start column. 109 display: block; 110 // Two lines like the dates beside it, so a one-line name still starts on their first line and a 111 // long one wraps into the space already reserved instead of widening the column. 112 min-height: 2lh; 113 overflow-wrap: anywhere; 114`,Fn=m.span` 115 color: ${x.DarkGray}; 116 display: inline-block; 117 white-space: nowrap; 118 119 // The dates beside it run to two lines. A blank second line here gives all three the same 120 // height, so centring each cell still lines their first lines up. 121 &::after { 122 content: '\\a0'; 123 display: block; 124 } 125`,zn=m.span` 126 color: ${x.DarkGray}; 127 font-weight: 400; 128 white-space: nowrap; 129`,Kn=qt` 130 from { background-position-x: -50%, 0%; } 131 to { background-position-x: 150%, 0%; } 132`,Yn=m(Xt)` 133 border: 1px solid ${x.LightGray}; 134 border-bottom: unset; 135 display: block; 136 overflow-x: auto; 137 // Left alone, overflow-y resolves from 'visible' to 'auto' because the other axis is not 138 // visible, and a one-pixel overflow then produced a scrollbar. Height stays content-driven. 139 overflow-y: hidden; 140 141 tr.event-row { 142 position: relative; 143 cursor: pointer; 144 } 145 146 // Handle, logo and name read as one leading unit; the default cell padding doubles every gap. 147 .logo-cell { 148 padding-right: 0; 149 } 150 151 // The only flexible column. Together these two claim exactly the width the fixed columns leave: 152 // 100% takes the leftover, and max-width stops a long name from taking more than that â it wraps 153 // instead. They also leave nothing for the phantom column the row's Gantt bar would be given. 154 .name-cell { 155 width: 100%; 156 max-width: 0; 157 padding-left: 8px; 158 } 159 160 // Each line of the two-line label stays whole; the column is sized for the longer one. 161 .time-cell { 162 white-space: nowrap; 163 } 164 165 // Where this event sits in the group's whole span. Down the column, a small Gantt chart. 166 tr.event-row::after { 167 content: ''; 168 position: absolute; 169 left: var(--duration-offset, 0); 170 bottom: 0; 171 height: 1px; 172 // A zero-length event would otherwise be invisible. 173 min-width: 1px; 174 width: var(--duration-share, 0); 175 // The range encoding the date pickers use: blue where the event begins, violet where it ends. 176 background-image: linear-gradient(90deg, ${ne.start}, ${ne.end}); 177 } 178 179 // Hovering a row runs the glow once from the event's start to its end, over that gradient. 180 tr.event-row:hover::after { 181 height: 2px; 182 background-image: 183 linear-gradient(90deg, transparent, ${ve.start}, ${ve.end}, transparent), 184 linear-gradient(90deg, ${ne.start}, ${ne.end}); 185 background-repeat: no-repeat; 186 // A third of the bar wide, so the glow reads as a highlight travelling along it. 187 background-size: 188 33% 100%, 189 100% 100%; 190 animation: ${Kn} 600ms ease-out forwards; 191 } 192 193 @media (prefers-reduced-motion: reduce) { 194 tr.event-row:hover::after { 195 animation: none; 196 } 197 } 198 199 .ant-table-tbody > tr.disabled-row { 200 td > * { 201 opacity: 0.5; 202 } 203 maintenance-cell > * { 204 opacity: 1; 205 } 206 } 207 208 .ant-table-tbody > tr.is-dragging > td { 209 border-top: 1px solid ${x.LightGray}; 210 } 211`,Hn=t=>{const n=t.map(o=>me(o)),r=n.map(([o])=>o).filter(je),i=n.map(([,o])=>o).filter(je);if(r.length===0||i.length===0)return{start:0,span:0};const s=Math.min(...r);return{start:s,span:Math.max(...i)-s}},Wn=t=>{const[n,r]=me(t);return n==null||r==null?null:r-n},Ye=t=>ct(t),ke=1,ae=t=>t instanceof Element&&t.closest("button, a, .ant-popconfirm, .ant-popover")==null,qn=(t,n,r)=>{if(t==null)return{};const[i,s]=me(t),o=n.span>0&&i!=null&&s!=null,l=o?(s-i)/n.span*100:0,a=o?(i-n.start)/n.span*100:0,d=`/admin/events/${t.id}`,u={style:{"--duration-share":`${l}%`,"--duration-offset":`${a}%`},onClick:c=>{if(ae(c.target)){if(c.ctrlKey||c.metaKey){window.open(d,"_blank","noopener");return}r(d)}},onAuxClick:c=>{c.button!==ke||!ae(c.target)||window.open(d,"_blank","noopener")},onMouseDown:c=>{c.button===ke&&ae(c.target)&&c.preventDefault()}};return Y(t)?{...u,title:`The Event is ${Le[t.visibility]} State. So it is not visibel for the spectators in the group.`}:K(t)?{...u,title:"The Event is still trial. So it is not activated yet."}:u},Qn=({event:t,onEventRemove:n,onVisibilityToggle:r})=>{const i=Re(t);return e.jsxs(z,{orientation:"vertical",style:{width:"100%"},children:[e.jsx(Ce,{title:i?"Click to show event":"Click to hide event",icon:i?e.jsx(dt,{}):e.jsx(ut,{}),disabled:K(t)||Y(t),onClick:()=>r(t),children:i?"Show":"Hide"}),n!=null&&e.jsx(en,{onConfirm:()=>n(t),title:"Are you sure?",children:e.jsx(Ce,{icon:e.jsx(ht,{}),danger:!0,children:"Remove"})})]})},Jn=(t,n)=>n==null?e.jsx(Te,{children:t}):e.jsx(Te,{children:e.jsx(Jt,{eventId:n,eventName:t,style:{whiteSpace:"normal",height:"auto",textAlign:"left"}})}),Se=t=>{const n=D.fromISO(t);return e.jsx(Mt,{showUTC:!0,timestamps:[{timestamp:n}
211],label:e.jsxs(e.Fragment,{children:[n.toLocaleString(D.DATE_MED),e.jsx("br",{}),n.toLocaleString(D.TIME_SIMPLE)]})})},Zn=t=>{const n=Wn(t);return n==null?null:e.jsxs(Fn,{title:"Duration of the event",children:["Î ",Ye(n)]})},Xn=t=>e.jsx(Ut,{event:t,wrap:!0}),Ce=m(F)` 212 width: 100%; 213`,es=()=>{const t=S(),n=A(d=>d.events.getter.childEvents()),{removeContests:r,updateEvent:i,swapChildEvents:s}=A(d=>d.events.actions),o=[...n].sort((d,u)=>ze(d.index,u.index));if(t==null)return null;const l=async d=>{await r([new ie(d.id)],new ie(t.id))},a=async d=>{if(K(d)||Y(d))return;const u=d.visibility===f.LISTED?f.UNLISTED:f.LISTED;await i(d.id,[{key:"visibility",newValue:u}])};return e.jsx(Ke,{events:o,onSwapEvents:s,onEventRemove:l,onVisibilityToggle:a})};function ts(){const t=A(s=>s.events.getter.childEvents()),{updateEvent:n,swapChildEvents:r}=A(s=>s.events.actions),i=async s=>{if(K(s)||Y(s))return;const o=s.visibility===f.LISTED?f.UNLISTED:f.LISTED;await n(s.id,[{key:"visibility",newValue:o}])};return e.jsx(Ke,{events:t,onSwapEvents:r,onVisibilityToggle:i})}const ns=()=>{const t=S(),n=pe(),r=tn(t?.id),{addContests:i}=A(o=>o.events.actions);if(t==null)return null;const s=async o=>{o==null||t==null||gt(o)&&await i([new ie(o.id)],new ie(t.id))};return e.jsxs(I,{vertical:!0,gap:8,children:[t.type===j.CONTEST_GROUP&&e.jsx(I,{gap:8,children:e.jsx(It,{onSelect:s,filter:"can-edit",show:["hidden","regulareventsonly"],ignoreList:r.map(o=>o.id)})}),t.type===j.STAGE_GROUP&&e.jsx(I,{gap:8,children:e.jsx(F,{icon:e.jsx(pt,{}),onClick:()=>n(`/admin/stagegroups/${t.id}/stages/new`),children:"Create Stage"})}),t.type===j.STAGE_GROUP?e.jsx(ts,{}):e.jsx(es,{})]})},{Title:ss,Text:is}=L,rs=()=>{const t=S(),n=re(t),{user:r}=H({userId:t?.creatorId}),i=Ue({isReseller:r?.isReseller}),[s,o]=R.useState([]),l=xe();R.useEffect(()=>{if(t==null)return;const u=t.modules.keys.enabled,c=mt(t.modules.timing),h=[];u&&h.push("keys"),c&&h.push("leaderboard"),o(h)},[t]);const a=u=>{n==null||t==null||(u.includes("keys")?n("modules.keys.enabled").onChange(!0):n("modules.keys.enabled").onChange(!1),u.includes("leaderboard")?n("modules.timing.state").onChange(N.ACTIVATED):n("modules.timing.state").onChange(N.NONE),o(u))};if(r==null||t==null||t.type!==j.STAGE_GROUP)return null;const d=[{key:"keys",label:"Keys",children:e.jsx(nn,{}),extra:!l&&i!=null?`+ ${G(i(C.KEY,1))} / used Key`:null},{key:"leaderboard",label:"Leaderboard",children:e.jsx(os,{eventId:t.id}),extra:!l&&i!=null?`+ ${G(i(C.TIMING_ADDON,1))}`:null}];return e.jsxs(y,{sm:24,style:{paddingLeft:0},children:[e.jsx(ss,{level:4,children:"Add-Ons"}),e.jsxs(is,{style:{marginBottom:12,display:"block"},children:["Get the most out of your Stage Maps with Keys. Additional fees for may apply and are billed monthly. Check the ",e.jsx(Be,{userId:r.id,label:"billing page"}),"of your account."]}),e.jsx(De,{activeKey:s,onChange:a,items:d,style:{background:"white"},expandIcon:({isActive:u})=>e.jsx(sn,{checked:u})})]})},os=({eventId:t})=>e.jsx(I,{justify:"center",align:"center",gap:6,style:{padding:"12px 0"},children:e.jsx(Nt,{eventId:t,label:"Leaderboard is activated"})}),as=(t,n)=>{const r=[];for(const i of Object.keys(t)){const s=t[i];if(Array.isArray(s)){const[l,a]=s,d=D.fromISO(oe(["startTime"],n)),u=D.fromISO(oe(["endTime"],n));l!=null&&+l!=+d&&r.push({key:"startTime",newValue:l.toISO()}),a!=null&&+a!=+u&&r.push({key:"endTime",newValue:a.toISO()});continue}oe(Pt(i),n)!==s&&r.push({key:i,newValue:s})}return r},Ie=t=>({city:t?.city??"",region:t?.region??"",country:t?.country??"",continent:t?.continent??""}),ls=()=>{const t=S(),n=$e(),{updateEvent:r}=A(l=>l.events.actions),[i,s]=R.useState(Ie(t?.geoLocation??null));if(R.useEffect(()=>{s(Ie(t?.geoLocation??null))},[t?.geoLocation]),t==null||t.geoLocation==null)return e.jsx(O,{disabled:!0,placeholder:"Derived automatically once a track is set"});if(!n){const l=[t.geoLocation.city,t.geoLocation.region,t.geoLocation.country,t.geoLocation.continent].filter(Boolean).join(", ");return e.jsx(O,{disabled:!0,value:l||t.geoLocation.placeName})}const o=(l,a)=>{r(t.id,[{key:`geoLocation.${l}`,newValue:a||null}
213]),t.geoLocationIsManual||r(t.id,[{key:"geoLocationIsManual",newValue:!0}])};return e.jsxs(We,{children:[e.jsx(E.Item,{label:"City",children:e.jsx(O,{value:i.city,onChange:l=>s(a=>({...a,city:l.target.value})),onBlur:()=>o("city",i.city)})}),e.jsx(E.Item,{label:"Region",children:e.jsx(O,{value:i.region,onChange:l=>s(a=>({...a,region:l.target.value})),onBlur:()=>o("region",i.region)})}),e.jsx(E.Item,{label:"Country",children:e.jsx(O,{value:i.country,onChange:l=>s(a=>({...a,country:l.target.value})),onBlur:()=>o("country",i.country)})}),e.jsx(E.Item,{label:"Continent",children:e.jsx(O,{value:i.continent,onChange:l=>s(a=>({...a,continent:l.target.value})),onBlur:()=>o("continent",i.continent)})}),t.geoLocationIsManual&&e.jsx(E.Item,{label:" ",children:e.jsx(F,{onClick:()=>r(t.id,[{key:"geoLocationIsManual",newValue:!1}]),children:"Reset to automatic"})})]})},He=()=>{const t=S(),n=$e(),[r]=E.useForm(),{updateEvent:i}=A(c=>c.events.actions),s=V(t),o=xe();if(R.useEffect(()=>{t!=null&&r.setFieldsValue({name:t.name,location:t.location,eventType:t.eventType,eventTimes:[t.startTime?D.fromISO(t.startTime):void 0,t.endTime?D.fromISO(t.endTime):void 0]})},[t]),t==null)return e.jsx(e.Fragment,{});const l=rn(t),a=()=>{const c=r.getFieldsValue(),h=as(c,t);h.length!==0&&i(t.id,h)},d={required:"${label} is required!"},u={required:!0,warningOnly:!0};return e.jsxs(W,{forceOpen:!0,title:"Provide event information",children:[e.jsxs(E,{form:r,onBlur:a,layout:"vertical",validateMessages:d,children:[e.jsxs(We,{children:[e.jsx(E.Item,{name:"name",label:"Name",required:!0,rules:[u],children:e.jsx(O,{placeholder:"e.g. Berlin Marathon","data-1p-ignore":!0})}),e.jsx(E.Item,{label:"Location",required:!0,name:"location",rules:[u],children:e.jsx(O,{placeholder:"e.g. Berlin, Germany",name:"location"})}),e.jsx(E.Item,{label:"Sport",required:!0,name:"eventType",children:e.jsx(ln,{withSplitTypes:!1,withSymbol:!0})}),e.jsx(E.Item,{label:"Eventtimes",required:!0,name:"eventTimes",rules:[{...u,type:"array"}],children:e.jsx(_t,{showTime:!0,allowClear:!1,showUTCTimestamp:!0,keepDuration:!0,geoPosition:l?.geometry.coordinates[0],disabled:s,onChange:a})})]}),n&&e.jsx(De,{ghost:!0,items:[{key:"geoLocation",label:e.jsxs(z,{children:["Derived Geo Location ",t.geoLocationIsManual?e.jsx(fe,{children:"Manual"}):null]}),children:e.jsx(ls,{})}]})]}),e.jsx(Et,{event:t,expandable:!o,defaultShort:!0,title:"Possible Costs"})]})},We=m(Kt)` 214 justify-content: flex-start; 215 align-items: flex-start; 216 column-gap: 15px; 217 flex-wrap: wrap; 218 container-type: inline-size; 219 220 .ant-form-item { 221 max-width: 25%; 222 flex: 1; 223 224 @container (max-width: 1400px) { 225 min-width: 40%; 226 max-width: 50%; 227 } 228 229 @container (max-width: 600px) { 230 min-width: 100%; 231 } 232 } 233 234 .ant-picker { 235 width: 100%; 236 } 237`,{Title:le}=L,Ee=400,cs=m.div` 238 position: relative; 239 display: flex; 240 flex: 1; 241 242 > div { 243 flex: 1; 244 display: flex; 245 flex-direction: column; 246 } 247 248 > div > span:last-of-type { 249 position: absolute; 250 top: 100%; 251 font-size: 11px; 252 } 253 254 // Below antd's md breakpoint the columns stack, so there is no logo box to line up with and 255 // nothing reserves the counter's line â it would sit on top of the next column. 256 @media (max-width: 767px) { 257 > div > span:last-of-type { 258 position: static; 259 } 260 } 261`;function ds(t){switch(t){case j.CONTEST_GROUP:return"List of Contests";case j.STAGE_GROUP:return"List of Stages"}return"Events"}function us(t){switch(t){case j.CONTEST_GROUP:return"Contests without their own logo use this logo as a fallback.";case j.STAGE_GROUP:return"Stages without their own logo use this logo as a fallback."}return"Events without their own logo use this logo as a fallback."}const hs={REGULAR:"Create your own Tracking Map",CONTEST:"Create your own Tracking Contest",CONTEST_GROUP:"Create a group of contests",STAGE:"Create your own Tracking Stage",STAGE_GROUP:"Create Your Tracking Map for Stages"},ps=()=>{const t=S(),n=re(t),r=xe(),i=Me(t?.id),{user:s}=H({userId:t?.creatorId}),o=R.useMemo(()=>Bn(t?.starters),[t]),{loadChildEvents:l}=A(g=>g.events.actions);if(R.useEffect(()=>{t!=null&&V(t)&&l(t.id)},[t]),t==null||s==null||!V(t)||n==null)return null;const a=t.childEvents||[],{value:d={},onChange:u}=n("playerOptions.tagCategoriesConfig"),c=o.filter(g=>d[g]?.visible??!0),h=g=>{const T=Mn(d,o,g);u(T)};return e.jsxs(gs,{children:[e.jsxs("section",{children:[e.jsx("h4",{children:hs[t.type]}),e.jsxs($,{children:[e.jsx("div",{children:"Please fill out the basic
261information below to customize the Tracking Map for your Event. All settings and every information can be changed at any time."}),t.authorization===B.NONE&&e.jsxs("div",{className:"my-3",children:["Trial: Test Live Tracking with Racemap App using the Passcode"," ",e.jsx("strong",{children:t.passcode}),"."," ",e.jsx("a",{href:"https://docs.racemap.com/apps/tracking/keys",target:"_blank",rel:"noopener noreferrer",children:"More about using the Passcode."})]}),e.jsx(k,{style:{marginTop:"20px"},children:e.jsxs(y,{md:24,children:[e.jsx(he,{isClickable:!0,value:ue(t.passcode,i[0])}),e.jsxs("small",{style:{display:"block",marginTop:"12px"},children:["Participants may activate their Racemap App for your"," ",t.type===j.STAGE_GROUP?"Stage":"Group"," Maps with this Passcode. Send the Passcode to your participants for them to sign up."," ",e.jsx("a",{href:"https://docs.racemap.com/apps/tracking/keys",target:"_blank",rel:"noopener noreferrer",children:"Read more about using the Passcode in Racemap App."})]})]})}),e.jsxs(k,{gutter:[16,16],align:"stretch",children:[e.jsxs(y,{xs:24,md:5,children:[e.jsx(le,{level:5,children:"Logo"}),e.jsx(Fe,{id:"racemap_event_image_input",imageClass:"logo",height:Ee,width:Ee,positionButton:"inside-bottom-right",...n("images")})]}),e.jsxs(y,{xs:24,md:10,style:{display:"flex",flexDirection:"column"},children:[e.jsx(le,{level:5,children:"Description"}),e.jsx(cs,{children:e.jsx(Bt,{maxLength:250,groupStyle:{flex:1,display:"flex",flexDirection:"column"},style:{flex:1,resize:"vertical"},id:"racemap_event_description_input",...n("eventDescription")})})]}),e.jsxs(y,{xs:24,md:8,children:[e.jsx(le,{level:5,children:"Visibility"}),e.jsx($t,{authorized:!0,possibleStates:[f.UNLISTED,f.LISTED],target:xt(t)?"contestGroup":"stageGroup",disabled:a.length===0,...n("visibility")})]})]}),e.jsx(k,{gutter:16,children:e.jsx(y,{xs:24,md:5,children:e.jsx(L.Text,{type:"secondary",style:{fontSize:11,display:"block"},children:us(t.type)})})})]})]}),e.jsx("section",{children:e.jsx(He,{})}),e.jsxs("section",{children:[e.jsx("h4",{style:{marginTop:"20px"},children:ds(t.type)}),e.jsx($,{children:e.jsx(ns,{})})]}),e.jsxs("section",{children:[e.jsx("h4",{children:"Participants"}),e.jsx(_n,{title:"Filter Tags:",hint:"Select from imported tags to set filter parameters for the participants list.",groups:o,eventId:t.id,value:c,onChange:h})]}),e.jsx("section",{children:e.jsx(rs,{})}),!r&&e.jsxs("section",{children:[e.jsx("h4",{children:"Pricing and Payment Information"}),e.jsx($,{children:e.jsx(Be,{as:"button",label:"Open Your Billing Page",userId:s.id,openInNewTab:!0})})]})]})},gs=m.div` 262 padding: 40px; 263 margin-left: auto; 264 margin-right: auto; 265 max-width: 1024px; 266 267 section { 268 width: 100%; 269 } 270`,ms=({status:t})=>{const n=S(),r=Me(n?.id),i=r[0]?.metadata.find(c=>c.default)?.shortApplicationName,{width:s}=cn(),o=t===b.SUCCESS;if(n==null)return null;const{starters:l}=n,d=Array.from(l?.values()||[]).filter(c=>c.deviceClass===ft.Mobile),u=n.startersCount||0;return e.jsx("div",{children:e.jsx(xs,{children:e.jsxs(W,{title:`Live tracking with ${i??"Racemap App "} right now`,defaultOpen:!o||u<2,forceOpen:!o||u<2,children:[e.jsxs(k,{children:[e.jsxs(y,{md:s>1550?12:24,style:{display:"flex",flexDirection:"column",padding:"20px 17.5px"},children:[d.length>0&&u<2&&e.jsxs(se,{children:[d[0].name,", you joined live tracking."]}),e.jsxs(se,{children:["Easily test your tracking map and show your location with"," ",i??"Racemap App","."]}),d.length<1?e.jsxs(se,{children:["Scan the QR code or open the link to connect your phone for live tracking at your"," ",n.name," event."]}):e.jsx("div",{children:e.jsx(Vt,{event:n})}),e.jsx(se,{children:"For all your participants live tracking is that convenient."})]}),s>=1550&&e.jsx(y,{md:12,style:{padding:"20px"},children:e.jsx(Ae,{children:e.jsx(he,{isClickable:!0,value:ue(n.passcode,r[0])})})})]}),s<1550&&e.jsx(k,{children:e.jsx(y,{md:24,style:{padding:"20px"},children:e.jsx(Ae,{children:e.jsx(he,{isClickable:!0,value:ue(n.passcode,r[0])})})})})]})})})},se=m.div` 271 font-size: large; 272 color: ${x.DarkGray}; 273 margin-bottom: 0.5em; 274`,Ae=m(Yt)` 275 width: 100%; 276 height: 100%; 277`,xs=m.div` 278 padding: 1em 0; 279 border: none; 280`,{Title:fs,Text:ce}=L,ys=({status:t})=>{const n=S(),r=t===b.SUCCESS,i=on(n),s=an(n);return n==null?null:r?e.jsx($,{children:e.jsxs(k,{justify:"space-between",align:"top",gutter:16,wrap:!1,children:[e.jsxs(y,{flex:"auto",children:[e.jsx(fs,{level:3,style:{marginTop:0},children:"Customize your map"}),e.jsxs("ul",{style:{fontSize:"small",marginTop:"5px"},children:[!s&&e.jsx("li",{children:e.jsx(ce,{children:"Set points of interest"})}),!i&&e.jsx("li",{children:e.jsx(ce,{children:"Set splits for timekeeping"})})]}),e.jsxs(ce,{children:["Go the the ",e.jsx(Rt,{eventId:n.id})," to customize your map."]})]}),e.jsx(y,{flex:"none",children:e.jsx(Oe,{style:{width:"128px",height:"128px"},children:e.jsx(we,{event:n,width:128,height:128})})})]})}):e.jsx(W,{title:"Add tracks, POIs and Splits",defaultOpen:!r,children:e.jsxs(k,{style:{display:"flex",justifyContent:"center"},children:[e.jsxs(y,{md:12,style:{textAlign:"center"},children:[e.jsx(Pe,{children:"Upload your track"}),e.jsx(js,{children:e.jsx(bs,{children:e.jsx(dn,{event:n,dropViewClass:"track-dropview",withDropTargetClick:!0,children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center"},children:[e.jsx(yt,{}),e.jsx("div",{style:{display:"flex",justifyContent:"center",fontSize:"small"},children:"*.gpx, *.kml, *.geojson"})]})})})})]}),e.jsx(y,{md:12,style:{textAlign:"center"},children:e.jsxs(ge,{to:"../map",children:[e.jsx(Pe,{children:"Draw your track"}),e.jsx(Oe,{children:e.jsx(we,{event:n,height:128,width:700})})]})})]})})},js=m.div` 281 margin-bottom: 10px; 282 283 .drop-target { 284 height: 128px; 285 margin-right: 10px; 286 box-sizing: content-box; 287 border: 3px dashed #ddd; 288 289 display: flex; 290 align-items: center; 291 justify-content: center; 292 293 .upload-button { 294 color: #999; 295 font-size: 50px; 296 cursor: pointer; 297 } 298 299 .upload-button:hover { 300 color: #555; 301 } 302 } 303 &.file-hover .drop-target { 304 border: 3px solid lightgreen; 305 } 306`,bs=m.div` 307 color: #999; 308 font-size: 50px; 309 cursor: pointer; 310 :hover { 311 color: #555; 312 } 313`,Pe=m.div` 314 font-size: large; 315 color: ${x.DarkGray}; 316 margin: 10px; 317`,Oe=m(F)` 318 width: 100%; 319 height: 134px; 320 overflow: hidden; 321 position: relative; 322 padding: 0px; 323 background-color: #fff; 324 border: 3px solid ${x.LightGray}; 325 border-radius: 10px; 326 :hover { 327 background-color: #fff; 328 border: 3px solid ${x.LightGray}; 329 } 330`,vs=({value:t,status:n,onChange:r,authorized:i,possibleStates:s=Object.values(f).filter(a=>a!==f.PUBLIC),target:o="event",disabled:l=!1})=>{const[a,d]=R.useState(null),u=a??t,c={DRAFT:e.jsx(Tt,{}),UNLISTED:e.jsx(wt,{}),LISTED:e.jsx(vt,{}),ARCHIVED:e.jsx(bt,{}),PUBLIC:e.jsx(jt,{})},h=n===b.SUCCESS||n===b.PRIMARY,g="Visibility",T=e.jsx(fe,{color:"blue",icon:c[t],children:t.toLowerCase()});return e.jsx("div",{children:e.jsx("section",{children:e.jsx(k,{children:e.jsx(y,{span:24,children:e.jsxs(W,{forceOpen:!h,defaultOpen:!h,title:g,extra:T,children:[e.jsx(be.Group,{value:t,onChange:v=>r(v.target.value),disabled:l,optionType:"button",block:!0,children:s.map(v=>e.jsxs(be.Button,{value:v,disabled:l||v===f.DRAFT||!i,onMouseEnter:()=>d(v),onMouseLeave:()=>d(null),children:[c[v]," ",Le[v]]},v))}),e.jsx("div",{style:{padding:"8px"},children:ws(u,i,o)})]})})})})})},ws=(t,n,r)=>{switch(t){case f.DRAFT:return n&&r!=="stageGroup"?e.jsxs(e.Fragment,{children:["Your Tracking Map is currently in a draft state, but already functioning. Make sure to set it to ",e.jsx("strong",{children:"Unlisted, Listed or Open"})," in order to activate your Tracking Map."]}):n&&r==="stageGroup"?e.jsx(e.Fragment,{children:"Set visibility status for your stage event, when Base Price of each stage is paid."}):e.jsx(e.Fragment,{children:"Test geolocation and live tracking in draft state of your event for free. You can use add-ons and adapt the settings to your use case."});case f.LISTED:return r==="contestGroup"?e.jsxs(e.Fragment,{children:["We help you reach a large audience. Your Group/Stage Map is shown in our public event lists on the"," ",e.jsx("a",{href:"/events",target:"_blank",rel:"noopener noreferrer",children:"Racemap website"})," ","and in the Racemap App. Additionally, you can share the link or embed the tracking map on other websites in order to expand your audience."]}):e.jsxs(e.Fragment,{children:["We help you reach a large audience. Your Tracking Map is shown in our public event lists on the"," ",e.jsx("a",{href:"/events",target:"_blank",rel:"noopener noreferrer",children:"Racemap website"})," ","and in the Racemap App. Additionally, you can share the link or embed the tracking map on other websites in order to expand your audience."]});case f.UNLISTED:return r==="contestGroup"?e.jsxs(e.Fragment,{children:["Your Group/Stage Map is ",e.jsx("strong",{children:"not"})," listed in our public event lists on the"," ",e.jsx("a",{href:"/events",target:"_blank",rel:"noopener noreferrer",children:"Racemap website"})," ","or in the Racemap App. Only people with access to the link will be able to view it. You can share the link and embed the Group/Stage Map on other websites in order to reach your target audience."]}):e.jsxs(e.Fragment,{children:["Your event is ",e.jsx("strong",{children:"not"})," listed in our public event lists on the"," ",e.jsx("a",{href:"/events",target:"_blank",rel:"noopener noreferrer",children:"Racemap website"})," ","or in the Racemap App. Only people with access to the link will be able to view it. You can share the link and embed the tracking map on other websites in order to reach your target audience."]});case f.ARCHIVED:return r==="contestGroup"?e.jsx(e.Fragment,{children:"There will no loads charged for an archived event. An archived event will not load the Group/Stage map, Leaderboard, Data API or display any other information. You can restore the event at any time."}):e.jsx(e.Fragment,{children:"There will no loads charged for an archived event. An archived event will not load the Tracking map, Leaderboard, Data API or display any other information. You can restore the event at any time."});case f.PUBLIC:return e.jsxs(e.Fragment,{children:["We help you reach a large audience. Your Tracking Map is shown in our public event lists on the"," ",e.jsx("a",{href:"/events",target:"_blank",rel:"noopener noreferrer",children:"Racemap website"})," ","and in the Racemap App. Additionally, you can share the link or embed the Tracking Map on another website in order to expand your audience. Everybody with the Racemap App will be able to join your Tracking Map. You may also add participants manually, with Keys or with the Passcode."]});default:return e.jsx("div",{})}},Ri=()=>{const t=S(),n=re(t),r=A(Z=>Z.events.items),i=t?.type===j.SAFEMAP;if(t==null||n==null)return e.jsx(e.Fragment,{});if(V(t))return e.jsx(ps,{});const s=[],o=t.geo?.features!=null?t.geo?.features.length>0:0,a=t?.startersCount!=null&&t?.startersCount>0?b.SUCCESS:b.NONE,d=kt(t),u=t.images!=null?b.SUCCESS:b.NONE,c=o?b.SUCCESS:b.NONE,h=t.authorization!==B.NONE?b.SUCCESS:b.NONE,g=t.visibility===f.ARCHIVED?b.PRIMARY:t.visibility===f.DRAFT?b.NONE:b.SUCCESS,T={status:a,key:"startUp",checkpoint:e.jsx(ms,{status:a})},v={status:d,key:"metaData",checkpoint:e.jsx(He,{})},q={status:u,key:"eventImage",checkpoint:e.jsx(Dn,{})},Q={status:c,key:"track",checkpoint:e.jsx(ys,{status:c})},w={status:h,key:"checkout",checkpoint:e.jsx(Sn,{status:h})},J={status:g,key:"visibility",checkpoint:e.jsx(vs,{...n("visibility"),status:g,authorized:t.authorization!==B.NONE,possibleStates:Object.values(f).filter(Z=>Z!==f.PUBLIC&&Z!==f.ARCHIVED)})};return!i&&(t.startersCount==null||t.startersCount<10)&&s.push(T),s.push(v),s.push(q),s.push(Q
330),h!==b.SUCCESS&&s.push(w),t.authorization!==B.NONE&&!St(t)&&!i&&s.push(J),e.jsxs("div",{children:[e.jsx(k,{style:{display:"flex",justifyContent:"center",margin:"15px auto"},children:e.jsxs(y,{md:20,xs:20,children:[r.size<2&&!i&&e.jsx(k,{children:e.jsxs(y,{style:{width:"600px",margin:"0 auto",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"},children:[t.authorization===B.NONE&&e.jsxs(e.Fragment,{children:[e.jsx("h2",{children:"Create your own live tracking"}),e.jsx(Ne,{children:"Use our free trial to test live tracking."})]}),e.jsx(Ne,{children:"Customize live tracking for your event. All settings and every information can be changed at any time."})]})}),e.jsx(k,{children:e.jsx(y,{style:{display:"flex",justifyContent:"center",width:"100%"},children:e.jsx(At,{checkpoints:s})})})]})}),e.jsx("section",{children:e.jsx(k,{style:{display:"flex",justifyContent:"center"},children:e.jsx(y,{md:20,xs:22,children:e.jsx(Tn,{})})})})]})},Ne=m.div` 331 font-size: large; 332 color: ${x.DarkGray}; 333`;export{Ri as BasicTab}; 334//# sourceMappingURL=index-Djnhm-5q.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.