PageSourceSearch

https://eisenhowertodoist.netlify.app/assets/LandingPage-BZz1aGrd.js

js eisenhowertodoist.netlify.app collected 2026-10-03 10:41:43 UTC 37,185 bytes, 1 lines download raw bytes

1import{j as e,Z as M,ba as ee,cH as te,aB as se,c,cW as Y,bH as xe,aA as ie,cq as he,M as ae,cX as pe,aY as q,cY as ge,cZ as fe,c_ as je,cr as ye}from"./vendor-1kUQ7zn2.js";import{a0 as W,a1 as S,a2 as be,a3 as re,u as P,g as ne,s as C,a4 as we,B as y,a5 as le,a6 as ve,D as O,a as G,b as $,d as V,e as oe,a7 as ce,a8 as Ne,a9 as Se,aa as ke,ab as Ce,N,M as K,c as z,ac as Te,ad as _e,ae as E,af as Ee,ag as Ie,ah as De,ai as Ae,h as Pe,i as Fe,j as ze,k as Q,aj as Re,ak as Le,al as Ue,K as k,C as Me,l as We,o as Be,am as Oe,m as Ge,an as $e,ao as Ve,ap as He}from"./index--kdl1ae9.js";import{D as Ye}from"./vendor-date-en1IyhsK.js";import{m as g,A as qe}from"./vendor-motion-BX-jsy7E.js";import{A as Ke,R as Qe}from"./ResetRequestForm-BGTDKErw.js";import{d as Xe}from"./vendor-supabase-Dh2gyaRa.js";import{S as Ze}from"./scroll-area-Domx4w8f.js";import{s as de}from"./checkout-DROMBe3d.js";import"./checkoutState-C2DchyvW.js";const Je=({profile:t,daysLeft:i})=>{const[r]=W("simulate-expired",!1);if(!t)return null;if(r)return e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsxs(S,{className:"bg-gradient-to-r from-orange-500 to-red-700 text-white shadow-lg px-6 py-2 text-base animate-pulse flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"Simulating Expired User"]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Use console and type __toggleExpiredSimulation() to disable"})]});if(t.payment_status==="paid"&&t.is_lifetime_purchase||t.subscription_type==="lifetime")return e.jsxs(S,{className:"bg-gradient-to-r from-emerald-500 to-emerald-700 text-white shadow-lg px-6 py-2 text-base",children:[e.jsx(ee,{className:"w-4 h-4 mr-2 inline"}),"Lifetime Access"]});if(t.payment_status==="paid"&&t.subscription_type==="monthly"&&t.subscription_expiry_date){const a=new Date(t.subscription_expiry_date),s=Ye(a,"MMM d, yyyy");return e.jsxs(S,{className:"bg-gradient-to-r from-blue-500 to-indigo-700 text-white shadow-lg px-6 py-2 text-base",children:[e.jsx(te,{className:"w-4 h-4 mr-2 inline"}),"Monthly Subscription (Renews: ",s,")"]})}if(t.payment_status==="trial"&&be(t.trial_end_date)){const a=i===0?"from-amber-500 to-amber-700":"from-blue-500 to-blue-700";return e.jsxs(S,{className:`bg-gradient-to-r ${a} text-white shadow-lg px-6 py-2 text-base`,children:[e.jsx(se,{className:"w-4 h-4 mr-2 inline"}),"Trial · ",re(i??0).toLowerCase()]})}return e.jsxs(S,{className:"bg-gradient-to-r from-red-500 to-red-700 text-white shadow-lg px-6 py-2 text-base animate-pulse",children:[e.jsx(M,{className:"w-4 h-4 mr-2 inline"}),"Trial ended"]})},et=[{title:"Do First",subtitle:"Urgent & Important",color:"#ef4444",rgb:"239 68 68"},{title:"Schedule",subtitle:"Important, Not Urgent",color:"#3b82f6",rgb:"59 130 246"},{title:"Delegate",subtitle:"Urgent, Not Important",color:"#fb923c",rgb:"251 146 60"},{title:"Backlog",subtitle:"Neither",color:"#8a8580",rgb:"138 133 128"}],tt=({price:t=le.lifetime.price??""})=>{const[i,r]=c.useState(null),[a,s]=c.useState(null);P();const l=ne();c.useEffect(()=>{h()},[]);const h=async()=>{try{const{data:{user:d}}=await C.auth.getUser();if(d){const{data:p}=await C.from("profiles").select("*").eq("id",d.id).single();if(p&&(r(p),p.trial_end_date)){const u=we(p.trial_end_date)??0;s(Math.max(0,u))}}}catch{}},o=()=>{const d=document.getElementById("pricing");d&&d.scrollIntoView({behavior:"smooth"})};return e.jsxs("div",{className:"text-center space-y-12 mb-16 max-w-[1000px] mx-auto px-4",children:[e.jsxs(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"space-y-8",children:[e.jsx("h1",{className:"text-5xl sm:text-7xl font-bold tracking-tight text-foreground mb-6",children:"Eisenhower Matrix"}),i&&e.jsx(g.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.2},children:e.jsx(Je,{profile:i,daysLeft:a})}),e.jsx("p",{className:"text-xl sm:text-2xl text-muted-foreground mx-auto leading-relaxed max-w-[700px]",children:"Transform your productivity with the power of the Eisenhower Matrix. Organize, prioritize, and conquer your tasks like never before."}),(!i||i?.payment_status!=="paid")&&l&&e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx("span",{className:"bg-red-500 text-white text-[13px] font-bold px-2.5 py-1 rounded-full",children:"Special Offer"}),e.jsxs(y,{size:"lg",onClick:o,className:"w-full h-14 text-[17px] font-medium rounded-xl",children:[e.jsx(Y,{className:"w-5 h-5"}),"See Pricing Options"]})]}),(!i||i?.payment_status!=="paid")&&!l&&e.jsx("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:e.jsxs("div",{className:"relative",children:[e.jsxs(y,{size:"lg",onClick:o,className:"px-8 py-6 text-lg font-medium rounded-xl",children:[e.jsx(Y,{className:"w-5 h-5"}),"See Pricing Options"]}),e.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsx("span",{className:"bg-red-500 text-white text-xs font-bold px-2 py-1 rounded-full",children:"Special Offer"})})]})}),e.jsx("div",{className:"space-y-4 max-w-[600px] mx-auto",children:e.jsx("div",{className:"bg-card rounded-xl p-6 border",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx(xe,{className:"w-6 h-6 text-emerald-500 flex-shrink-0 mt-1"}),e.jsxs("div",{className:"text-left",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Risk-Free Trial"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[a?`${a} days left in your free trial.`:"Start your 7-day free trial today.","Get full access to all features with no credit card required."]})]})]})})}),(!i||i?.payment_status!=="paid")&&e.jsx(g.div,{initial:{opacity:0}
1,animate:{opacity:1},transition:{delay:.8,duration:.5},className:"flex justify-center mt-8",children:e.jsxs(g.button,{onClick:o,className:"text-muted-foreground/70 hover:text-foreground transition-colors flex flex-col items-center",children:[e.jsx("span",{className:"text-sm mb-1",children:"View pricing details"}),e.jsx(ie,{className:"w-5 h-5"})]})})]}),e.jsx(g.div,{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-16",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.3},children:et.map(d=>e.jsxs("div",{className:"rounded-xl p-8 border bg-card shadow-sm",style:{borderTop:`3px solid ${d.color}`,backgroundImage:`linear-gradient(180deg, rgb(${d.rgb} / 0.16), rgb(${d.rgb} / 0.05) 70px, transparent 140px)`},children:[e.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:d.title}),e.jsx("p",{className:"text-muted-foreground",children:d.subtitle})]},d.title))})]})},st=[{emoji:"✨",title:"Seamless Todoist Integration",body:"Connect and sync your tasks instantly with your Todoist account"},{emoji:"🎯",title:"Smart Task Prioritization",body:"Organize tasks by urgency and importance using the Eisenhower Matrix"},{emoji:"🔄",title:"Intuitive Task Management",body:"Effortlessly move tasks between quadrants with a quick Ctrl (⌘ on Mac) + click"},{emoji:"⚡",title:"Boost Productivity",body:"Stay focused on what truly matters with our productivity tools"}],it={DO:[{width:"78%",done:!0},{width:"58%"},{width:"66%"}],SCHEDULE:[{width:"72%"},{width:"84%"},{width:"52%"}],DELEGATE:[{width:"64%"},{width:"46%"}],BACKLOG:[{width:"56%",done:!0},{width:"40%"}]},at=["Urgent","Not Urgent"],rt=["Important","Not Important"],nt=()=>e.jsx(e.Fragment,{children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-12 mb-16 relative z-10",children:[e.jsxs("div",{className:"space-y-8 text-left",children:[e.jsx(g.h2,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"text-4xl font-bold tracking-tight text-foreground leading-tight",children:"Boost Your Productivity"}),e.jsx("ul",{className:"space-y-4",children:st.map((t,i)=>e.jsx(g.li,{className:"feature-card group rounded-xl border bg-card p-5 transition-colors hover:border-foreground
1/15",initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.2+i*.1},children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"flex h-11 w-11 flex-shrink-0 items-center justify-center rounded-lg bg-primary/10 text-2xl",children:t.emoji}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-xl mb-1.5 text-foreground",children:t.title}),e.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:t.body})]})]})},t.title))}),e.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Eisenhower Matrix is not created by, affiliated with, or supported by Todoist."})]}),e.jsx(g.div,{className:"rounded-2xl border bg-card p-6 shadow-sm sm:p-8",initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.6},"aria-hidden":"true",children:e.jsxs("div",{className:"grid h-full grid-cols-[auto_1fr] grid-rows-[auto_1fr] gap-x-3 gap-y-2",children:[e.jsx("div",{}),e.jsx("div",{className:"grid grid-cols-2 gap-4 text-center text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:at.map(t=>e.jsx("span",{children:t},t))}),e.jsx("div",{className:"grid grid-rows-2 gap-4 text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:rt.map(t=>e.jsx("span",{className:"flex items-center justify-center",style:{writingMode:"vertical-rl",transform:"rotate(180deg)"},children:t},t))}),e.jsx("div",{className:"grid grid-cols-2 grid-rows-2 gap-3 sm:gap-4",children:ve.map((t,i)=>{const r=t.icon,a=it[t.label];return e.jsxs(g.div,{className:"relative flex flex-col gap-4 overflow-hidden rounded-xl border bg-background p-4 sm:gap-5 sm:p-5",style:{borderTop:`3px solid ${t.color}`,backgroundImage:`linear-gradient(180deg, ${t.tint}, transparent 90px)`},initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.3+i*.1,duration:.4},children:[e.jsxs("div",{className:"relative flex flex-col items-start gap-2 sm:flex-row sm:items-center sm:gap-3",children:[e.jsx("span",{className:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-lg",style:{background:t.tint,color:t.color},children:e.jsx(r,{className:"h-4 w-4"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-base font-semibold leading-tight text-foreground sm:text-lg",children:t.title}),e.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:t.subtitle})]})]}),e.jsx("ul",{className:"relative space-y-2.5",children:a.map((s,l)=>e.jsxs("li",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"h-3.5 w-3.5 flex-shrink-0 rounded-full border-[1.5px]",style:{borderColor:t.color,background:s.done?t.color:"transparent",opacity:s.done?.55:.9}}),e.jsx("span",{className:"h-2 rounded-full bg-muted-foreground/20",style:{width:s.width,opacity:s.done?.45:1}})]},l))})]},t.label)})})]})})]})}),lt=({isOpen:t,onOpenChange:i,onBackToLogin:r,initialEmail:a=""})=>{const[s,l]=c.useState(!1),h=c.useCallback(o=>l(o),[]);return e.jsx(O,{open:t,onOpenChange:o=>{o||l(!1),i(o)},children:e.jsxs(G,{className:"sm:max-w-[420px]",children:[e.jsxs($,{className:"space-y-3 text-left",children:[e.jsx(Ke,{}),e.jsx(V,{className:"text-xl",children:s?"Check your email":"Reset your password"}),e.jsx(oe,{children:s?"Follow the link in the email to choose a new password.":"Enter the email you sign in with. We'll send you a link to choose a new password."})]}),t&&e.jsx(Qe,{initialEmail:a,onSentChange:h,footer:e.jsxs(y,{type:"button",variant:"ghost",className:"h-11 w-full text-muted-foreground",onClick:()=>{l(!1),r()},children:[e.jsx(he,{className:"mr-2 h-4 w-4","aria-hidden":"true"}),"Back to sign in"]})})]})})},ot="880612520763-oaan32l0psa9v1eit64lejf3412ua12m.apps.googleusercontent.com",X="https://accounts.google.com/gsi/client";
1class Z extends Error{}let I=null;function ct(){return I||(I=new Promise((t,i)=>{if(window.google?.accounts?.id)return t();const r=document.querySelector(`script[src="${X}"]`);if(r){r.addEventListener("load",()=>t()),r.addEventListener("error",()=>i(new Z("Failed to load Google Sign-In")));return}const a=document.createElement("script");a.src=X,a.async=!0,a.defer=!0,a.onload=()=>t(),a.onerror=()=>{a.remove(),i(new Z("Failed to load Google Sign-In"))},document.head.appendChild(a)}),I.catch(()=>{I=null}),I)}async function dt(t){const i=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(t));return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")}const mt=({onSuccess:t,onError:i})=>{const r=c.useRef(null),[a,s]=c.useState(!1),l=c.useRef(t),h=c.useRef(i);return l.current=t,h.current=i,c.useEffect(()=>{let o=!1;return(async()=>{try{if(await ct(),o||!r.current)return;const d=crypto.randomUUID(),p=await dt(d);if(o||!r.current)return;const u=window.google;u.accounts.id.initialize({client_id:ot,nonce:p,callback:async b=>{if(!b?.credential){h.current("Google sign-in was cancelled");return}const{error:f}=await C.auth.signInWithIdToken({provider:"google",token:b.credential,nonce:d});if(f){h.current(f.message);return}l.current()}});const n=Math.max(200,Math.min(400,r.current.offsetWidth||360));r.current.innerHTML="",u.accounts.id.renderButton(r.current,{type:"standard",theme:"outline",size:"large",text:"continue_with",shape:"rectangular",logo_alignment:"left",locale:"en",width:n})}catch{if(o)return;s(!0)}})(),()=>{o=!0}},[]),a?null:e.jsx("div",{ref:r,className:"flex min-h-[40px] w-full justify-center","data-testid":"google-signin-slot"})},ut=({isOpen:t,onOpenChange:i,initialMode:r="login"})=>{const[a,s]=c.useState(null),[l,h]=c.useState(""),[o,d]=c.useState(""),[p,u]=c.useState(!1),[n,b]=c.useState(r),[f,m]=c.useState(!1),T=ae(),{toast:v}=P();c.useEffect(()=>{t&&b(r)},[t,r]),c.useEffect(()=>{t||(h(""),d(""),s(null))},[t]);const D=c.useCallback(x=>{i(!1),(async()=>{try{let j=x?.user?.id,_=x?.user?.email;if(!j){const{data:H}=await C.auth.getUser();j=H.user?.id,_=H.user?.email??_}j&&await ce(j,_,"login",{method:x?.user?"password":"google",at:new Date().toISOString()})}catch{}})(),v({title:n==="login"?"Signed in":"Account created",description:n==="login"?"Welcome back.":"Welcome aboard."}),T("/",{replace:!0})},[n,T,i,v]),F=c.useCallback(async x=>{x.preventDefault(),u(!0),s(null);try{const{data:j,error:_}=n==="login"?await C.auth.signInWithPassword({email:l,password:o}):await C.auth.signUp({email:l,password:o,options:{emailRedirectTo:Ne("/"),data:{email:l}}});if(_)throw _;j.session?D(j.session):n==="register"&&(i(!1),v({title:"Check your email",description:"We sent you a link to confirm your account."}))}catch(j){s(j.message),v({title:n==="login"?"Couldn't sign in":"Couldn't create your account",description:j.message,variant:"destructive"})}finally{u(!1)}},[l,o,n,D,i,v]),R=c.useCallback(x=>{s(x),v({title:"Couldn't sign in with Google",description:x,variant:"destructive"})},[v]),L=c.useCallback(x=>{s(x)},[]),U=()=>{m(!0)},w=()=>{m(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(O,{open:t&&!f,onOpenChange:i,children:e.jsxs(G,{className:"sm:max-w-[425px]",children:[e.jsxs($,{children:[e.jsx(V,{children:n==="login"?"Welcome back":"Create account"}),e.jsx(oe,{children:n==="login"?"Sign in to your account to continue":"Create a new account to get started"})]}),e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsxs("div",{className:"grid gap-3",children:[e.jsx(Se,{onError:L}),e.jsx(mt,{onSuccess:()=>D(null),onError:R})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"Or continue with email"})})]}),a&&e.jsx(ke,{variant:"destructive",children:e.jsx(Ce,{children:a})}),e.jsxs("form",{onSubmit:F,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(N,{htmlFor:"email",children:"Email"}
1),e.jsx(K,{id:"email",type:"email",value:l,onChange:x=>h(x.target.value),placeholder:"Enter your email",required:!0,autoComplete:"email"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N,{htmlFor:"password",children:"Password"}),e.jsx(K,{id:"password",type:"password",value:o,onChange:x=>d(x.target.value),placeholder:"Enter your password",required:!0,autoComplete:n==="login"?"current-password":"new-password"}),n==="login"&&e.jsx(y,{variant:"link",className:"p-0 h-auto font-normal text-sm",type:"button",onClick:U,children:"Forgot password?"})]}),e.jsx(y,{type:"submit",className:"w-full",disabled:p,children:p?"Loading…":n==="login"?"Sign in":"Create account"})]}),e.jsxs("div",{className:"text-center space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:n==="login"?"Don't have an account?":"Already have an account?"}),e.jsx(y,{variant:"ghost",className:"w-full",onClick:()=>b(n==="login"?"register":"login"),children:n==="login"?"Create account":"Sign in"})]})]})]})}),e.jsx(lt,{isOpen:t&&f,onOpenChange:x=>{x||(m(!1),i(!1))},onBackToLogin:w,initialEmail:l})]})};var xt="Separator",J="horizontal",ht=["horizontal","vertical"],me=c.forwardRef((t,i)=>{const{decorative:r,orientation:a=J,...s}=t,l=pt(a)?a:J,o=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return e.jsx(pe.div,{"data-orientation":l,...o,...s,ref:i})});me.displayName=xt;function pt(t){return ht.includes(t)}var ue=me;const B=c.forwardRef(({className:t,orientation:i="horizontal",decorative:r=!0,...a},s)=>e.jsx(ue,{ref:s,decorative:r,orientation:i,className:z("shrink-0 bg-border",i==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...a}));B.displayName=ue.displayName;const gt=({email:t,paymentStatus:i,daysLeft:r})=>{const[a,s]=W("show-confetti",!0),{showTags:l,toggleShowTags:h,nestSubtasks:o,toggleNestSubtasks:d}=Te(),[p,u]=W("simulate-expired",!1),{toast:n}=P(),[b,f]=c.useState(!1),{preferences:m,updatePreferences:T}=_e(),v=()=>{const w=!p;u(w),n({title:w?"Simulation Enabled":"Simulation Disabled",description:w?"Now simulating an expired subscription. The app will behave as if your trial has expired.":"Subscription simulation disabled. The app will use your actual subscription status.",variant:w?"destructive":"default"}),setTimeout(()=>window.location.reload(),1500)},D=async()=>{if(m){f(!0);try{await T({auto_prioritize_enabled:!m.auto_prioritize_enabled}),n({title:m.auto_prioritize_enabled?"Auto-prioritization disabled":"Auto-prioritization enabled",description:m.auto_prioritize_enabled?"Tasks will no longer be automatically moved to Do First quadrant.":"Tasks approaching their due date will be automatically moved to Do First quadrant."})}catch{n({title:"Error",description:"Failed to update setting",variant:"destructive"})}finally{f(!1)}}},F=async w=>{if(!m)return;const x=m.days_before_due||3,j=w?Math.min(x+1,14):Math.max(x-1,1);if(j!==x){f(!0);try{await T({days_before_due:j}),n({title:"Setting updated",description:`Tasks due within ${j} days will be prioritized.`})}catch{n({title:"Error",description:"Failed to update setting",variant:"destructive"})}finally{f(!1)}}},R=async()=>{if(m){f(!0);try{await T({include_today:!m.include_today}),n({title:"Setting updated",description:m.include_today?"Today's tasks will not be automatically prioritized.":"Today's tasks will be included in auto-prioritization."})}catch{n({title:"Error",description:"Failed to update setting",variant:"destructive"})}finally{f(!1)}}},L=async()=>{if(m){f(!0);try{await T({include_overdue:!m.include_overdue}),n({title:"Setting updated",description:m.include_overdue?"Overdue tasks will not be automatically prioritized.":"Overdue tasks will be included in auto-prioritization."})}catch{n({title:"Error",description:"Failed to update setting",variant:"destructive"})}finally{f(!1)}}},U=()=>p?e.jsx("div",{className:"flex flex-col items-center gap-1",children:e.jsxs(S,{className:"bg-gradient-to-r from-orange-500 to-red-700 text-white shadow-lg px-4 py-1.5 text-sm",children:[e.jsx(M,{className:"w-3 h-3 mr-1"}),"Simulation Mode"]})}):i==="paid"?e.jsxs(S,{className:"bg-gradient-to-r from-emerald-500 to-emerald-700 text-white",children:[e.jsx(ee,{className:"w-4 h-4 mr-2"}),"Premium Access"]}):i==="trial"?e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsxs(S,{className:"bg-gradient-to-r from-blue-500 to-blue-700 text-white",children:[e.jsx(se,{className:"w-4 h-4 mr-2"}),"Free trial"]}),typeof r=="number"&&e.jsx("span",{className:"text-sm text-muted-foreground",children:re(r)})]}):e.jsx(S,{variant:"destructive",children:"Trial expired"});return e.jsxs("div",{className:"flex flex-col items-center gap-6 py-2",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:t}),U()]}),e.jsxs("div",{className:"flex flex-col gap-4 items-start w-full",children:[e.jsx("h3",{className:"text-md font-semibold text-primary",children:"Display Settings"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"confetti-mode",checked:a,onCheckedChange:s}),e.jsx(N,{htmlFor:"confetti-mode",children:"Show completion confetti"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"show-tags",checked:l,onCheckedChange:h}),e.jsx(N,{htmlFor:"show-tags",children:"Show task labels"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"nest-subtasks",checked:o,onCheckedChange:d}),e.jsx(N,{htmlFor:"nest-subtasks",children:"Nest subtasks under parent"})]}),e.jsx(B,{className:"my-2"}),e.jsx("div",{className:"flex items-center",children:e.jsx("h3",{className:"text-md font-semibold text-primary",children:"Auto-Prioritization"})}),e.jsx(Ee,{delayDuration:300,children:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"auto-prioritize",checked:m?.auto_prioritize_enabled||!1,onCheckedChange:D,disabled:b,className:z(b&&"opacity-50")}),e.jsxs(Ie,{children:[e.jsx(De,{asChild:!0,children:e.jsxs(N,{htmlFor:"auto-prioritize",className:"flex items-center gap-1.5",children:["Auto-prioritize approaching due dates",e.jsx(q,{className:"h-4 w-4 text-muted-foreground"})]})}),e.jsx(Ae,{side:"right",className:"max-w-sm",children:e.jsx("p",{children:'When enabled, tasks with approaching due dates will automatically be moved to the "Do First" quadrant each night.'})})]})]})}),m?.auto_prioritize_enabled&&e.jsxs("div",{className:"ml-6 space-y-3 mt-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(N,{htmlFor:"days-before-due",className:"min-w-32",children:"Days before due:"}),e.jsxs("div",{className:"flex items-center",children:[e.jsx(y,{size:"icon",variant:"outline",className:"h-7 w-7",onClick:()=>F(!1),disabled:b||(m?.days_before_due||3)<=1,children:"-"}),e.jsx("span",{className:"mx-3 font-medium",children:m?.days_before_due||3}),e.jsx(y,{size:"icon",variant:"outline",className:"h-7 w-7",onClick:()=>F(!0),disabled:b||(m?.days_before_due||3)>=14,children:"+"})]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"include-today",checked:m?.include_today||!1,onCheckedChange:R,disabled:b}),e.jsx(N,{htmlFor:"include-today",className:"flex items-center gap-1.5",children:"Include today's tasks"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"include-overdue",checked:m?.include_overdue||!1,onCheckedChange:L,disabled:b}),e.jsx(N,{htmlFor:"include-overdue",className:"flex items-center gap-1.5",children:"Include overdue tasks"})]})]}),e.jsx(B,{className:"my-2"}),e.jsx("h3",{className:"text-md font-semibold text-primary",children:"Development"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(E,{id:"simulate-expired",checked:p,onCheckedChange:v}),e.jsx(N,{htmlFor:"simulate-expired",children:"Simulate expired account"})]})]}),p&&e.jsxs("div",{className:"text-xs text-center text-muted-foreground mt-2 px-4",children:[e.jsx("p",{children:"Simulation mode is enabled. The app will behave as if your subscription has expired."}),e.jsx(y,{variant:"link",size:"sm",className:"mt-1 h-auto p-0 text-xs",onClick:v,children:"Disable simulation"})]}),m?.auto_prioritize_enabled&&e.jsxs("div",{className:"text-xs text-muted-foreground italic px-4 mt-2",children:[e.jsx(q,{className:"h-3.5 w-3.5 mr-1.5 inline-block text-primary/70"}),"Auto-prioritization occurs daily at 03:00 AM (GMT+3)"]})]})}
1,ft=({email:t,onLogout:i,onResetApiKey:r,paymentStatus:a,daysLeft:s})=>{const{toast:l}=P(),h=()=>{i(),l({title:"Logged out",description:"You have successfully logged out."})};return e.jsxs("div",{className:"flex flex-col items-end gap-4",children:[e.jsxs(Pe,{children:[e.jsx(Fe,{asChild:!0,children:e.jsxs(y,{variant:"ghost",className:"flex items-center gap-2",children:["Settings",e.jsx(ie,{className:"h-4 w-4"})]})}),e.jsxs(ze,{align:"end",children:[e.jsx(Q,{onClick:h,children:"Log out"}),e.jsx(Q,{onClick:r,children:"Reset API Key"})]})]}),e.jsx(gt,{email:t,paymentStatus:a,daysLeft:s})]})},jt=()=>{const[t,i]=c.useState(!1),[r,a]=c.useState("login"),{session:s}=Xe.useSessionContext(),{toast:l}=P(),h=ae(),{cleanup:o}=Re(),d=async u=>{const{data:n}=await C.from("profiles").select("todoist_access_token, todoist_api_key").eq("id",u).single();!n?.todoist_access_token&&!n?.todoist_api_key&&(l({title:"Connect Todoist",description:"Please connect your Todoist account to continue"}),h("/matrix"))},p=async()=>{try{s?.user&&await ce(s.user.id,s.user.email,"logout"),await o(),await Le();const{error:u}=await C.auth.signOut();if(u)throw u;localStorage.removeItem("todoist_oauth_state"),l({title:"Logged out",description:"You have been successfully logged out."})}catch(u){if(u?.message?.includes("session_not_found")){localStorage.removeItem("todoist_oauth_state"),window.location.href="/";return}l({title:"Error",description:"Failed to log out. Please try again.",variant:"destructive"})}};return c.useEffect(()=>{if(s?.user)return;const u=new URLSearchParams(window.location.search);if(u.get("signin")!=="1")return;u.delete("signin");const n=u.toString();window.history.replaceState(null,"",`${window.location.pathname}${n?`?${n}`:""}${window.location.hash}`),a("login"),i(!0)},[s?.user]),c.useEffect(()=>{s?.user?.id&&d(s.user.id)},[s?.user?.id]),s?.user?e.jsx(ft,{email:s.user.email,onLogout:p,onResetApiKey:()=>{}}):e.jsxs("div",{className:"flex gap-4",children:[e.jsx(ut,{isOpen:t,onOpenChange:i,initialMode:r}),e.jsx(y,{onClick:()=>{a("login"),i(!0)},size:"lg",variant:"outline",className:"bg-card px-8 py-6 text-lg font-medium rounded-lg",children:"Login"}),e.jsx(y,{onClick:()=>{a("register"),i(!0)},size:"lg",className:"px-8 py-6 text-lg font-medium rounded-lg",children:"Register"})]})},yt=()=>e.jsxs(O,{children:[e.jsx(Ue,{className:"text-sm text-muted-foreground hover:underline",children:"Terms and Conditions"}),e.jsxs(G,{className:"max-w-3xl max-h-[80vh]",children:[e.jsx($,{children:e.jsx(V,{children:"Terms and Conditions"})}),e.jsx(Ze,{className:"h-[60vh] pr-4",children:e.jsx("div",{className:"space-y-6",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Last Updated: January 19, 2025"}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"1. Agreement to Terms"}),e.jsx("p",{className:"mb-4",children:'By accessing and using the Eisenhower Matrix for Todoist integration ("the Service"), you agree to be bound by these Terms and Conditions. If you disagree with any part of these terms, you do not have permission to access or use the Service.'}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"2. Data Collection and Privacy"}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"2.1 Data We Collect"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Todoist task information necessary for the Service's functionality"}),e.jsx("li",{children:"User preferences and settings within the Service"}),e.jsx("li",{children:"Usage data to improve the Service"}),e.jsx("li",{children:"Authentication tokens for Todoist integration"})]}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"2.2 How We Use Your Data"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"To provide and maintain the Service"}),e.jsx("li",{children:"To organize and display your tasks in the Eisenhower Matrix format"}),e.jsx("li",{children:"To improve and optimize the Service"}),e.jsx("li",{children:"To provide customer support"}
1),e.jsx("li",{children:"To detect and prevent technical issues"})]}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"2.3 Data Protection"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"We implement industry-standard security measures to protect your data"}),e.jsx("li",{children:"We do not sell, trade, or rent your personal information to third parties"}),e.jsx("li",{children:"Your data is encrypted during transmission and storage"}),e.jsx("li",{children:"We only retain your data for as long as necessary to provide the Service"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"3. User Rights and Responsibilities"}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"3.1 Your Rights"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Access your personal data"}),e.jsx("li",{children:"Request correction of inaccurate data"}),e.jsx("li",{children:"Request deletion of your data"}),e.jsx("li",{children:"Export your data"}),e.jsx("li",{children:"Withdraw consent for data processing"})]}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"3.2 Your Responsibilities"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Maintain the security of your account credentials"}),e.jsx("li",{children:"Use the Service in compliance with Todoist's terms of service"}),e.jsx("li",{children:"Not attempt to bypass any security measures"}),e.jsx("li",{children:"Report any security vulnerabilities you discover"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"4. Service Usage"}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"4.1 License"}),e.jsx("p",{className:"mb-4",children:"We grant you a limited, non-exclusive, non-transferable license to use the Service for your personal or business use."}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"4.2 Restrictions"}),e.jsx("p",{className:"mb-2",children:"You may not:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Reverse engineer the Service"}),e.jsx("li",{children:"Use the Service to violate any laws"}),e.jsx("li",{children:"Attempt to gain unauthorized access to the Service"}),e.jsx("li",{children:"Use the Service to harm others"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"5. Trial Period and Subscription"}
1),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"5.1 Trial Period"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"7-day free trial period"}),e.jsx("li",{children:"No credit card required during trial"}),e.jsx("li",{children:"Full access to all features during trial"})]}),e.jsx("h3",{className:"text-lg font-medium mb-2",children:"5.2 Subscription"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Subscription required after trial period"}),e.jsx("li",{children:"Clear notification before trial expiration"}),e.jsx("li",{children:"Automatic renewal unless cancelled"}),e.jsx("li",{children:"Refund policy in accordance with platform guidelines"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"6. Termination"}),e.jsx("p",{className:"mb-4",children:"We reserve the right to terminate or suspend access to the Service:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"For violations of these terms"}),e.jsx("li",{children:"For abuse of the Service"}),e.jsx("li",{children:"For any other reason we deem necessary"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"7. Changes to Terms"}),e.jsx("p",{className:"mb-2",children:"We may modify these terms at any time. We will notify users of any material changes via:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4",children:[e.jsx("li",{children:"Email notification"}),e.jsx("li",{children:"Service announcement"}),e.jsx("li",{children:"Website notice"})]}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"8. Contact Information"}),e.jsx("p",{children:"For questions about these terms or the Service, contact us at [email protected]."})]})})})]})]}),bt={yearly:fe,lifetime:ge,monthly:te},wt=k.features,vt=({onPayment:t})=>{const i=Ve(),r=He(),a=s=>{t?t(s):de(s)};return e.jsxs("div",{className:"py-16 px-4 relative",id:"pricing",children:[e.jsxs("div",{className:"text-center max-w-3xl mx-auto mb-12",children:[e.jsx(g.h2,{className:"text-4xl font-bold tracking-tight mb-4 text-foreground",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},children:"Choose your plan"}),e.jsx(g.p,{className:"text-xl text-muted-foreground",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.1},children:k.socialProof})]}),e.jsx("div",{className:z("grid grid-cols-1 gap-8 mx-auto",i.length===3?"md:grid-cols-3 max-w-6xl":"md:grid-cols-2 max-w-5xl"),children:i.map((s,l)=>{const h=bt[s],o=s===r,d=k.priceMain(s);return e.jsxs(g.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.2+l*.1},className:"relative","data-testid":`pricing-card-${s}`,children:[o&&e.jsx("div",{className:"absolute -top-3 right-4 z-10",children:e.jsx(S,{className:"bg-primary hover:bg-primary text-primary-foreground px-3 py-1 text-sm font-semibold shadow-sm",children:k.planTag[s]})}),e.jsxs(Me,{className:z("h-full bg-card shadow-sm",o?"border-primary/50 shadow-md":"border-border/40"),children:[e.jsxs(We,{className:"pb-4",children:[e.jsxs(Be,{className:"text-2xl mb-2 flex items-center",children:[e.jsx(h,{className:"mr-2 h-5 w-5 text-primary"}),k.planName[s]]}),e.jsx(Oe,{className:"text-base",children:o?k.planLine(s):k.planTag[s]})]}),e.jsxs(Ge,{className:"pb-6",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("p",{className:"text-4xl font-bold",children:[d.amount,d.unit&&e.jsxs("span",{className:"text-lg text-muted-foreground font-normal",children:[" ",d.unit]})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:k.priceSub(s)})]}),e.jsx("ul",{className:"space-y-3",children:wt.map(p=>e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(je,{className:"h-5 w-5 text-primary shrink-0 mt-0.5"}),e.jsx("span",{children:p})]},p))})]}),e.jsxs($e,{className:"flex-col gap-3",children:[e.jsx(y,{onClick:()=>a(s),variant:o?"default":"outline",className:"w-full py-6 text-lg","data-testid":`landing-checkout-${s}`,children:k.landingCta[s]}),e.jsxs("p",{className:"flex items-center justify-center gap-1.5 text-center text-xs text-muted-foreground",children:[e.jsx(ye,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),"Secure checkout on Gumroad · Instant activation"]})]})]})]},s)})})]})},Nt=[{href:"/eisenhower-matrix/",label:"What is the Eisenhower Matrix?"},{href:"/todoist-eisenhower-matrix/",label:"Using it with Todoist"},{href:"/features/",label:"Features"},{href:"/keyboard-shortcuts/",label:"Shortcuts"},{href:"/faq/",label:"FAQ"},{href:"/changelog/",label:"Changelog"},{href:"/tr/eisenhower-matrisi/",label:"Türkçe rehber",lang:"tr"}],St={hidden:{opacity:0}
1,visible:{opacity:1,transition:{when:"beforeChildren",staggerChildren:.1,duration:.4,ease:[.22,1,.36,1]}}},A={hidden:{opacity:0,y:10},visible:{opacity:1,y:0,transition:{duration:.3,ease:[.22,1,.36,1]}}},Ft=({price:t=le.lifetime.price??""})=>{const i=ne(),r=a=>{de(a)};return e.jsx(qe,{mode:"wait",children:e.jsx(g.div,{initial:"hidden",animate:"visible",variants:St,className:"min-h-screen bg-background relative overflow-hidden",children:e.jsxs("div",{className:i?"mx-landing max-w-7xl mx-auto relative":"max-w-7xl mx-auto px-6 py-12 relative",children:[e.jsx(g.div,{variants:A,className:i?"mx-landing-auth flex justify-end mb-6":"flex justify-end mb-8",children:e.jsx(jt,{})}),e.jsx(g.div,{variants:A,whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},children:e.jsx(tt,{price:t})}),e.jsx(g.div,{variants:A,whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},className:"mt-16",children:e.jsx(nt,{})}),e.jsx(g.div,{id:"pricing",variants:A,whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},children:e.jsx(vt,{onPayment:r})}),e.jsxs(g.div,{variants:A,whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},className:"text-center mt-12",children:[e.jsx(yt,{}),e.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"For any issues or suggestions, please contact [email protected]"}),e.jsx("nav",{"aria-label":"Guides",className:"mt-6",children:e.jsx("ul",{className:"flex flex-wrap justify-center gap-x-5 gap-y-2 text-sm text-muted-foreground",children:Nt.map(a=>e.jsx("li",{children:e.jsx("a",{href:a.href,lang:a.lang,className:"hover:text-foreground hover:underline",children:a.label})},a.href))})})]})]})})})};export{Ft as LandingPage};

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.