1function c(t,e){return t.state!=="open"||t.locks_at==null?!0:e<new Date(t.locks_at).getTime()}const l={introHeadline:"The feed.",introBody:"Tap any design to see it close up, and back the ones you believe in.",introCta:"Got it â",lockedRail:"Co-create today's drop to unlock the room.",noLive:"Nothing live to back right now.",emptyRoom:"Be the first to design today's drop",allBacked:"You've backed everything live.",roomRolling:"Today's designs are rolling in",liveBadge:"Live now · the drop",tabs:{home:"HOME",crew:"CREW",royalties:"ROYALTIES",you:"YOU"},soon:"SOON"};function u(t){if(!t||typeof t!="object")return{state:"none"};const e=t,n=e.state;if(n==="open"&&typeof e.campaign=="string"){const r=Array.isArray(e.cards)?e.cards:[];let s;const a=e.standing;if(a&&typeof a=="object"){const o=a,i=typeof o.closeness=="number"&&Number.isFinite(o.closeness)?Math.max(0,Math.min(100,o.closeness)):typeof o.closeness_pct=="number"&&Number.isFinite(o.closeness_pct)?Math.max(0,Math.min(100,o.closeness_pct)):null;s={closeness:i,forming:o.forming===!0||i===null}}return{state:"open",campaign:e.campaign,title:typeof e.title=="string"?e.title:void 0,hero_url:typeof e.hero_url=="string"?e.hero_url:void 0,locks_at:typeof e.locks_at=="string"?e.locks_at:void 0,cards:r,standing:s,backed_evolve_id:typeof e.backed_evolve_id=="string"?e.backed_evolve_id:null}}return n==="gated"&&typeof e.campaign=="string"?{state:"gated",campaign:e.campaign,title:typeof e.title=="string"?e.title:void 0,hero_url:typeof e.hero_url=="string"?e.hero_url:void 0,locks_at:typeof e.locks_at=="string"?e.locks_at:void 0}:{state:"none"}}function d(t){return t.is_winner?{label:"â
Won",tone:"lime"}:t.mine?{label:"Yours",tone:"teal"}:t.following?{label:"Following",tone:"teal"}:t.is_new?{label:"New",tone:"muted"}:null}function f(t){const e=[],n=[];return t.forEach((r,s)=>(s%2===0?e:n).push(r)),[e,n]}function p(t,e){const n=(t==null?void 0:t.state)==="open"?t.cards:[];if((t==null?void 0:t.state)!=="open"||n.length===0||n.length%2===0||!(e!=null&&e.length))return{liveCards:n,settledCards:e,borrowedId:null};const r=new Set(n.map(o=>o.id)),s=e.findIndex(o=>o.campaign!==t.campaign&&!r.has(o.id));if(s<0)return{liveCards:n,settledCards:e,borrowedId:null};const a=e[s];return{liveCards:[...n,a],settledCards:e.filter((o,i)=>i!==s),borrowedId:a.id}}function g(t,e){if(!t)return null;const n=new Date(t).getTime();if(!Number.isFinite(n))return null;const r=n-e;return r<=0?{h:0,m:0,past:!0}:{h:Math.floor(r/36e5),m:Math.floor(r%36e5/6e4),past:!1}}function m(t){if(t.state!=="open")return null;const e=t.cards.filter(n=>n.mine!==!0);return e.length===0?l.roomRolling:e.every(n=>n.backed_stake!==null)?l.allBacked:null}export{l as H,g as d,c as l,f as m,u as n,p,m as r,d as t};
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.