PageSourceSearch

https://spellbook-finance.com/assets/releases-DZSJoiJI.js

js spellbook-finance.com collected 2026-10-02 01:46:48 UTC 2,529 bytes, 1 lines download raw bytes

1import{aW as i,j as e,aX as o,L as l}from"./index-D9xPWcr8.js";import{R as d}from"./retail-offer-B96ZRE_L.js";import{C as c,a as m,b as x,c as g}from"./card-Kb3L_L5R.js";import{B as p}from"./badge-Ca50l3JX.js";function h(a){const r=new Date(`${a}T00:00:00Z`);return Number.isNaN(r.getTime())?a:r.toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric",timeZone:"UTC"})}function u(a){return a.split("_").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function v(){const r=i.useLoaderData()?.sets??[];return e.jsxs("div",{className:"mx-auto max-w-4xl px-4 py-8",children:[e.jsx("h1",{className:"text-2xl font-bold text-gray-50",children:"MTG Release Calendar"}),e.jsx("p",{className:"mt-2 text-sm text-gray-400",children:"Every upcoming set, sorted by release date, with MSRP and live pre-order links."}),r.length===0?e.jsx("p",{className:"mt-8 text-sm text-gray-500",children:"No upcoming sets are scheduled right now — check back soon."}):e.jsx("div",{className:"mt-8 space-y-6",children:r.map(s=>e.jsxs(c,{className:"border-gray-800 bg-gray-900",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs(x,{className:"text-lg text-gray-50",children:[s.name," ",e.jsxs("span",{className:"text-gray-500",children:["(",s.code,")"]})]}),e.jsx(p,{variant:"outline",className:"border-gray-700 text-gray-300",children:h(s.releaseDate)})]})}),e.jsx(g,{children:e.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.products.map(t=>e.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-950 p-3",children:[e.jsx("div",{className:"text-sm font-medium text-gray-200",children:u(t.productType)}),e.jsxs("div",{className:"mt-1 text-sm text-gray-400",children:["MSRP ",o(t.msrp)]}),t.retailLinks.length>0&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:t.retailLinks.map(n=>e.jsxs("a",{href:n.url,target:"_blank",rel:"noopener noreferrer nofollow sponsored",className:"text-xs font-medium text-purple-400 underline hover:text-purple-300",children:[d[n.retailer],n.isPreorder?" (pre-order)":""]},n.retailer))})]},t.productType))})})]},s.code))}),e.jsxs("p",{className:"mt-8 text-xs text-gray-500",children:["See what's moving right now on ",e.jsx(l,{to:"/movers",search:{min_price:1,price_type:"regular",sets:""},className:"underline hover:text-gray-300",children:"Movers"}),", or browse ",e.jsx(l,{to:"/guides",className:"underline hover:text-gray-300",children:"guides"}),"."]})]})}export{v as component};

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.