CoolFace
Apppublic

admin08077/Githubgemini

sourceHugging Faceotherupdated 10mo agoView on Hugging Face
0likes
DigitalWhiteboard-BCTMhEnP.js4 linesDownload Raw Back to assets
1import{r as m,j as e}from"./react-CIdJ77ke.js";import{E as v,Z as k,_ as S,S as C,L as z,M}from"./index-CX7Qxd1D.js";import"./accessibilityService-PX6aNbbc.js";import"./workspaceConnectorService-KhhKdOYD.js";import"./@braintree-DzxiOROe.js";import"./react-dom-R9L8nDNe.js";import"./scheduler-CoSDG3-6.js";import"./@google-CcUHq7Ay.js";import"./idb-Dob3nYDb.js";import"./marked-BrGMJkBT.js";import"./mermaid-KwKZWwy0.js";import"./dayjs-CeEF-NGT.js";import"./d3-transition-CiCB8KJE.js";import"./d3-timer-DdKHrDhs.js";import"./d3-dispatch-kxCwF96_.js";import"./d3-interpolate-CtIaNujU.js";import"./d3-color-amxIadob.js";import"./d3-selection-C52G7wmG.js";import"./d3-ease-DRPgKoYJ.js";import"./d3-zoom-BYoC3mS3.js";import"./dompurify-J5RlrwSC.js";import"./dagre-d3-es-CTpFWynZ.js";import"./lodash-es-Dt6r0yiR.js";import"./d3-shape-CX8xTzfR.js";import"./d3-path-CimkQT29.js";import"./d3-fetch-BOsq7VnW.js";import"./khroma-DUX6PT6k.js";import"./uuid-DhYbOkY1.js";import"./d3-scale-DRZz3QW5.js";import"./internmap-BkD7Hj8s.js";import"./d3-array-DGRYoJHh.js";import"./d3-format-CzD4bSOQ.js";import"./d3-time-format-CUNN4Ell.js";import"./d3-time-6cSPyVSY.js";import"./d3-axis-DSWTncID.js";import"./elkjs-oKFFZvz7.js";import"./cytoscape-DtBltrT8.js";import"./cytoscape-cose-bilkent-Cgr1thlj.js";import"./cose-base-CwCxnKwh.js";import"./layout-base-CMXQqlmj.js";import"./d3-sankey-DgqkLiUE.js";import"./d3-scale-chromatic-B-NsZVaP.js";import"./ts-dedent-DrFu-skq.js";import"./stylis-D5iaQeiq.js";import"./mdast-util-from-markdown-CLAsVoWb.js";import"./micromark-CTBPIv-_.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-factory-space-x2vfxbz5.js";import"./micromark-util-character-Bcm1tP9o.js";import"./micromark-core-commonmark-AH8VCgT7.js";import"./micromark-util-classify-character-Cq7Fg3xE.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-subtokenize-QwsxNXk2.js";import"./micromark-factory-destination-CypD_wgM.js";import"./micromark-factory-label-CRHH4ZHP.js";import"./micromark-factory-title-B7kCBvC9.js";import"./micromark-factory-whitespace-B322EA6O.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-html-tag-name-DbKNfynz.js";import"./micromark-util-decode-numeric-character-reference-DRnCnno4.js";import"./micromark-util-decode-string-DJl8Y_PO.js";import"./unist-util-stringify-position-Ch_qCilz.js";import"./mdast-util-to-string-C_aolqmU.js";import"./jszip-CFFhfFtd.js";import"./octokit-B6bKu3NB.js";import"./@octokit-MBEWYTsi.js";import"./bottleneck-D_vuF9V7.js";import"./universal-user-agent-CLgqIJsR.js";import"./before-after-hook-y8XtM9xW.js";import"./fast-content-type-parse-3SwieiST.js";import"./axe-core-Cc5paZPx.js";const p=["bg-yellow-400","bg-green-400","bg-blue-400","bg-pink-400","bg-purple-400","bg-orange-400"],D=["text-yellow-900","text-green-900","text-blue-900","text-pink-900","text-purple-900","text-orange-900"],Ht=()=>{const[i,c]=v("devcore_whiteboard_notes",[]),[s,x]=m.useState(null),[a,g]=m.useState(!1),[d,n]=m.useState(""),h=m.useCallback(async()=>{if(i.length!==0){g(!0),n("");try{const t=i.map(l=>`- ${l.text}`).join(`2`),r=k(t);let o="";for await(const l of r)o+=l,n(o)}catch(t){console.error(t),n("Sorry, an error occurred while summarizing.")}finally{g(!1)}}},[i]),y=()=>{const t={id:Date.now(),text:"New idea...",x:50,y:50,color:p[i.length%p.length]};c([...i,t])},j=(t,r)=>{r.stopPropagation(),c(i.filter(o=>o.id!==t))},u=(t,r)=>{c(i.map(o=>o.id===t?{...o,...r}:o))},N=(t,r)=>{const o=t.target;if(o.tagName==="TEXTAREA"||o.dataset.role==="button")return;const b=t.currentTarget.getBoundingClientRect();x({id:r,offsetX:t.clientX-b.left,offsetY:t.clientY-b.top})},w=t=>{if(!s)return;const r=t.currentTarget.getBoundingClientRect();u(s.id,{x:t.clientX-s.offsetX-r.left,y:t.clientY-s.offsetY-r.top})},f=()=>x(null);return e.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8 text-text-primary",children:[e.jsxs("header",{className:"mb-6 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-3xl font-bold flex items-center",children:[e.jsx(S,{}),e.jsx("span",{className:"ml-3",children:"Digital Whiteboard"})]}),e.jsx("p",{className:"text-text-secondary mt-1",children:"Organize your ideas with interactive sticky notes and AI summaries."})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("button",{onClick:h,disabled:a||i.length===0,className:"btn-primary flex items-center gap-2 px-4 py-2",children:[e.jsx(C,{})," ",a?"Summarizing...":"AI Summarize"]}),e.jsx("button",{onClick:y,className:"btn-primary px-6 py-2",children:"Add Note"})]})]}),e.jsx("div",{className:"relative flex-grow bg-background border-2 border-dashed border-border rounded-lg overflow-hidden",onMouseMove:w,onMouseUp:f,onMouseLeave:f,children:i.map(t=>e.jsxs("div",{className:`group absolute w-56 h-56 p-2 flex flex-col shadow-lg cursor-grab active:cursor-grabbing rounded-md transition-transform duration-100 border border-black/40 ${t.color} ${D[p.indexOf(t.color)]}`,style:{top:t.y,left:t.x,transform:s?.id===t.id?"scale(1.05)":"scale(1)"},onMouseDown:r=>N(r,t.id),children:[e.jsx("button",{"data-role":"button",onClick:r=>j(t.id,r),className:"absolute -top-2 -right-2 w-6 h-6 rounded-full bg-gray-700 text-white font-bold text-xs flex items-center justify-center opacity-0 group-hover:opacity-100 hover:bg-red-500 transition-all",children:"×"}),e.jsx("textarea",{value:t.text,onChange:r=>u(t.id,{text:r.target.value}),className:"w-full h-full bg-transparent resize-none focus:outline-none font-medium p-1"}),e.jsx("div",{"data-role":"button",className:"flex-shrink-0 flex justify-center gap-1 p-1 opacity-0 group-hover:opacity-100 transition-opacity",children:p.map((r,o)=>e.jsx("button",{onClick:()=>u(t.id,{color:r}),className:`w-4 h-4 rounded-full ${r} border border-black/20 ${t.color===r?"ring-2 ring-offset-1 ring-black/50":""}`},r))})]},t.id))}),(a||d)&&e.jsx("div",{className:"fixed inset-0 bg-gray-900/80 backdrop-blur-sm z-50 flex items-center justify-center",onClick:()=>n(""),children:e.jsxs("div",{className:"w-full max-w-2xl bg-surface border border-border rounded-lg shadow-2xl p-6",onClick:t=>t.stopPropagation(),children:[e.jsx("h2",{className:"text-xl font-bold mb-4",children:"AI Summary of Notes"}),a&&!d?e.jsx(z,{}):e.jsx(M,{content:d})]})})]})};export{Ht as DigitalWhiteboard};3//# sourceMappingURL=DigitalWhiteboard-BCTMhEnP.js.map4