1import{w as p,t as e,A as Y,b as Z}from"./chunk-4N6VE7H7-DCXb7SYf.js";import{N as z,r as V}from"./Header-_RIESD3h.js";import{B as X}from"./button-Czn59Ohv.js";import{l as J}from"./logo-DHLcI1K6.js";import{c as ee}from"./createLucideIcon-5ma6jv8o.js";import{R as se,C as te}from"./rocket-BLzj23Jr.js";import{C as H}from"./chevron-left-DlG8RhzE.js";import{C as G}from"./chevron-right-iU340f0p.js";import{G as L,L as ae}from"./layers-_494yshC.js";import{C as re}from"./clock-DBKYSX8E.js";import{C as q}from"./chevron-down-Bb-4PQyI.js";import{C as Q}from"./check-DEpplTjH.js";function le({question:s,answer:t}){const[a,l]=p.useState(!1);return e.jsxs("div",{className:"overflow-hidden border-b border-slate-200/60 transition-all duration-300 ",children:[e.jsx("button",{onClick:()=>l(!a),className:"cursor-pointer w-full px-8 py-6 text-left transition-all duration-200",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-lg md:text-xl font-semibold text-slate-900 pr-4",children:s}),e.jsx("div",{className:`flex-shrink-0 w-6 h-6 flex items-center justify-center transition-transform duration-300 ${a?"rotate-180":""}`,children:e.jsx("svg",{className:"w-5 h-5 text-slate-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]})}),e.jsx("div",{className:`overflow-hidden transition-all duration-300 ease-in-out ${a?"max-h-96 opacity-100":"max-h-0 opacity-0"}`,children:e.jsxs("div",{className:"px-8 pb-6",children:[e.jsx("div",{className:"w-full h-px bg-gradient-to-r from-transparent via-slate-200 to-transparent mb-4"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:t})]})})]})}function ne({faqData:s}){return e.jsx("div",{children:s.map(t=>e.jsx(le,{question:t.question,answer:t.answer},t.question))})}function oe(){return e.jsxs("div",{className:"text-center mb-16 md:mb-20",children:[e.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-slate-900 mb-8 leading-tight",children:"Frequently Asked Questions"}),e.jsx("p",{className:"text-lg md:text-xl text-slate-600 max-w-2xl mx-auto leading-relaxed font-light",children:"Everything you need to know about getting started with our productivity platform."})]})}function ts({faqData:s}){return e.jsx("section",{id:"faq",className:"relative z-10 py-20 bg-white md:py-32",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[e.jsx(oe,{}),e.jsx(ne,{faqData:s})]})})}function ie(){return e.jsx("div",{className:"flex items-center space-x-6 text-sm",children:[{name:"Privacy Policy",href:"#privacy-policy",navigateTo:"/privacy-policy"}].map((s,t)=>e.jsxs("div",{className:"flex items-center",children:[t>0&&e.jsx("div",{className:"w-px h-4 bg-slate-300 mr-6"}),e.jsx(z,{href:s.href,navigateTo:s.navigateTo,className:"text-slate-500 hover:text-slate-700 transition-colors duration-200",style:"text-slate-500 hover:text-slate-700 transition-colors duration-200",children:s.name})]},s.name))})}function ce(){return e.jsxs("div",{className:"mt-16 pt-8 border-slate-200/60 flex flex-col sm:flex-row justify-between items-center space-y-4 sm:space-y-0",children:[e.jsx("div",{className:"flex items-center space-x-6",children:e.jsx("p",{className:"text-sm text-slate-500",children:"© 2026 Focora. All rights reserved."})}),e.jsx(ie,{})]})}const de="https://chromewebstore.google.com/detail/site-time-tracker/ffckllpdaoaginmcpimplpaebfemehhd";function xe({items:s}){return e.jsx("div",{className:"space-y-1 lg:mr-5",children:e.jsx("div",{className:"space-y-3",children:s.map(t=>{const a=V(t.name);return a?e.jsx(z,{href:a.href,navigateTo:a.navigateTo,style:"block text-lg font-semibold text-center lg:text-end text-slate-900 mb-4 hover:text-slate-600 transition-colors duration-200",children:t.name},t.name):e.jsx("h3",{className:"text-lg font-semibold text-center lg:text-end text-slate-900 mb-4",children:t.name},t.name)})})})}function me(){const t=Y().pathname.startsWith("/extension"),a=e.jsxs(X,{className:"bg-slate-900 hover:bg-slate-800 text-white font-semibold shadow-sm shadow-slate-900/20 transition-all duration-200 px-4.5 py-2.5 text-sm rounded-full",children:["Get Focora Free",e.jsx("span",{className:"text-[10px] font-bold tracking-wide bg-white text-slate-900 px-1.5 py-0.5 rounded",children:"FREE"})]});return e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[minmax(280px,1fr)_auto_minmax(280px,1fr)] gap-12 lg:gap-12 items-start",children:[e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("img",{src:J,alt:"Focora Logo",className:"w-8 h-8 object-contain"}),e.jsx("span",{className:"text-xl font-bold text-slate-900",children:"Focora"})]}),e.jsx("p",{className:"text-slate-600 leading-relaxed max-w-sm",children:"The unified productivity platform that helps you achieve deep work through intelligent task management and focus tracking."}),e.jsx("a",{href:"mailto:[email protected]",className:"text-sm text-slate-600 hover:text-slate-900 transition-colors duration-200 w-fit",children:"[email protected]"})]}),e.jsxs("div",{className:"flex flex-col items-center gap-3.5 pt-1.5",children:[e.jsxs("div",{className:"flex items-center gap-4.5",children:[e.jsx("div",{className:"w-13.5 h-21 opacity-55 hidden sm:block",style:{backgroundImage:"radial-gradient(#C5CBE6 1.1px, transparent 1.1px)",backgroundSize:"9px 9px"}}),t?e.jsx("a",{href:de,target:"_blank",rel:"noopener noreferrer",children:a}):e.jsx(Z,{to:"/auth/login",children:a}),e.jsx("div",{className:"w-13.5 h-21 opacity-55 hidden sm:block",style:{backgroundImage:"radial-gradient(#C5CBE6 1.1px, transparent 1.1px)",backgroundSize:"9px 9px"}})]}),e.jsx("span",{className:"text-xs text-slate-400 text-center",children:"No card required · Free forever plan"})]}),e.jsx("div",{className:"flex flex-wrap gap-10 lg:gap-14 justify-center lg:justify-end",children:e.jsx(xe,{items:[{name:"Features"},{name:"FAQs"},{name:"Roadmap"},{name:"Blog"}]})})]})}const he="/assets/footer-vwjGo1qT.png";function as(){return e.jsxs("footer",{className:"relative overflow-hidden bg-gradient-to-b from-white via-slate-50 to-slate-100 border-t border-slate-200/60",children:[e.jsxs("div",{className:"relative z-10 max-w-7xl mx-auto px-6 pt-20 lg:pt-22",children:[e.jsx(me,{}),e.jsx(ce,{})]}),e.jsxs("div",{className:"relative h-40 sm:h-50 lg:h-62.5",children:[e.jsx("div",{className:"absolute left-1/2 bottom-0 -translate-x-1/2 w-[760px] h-[300px] bg-[radial-gradient(60%_70%_at_50%_100%,rgba(99,102,241,0.10),rgba(99,102,241,0)_70%)] pointer-events-none"}),e.jsx("div",{className:"absolute left-1/2 bottom-0 -translate-x-1/2 animate-focora-rise pointer-events-none",children:e.jsx("img",{src:he,alt:"",className:"block w-[320px] sm:w-[480px] lg:w-[680px] h-auto object-contain"})})]}),e.jsx("style",{jsx:!0,children:` 2 @keyframes focora-rise { 3 0% { 4 transform: translateY(64px); 5 opacity: 0; 6 } 7 100% { 8 transform: translateY(0); 9 opacity: 1; 10 } 11 } 12 13 .animate-focora-rise { 14 animation: focora-rise 1.1s cubic-bezier(0.16, 0.84, 0.44, 1) both; 15 } 16 `})]})}/** 17 * @license lucide-react v0.479.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */const pe=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],ue=ee("Zap",pe),x="#7857ff",P="#e5484d",ge=[{label:"Focus Time",value:"4h 22m",changePercent:12,changeDirection:"positive",comparisonReference:"yesterday"},{label:"Focus Quality",value:"Focused",changePercent:72,changeDirection:"positive",comparisonReference:"yesterday"},{label:"Tasks Done",value:"12",changePercent:20,changeDirection:"positive",comparisonReference:"lastWeek"},{label:"Interruptions",value:"3",changePercent:25,changeDirection:"negative",comparisonReference:"yesterday"}],fe={yesterday:"from yesterday",lastWeek:"from last week",thisWeek:"from this week"},K=[{day:"Mon",focusSeconds:11400,focusTime:"3h 10m"},{day:"Tue",focusSeconds:9900,focusTime:"2h 45m"},{day:"Wed",focusSeconds:15720,focusTime:"4h 22m",isToday:!0}
21,{day:"Thu",focusSeconds:12600,focusTime:"3h 30m"},{day:"Fri",focusSeconds:17400,focusTime:"4h 50m"},{day:"Sat",focusSeconds:4500,focusTime:"1h 15m"},{day:"Sun",focusSeconds:7500,focusTime:"2h 5m"}],be=K.reduce((s,t)=>s+t.focusSeconds,0),je="21h 57m",ye=[{label:"Deep Work â Auth refactor",start:9,end:10.25,reflection:"Felt focused"},{label:"Design review",start:10.5,end:11.25},{label:"Writing â Q3 proposal",start:13,end:14.5,reflection:"Flow state"},{label:"Code review",start:15.25,end:16},{label:"Deep Work â Bug triage",start:16.5,end:17.75,reflection:"A few distractions"}],ve={start:8,end:18},Ne=14.3,u=6e4,A=[{domain:"github.com",category:"Development",time:134*u},{domain:"figma.com",category:"Design",time:52*u},{domain:"stackoverflow.com",category:"Development",time:47*u},{domain:"docs.google.com",category:"Productivity",time:41*u},{domain:"youtube.com",category:"Entertainment",time:38*u},{domain:"notion.so",category:"Productivity",time:33*u},{domain:"linear.app",category:"Development",time:29*u},{domain:"mail.google.com",category:"Productivity",time:22*u},{domain:"twitter.com",category:"Social",time:18*u},{domain:"reddit.com",category:"Social",time:14*u}],F=Object.values(A.reduce((s,t)=>(s[t.category]=s[t.category]||{category:t.category,time:0},s[t.category].time+=t.time,s),{})).sort((s,t)=>t.time-s.time),we=F.map(s=>s.category);function R(s){const t=Math.floor(s/6e4),a=Math.floor(t/60),l=t%60;return a&&l?`${a}h ${l}m`:a?`${a}h`:`${l}m`}function C(s){const t=Math.round(s*60);let a=Math.floor(t/60);const l=t%60,d=a>=12?"PM":"AM";return a=a%12||12,l?`${a}:${String(l).padStart(2,"0")} ${d}`:`${a} ${d}`}function ke(s){const t=Math.max(0,Math.round(s*60));if(t>=60){const a=Math.floor(t/60),l=t%60;return l?`${a}h ${l}m`:`${a}h`}return`${t}m`}const E="grid place-items-center w-[30px] h-[30px] rounded-[9px] border border-gray-200 bg-white text-gray-500 transition-colors hover:enabled:bg-gray-100 hover:enabled:text-gray-900 disabled:opacity-40 disabled:cursor-not-allowed",Ce=[{match:/focus/i,color:"#7C3AED",data:[3,4,3.4,5,4.2,6,5.4]},{match:/session/i,color:"#14B8A6",data:[2,3,2.2,4,3,5,4]},{match:/task/i,color:"#22C55E",data:[1,2,3,2.6,4,3.4,5]},{match:/interrupt/i,color:"#F59E0B",data:[6,5,5.4,4,4.4,3.4,3]}],$e=(s="")=>Ce.find(t=>t.match.test(s))||null;function Se({data:s=[],color:t="#7C3AED",height:a=48}){const d=`spark-${p.useId().replace(/:/g,"")}`,r=2;if(!s||s.length<2)return e.jsx("div",{style:{height:a},"aria-hidden":"true"});const c=100,n=36,o=r+1,g=Math.min(...s),y=Math.max(...s)-g||1,v=s.map((k,b)=>{const j=b/(s.length-1)*c,N=o+(1-(k-g)/y)*(n-o*2);return[j,N]}).map(([k,b],j)=>`${j===0?"M":"L"} ${k.toFixed(2)} ${b.toFixed(2)}`).join(" "),f=`${v} L ${c} ${n} L 0 ${n} Z`;return e.jsxs("svg",{width:"100%",height:a,viewBox:`0 0 ${c} ${n}`,preserveAspectRatio:"none",role:"img","aria-hidden":"true",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:d,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:t,stopOpacity:"0.22"}),e.jsx("stop",{offset:"100%",stopColor:t,stopOpacity:"0"})]})}),e.jsx("path",{d:f,fill:`url(#${d})`,stroke:"none"}),e.jsx("path",{d:v,fill:"none",stroke:t,strokeWidth:r,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]})}function Te({direction:s,className:t}){return s==="positive"?e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:t,"aria-hidden":"true",children:e.jsx("path",{d:"M12 9l5 6H7l5-6z"})}):s==="negative"?e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:t,"aria-hidden":"true",children:e.jsx("path",{d:"M12 15l-5-6h10l-5 6z"})}):e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:t,"aria-hidden":"true",children:e.jsx("rect",{x:"7",y:"11",width:"10",height:"2",rx:"1"})})}function Ee({title:s,value:t,trendValue:a,trendDirection:l,trendText:d}){const r=l==="positive"?"text-green-600":l==="negative"?"text-red-500":"text-gray-500",c=$e(s);return e.jsxs("div",{className:"rounded-xl border shadow-sm border-gray-200/60 bg-white p-4 pt-5 sm:p-5 sm:pt-6 w-full flex flex-col justify-between h-full min-h-[100px] transition-all duration-200",children:[e.jsx("div",{className:"flex items-center mb-1",children:e.jsx("span",{className:"text-[13px] sm:text-sm text-gray-600 font-medium leading-snug",children:s})}),e.jsx("div",{className:"text-xl sm:text-3xl font-bold text-gray-900 mb-2 leading-tight",children:t}),e.jsxs("div",{className:"mt-auto",children:[e.jsx("div",{className:"flex items-center",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2",children:[e.jsxs("span",{className:`inline-flex w-fit items-center rounded-full bg-gray-50 px-2 py-0.5 text-xs sm:text-sm font-semibold ${r}`,children:[l&&e.jsx(Te,{direction:l,className:`w-4 h-4 sm:w-5 sm:h-5 ${r} -ml-0.5 mr-0.5`}),a]}),e.jsx("span",{className:"text-[11px] sm:text-[13px] text-gray-400 leading-relaxed",children:d})]})}),c&&e.jsx("div",{className:"mt-3 -mx-4 -mb-4",children:e.jsx(Se,{data:c.data,color:c.color,height:44})})]})]})}function Me(){return e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 lg:gap-6 mb-6 lg:mb-8",children:ge.map((s,t)=>e.jsx(Ee,{title:s.label,value:s.value,trendValue:`${Math.round(s.changePercent)}%`,trendDirection:s.changeDirection,trendText:fe[s.comparisonReference]||""},s.label+t))})}function Ae(){const s={iconBg:"bg-purple-100",iconColor:"text-purple-600",labelColor:"text-purple-500"},t=se;return e.jsx("div",{className:"mb-4 lg:mb-6",children:e.jsxs("div",{className:"bg-white border border-gray-200/60 shadow-xs rounded-2xl p-4 sm:p-5 flex items-center gap-3 sm:gap-4",children:[e.jsx("div",{className:`shrink-0 w-11 h-11 sm:w-12 sm:h-12 rounded-xl ${s.iconBg} ${s.iconColor} grid place-items-center`,children:e.jsx(t,{className:"w-5 h-5 sm:w-6 sm:h-6",strokeWidth:1.8})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:`text-[11px] font-bold tracking-widest uppercase mb-1 ${s.labelColor}`,children:"+ PERFORMANCE"}),e.jsx("h3",{className:"text-[15px] sm:text-base font-bold text-gray-900 leading-snug",children:"Outstanding Performance!"}),e.jsx("p",{className:"text-[13px] sm:text-sm text-gray-500 mt-0.5 leading-snug",children:"You're doing exceptionally well today compared to your recent performance. Keep up the amazing work!"})]})]})})}function Fe(){const s=K.map(r=>({...r,hours:+(r.focusSeconds/3600).toFixed(2)})),t=be,a=je,l=Math.max(...s.map(r=>r.hours),1),d=s.reduce((r,c,n,o)=>c.hours>o[r].hours?n:r,0);return e.jsxs("div",{className:"bg-white rounded-2xl shadow-xs border border-gray-200/60 p-4 sm:p-5 lg:p-6 h-full flex flex-col",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mb-4 lg:mb-5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"grid place-items-center w-[30px] h-[30px] rounded-[9px]",style:{background:"color-mix(in srgb, #7857ff 10%, transparent)",color:x},children:e.jsx(te,{className:"w-[17px] h-[17px]",strokeWidth:1.8})}),e.jsx("h3",{className:"text-lg lg:text-xl font-extrabold tracking-tight text-gray-900",children:"Weekly Focus"})]}),e.jsxs("div",{className:"flex items-baseline gap-1.5",children:[e.jsx("b",{className:"text-[15px] font-extrabold text-gray-900 tabular-nums",children:a}),e.jsx("span",{className:"text-xs font-semibold text-gray-400",children:"this week"})]})]}),e.jsx("div",{className:"flex items-end gap-1.5 sm:gap-2.5 h-[150px] sm:h-[184px] pt-2 shrink-0",children:s.map((r,c)=>{const n=r.hours/l*100,o=c===d&&r.hours>
210,g=!!r.isToday,m=r.hours===0,y=o?"opacity-100 translate-y-0":"opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0";let w="text-gray-400",v;return g&&(w="",v={color:x}),o&&(w="text-gray-900",v=void 0),e.jsxs("div",{className:"group flex-1 flex flex-col items-center h-full justify-end cursor-default",children:[e.jsx("div",{className:`text-[10px] sm:text-[11.5px] font-extrabold tabular-nums mb-2 text-gray-900 transition-all duration-150 ${y}`,style:o?{color:x}:void 0,children:r.focusTime}),e.jsx("div",{className:"w-full flex-1 flex items-end justify-center relative",children:e.jsx("div",{className:"relative w-[70%] sm:w-[60%] max-w-[30px] min-h-[4px] rounded-t-[7px] rounded-b-[4px] bg-gray-100 transition-[filter] duration-150 group-hover:brightness-[1.04]",style:{height:m?6:"100%"},children:!m&&e.jsx("div",{className:`absolute inset-x-0 bottom-0 rounded-t-[7px] rounded-b-[4px] bg-[#7857ff] transition-[height] duration-500 ${o?"shadow-[0_4px_14px_-4px_#7857ff]":""}`,style:{height:`${n}%`}})})}),e.jsx("div",{className:`text-[11px] sm:text-xs font-bold mt-[11px] ${w}`,style:v,children:r.day}),o?e.jsx("div",{className:"text-[10px] font-extrabold uppercase tracking-wide",style:{color:x},children:"Best"}):e.jsx("div",{className:"h-[13px]"})]},r.day+c)})}),e.jsxs("div",{className:"flex-1 min-h-0 mt-5 pt-4 border-t border-gray-100 flex flex-col",children:[e.jsx("div",{className:"text-[11px] font-bold uppercase tracking-wide text-gray-400 mb-3 shrink-0",children:"Daily breakdown"}),e.jsx("div",{className:"flex-1 space-y-2 lg:space-y-3 overflow-y-auto min-h-0",children:s.map((r,c)=>{const n=t?Math.min(r.focusSeconds/t*100,100):0;return e.jsxs("div",{className:"flex items-center gap-3 lg:gap-4",children:[e.jsx("div",{className:"w-8 sm:w-10 lg:w-12 text-[13px] sm:text-sm font-medium text-gray-600 shrink-0",children:r.day}),e.jsx("div",{className:"flex-1 bg-gray-100 rounded-full h-1.5 lg:h-2 overflow-hidden",children:e.jsx("div",{className:"h-1.5 lg:h-2 rounded-full transition-all duration-500",style:{width:`${n}%`,maxWidth:"100%",background:x}})}),e.jsx("div",{className:"w-12 sm:w-14 lg:w-16 text-xs sm:text-sm text-gray-500 text-right shrink-0",children:r.focusTime})]},c)})})]})]})}function We({totalItems:s}){return e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-4 lg:mb-5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"grid place-items-center w-[30px] h-[30px] rounded-[9px]",style:{background:"color-mix(in srgb, #7857ff 10%, transparent)",color:x},children:e.jsx(re,{className:"w-[17px] h-[17px]",strokeWidth:1.8})}),e.jsx("h3",{className:"text-lg lg:text-xl font-extrabold tracking-tight text-gray-900",children:"Daily Timeline"})]}),e.jsxs("div",{className:"text-xs sm:text-sm font-semibold text-gray-400",children:[s>0?`${s} ${s===1?"session":"sessions"} · `:"","Today"]})]})}function Ie({item:s,getTimelinePosition:t}){const a=t(s.start),l=Math.max(1.5,t(s.end)-t(s.start));return e.jsx("div",{className:"absolute top-1.5 bottom-1.5 rounded-md transition-[filter] duration-150 hover:brightness-110",style:{left:`${a}%`,width:`${l}%`,background:x,boxShadow:"0 2px 8px -3px rgba(120, 87, 255, 0.5)"},title:`${s.label}: ${C(s.start)} - ${C(s.end)}${s.reflection?` (${s.reflection})`:""}`})}function Le({currentPageData:s,startIndex:t}){const a=ve,l=r=>(r-a.start)/(a.end-a.start)*100,d=[];for(let r=a.start;r<=a.end;r+=2)d.push(r);return e.jsxs("div",{className:"shrink-0 mb-5",children:[e.jsxs("div",{className:"relative h-[54px] rounded-xl bg-gray-100 overflow-hidden",children:[d.map(r=>e.jsx("div",{className:"absolute top-0 bottom-0 w-px bg-gray-200",style:{left:`${l(r)}%`}},r)),s.map((r,c)=>e.jsx(Ie,{item:r,getTimelinePosition:l},`${t+c}`)),e.jsxs("div",{className:"absolute top-0 bottom-0 z-10",style:{left:`${l(Ne)}%`,transform:"translateX(-50%)"},children:[e.jsx("div",{className:"w-0.5 h-full",style:{background:P}}),e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-[7px] h-[7px] rounded-full",style:{background:P}})]})]}),e.jsx("div",{className:"relative h-[18px] mt-2",children:d.map(r=>e.jsx("span",{className:"absolute top-0 text-[11px] font-medium text-gray-400 tabular-nums -translate-x-1/2",style:{left:`${l(r)}%`},children:C(r)},r))})]})}function Pe({item:s}){return e.jsxs("div",{className:"flex items-center gap-3 py-2.5 px-1.5 border-b border-gray-100 last:border-b-0 transition-colors hover:bg-gray-50/70",children:[e.jsx("span",{className:"w-2 h-2 rounded-full shrink-0",style:{background:x}}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-sm font-bold text-gray-900 truncate",children:s.label}),e.jsxs("div",{className:"text-xs font-medium text-gray-400",children:[e.jsxs("span",{className:"tabular-nums",children:[C(s.start)," â ",C(s.end)]}),s.reflection?e.jsxs("span",{children:[" · ",s.reflection]}):null]})]}),e.jsx("span",{className:"text-sm font-extrabold text-gray-900 tabular-nums shrink-0",children:ke(s.end-s.start)})]})}function Re(){const[s,t]=p.useState(1),a=4,l=ye,d=l.length,r=Math.ceil(d/a),c=(s-1)*a,n=c+a,o=l.slice(c,n);return e.jsxs("div",{className:"bg-white rounded-2xl shadow-xs border border-gray-200/60 p-4 sm:p-5 lg:p-6 h-full flex flex-col overflow-hidden",children:[e.jsx(We,{totalItems:d}),e.jsx(Le,{currentPageData:o,startIndex:c}),e.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:d>
210?e.jsx("div",{className:"flex-1 overflow-y-auto pr-1 lg:pr-2",children:o.map((m,y)=>e.jsx(Pe,{item:m},`desc-${c+y}`))}):e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsx("p",{className:"text-sm font-semibold text-gray-400",children:"No focus sessions for this day"})})}),d>0&&e.jsxs("div",{className:"shrink-0 flex items-center justify-between gap-3 pt-3.5 mt-3.5 border-t border-gray-100",children:[e.jsxs("span",{className:"text-xs font-semibold text-gray-400 whitespace-nowrap",children:["Showing ",c+1,"â",Math.min(n,d)," of"," ",d]}),r>1&&e.jsxs("div",{className:"inline-flex items-center gap-1",children:[e.jsxs("span",{className:"mr-1.5 text-xs font-semibold text-gray-400",children:["Page ",s," of ",r]}),e.jsx("button",{className:E,disabled:s===1,onClick:()=>t(m=>Math.max(1,m-1)),"aria-label":"Previous page",children:e.jsx(H,{className:"w-4 h-4",strokeWidth:2.2})}),e.jsx("button",{className:E,disabled:s>=r,onClick:()=>t(m=>Math.min(r,m+1)),"aria-label":"Next page",children:e.jsx(G,{className:"w-4 h-4",strokeWidth:2.2})})]})]})]})}const B=[{value:"all",label:"All Categories"},...we.map(s=>({value:s,label:s}))],D=[{value:"time-desc",label:"Most time"},{value:"time-asc",label:"Least time"},{value:"name-asc",label:"Name AâZ"},{value:"name-desc",label:"Name ZâA"}];function U(s){const t=p.useRef(null);return p.useEffect(()=>{function a(l){t.current&&!t.current.contains(l.target)&&s()}return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)}),t}function Be({currentFilter:s,onFilterChange:t}){var c;
21const[a,l]=p.useState(!1),d=U(()=>l(!1)),r=((c=B.find(n=>n.value===s))==null?void 0:c.label)||"All Categories";return e.jsxs("div",{className:"relative flex-1 sm:flex-none",ref:d,children:[e.jsxs("button",{onClick:()=>l(n=>!n),className:"inline-flex w-full sm:w-auto items-center justify-between sm:justify-start gap-2 h-[38px] px-3 rounded-[11px] bg-white border border-gray-200 text-gray-900 text-[13px] sm:text-[13.5px] font-semibold whitespace-nowrap transition-colors hover:bg-gray-50",children:[e.jsx("span",{className:"truncate",children:r}),e.jsx(q,{className:"w-[15px] h-[15px] text-gray-400 shrink-0",strokeWidth:2.2})]}),a&&e.jsx("div",{className:"absolute right-0 top-[calc(100%+6px)] z-40 min-w-[200px] max-w-[calc(100vw-2rem)] bg-white border border-gray-200 rounded-[13px] shadow-lg p-1.5 flex flex-col gap-0.5",children:B.map(n=>{const o=s===n.value;return e.jsxs("button",{onClick:()=>{t(n.value),l(!1)},className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-[9px] text-[13.5px] font-semibold text-left transition-colors hover:bg-gray-100 hover:text-gray-900 ${o?"text-gray-900":"text-gray-600"}`,children:[e.jsx("span",{className:"truncate",children:n.label}),o&&e.jsx(Q,{className:"w-[15px] h-[15px] ml-auto shrink-0",style:{color:x},strokeWidth:2.4})]},n.value)})})]})}function De({currentSort:s,onSortChange:t}){var c;
21const[a,l]=p.useState(!1),d=U(()=>l(!1)),r=((c=D.find(n=>n.value===s))==null?void 0:c.label)||"Most time";return e.jsxs("div",{className:"relative flex-1 sm:flex-none",ref:d,children:[e.jsxs("button",{onClick:()=>l(n=>!n),className:"inline-flex w-full sm:w-auto items-center justify-between sm:justify-start gap-2 h-[38px] px-3 rounded-[11px] bg-white border border-gray-200 text-gray-900 text-[13px] sm:text-[13.5px] font-semibold whitespace-nowrap transition-colors hover:bg-gray-50",children:[e.jsx("span",{className:"truncate",children:r}),e.jsx(q,{className:"w-[15px] h-[15px] text-gray-400 shrink-0",strokeWidth:2.2})]}),a&&e.jsx("div",{className:"absolute right-0 top-[calc(100%+6px)] z-40 min-w-[190px] max-w-[calc(100vw-2rem)] bg-white border border-gray-200 rounded-[13px] shadow-lg p-1.5 flex flex-col gap-0.5",children:D.map(n=>{const o=s===n.value;return e.jsxs("button",{onClick:()=>{t(n.value),l(!1)},className:`flex items-center gap-2.5 px-2.5 py-2 rounded-[9px] text-[13.5px] font-semibold text-left transition-colors hover:bg-gray-100 hover:text-gray-900 ${o?"text-gray-900":"text-gray-600"}`,children:[n.label,o&&e.jsx(Q,{className:"w-[15px] h-[15px] ml-auto",style:{color:x},strokeWidth:2.4})]},n.value)})})]})}function Oe({rank:s,row:t,barWidth:a,isLast:l}){return e.jsxs("div",{className:`grid items-center gap-2.5 sm:gap-3.5 py-3 px-1.5 transition-colors hover:bg-gray-50/70 ${l?"":"border-b border-gray-100"}`,style:{gridTemplateColumns:"22px 1fr auto"},children:[e.jsx("span",{className:"text-xs font-extrabold text-gray-400 text-center tabular-nums",children:s}),e.jsx("div",{className:"flex items-center gap-3 min-w-0",children:e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsx("span",{className:"text-[13px] sm:text-sm font-bold text-gray-900 truncate",children:t.name}),t.chip&&e.jsx("span",{className:"shrink-0 text-[10.5px] font-extrabold uppercase tracking-wide px-1.5 py-0.5 rounded-md whitespace-nowrap",style:{color:t.color,background:`color-mix(in srgb, ${t.color} 14%, transparent)`},children:t.chip})]}),e.jsx("div",{className:"h-[7px] rounded-full bg-gray-100 overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full transition-[width] duration-500",style:{width:`${a}%`,background:t.color}})})]})}),e.jsxs("div",{className:"flex flex-col items-end gap-0.5 min-w-[64px] sm:min-w-[76px]",children:[e.jsx("span",{className:"text-[13px] sm:text-sm font-extrabold text-gray-900 tabular-nums whitespace-nowrap",children:t.formattedTime}),e.jsxs("span",{className:"text-[11.5px] font-bold text-gray-400 tabular-nums",children:[t.usage,"%"]})]})]})}const S="inline-flex items-center gap-1.5 h-8 px-3 sm:px-3.5 rounded-lg text-[13px] sm:text-[13.5px] font-bold whitespace-nowrap transition-colors",T=5;function _e(){const[s,t]=p.useState("site"),[a,l]=p.useState("all"),[d,r]=p.useState("time-desc"),[c,n]=p.useState(1),o=s==="site",g=o?A:F,m=g.reduce((i,h)=>i+h.time,0),y=i=>a==="all"||i.category===a,f=[...o?A.filter(y):F].sort((i,h)=>{const W=o?i.domain:i.category,I=o?h.domain:h.category;switch(d){case"time-asc":return i.time-h.time;case"name-asc":return W.localeCompare(I);case"name-desc":return I.localeCompare(W);case"time-desc":default:return h.time-i.time}}).map(i=>({name:o?i.domain:i.category,formattedTime:R(i.time),usage:m?Math.round(i.time/m*100):0,time:i.time,color:x,chip:o?i.category:null})),k=Math.max(...f.map(i=>i.time),1),b=Math.max(1,Math.ceil(f.length/T)),j=Math.min(c,b),N=(j-1)*T,M=f.slice(N,N+T),$=i=>{i(),n(1)};return e.jsxs("div",{className:"bg-white rounded-2xl shadow-xs border border-gray-200/60 p-4 sm:p-5 lg:p-6 mb-4 lg:mb-6",children:[e.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between mb-4 lg:mb-5",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"grid place-items-center w-[30px] h-[30px] rounded-[9px]",style:{background:"color-mix(in srgb, #7857ff 10%, transparent)",color:x},children:e.jsx(L,{className:"w-[17px] h-[17px]",strokeWidth:1.8})}),e.jsx("h3",{className:"text-lg lg:text-xl font-bold tracking-tight text-gray-900",children:"Apps & Websites"})]}),e.jsxs("p",{className:"mt-2 text-xs font-semibold text-gray-400",children:[R(m)," tracked today · ",g.length," ",o?"sites":"categories"]})]}),e.jsxs("div",{className:"flex flex-col gap-2.5 sm:flex-row sm:flex-wrap sm:items-center",children:[e.jsxs("div",{className:"flex w-full p-[3px] bg-gray-100 rounded-[11px] gap-0.5 sm:w-auto",children:[e.jsxs("button",{onClick:()=>$(()=>t("site")),className:o?`${S} flex-1 justify-center sm:flex-none bg-white text-gray-900 shadow-sm`:`${S} flex-1 justify-center sm:flex-none text-gray-600 hover:text-gray-900`,style:o?{color:x}:void 0,children:[e.jsx(L,{className:"w-[15px] h-[15px]",strokeWidth:1.8})," By site"]}),e.jsxs("button",{onClick:()=>$(()=>t("category")),className:o?`${S} flex-1 justify-center sm:flex-none text-gray-600 hover:text-gray-900`:`${S} flex-1 justify-center sm:flex-none bg-white text-gray-900 shadow-sm`,style:o?void 0:{color:x},children:[e.jsx(ae,{className:"w-[15px] h-[15px]",strokeWidth:1.8})," By category"]})]}),e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(Be,{currentFilter:a,onFilterChange:i=>$(()=>l(i))}),e.jsx(De,{currentSort:d,onSortChange:i=>$(()=>r(i))})]})]})]}),e.jsxs("div",{className:"flex flex-col",children:[M.length===0&&e.jsxs("div",{className:"py-8 text-center text-[13.5px] font-semibold text-gray-400",children:["No ",a!=="all"?"matching ":"","activity to show."]}),M.map((i,h)=>e.jsx(Oe,{rank:N+h+1,row:i,barWidth:i.time/k*100,isLast:h===M.length-1},`${i.name}-${h}`))]}),e.jsxs("div",{className:"flex items-center justify-between gap-3 mt-4 pt-3.5 border-t border-gray-100",children:[e.jsxs("span",{className:"text-xs font-semibold text-gray-400 whitespace-nowrap",children:["Showing ",f.length===0?0:N+1,"â",Math.min(N+T,f.length)," of ",f.length," ",o?"sites":"categories"]}),e.jsxs("div",{className:"inline-flex items-center gap-1",children:[e.jsxs("span",{className:"mr-1.5 text-xs font-semibold text-gray-400",children:["Page ",j," of ",b]}),e.jsx("button",{className:E,disabled:j===1,onClick:()=>n(i=>Math.max(1,i-1)),"aria-label":"Previous page",children:e.jsx(H,{className:"w-4 h-4",strokeWidth:2.2})}),e.jsx("button",{className:E,disabled:j>=b,onClick:()=>n(i=>Math.min(b,i+1)),"aria-label":"Next page",children:e.jsx(G,{className:"w-4 h-4",strokeWidth:2.2})})]})]})]})}function rs(){return e.jsxs("div",{className:"sm:rounded-2xl rounded-lg border border-slate-200 overflow-hidden bg-white shadow-sm",children:[e.jsxs("div",{className:"bg-slate-100 border-b border-slate-200 px-3 sm:px-4 py-2.5 sm:py-3 flex items-center gap-2 sm:gap-3",children:[e.jsxs("div",{className:"flex gap-1.5",children:[e.jsx("div",{className:"w-3 h-3 rounded-full bg-red-400"}),e.jsx("div",{className:"w-3 h-3 rounded-full bg-amber-400"}),e.jsx("div",{className:"w-3 h-3 rounded-full bg-green-400"})]}),e.jsx("div",{className:"flex-1 mx-1 sm:mx-2 bg-white rounded-md border border-slate-200 py-1 px-3 text-[11px] sm:text-xs text-slate-400 text-center truncate",children:"app.focora.ai/dashboard"}),e.jsx(ue,{size:14,className:"text-slate-400 shrink-0"})]}),e.jsxs("div",{className:"bg-gray-50 p-3 sm:p-5 lg:p-6",children:[e.jsx(Me,{}),e.jsx(Ae,{}),e.jsxs("div",{className:"flex flex-col lg:flex-row gap-4 lg:gap-6 mb-4 lg:mb-6",children:[e.jsx("div",{className:"w-full lg:flex-1 lg:h-[600px]",children:e.jsx(Fe,{})}),e.jsx("div",{className:"w-full lg:flex-1 lg:h-[600px]",children:e.jsx(Re,{})})]}),e.jsx(_e,{})]})]})}const ze="[email protected]",O=`mailto:${ze}?subject=${encodeURIComponent("A feature for the roadmap")}&body=${encodeURIComponent(`Hi! Here's a feature I'd love to see: 22 23 24Or honestly, any feedback at all â bugs, gripes, half-formed ideas all welcome. 25 26â 27My name, for the credits: `)}`;function _({status:s}){return s==="done"?e.jsx("span",{className:"flex h-2.5 w-2.5 shrink-0",children:e.jsx("span",{className:"h-2.5 w-2.5 rounded-full bg-slate-900 ring-2 ring-slate-200"})}):s==="active"?e.jsxs("span",{className:"relative flex h-2.5 w-2.5 shrink-0",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full rounded-full bg-slate-400 opacity-75 animate-ping"}),e.jsx("span",{className:"relative inline-flex h-2.5 w-2.5 rounded-full bg-slate-900"})]}):s==="pending"?e.jsxs("span",{className:"relative flex h-2.5 w-2.5 shrink-0",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full rounded-full bg-white opacity-60"}),e.jsx("span",{className:"relative inline-flex h-2.5 w-2.5 rounded-full bg-white"})]}):e.jsx("span",{className:"flex h-2.5 w-2.5 shrink-0",children:e.jsx("span",{className:"h-2.5 w-2.5 rounded-full border-2 border-slate-300 bg-white"})})}const He=[{status:"done",label:"Site blocking & time tracking"},{status:"done",label:"Focus sessions (Pomodoro)"},{status:"done",label:"Weekly analytics dashboard"},{status:"soon",label:"More powerful block page customization"},{status:"soon",label:"Firefox & Edge support"},{status:"soon",label:"Improved AI Intelligence"},{status:"soon",label:"Mobile companion app"},{status:"soon",label:"Calendar integration"}];function ls(){return e.jsxs("section",{id:"roadmap",className:"max-w-2xl mx-auto px-4 sm:px-6 lg:px-8 scroll-mt-20 py-8 mb-20",children:[e.jsx("style",{children:"@media (prefers-reduced-motion: reduce){ .animate-ping{ animation: none } }"}),e.jsxs("div",{className:"text-center mb-14",children:[e.jsx("span",{className:"text-xs font-mono font-medium text-slate-400 uppercase tracking-widest",children:"What's coming"}),e.jsx("h2",{className:"text-4xl sm:text-5xl font-bold text-slate-900 mt-3 tracking-tight",children:"Roadmap."}),e.jsx("p",{className:"text-slate-500 mt-4 max-w-sm mx-auto",children:"We build in public. Here's what's shipped, in progress, and planned."})]}),e.jsxs("div",{className:"space-y-2.5",children:[He.map((s,t)=>e.jsxs("div",{className:`flex items-center gap-4 px-5 py-4 rounded-xl border ${s.status==="done"?"border-slate-100 bg-white":s.status==="active"?"border-blue-100 bg-blue-50/50":"border-slate-100 bg-slate-50/50"}`,children:[e.jsx(_,{status:s.status}),e.jsx("span",{className:`text-sm font-medium flex-1 ${s.status==="done"?"text-slate-700":"text-slate-400"}`,children:s.label}),s.status==="active"&&e.jsx("span",{className:"text-xs font-medium text-blue-500 bg-blue-100 rounded-full px-2.5 py-0.5",children:"In progress"}),s.status==="soon"&&e.jsx("span",{className:"text-xs font-medium text-slate-400 bg-slate-100 rounded-full px-2.5 py-0.5",children:"Planned"})]},t)),e.jsxs("a",{href:O,className:"group flex items-center gap-4 px-5 py-4 rounded-xl bg-slate-900 text-white shadow-sm hover:bg-slate-800 transition",children:[e.jsx(_,{status:"pending"}),e.jsx("span",{className:"text-sm font-medium flex-1",children:"Your feature here â what are we missing?"}),e.jsx("span",{"aria-hidden":"true",className:"text-slate-400 transition",children:"â"})]})]}),e.jsxs("div",{className:"mt-16",children:[e.jsxs("div",{className:"relative mb-10",children:[e.jsx("div",{className:"absolute inset-0 flex items-center","aria-hidden":"true",children:e.jsx("div",{className:"w-full h-px bg-gradient-to-r from-transparent via-slate-200 to-transparent"})}),e.jsx("div",{className:"relative flex justify-center",children:e.jsx("span",{className:"bg-white px-4 text-xs font-mono font-medium uppercase tracking-widest text-slate-400",children:"The next line is yours"})})]}),e.jsxs("div",{className:"text-center max-w-md mx-auto mb-7",children:[e.jsx("h3",{className:"text-2xl sm:text-3xl font-bold text-slate-900 tracking-tight",children:"This list has blank space on purpose."}),e.jsx("p",{className:"text-slate-500 mt-4 leading-relaxed",children:"Every feature above started as a message from someone â a âwhat ifâ¦â, a complaint, a half-formed idea sent on a Tuesday. Tell us what's missing, what's clunky, or what would make this a daily habit. Big swings welcome. Tiny nitpicks too."})]}),e.jsx("div",{className:"flex items-start gap-3 rounded-xl border border-slate-200 bg-slate-50 px-5 py-4 mb-8",children:e.jsxs("p",{className:"text-sm text-slate-600 leading-relaxed",children:[e.jsx("span",{className:"font-semibold text-slate-900",children:"Your name gets immortalized."})," ","If your idea ships, it won't ship anonymously â your name is etched right beside it, in the changelog, the credits, and on this very roadmap, for as long as the product exists."]})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("a",{href:O,className:"group inline-flex items-center gap-2 text-base font-semibold text-slate-900 hover:text-slate-600 transition",children:[e.jsx("span",{className:"border-b-2 border-slate-900 pb-0.5 group-hover:border-slate-300 transition",children:"Email us your idea"}),e.jsx("span",{"aria-hidden":"true",className:"group-hover:translate-x-0.5 transition",children:"â"})]}),e.jsx("p",{className:"text-xs text-slate-400 mt-3",children:"No form, no account â just an email. We read every one."})]})]})]})}export{de as C,rs as D,ts as F,ls as R,as as a};
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.