1import{M as z,n as J,l as X,r as s,a5 as Z,aP as ee,aQ as oe,j as a,aR as te,aS as se,aT as ae,aU as ne,d as de,e as R,g as re,aV as ie,aW as le}from"./index-B-XoyWcT.js";import{b as ce}from"./reducer-BO06breU.js";import{f as me,C as ue,a as pe}from"./CanvasDayArtifacts-BpcqN_XQ.js";import{C as fe,a as ge,b as xe,c as ye}from"./CanvasContinueWriting-Bxktr_ft.js";import{S as he}from"./SharePageModal-q-AcmYH6.js";import{B as ke}from"./BookmarkEditorModal-CCSWxEuq.js";import{T as Te}from"./TodoEditorModal-DWztV9Gy.js";import{g as B}from"./greetings-D49F1TCm.js";import{u as ve}from"./useTopChrome-DK1O8X1l.js";import"./CanvasEventBlock-CiMTNAVL.js";import"./date-utils-CvIgZV1q.js";import"./editor-shortcuts-B0ZpMnSz.js";import"./AttachmentLinkPreview-DDVRxX8-.js";import"./HashtagChip-CefVyJh6.js";import"./mask-email-BqD4ixP4.js";import"./copy-FCNkX7J-.js";import"./bookmark-category-icon-UWKt-qQw.js";import"./book-open-Tq5SwSgt.js";import"./palette-foKruS-W.js";import"./auto-resize-pfVCHhta.js";import"./trash-2-7pNvyGe_.js";import"./useCanvasDraftValue-CzVxxDA1.js";import"./NoteCanvasEditor-C5KopaoL.js";import"./MobileSaveButton-DVgLK0Z6.js";import"./index-B7bfAo6t.js";import"./EmojiPicker-B5PsjOWc.js";import"./emoji-search-CpBUui3D.js";import"./note-body-migration-C-Y9HSTg.js";import"./rich-text-caret-BhEmUJrN.js";import"./DrawerHeaderRow-BEF0Dimi.js";import"./grip-horizontal-BTvHcbV-.js";import"./useDrawerDrag-CKdpx-gw.js";import"./cards-BqPGT7Rj.js";import"./clock-3-C-wiyqU6.js";import"./arrow-right-Dg2Y6bMk.js";import"./page-doc-B0JnG26H.js";import"./share-url-B755p4gx.js";import"./eye-off-BjkGb9Xj.js";import"./use-create-canvas-C9yrzKnx.js";import"./arrow-left-DMvGUpsc.js";import"./insights-local-MGwSI_ad.js";import"./ShareEncryptionNotice-HobYuirr.js";import"./info-9o0Vo3iL.js";import"./ShareFolderModalShell-BjAb5WnP.js";import"./eye-mpLAEPPF.js";import"./layout-grid-DcCJQc_G.js";import"./page-images-DcWcmD1O.js";import"./circle-check-D7L_N8hd.js";const O="omanote:canvas-welcome-seen";function yo(){var F;const{state:t,dispatch:r,isCanvasContentLoading:P}=z(),{user:c}=J(),v=X(),g=s.useMemo(()=>{var o;const e=(o=c==null?void 0:c.name)==null?void 0:o.trim();return e?e.split(" ")[0]:"there"},[c==null?void 0:c.name]),l=s.useMemo(()=>new Date,[]),i=s.useMemo(()=>Z(l),[l]),[x]=s.useState(()=>!ee(O));s.useEffect(()=>{x&&oe(O)},[x]);const D=s.useMemo(()=>x?{...B(l,g),text:`Welcome to omanote, ${g}`,emoji:"ð"}:B(l,g),[l,g,x]),I=s.useMemo(()=>me(l),[l]),[k,T]=s.useState(null),[W,y]=s.useState(null),[G,b]=s.useState(null),[L,C]=s.useState(null),K=s.useCallback(()=>v("/history"),[v]),V=s.useMemo(()=>a.jsx(ue,{label:I,mode:"enter",onToggle:K}),[I,K]);ve(V);const U=s.useMemo(()=>new Map(t.bookmarkCategories.map(e=>[e.id,e])),[t.bookmarkCategories]),h=s.useMemo(()=>te(t.todos),[t.todos]),j=s.useMemo(()=>ce(t,i,h),[t.todos,t.notes,t.bookmarks,t.events,i,h]),_=s.useMemo(()=>{const e=[];for(const o of t.todos)if(o.recurrence){const n=se(o,h.get(o.id),i);n&&e.push(n)}else!o.deletedAt&&o.status==="open"&&o.dueDateKey&&o.dueDateKey<i&&e.push(o);return e.sort((o,n)=>o.dueDateKey<n.dueDateKey?-1:o.dueDateKey>n.dueDateKey?1:0)},[t.todos,i,h]),H=s.useMemo(()=>{let e=null;const o=n=>{n<i&&(!e||n>e)&&(e=n)};for(const n of t.todos)o(n.createdDateKey);for(const n of t.notes)o(n.createdDateKey);for(const n of t.bookmarks)o(n.createdDateKey);for(const n of t.events)o(n.createdDateKey);return e?le(e,i):0},[t.todos,t.notes,t.bookmarks,t.events,i]),p=t.bookmarks.find(e=>e.id===W)??null,w=t.pages.find(e=>e.id===L)??null,Q=k?((F=ae(k))==null?void 0:F.masterId)??k:null,m=t.todos.find(e=>e.id===Q)??null,E=s.useCallback(e=>{T(e.id)},[]),S=s.useCallback((e,o)=>{r({type:"todo/update",todoId:e.id,title:o,dueDateKey:e.dueDateKey,dueTime:e.dueTime})},[r]),Y=s.useCallback(e=>{r({type:"todo/toggle",todoId:e.id})},[r]),M=s.useCallback(e=>{r({type:"todo/delete",todoId:e.id})},[r]),$=s.useCallback(e=>{r({type:"todo/toggle",todoId:e.id}),b(o=>({kind:"completed",count:(o==null?void 0:o.kind)==="completed"?o.count+1:1}))},[r]),q=s.useCallback((e,o)=>{const n=o==="nextWeek"?ne(i,7):i;r({type:"todo/update",todoId:e.id,title:e.title,dueDateKey:n,dueTime:e.dueTime}),b(d=>({kind:"bumped",count:(d==null?void 0:d.kind)==="bumped"?d.count+1:1}))},[r,i]),f=de(R.sharedTodoFolders.listMyActiveSharedFolderIds),N=re(R.sharedTodoFolders.updateShareSnapshot),u=s.useRef(null);s.useEffect(()=>{if(f!=null&&f.length)return u.current!==null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>{u.current=null;for(const e of f){const o=t.todoFolders.find(d=>d.id===e);if(!o)continue;const n=t.todos.filter(d=>d.folderId===e&&!d.deletedAt).map(d=>({id:d.id,title:d.title,status:d.status,dueDateKey:d.dueDateKey,dueTime:d.dueTime,createdAt:d.createdAt,completedAt:
1d.completedAt}));N({todoFolderId:e,folderName:o.name,folderIcon:o.icon,todos:n})}},2e3),()=>{u.current!==null&&window.clearTimeout(u.current)}},[t.todos,t.todoFolders,f,N]);const A=j.length===0;return a.jsxs("div",{className:"mx-auto flex w-full flex-1 flex-col pb-24",style:{overflowAnchor:"none",minHeight:"calc(100dvh - var(--omanote-top-chrome-height, 0px) - var(--omanote-bottom-nav-height, 64px) - 3rem)"},children:[P?a.jsx(ie,{}):a.jsxs("div",{className:"mt-4 flex flex-col gap-10",children:[a.jsx("div",{"aria-hidden":"true",className:"transition-[flex-grow] duration-app-slow ease-app-in-out",style:{flexGrow:A?1:0,flexBasis:0}}),a.jsxs("div",{className:"flex flex-col gap-6",children:[a.jsxs("div",{className:"flex flex-col gap-4",children:[a.jsxs("p",{className:"app-title-font flex flex-col text-left text-4xl font-bold text-app-ink md:flex-row md:gap-2",children:[a.jsx("span",{children:D.emoji}),a.jsx("span",{children:D.text})]}),a.jsx(fe,{})]}),a.jsx(ge,{}),a.jsx(xe,{pages:t.pages,todayKey:i,dispatch:r}),a.jsx(ye,{overdueTodos:_,daysAway:H,recentAction:G,canvasDateKey:i,onOpenEditor:E,onInlineTitleEdit:S,onToggle:$,onDelete:M,onReschedule:q})]}),a.jsxs("div",{className:"flex flex-col gap-4",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("p",{className:"shrink-0 text-[11px] font-extrabold uppercase text-app-ink-faint",children:"Today"}),a.jsx("div",{"aria-hidden":"true",className:"h-px min-w-4 flex-1 bg-app-line"})]}),a.jsx(pe,{items:j,canvasDateKey:i,dispatch:r,noteFolders:t.noteFolders,todoFolders:t.todoFolders,categoryById:U,onOpenTodoEditor:E,onInlineTodoTitleEdit:S,onToggleTodo:Y,onDeleteTodo:M,onEditBookmark:e=>y(e),onSharePage:e=>C(e)})]}),a.jsx("div",{"aria-hidden":"true",className:"transition-[flex-grow] duration-app-slow ease-app-in-out",style:{flexGrow:A?1:0,flexBasis:0}})]}),p?a.jsx(ke,{bookmark:p,categories:t.bookmarkCategories,selectedCategoryId:p.categoryId,onClose:()=>y(null),onSave:e=>{r({type:"bookmark/update",bookmarkId:p.id,categoryId:e.categoryId,categoryName:e.categoryName,url:e.url,draftKey:e.draftKey}),y(null)},onDelete:()=>{r({type:"bookmark/delete",bookmarkId:p.id}),y(null)}}):null,w?a.jsx(he,{page:w,isTodoDone:e=>t.todos.some(o=>o.clientKey===e&&o.status==="done"),getBookmark:e=>t.bookmarks.find(o=>o.clientKey===e),onClose:()=>C(null)}):null,m?a.jsx(Te,{todo:m,folders:t.todoFolders,selectedFolderId:m.folderId,selectedDateKey:m.dueDateKey??m.createdDateKey,onClose:()=>T(null),onToggle:e=>r({type:"todo/toggle",todoId:e}),onSave:e=>{r({type:"todo/update",todoId:m.id,title:e.title,dueDateKey:e.dueDateKey,dueTime:e.dueTime,hashtags:e.hashtags,folderId:e.folderId,folderName:e.folderName,recurrence:e.recurrence,reminderEveryMinutes:e.reminderEveryMinutes,reminderUntil:e.reminderUntil}),T(null)}}):null]})}export{yo as CanvasScreen};
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.