You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
6.8 KiB

1 month ago
import{D as e,Et as t,G as n,J as r,O as i,S as a,T as o,W as s,Y as ee,Z as te,_ as c,_t as l,at as u,h as ne,in as d,k as re,q as f,w as p,x as m}from"./vue.runtime.esm-bundler-CACvpnko.js";import{a as h,i as ie}from"./portalLocale-vgPGVHT0.js";import{O as ae,_ as oe,m as se}from"./api-Dpfxb1ca.js";import{f as ce,i as le,p as ue}from"./index-D5exsJys.js";import{a as g}from"./site-BxiJvB6v.js";/* empty css */import{n as de,t as fe}from"./participantTheme-HEHn5JJn.js";import{c as pe,d as me,l as he,r as ge,s as _}from"./competitionBranding-CAjogVRl.js";import{n as _e,r as v,t as y}from"./AudienceTicketModal-gufU_b3a.js";import{t as b}from"./datetimeShanghai-F85iiY-2.js";import{t as x}from"./PortalHeaderBrand-Q03Xrd7K.js";var S={class:`participant-layout`},C={class:`navbar navbar-expand-lg layout-header`},w={class:`container-fluid px-3 px-lg-4 layout-header-inner`},T={class:`header-meta`},E={class:`header-audience-actions`},D={class:`dropdown header-user-dropdown`},O=[`aria-label`],k={class:`header-user-name`},A={class:`dropdown-menu dropdown-menu-end header-user-menu`,"aria-labelledby":`headerUserToggle`},j={class:`container-fluid px-3 px-lg-4 py-3 layout-main`},M={class:`row layout-main-row g-3`},N={class:`col-12 participant-main-col`},P={id:`layoutFooter`,class:`layout-footer`},F={class:`layout-footer-inner`},I={class:`layout-footer-meta`},ve={key:1,class:`modal fade show`,style:{display:`block`},tabindex:`-1`,"aria-labelledby":`myRegistrationsModalTitle`,"aria-modal":`true`,role:`dialog`},ye={class:`modal-dialog modal-dialog-centered my-registrations-modal-dialog`},be={class:`modal-content profile-modal-content`},xe={class:`modal-header profile-modal-header`},Se={id:`myRegistrationsModalTitle`,class:`modal-title profile-modal-title`},Ce={class:`my-registrations-modal-subtitle`},we=[`aria-label`],Te={class:`modal-body profile-modal-body my-registrations-modal-body`},Ee={key:0,class:`my-registrations-modal-empty`},De={key:1,class:`my-registrations-modal-empty`},Oe={class:`my-registrations-modal-empty-icon`,"aria-hidden":`true`},ke={class:`alert alert-warning my-registrations-save-hint`,role:`status`},Ae={class:`my-registrations-modal-summary`},je={class:`my-registrations-modal-list`},Me={class:`my-registration-modal-card-head`},Ne=[`disabled`,`onClick`],L=re({__name:`AudienceLayout`,setup(re){let{t:L}=le(),R=ue(),z=ce(),B=m(()=>ie(z.query)),V=m(()=>String(z.params.slug??``).trim()),H=l(_()),U=l(``),W=l(``),G=l(!1),K=l(!1),q=l([]),J=l(!1),Y=l(null),Pe=m(()=>me(H.value,U.value,B.value)),Fe=m(()=>pe(H.value.login.footerCopyright)?H.value.login.footerCopyright:``),X=m(()=>he(H.value,U.value,B.value));r(`audienceEventBadge`,X);async function Z(){let e=V.value;if(!e){H.value=_(),U.value=``,g();return}try{let t=await fetch(`${oe()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){H.value=_(),U.value=``,g();return}let n=await t.json(),r=n.data!=null&&typeof n.data==`object`&&!Array.isArray(n.data)?n.data:n;U.value=String(r.name??``),H.value=ge(r.branding_json??null,B.value),g(H.value.documentTitle)}catch{H.value=_(),U.value=``,g()}}u([V,B],()=>{Z()}),u(H,()=>fe(H.value.login.themePrimary),{deep:!0,immediate:!0});async function Q(){try{let e=await _e(V.value);W.value=e.mobile||e.name||``}catch{W.value=``}}async function Ie(){G.value=!0,K.value=!0;try{q.value=await v(V.value)}catch{q.value=[]}finally{K.value=!1}}function $(){G.value=!1}function Le(e){e.ticket_code&&(Y.value=e,G.value=!1,J.value=!0)}function Re(e){return B.value===`en`&&e.session_name_en?.trim()?e.session_name_en.trim():e.session_name||L(`layout.sessionFallback`)}function ze(e){return B.value===`en`&&e.event_date_text_en?.trim()?e.event_date_text_en.trim():e.event_date_text||`—`}function Be(e){return B.value===`en`&&e.address_en?.trim()?e.address_en.trim():e.address||`—`}function Ve(){J.value=!1,Y.value=null}function He(){se();let e=V.value;e?R.push({name:`audience-login`,params:{slug:e},query:h(B.value)}):R.push(`/c`)}return s(()=>{document.body.classList.add(`prototype-page`,`