PageSourceSearch

https://app.quicksnap.pro/assets/welcome-DkBo2mRg.js

js quicksnap.pro collected 2026-10-02 02:06:16 UTC 3,939 bytes, 2 lines download raw bytes

1import{r as i,j as e}from"./react-b0E4PIv5.js";import{s as x}from"./auth-DYVLt1_L.js";import{R as m,L as p,B as h,a as u}from"./tanstack-hPkC1MpO.js";import"./supabase-wkVwr4h9.js";import"./extension-bridge-D_ElKsgb.js";function w(){const{from:t}=m.useSearch(),[s,o]=i.useState(!1),[l,a]=i.useState(null),c=async()=>{o(!0),a(null);try{const{error:d}=await x();d&&(a("We couldn't open the Google sign-in window. Try again."),o(!1))}catch{a("Sign-in didn't start. Check your network and try again."),o(!1)}},r=t==="v1";return e.jsxs("div",{className:"flex min-h-screen flex-col bg-[var(--color-canvas)]",children:[e.jsxs("header",{className:"flex items-center justify-between px-6 py-5 sm:px-10",children:[e.jsx(p,{height:28}),e.jsx("a",{href:"https://quicksnap.pro",className:"text-xs text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]",children:"Back to quicksnap.pro"})]}),e.jsxs("main",{className:"mx-auto flex w-full max-w-3xl flex-1 flex-col px-6 pb-16 pt-6 sm:px-10",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-[var(--color-accent)]",children:r?"Welcome back":"You are in"}),e.jsx("h1",{className:"font-display mt-3 text-4xl leading-tight text-[var(--color-text-primary)] md:text-5xl",children:r?"QuickSnap 2.0 is here.":"Welcome to QuickSnap."}),e.jsx("p",{className:"mt-4 max-w-2xl text-base leading-relaxed text-[var(--color-text-secondary)]",children:r?"Your captures are safe. They live in your Google Drive, exactly where you left them. Sign in once to unlock the new dashboard, pin commenting, share links, and project workspaces.":"Sign in to unlock your dashboard, pin commenting, share links, and project workspaces. Your screenshots will save straight to your Google Drive, never our servers."}),l&&e.jsx("div",{className:"mt-6",children:e.jsx(h,{tone:"error",title:l})}),e.jsx("div",{className:"mt-8",children:e.jsx(u,{onClick:c,loading:s,size:"lg",leadingIcon:e.jsx(g,{}),className:"min-w-[260px]",children:"Continue with Google"})}),e.jsxs("div",{className:"mt-12 grid gap-4 sm:grid-cols-3",children:[e.jsx(n,{title:"Pin commenting",body:"Drop numbered pins, leave threaded comments, resolve when fixed."}),e.jsx(n,{title:"Share links",body:"Public or per-email access. Comment-only or read-only, your call."}),e.jsx(n,{title:"Projects",body:"Group captures into named projects mapped to Drive folders."})]}),e.jsxs("div",{className:"mt-10 rounded-xl border border-[var(--color-border-subtle)] bg-[var(--color-surface)] p-5",children:[e.jsx("p",{className:"text-sm font-semibold text-[var(--color-text-primary)]",children:"Privacy unchanged"}),e.jsxs("p",{className:"mt-1.5 text-sm leading-relaxed text-[var(--color-text-secondary)]",children:["QuickSnap still uses the minimal"," ",e.jsx("code",{className:"rounded bg-[var(--color-surface-overlay)] px-1.5 py-0.5 font-mono text-[12px]",children:"drive.file"})," ","scope. We can only see files our app creates, nothing else in your Drive."]})]}),r&&e.jsx("p",{className:"mt-8 text-xs text-[var(--color-text-tertiary)]",children:"Already signed up on a different device? Just continue with Google using the same account. Your captures will appear in the new dashboard."})]})]})}function n({title:t,body:s}){return e.jsxs("div",{className:"rounded-lg border border-[var(--color-border-subtle)] bg-[var(--color-surface)] p-4",children:[e.jsx("p",{className:"text-sm font-semibold text-[var(--color-text-primary)]",children:t}),e.jsx("p",{className:"mt-1.5 text-xs leading-relaxed text-[var(--color-text-secondary)]",children:s})]})}function g(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":!0,children:e.jsx("path",{d:"M21.35 11.1H12v3.2h5.35c-.5 2.4-2.5 3.6-5.35 3.6a5.9 5.9 0 1 1 0-11.8 5.6 5.6 0 0 1 3.95 1.55l2.4-2.4A9 9 0 1 0 12 21a8.4 8.4 0 0 0 8.6-8.6c0-.6-.05-1-.15-1.3z",fill:"currentColor"})})}export{w as component};
2//# sourceMappingURL=welcome-DkBo2mRg.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.