PageSourceSearch

https://omg-franck.ch/assets/SiteNavDrawer-75KJ3qgl.js

js omg-franck.ch collected 2026-10-06 09:31:04 UTC 7,502 bytes, 1 lines download raw bytes

1import{r as h,j as t,c as _}from"./react-vendor-D5LV1Rra.js";import{c as L,n as A,a as C,X as y,L as p,B as E,E as S}from"./index-CcWKPMa9.js";const T=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],D=L("chevron-down",T);const I=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],$=L("menu",I),M={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},w=(()=>{try{if(typeof document>"u")return null;const r=document.querySelector('meta[name="x-lineup-public"]')?.getAttribute("content");return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:null}catch{return null}})(),O=(()=>{try{const a=M?.VITE_LINEUP_PUBLIC;return a==="1"||a==="true"}catch{return!1}})(),K=w!==null?w:O;function G(){try{if(typeof document>"u")return null;const r=document.querySelector('meta[name="x-fashion-tickets-url"]')?.getAttribute("content")?.trim();return r&&r.length>0?r:null}catch{return null}}const c={name:"OMG, Franck!",url:typeof window<"u"?window.location.origin:"https://omgfranck.com",features:{lineupPublic:K},location:{name:"FRANCK AREAL",address:"Horburgstrasse 103, 4057 Basel, Switzerland"},seo:{pages:{lineup:{description:"The full 2026 lineup for OMG, Franck! at Franck Areal during Basel Art Week, 15–20 June — artists, DJs, performers and fashion across six days and stages."}}}};function W(a){const r=`${a.date}T${a.startTime}:00`;let o=`${a.date}T${a.endTime}:00`;const[l]=a.startTime.split(":").map(Number),[d]=a.endTime.split(":").map(Number);if(d<l){const i=new Date(a.date);i.setDate(i.getDate()+1),o=`${i.toISOString().split("T")[0]}T${a.endTime}:00`}return{"@context":"https://schema.org","@type":"MusicEvent",name:a.title,startDate:r,endDate:o,eventStatus:"https://schema.org/EventScheduled",eventAttendanceMode:"https://schema.org/OfflineEventAttendanceMode",location:{"@type":"Place",name:a.locationName||c.location.name,address:a.locationAddress||c.location.address},performer:(a.artists||[]).map(i=>({"@type":"MusicGroup",name:i.name})),organizer:{"@type":"Organization",name:c.name,url:c.url},url:`${c.url}/event/${a.slug}`}}const b=[{href:"/lineup/",label:"Full Lineup 2026"},...E.map(a=>({href:`/lineup/${a}/`,label:S[a]??a,indented:!0})),{href:"/faq/",label:"FAQ"},{href:"/about/",label:"About"},{href:"/press/",label:"Press"},{href:"/partners/",label:"Partners"},{href:"/sustainability/",label:"Sustainability"},{href:"/#newsletter",label:"Newsletter"}],x=[{href:"/code-of-conduct/",label:"Code of Conduct"},{href:"/about/#contact",label:"Contact"}],j=[{href:"/after-movie-2026/",label:"After Movie 2026"},{href:"/2025/#retrospective",label:"Retrospective 2025"},{href:"/project/after-movie/",label:"After Movie 2025"}],N=[{href:"/terms/",label:"Terms"},{href:"/privacy/",label:"Privacy"},{href:"/impressum/",label:"Impressum"}];function z({triggerStyle:a="lines",barColor:r="white"}){const[o,l]=h.useState(!1),[d,i]=h.useState(!0),[k,g]=A();h.useEffect(()=>{l(!1)},[k]),C(o);const m=h.useCallback(e=>{l(!1),requestAnimationFrame(()=>{g(e)})},[g]),v="block py-3 min-h-[44px] md:min-h-0 md:py-0.5 text-lg font-normal text-white hover:text-[#FFFF00] transition-colors",u=e=>{const n=e.indented?`${v} pl-8`:v;return e.href.startsWith("/#")?t.jsx("a",{href:e.href,className:n,onClick:()=>l(!1),"data-testid":`nav-link-${e.label.toLowerCase().replace(/\s+/g,"-")}`,children:e.label},e.href):t.jsx(p,{href:e.href,onClick:s=>{if(s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||s.button!==0){l(!1);return}s.preventDefault(),m(e.href)},className:n,"data-testid":`nav-link-${e.label.toLowerCase().replace(/\s+/g,"-")}`,children:e.label},e.href)},F="text-[11px] font-mono uppercase tracking-widest text-white/40 mb-4 md:mb-1";return t.jsxs(t.Fragment,{children:[t.jsxs("nav",{"aria-hidden":"true",style:{display:"none"},"data-testid":"hidden-crawler-nav",children:[b.map(e=>t.jsx("a",{href:e.href,children:e.label},e.href)),x.map(e=>t.jsx("a",{href:e.href,children:e.label},e.href)),j.map(e=>t.jsx("a",{href:e.href,children:e.label},e.href)),N.map(e=>t.jsx("a",{href:e.href,children:e.label},e.href))]}),t.jsx("button",{onClick:()=>l(e=>
1!e),"aria-label":"Toggle menu","data-testid":"hamburger-menu-button",className:a==="icon"?"text-black hover:bg-black hover:text-white transition-all cursor-pointer p-3 -m-3 sm:p-4 sm:-m-4":"flex flex-col justify-center items-center w-12 h-12 gap-2",children:a==="icon"?o?t.jsx(y,{size:24,strokeWidth:3}):t.jsx($,{size:24,strokeWidth:3}):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:`block w-8 h-1 ${r==="black"?"bg-black":"bg-white"}`}),t.jsx("span",{className:`block w-8 h-1 ${r==="black"?"bg-black":"bg-white"}`}),t.jsx("span",{className:`block w-8 h-1 ${r==="black"?"bg-black":"bg-white"}`})]})}),o&&typeof document<"u"&&_.createPortal(t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"fixed inset-0 z-[90] bg-black/50",onClick:()=>l(!1),"data-testid":"hamburger-menu-overlay"}),t.jsxs("aside",{className:"fixed top-0 right-0 h-full w-full md:w-96 z-[95] bg-black pt-20 px-6 overflow-y-auto md:border-l md:border-white/20","data-testid":"hamburger-menu-drawer",children:[t.jsxs("div",{className:"flex items-center justify-between mb-8",children:[t.jsx(p,{href:"/",onClick:e=>{e.preventDefault(),m("/")},className:"font-display font-black text-xl text-white uppercase tracking-tighter hover:text-[#FFFF00] transition-colors","data-testid":"nav-brand",children:"OMG, Franck!"}),t.jsx("button",{onClick:()=>l(!1),"aria-label":"Close menu",className:"text-white hover:bg-white hover:text-black transition-colors p-2 -m-2","data-testid":"hamburger-menu-close",children:t.jsx(y,{size:20,strokeWidth:3})})]}),t.jsxs("nav",{className:"flex flex-col gap-10 md:gap-2 pb-12","data-testid":"hamburger-menu-nav",children:[(()=>{const e=!c.features.lineupPublic,n=e?b.filter(s=>!s.href.startsWith("/about")&&!s.href.startsWith("/lineup")&&!s.href.startsWith("/faq")&&!s.href.startsWith("/sustainability")):b,f=e?x.filter(s=>!s.href.startsWith("/about")):x;return t.jsxs(t.Fragment,{children:[n.length>0&&t.jsxs("div",{className:"border-t border-white/20 pt-6 md:pt-2",children:[t.jsx("p",{className:F,children:"Info"}),t.jsx("div",{className:"flex flex-col pl-4",children:n.map(u)})]}),f.length>0&&t.jsx("div",{className:"border-t border-white/20 pt-6 md:pt-2",children:t.jsx("div",{className:"flex flex-col pl-4",children:f.map(u)})})]})})(),t.jsxs("div",{className:"border-t border-white/20 pt-6 md:pt-2",children:[t.jsxs("button",{type:"button",onClick:()=>i(e=>!e),className:"w-full flex items-center justify-between text-left py-3 min-h-[44px] md:min-h-0 md:py-0.5 text-lg font-normal text-white hover:text-[#FFFF00] transition-colors","aria-expanded":d,"data-testid":"nav-archive-2025-toggle",children:[t.jsx("span",{children:"Archive"}),t.jsx(D,{className:`w-4 h-4 transition-transform ${d?"rotate-180":""}`})]}),d&&t.jsx("div",{className:"flex flex-col pl-4 mt-2","data-testid":"nav-archive-2025-section",children:j.map(u)})]}),t.jsx("div",{className:"border-t border-white/20 pt-6 md:pt-2",children:t.jsx("div",{className:"flex flex-col pl-4",children:N.map(e=>t.jsx(p,{href:e.href,onClick:n=>{if(n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0){l(!1);return}n.preventDefault(),m(e.href)},className:"block py-3 min-h-[44px] md:min-h-0 md:py-0.5 text-base font-normal text-white/60 hover:text-white transition-colors","data-testid":`nav-link-${e.label.toLowerCase().replace(/\s+/g,"-")}`,children:e.label},e.href))})})]})]})]}),document.body)]})}
1export{D as C,c as F,z as S,W as a,G as g};

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.