1"use strict";(self.webpackChunksavedelete_react=self.webpackChunksavedelete_react||[]).push([[9657],{39657:(e,t,s)=>{s.r(t),s.d(t,{default:()=>o});var n=s(65043),a=s(49367),l=s(62430),c=s(70579);const r=e=>{let{event:t}=e;return(0,c.jsxs)("div",{className:"flex items-baseline gap-4 py-3 border-b border-slate-100 last:border-0",children:[(0,c.jsx)("div",{className:"w-28 shrink-0 text-sm font-semibold text-slate-900",children:(0,l.cA)(t.start_date,t.end_date)}),(0,c.jsxs)("div",{className:"flex-1 min-w-0",children:[t.url?(0,c.jsx)("a",{href:t.url,target:"_blank",rel:"nofollow noopener noreferrer",className:"text-base font-medium text-blue-600 hover:underline",children:t.name}):(0,c.jsx)("span",{className:"text-base font-medium text-slate-900",children:t.name}),t.location&&(0,c.jsx)("span",{className:"block text-sm text-slate-500 mt-0.5",children:t.location})]})]})},o=()=>{const[e,t]=(0,n.useState)([]),[s,o]=(0,n.useState)(!0);(0,n.useEffect)(()=>{let e=!0;return l.So.getUpcomingEvents().then(s=>{e&&t(s)}).catch(()=>{}).finally(()=>{e&&o(!1)}),()=>{e=!1}},[]);const d=function(e){const t=[];let s=null;for(const n of e){const e=(0,l.lD)(n.start_date);s&&s.label===e||(s={label:e,events:[]},t.push(s)),s.events.push(n)}return t}(e);return(0,c.jsxs)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:[(0,c.jsxs)(a.mg,{children:[(0,c.jsx)("title",{children:"Upcoming Tech Events \u2014 SaveDelete"}),(0,c.jsx)("meta",{name:"description",content:"A curated calendar of upcoming technology events, conferences, and product launches \u2014 CES, MWC, Google I/O, Apple WWDC, and more."}),(0,c.jsx)("link",{rel:"canonical",href:"https://savedelete.com/events/"})]}),(0,c.jsx)("h1",{className:"text-3xl font-bold text-slate-900 mb-2",children:"Upcoming Tech Events"}),(0,c.jsx)("p",{className:"text-slate-500 mb-8",children:"Conferences, keynotes, and product launches worth watching."}),s?(0,c.jsx)("p",{className:"text-slate-400",children:"Loading events\u2026"}):0===e.length?(0,c.jsx)("p",{className:"text-slate-400",children:"No upcoming events right now. Check back soon."}):(0,c.jsx)("div",{className:"space-y-8",children:d.map(e=>(0,c.jsxs)("section",{children:[(0,c.jsx)("h2",{className:"text-sm font-bold text-slate-500 uppercase tracking-wide mb-2 pb-2 border-b border-slate-200",children:e.label}),(0,c.jsx)("div",{className:"rounded-lg border border-slate-200 bg-white px-4",children:e.events.map((e,t)=>(0,c.jsx)(r,{event:e},"".concat(e.name,"-").concat(t)))})]},e.label))})]})}}}]); 2//# sourceMappingURL=9657.2942521d.chunk.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.