ocean-brain 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +73 -41
- package/dist/mcp.js +587 -26
- package/package.json +6 -1
- package/scripts/postinstall-prisma.mjs +41 -0
- package/server/client/dist/assets/Calendar-DRv2aEl8.js +28 -0
- package/server/client/dist/assets/Callout-B2kPcDrq.js +1 -0
- package/server/client/dist/assets/Graph-DotbTrZR.js +1 -0
- package/server/client/dist/assets/Image-B5R7gF2P.js +1 -0
- package/server/client/dist/assets/Image.es-Dld9r9MJ.js +1 -0
- package/server/client/dist/assets/ModalActionRow-CES9L_Gy.js +1 -0
- package/server/client/dist/assets/Note-SK4hDhEM.css +1 -0
- package/server/client/dist/assets/Note-cIbXJc1v.js +1 -0
- package/server/client/dist/assets/Reminders-4LunlZRb.js +1 -0
- package/server/client/dist/assets/{Search-BANPp2ZV.js → Search-Cp17DGR6.js} +1 -1
- package/server/client/dist/assets/SurfaceCard-yzVU4Qkx.js +1 -0
- package/server/client/dist/assets/Tag-CwmuMPmo.js +1 -0
- package/server/client/dist/assets/TagNotes-gGroWMtT.js +1 -0
- package/server/client/dist/assets/Trash.es-B3KWD8_C.js +1 -0
- package/server/client/dist/assets/color-wpu7wT_s.js +1 -0
- package/server/client/dist/assets/{image.api-rBH0OSWJ.js → image.api-DJgOBt8S.js} +1 -1
- package/server/client/dist/assets/index-40Y2UsVr.js +205 -0
- package/server/client/dist/assets/index-BnxpTwtL.css +1 -0
- package/server/client/dist/assets/index-DYUg2N-6.js +1 -0
- package/server/client/dist/assets/manage-image-ByY1mRZx.js +1 -0
- package/server/client/dist/assets/manage-image-detail-BVaDZHRu.js +1 -0
- package/server/client/dist/assets/mcp-Jj3061aI.js +1 -0
- package/server/client/dist/assets/placeholder-4P_GK7fV.js +34 -0
- package/server/client/dist/assets/trash-CPBwY07S.js +1 -0
- package/server/client/dist/assets/{useReminderMutate-CU-UinGn.js → useReminderMutate-1YVndM2T.js} +1 -1
- package/server/client/dist/index.html +2 -2
- package/server/dist/app.js +97 -9
- package/server/dist/app.js.map +1 -1
- package/server/dist/main.js +16 -2
- package/server/dist/main.js.map +1 -1
- package/server/dist/modules/auth-guard.js +73 -0
- package/server/dist/modules/auth-guard.js.map +1 -0
- package/server/dist/modules/auth-mode.js +51 -0
- package/server/dist/modules/auth-mode.js.map +1 -0
- package/server/dist/modules/auth.js +9 -0
- package/server/dist/modules/auth.js.map +1 -1
- package/server/dist/modules/blocknote.js +7 -1
- package/server/dist/modules/blocknote.js.map +1 -1
- package/server/dist/modules/error-handler.js +41 -0
- package/server/dist/modules/error-handler.js.map +1 -0
- package/server/dist/modules/image-upload.js +114 -0
- package/server/dist/modules/image-upload.js.map +1 -0
- package/server/dist/modules/mcp-admin.js +88 -0
- package/server/dist/modules/mcp-admin.js.map +1 -0
- package/server/dist/modules/mcp-auth.js +71 -0
- package/server/dist/modules/mcp-auth.js.map +1 -0
- package/server/dist/modules/mcp-token.js +28 -0
- package/server/dist/modules/mcp-token.js.map +1 -0
- package/server/dist/modules/note-authoring.js +140 -0
- package/server/dist/modules/note-authoring.js.map +1 -0
- package/server/dist/modules/note-cleanup.js +207 -0
- package/server/dist/modules/note-cleanup.js.map +1 -0
- package/server/dist/modules/note-snapshot.js +223 -0
- package/server/dist/modules/note-snapshot.js.map +1 -0
- package/server/dist/modules/note-trash.js +262 -0
- package/server/dist/modules/note-trash.js.map +1 -0
- package/server/dist/modules/prisma-runtime.js +46 -0
- package/server/dist/modules/prisma-runtime.js.map +1 -0
- package/server/dist/modules/recovery-retention.js +26 -0
- package/server/dist/modules/recovery-retention.js.map +1 -0
- package/server/dist/modules/remote-image.js +176 -0
- package/server/dist/modules/remote-image.js.map +1 -0
- package/server/dist/modules/tag-organization.js +66 -0
- package/server/dist/modules/tag-organization.js.map +1 -0
- package/server/dist/modules/use-async.js +2 -4
- package/server/dist/modules/use-async.js.map +1 -1
- package/server/dist/schema/note/index.js +150 -6
- package/server/dist/schema/note/index.js.map +1 -1
- package/server/dist/start.js +11 -0
- package/server/dist/start.js.map +1 -0
- package/server/dist/types/index.js.map +1 -1
- package/server/dist/urls.js +3 -2
- package/server/dist/urls.js.map +1 -1
- package/server/dist/views/auth.js +305 -0
- package/server/dist/views/auth.js.map +1 -0
- package/server/dist/views/image.js +24 -81
- package/server/dist/views/image.js.map +1 -1
- package/server/dist/views/index.js +4 -0
- package/server/dist/views/index.js.map +1 -1
- package/server/dist/views/mcp-admin.js +42 -0
- package/server/dist/views/mcp-admin.js.map +1 -0
- package/server/dist/views/note.js +124 -0
- package/server/dist/views/note.js.map +1 -0
- package/server/dist/views/tag.js +23 -0
- package/server/dist/views/tag.js.map +1 -0
- package/server/prisma/migrations/20260331183000_0010_note_snapshot/migration.sql +13 -0
- package/server/prisma/migrations/20260331195000_0011_note_trash_entities/migration.sql +35 -0
- package/server/prisma/migrations/20260331213000_0012_image_hash_unique/migration.sql +49 -0
- package/server/prisma/migrations/20260404000000_0013_mcp_admin_control/migration.sql +9 -0
- package/server/prisma/schema.prisma +66 -1
- package/server/client/dist/assets/Calendar-ST5q_8KT.js +0 -48
- package/server/client/dist/assets/Callout-CrWW3bg0.js +0 -1
- package/server/client/dist/assets/Graph-CzJjt6rP.js +0 -1
- package/server/client/dist/assets/Image-Dxg1qqZw.js +0 -1
- package/server/client/dist/assets/Image.es-DZ0H6wH1.js +0 -1
- package/server/client/dist/assets/Note-Bu7fN3B6.js +0 -6
- package/server/client/dist/assets/Note-CCvXqPzv.css +0 -1
- package/server/client/dist/assets/Plus.es-CS3WVMDq.js +0 -1
- package/server/client/dist/assets/PriorityLegend-D61iBwNW.js +0 -1
- package/server/client/dist/assets/Reminders-BjirJMOR.css +0 -1
- package/server/client/dist/assets/Reminders-DjWRombU.js +0 -1
- package/server/client/dist/assets/Tag-DbKSLTj0.js +0 -1
- package/server/client/dist/assets/TagNotes-B6s7jtL7.js +0 -1
- package/server/client/dist/assets/index-BzWwEDoL.js +0 -1
- package/server/client/dist/assets/index-CF5_ZCYN.js +0 -162
- package/server/client/dist/assets/index-DjZk2Gpg.css +0 -1
- package/server/client/dist/assets/manage-image-detail-DOx6QsCl.js +0 -1
- package/server/client/dist/assets/manage-image-g-MC6Fkc.js +0 -1
- package/server/client/dist/assets/placeholder-DV3u6MrA.js +0 -34
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as a}from"./note-vendor-BofYbzmZ.js";import{a4 as g,ab as j,L as x,N as y,x as E,ac as C,a8 as M,Y as _,a1 as w,u as h,q as m,ad as Z,P as v,a5 as p,a as L,ae as I,B as f,af as T,f as F,aa as S}from"./index-CF5_ZCYN.js";import{I as R,n as k}from"./Image-Dxg1qqZw.js";import{a as e}from"./graph-vendor-CUxe67Lr.js";import{a as D,d as q}from"./image.api-rBH0OSWJ.js";import{I as z}from"./Image.es-DZ0H6wH1.js";import"./note-core-BCgMq5QA.js";const G=new Map([["bold",e.createElement(e.Fragment,null,e.createElement("path",{d:"M178,36c-20.09,0-37.92,7.93-50,21.56C115.92,43.93,98.09,36,78,36a66.08,66.08,0,0,0-66,66c0,72.34,105.81,130.14,110.31,132.57a12,12,0,0,0,11.38,0C138.19,232.14,244,174.34,244,102A66.08,66.08,0,0,0,178,36Zm-5.49,142.36A328.69,328.69,0,0,1,128,210.16a328.69,328.69,0,0,1-44.51-31.8C61.82,159.77,36,131.42,36,102A42,42,0,0,1,78,60c17.8,0,32.7,9.4,38.89,24.54a12,12,0,0,0,22.22,0C145.3,69.4,160.2,60,178,60a42,42,0,0,1,42,42C220,131.42,194.18,159.77,172.51,178.36Z"}))],["duotone",e.createElement(e.Fragment,null,e.createElement("path",{d:"M232,102c0,66-104,122-104,122S24,168,24,102A54,54,0,0,1,78,48c22.59,0,41.94,12.31,50,32,8.06-19.69,27.41-32,50-32A54,54,0,0,1,232,102Z",opacity:"0.2"}),e.createElement("path",{d:"M178,40c-20.65,0-38.73,8.88-50,23.89C116.73,48.88,98.65,40,78,40a62.07,62.07,0,0,0-62,62c0,70,103.79,126.66,108.21,129a8,8,0,0,0,7.58,0C136.21,228.66,240,172,240,102A62.07,62.07,0,0,0,178,40ZM128,214.8C109.74,204.16,32,155.69,32,102A46.06,46.06,0,0,1,78,56c19.45,0,35.78,10.36,42.6,27a8,8,0,0,0,14.8,0c6.82-16.67,23.15-27,42.6-27a46.06,46.06,0,0,1,46,46C224,155.61,146.24,204.15,128,214.8Z"}))],["fill",e.createElement(e.Fragment,null,e.createElement("path",{d:"M240,102c0,70-103.79,126.66-108.21,129a8,8,0,0,1-7.58,0C119.79,228.66,16,172,16,102A62.07,62.07,0,0,1,78,40c20.65,0,38.73,8.88,50,23.89C139.27,48.88,157.35,40,178,40A62.07,62.07,0,0,1,240,102Z"}))],["light",e.createElement(e.Fragment,null,e.createElement("path",{d:"M178,42c-21,0-39.26,9.47-50,25.34C117.26,51.47,99,42,78,42a60.07,60.07,0,0,0-60,60c0,29.2,18.2,59.59,54.1,90.31a334.68,334.68,0,0,0,53.06,37,6,6,0,0,0,5.68,0,334.68,334.68,0,0,0,53.06-37C219.8,161.59,238,131.2,238,102A60.07,60.07,0,0,0,178,42ZM128,217.11C111.59,207.64,30,157.72,30,102A48.05,48.05,0,0,1,78,54c20.28,0,37.31,10.83,44.45,28.27a6,6,0,0,0,11.1,0C140.69,64.83,157.72,54,178,54a48.05,48.05,0,0,1,48,48C226,157.72,144.41,207.64,128,217.11Z"}))],["regular",e.createElement(e.Fragment,null,e.createElement("path",{d:"M178,40c-20.65,0-38.73,8.88-50,23.89C116.73,48.88,98.65,40,78,40a62.07,62.07,0,0,0-62,62c0,70,103.79,126.66,108.21,129a8,8,0,0,0,7.58,0C136.21,228.66,240,172,240,102A62.07,62.07,0,0,0,178,40ZM128,214.8C109.74,204.16,32,155.69,32,102A46.06,46.06,0,0,1,78,56c19.45,0,35.78,10.36,42.6,27a8,8,0,0,0,14.8,0c6.82-16.67,23.15-27,42.6-27a46.06,46.06,0,0,1,46,46C224,155.61,146.24,204.15,128,214.8Z"}))],["thin",e.createElement(e.Fragment,null,e.createElement("path",{d:"M178,44c-21.44,0-39.92,10.19-50,27.07C117.92,54.19,99.44,44,78,44a58.07,58.07,0,0,0-58,58c0,28.59,18,58.47,53.4,88.79a333.81,333.81,0,0,0,52.7,36.73,4,4,0,0,0,3.8,0,333.81,333.81,0,0,0,52.7-36.73C218,160.47,236,130.59,236,102A58.07,58.07,0,0,0,178,44ZM128,219.42c-14-8-100-59.35-100-117.42A50.06,50.06,0,0,1,78,52c21.11,0,38.85,11.31,46.3,29.51a4,4,0,0,0,7.4,0C139.15,63.31,156.89,52,178,52a50.06,50.06,0,0,1,50,50C228,160,142,211.46,128,219.42Z"}))]]),B=new Map([["bold",e.createElement(e.Fragment,null,e.createElement("path",{d:"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"}))],["duotone",e.createElement(e.Fragment,null,e.createElement("path",{d:"M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z",opacity:"0.2"}),e.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["fill",e.createElement(e.Fragment,null,e.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z"}))],["light",e.createElement(e.Fragment,null,e.createElement("path",{d:"M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"}))],["regular",e.createElement(e.Fragment,null,e.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["thin",e.createElement(e.Fragment,null,e.createElement("path",{d:"M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"}))]]),A=e.forwardRef((n,l)=>e.createElement(g,{ref:l,...n,weights:G}));A.displayName="HeartIcon";const O=A,b=e.forwardRef((n,l)=>e.createElement(g,{ref:l,...n,weights:B}));b.displayName="LinkIcon";const H=b;function U({id:n,title:l,tags:s,createdAt:d,updatedAt:o}){const c=new Date(Number(d)),r=j(Number(o));return a.jsx("div",{className:"border-b-2 border-dashed border-border-subtle last:border-b-0",children:a.jsxs("div",{className:"py-4 flex flex-col gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-fg-tertiary text-xs font-medium",children:r}),a.jsxs("span",{className:"text-fg-placeholder text-xs",children:["(",c.toDateString(),")"]})]}),a.jsx(x,{className:"font-bold text-fg-default hover:text-accent-primary transition-colors",to:y,params:{id:n},children:l||"Untitled"}),s&&s.length>0&&a.jsx("div",{className:"flex flex-wrap gap-1.5",children:s.map(i=>a.jsx(x,{to:E,params:{id:i.id},search:{page:1},children:a.jsx(C,{name:i.name})},i.id))})]})})}const u=F(S),W=()=>{const n=M(),l=_(),{id:s}=u.useParams(),d=u.useNavigate(),o=w(),{data:c}=h({queryKey:m.images.detail(s??""),async queryFn(){const t=await D(s);if(t.type==="error")throw t;return t.image},enabled:!!s}),{data:r}=h({queryKey:m.images.notes(s??""),async queryFn(){const t=await Z(c.url);if(t.type==="error")throw t;return t.imageNotes},enabled:!!c}),i=!r||(r?.length||0)>0,N=async()=>{if(!i&&await n("Are you really sure?")){const t=await q(s);if(t.type==="error"){l(t.errors[0].message);return}if(!t.deleteImage){l("Failed to delete image");return}d({to:p,search:{page:1}})}};return a.jsxs(v,{title:"Image Detail",variant:"none",children:[a.jsxs(x,{to:p,search:{page:1},className:"inline-flex items-center gap-1 text-sm font-bold text-fg-tertiary hover:text-accent-primary transition-colors mb-4",children:[a.jsx(L,{size:16}),"Back to Images"]}),a.jsxs("div",{className:"flex gap-6 flex-col lg:flex-row",children:[c&&a.jsx("div",{className:"w-full lg:w-[400px] lg:flex-shrink-0",children:a.jsxs("div",{className:"bg-subtle rounded-[16px_5px_17px_4px/5px_13px_5px_15px] border-2 border-border shadow-sketchy overflow-hidden",children:[a.jsx("div",{className:"bg-muted/30 p-4 flex items-center justify-center",children:a.jsx(R,{className:"max-h-80 w-auto max-w-full object-contain rounded-sketchy-sm",src:c.url})}),a.jsxs("div",{className:"p-4 flex flex-col gap-3 border-t-2 border-dashed border-border-subtle",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(H,{size:14,className:"text-fg-tertiary"}),a.jsxs("span",{className:"text-sm font-bold text-fg-secondary",children:[r?.length||0," ",(r?.length||0)===1?"reference":"references"]})]})}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(I,{content:i?"Cannot delete while referenced by notes":"Delete this image",side:"bottom",children:a.jsxs(f,{variant:"danger",size:"sm",className:"flex-1",disabled:i,onClick:N,children:[a.jsx(k,{size:16}),a.jsx("span",{children:"Delete"})]})}),a.jsxs(f,{variant:"ghost",size:"sm",className:"flex-1",onClick:async()=>{await T("heroBanner",c.url),await o.invalidateQueries({queryKey:m.ui.heroBanner(),exact:!0})},children:[a.jsx(O,{size:16,className:"fill-red-500 text-red-500"}),a.jsx("span",{children:"Set hero banner"})]})]})]})]})}),a.jsx("div",{className:"flex-1 min-w-0",children:r&&r.length>0?a.jsxs("div",{className:"bg-subtle rounded-[16px_5px_17px_4px/5px_13px_5px_15px] border-2 border-border shadow-sketchy p-4",children:[a.jsx("p",{className:"text-sm font-bold mb-2 pb-2 border-b-2 border-dashed border-border-subtle",children:"Referenced Notes"}),a.jsx("ul",{className:"flex flex-col",children:r.map(t=>a.jsx("li",{children:a.jsx(U,{...t})},t.id))})]}):a.jsxs("div",{className:"bg-subtle rounded-[16px_5px_17px_4px/5px_13px_5px_15px] border-2 border-border p-8 flex flex-col items-center justify-center text-center",children:[a.jsx(z,{size:32,className:"text-fg-disabled mb-2"}),a.jsx("p",{className:"text-sm font-bold text-fg-tertiary",children:"No notes reference this image"}),a.jsx("p",{className:"text-xs text-fg-placeholder mt-1",children:"This image can be safely deleted"})]})})]})]})};export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./note-vendor-BofYbzmZ.js";import{l as g,q as u,a8 as y,a1 as j,w as I,a9 as b,P as v,Q as _,F as c,L as E,aa as A,B as w,h as M,E as N,S as d,f as T,a5 as G}from"./index-CF5_ZCYN.js";import"./graph-vendor-CUxe67Lr.js";import{I as S,n as k}from"./Image-Dxg1qqZw.js";import{f as R,d as P}from"./image.api-rBH0OSWJ.js";import"./note-core-BCgMq5QA.js";const C=t=>{const{data:n}=g({queryKey:u.images.list(t.searchParams),async queryFn(){const r=await R({offset:t.searchParams.offset,limit:t.searchParams.limit});if(r.type==="error")throw r;return r.allImages}});return t.render(n)},q=240,F=20,L=4,m=T(G),U=()=>{const t=y(),n=j(),r=m.useNavigate(),{page:o}=m.useSearch(),{containerRef:h,limit:i}=I({minItemWidth:q,gap:F,rows:L}),x=b({mutationFn:P,onSuccess:s=>{if(s.type==="error")throw s;n.invalidateQueries({queryKey:u.images.listAll(),exact:!1})}}),p=async s=>{await t("Are you really sure?")&&x.mutate(s)};return e.jsx(v,{title:"Images",variant:"subtle",description:"Manage images uploaded to your notes",children:e.jsx("div",{ref:h,children:e.jsx(_,{fallback:e.jsxs("div",{className:"grid gap-5",style:{gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:[e.jsx(d,{height:"200px"}),e.jsx(d,{height:"200px"}),e.jsx(d,{height:"200px"})]}),errorTitle:"Failed to load images",errorDescription:"Retry loading uploaded image metadata.",resetKeys:[o,i],children:e.jsx(C,{searchParams:{offset:(o-1)*i,limit:i},render:({images:s,totalCount:l})=>e.jsx(c,{fallback:e.jsx(N,{icon:"🖼️",title:"There are no images",description:"Try drag and drop an image on the note editor."}),children:s.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid gap-5",style:{gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:s.map(a=>e.jsxs("div",{className:"rounded-[12px_4px_13px_3px/4px_10px_4px_12px] overflow-hidden border-2 border-border shadow-sketchy hover:shadow-sketchy-lg hover:-translate-y-0.5 active:translate-x-0.5 active:translate-y-0.5 active:shadow-none transition-all duration-200",children:[e.jsx(E,{to:A,params:{id:a.id},children:e.jsx(S,{className:"h-48 w-full object-cover",src:a.url,alt:a.id})}),e.jsxs("div",{className:"flex p-2 justify-between items-center border-t-2 border-dashed border-border-subtle bg-subtle",children:[e.jsxs("span",{className:"text-xs font-bold text-fg-secondary px-1",children:[a.referenceCount," refs"]}),e.jsx(w,{variant:"danger",size:"icon-sm",disabled:a.referenceCount>0,onClick:()=>p(a.id),children:e.jsx(k,{className:"h-4 w-4"})})]})]},a.id))}),e.jsx(c,{fallback:null,children:l&&i<l&&e.jsx(M,{page:o,last:Math.ceil(l/i),onChange:a=>{r({search:f=>({...f,page:a})})}})})]})})})})})})};export{U as default};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./note-vendor-BofYbzmZ.js";import{a4 as O,c as E,Y as D,a1 as I,q as x,ah as $,u as H,a9 as P,P as q,B as g,O as k,ai as F,aj as C,ak as Z,M as p,I as f,J as j,F as Q,h as T,f as K,a6 as B}from"./index-CF5_ZCYN.js";import{a}from"./graph-vendor-CUxe67Lr.js";import{C as U}from"./Callout-CrWW3bg0.js";import{n as X}from"./Plus.es-CS3WVMDq.js";import"./note-core-BCgMq5QA.js";const Y=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M208,160H48l80-80Z",opacity:"0.2"}),a.createElement("path",{d:"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z"}))]]),L=a.forwardRef((l,r)=>a.createElement(O,{ref:r,...l,weights:Y}));L.displayName="CaretUpIcon";const G=L,b=["id","name","template","replacement","createdAt","updatedAt"],J=new Set(b),z=`query FetchPlaceholders(
|
|
2
|
-
$searchFilter: SearchFilterInput,
|
|
3
|
-
$pagination: PaginationInput
|
|
4
|
-
) {
|
|
5
|
-
allPlaceholders(
|
|
6
|
-
searchFilter: $searchFilter,
|
|
7
|
-
pagination: $pagination
|
|
8
|
-
) {
|
|
9
|
-
totalCount
|
|
10
|
-
placeholders {
|
|
11
|
-
__PLACEHOLDER_FIELDS__ }
|
|
12
|
-
}
|
|
13
|
-
}`,V=l=>{const r=l&&l.length>0?l.filter(n=>J.has(n)):b;return Array.from(new Set(r)).map(n=>" "+n).join(`
|
|
14
|
-
`)+`
|
|
15
|
-
`},W=async({limit:l=25,offset:r=0,query:d="",fields:n}={})=>{const h=V(n),c=z.replace("__PLACEHOLDER_FIELDS__",h);return E(c,{searchFilter:{query:d},pagination:{limit:l,offset:r}})},ee=l=>E(`mutation CreatePlaceholder(
|
|
16
|
-
$name: String!,
|
|
17
|
-
$template: String!,
|
|
18
|
-
$replacement: String!
|
|
19
|
-
) {
|
|
20
|
-
createPlaceholder(
|
|
21
|
-
name: $name,
|
|
22
|
-
template: $template,
|
|
23
|
-
replacement: $replacement
|
|
24
|
-
) {
|
|
25
|
-
id
|
|
26
|
-
name
|
|
27
|
-
template
|
|
28
|
-
replacement
|
|
29
|
-
createdAt
|
|
30
|
-
updatedAt
|
|
31
|
-
}
|
|
32
|
-
}`,l),ae=l=>E(`mutation DeletePlaceholder($id: ID!) {
|
|
33
|
-
deletePlaceholder(id: $id)
|
|
34
|
-
}`,{id:l}),_="bg-subtle flex flex-col gap-1 p-4 rounded-[10px_3px_11px_3px/3px_8px_3px_10px] border-2 border-border-secondary font-bold",v=K(B),oe=()=>{const l=D(),r=I(),d=v.useNavigate(),{page:n}=v.useSearch(),[h,c]=a.useState(!1),[u,A]=a.useState(!1),[s,m]=a.useState({name:"",template:"",replacement:""}),o=25,S=x.placeholders.list({limit:o,offset:(n-1)*o}),[N]=a.useState($),{data:i,isLoading:w}=H({queryKey:S,queryFn:async()=>{const t=await W({offset:(n-1)*o,limit:o});if(t.type==="error")throw t;return t.allPlaceholders}}),y=P({mutationFn:ee,onSuccess:async()=>{l("Placeholder added successfully"),c(!1),m({name:"",template:"",replacement:""}),await r.invalidateQueries({queryKey:x.placeholders.listAll(),exact:!1})}}),R=P({mutationFn:ae,onSuccess:async()=>{l("Placeholder deleted successfully"),await r.invalidateQueries({queryKey:x.placeholders.listAll(),exact:!1})}});return e.jsxs(q,{title:"Placeholders",variant:"subtle",description:"Manage template variables for note cloning",children:[e.jsx(U,{className:"mb-4",children:e.jsxs("div",{className:"flex gap-2 items-center justify-between",children:[e.jsx("span",{children:"Placeholders will be replaced with new note data during cloning."}),e.jsx(g,{onClick:()=>c(!0),children:e.jsx(X,{width:20,height:20})})]})}),e.jsxs("div",{className:"flex flex-col gap-3 mt-3",children:[e.jsxs("button",{type:"button",onClick:()=>A(!u),className:"bg-subtle flex gap-2 items-center justify-between p-4 rounded-[10px_3px_11px_3px/3px_8px_3px_10px] border-2 border-border-secondary font-bold",children:[e.jsx("div",{children:"System Placeholders"}),e.jsx("div",{className:"w-6 h-6",children:u?e.jsx(G,{}):e.jsx(k,{})})]}),u&&e.jsx("div",{className:"grid gap-3 grid-cols-1 md:grid-cols-2 lg:grid-cols-3",children:N.map(t=>e.jsxs("div",{className:_,children:[e.jsx("div",{className:"text-sm",children:t.name}),e.jsxs("div",{className:"text-fg-tertiary text-xs font-medium",children:[F,t.template,C," → '",t.replacement,"'"]})]},t.name))}),!w&&i?.placeholders&&i.placeholders.length>0&&e.jsx("div",{className:"grid gap-3 grid-cols-1 md:grid-cols-2 lg:grid-cols-3",children:i.placeholders.map(t=>e.jsxs("div",{className:`${_} relative`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-sm",children:t.name}),e.jsx("button",{type:"button",className:"w-5 h-5 hover:text-red-500 transition-colors",onClick:()=>R.mutate(t.id.toString()),children:e.jsx(Z,{})})]}),e.jsxs("div",{className:"text-fg-tertiary text-xs font-medium",children:[F,t.template,C," → '",t.replacement,"'"]})]},t.id))})]}),e.jsxs(p,{isOpen:h,onClose:()=>c(!1),children:[e.jsx(p.Header,{title:"Add Placeholder",onClose:()=>c(!1)}),e.jsx(p.Body,{children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(f,{htmlFor:"name",children:"Name:"}),e.jsx(j,{id:"name",type:"text",value:s.name,onChange:t=>m({...s,name:t.target.value}),placeholder:"Description of this placeholder"}),e.jsx(f,{htmlFor:"template",children:"Placeholder:"}),e.jsx(j,{id:"template",type:"text",value:s.template,onChange:t=>m({...s,template:t.target.value}),placeholder:"note_app"}),e.jsx(f,{htmlFor:"replacement",children:"Replacement:"}),e.jsx(j,{id:"replacement",type:"text",value:s.replacement,onChange:t=>m({...s,replacement:t.target.value}),placeholder:"Ocean Brain"})]})}),e.jsx(p.Footer,{children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(g,{variant:"ghost",onClick:()=>c(!1),children:"Cancel"}),e.jsx(g,{isLoading:y.isPending,onClick:()=>{if(!s.name||!s.template||!s.replacement){l("All fields are required");return}y.mutate({name:s.name,template:s.template,replacement:s.replacement})},children:"Add"})]})})]}),e.jsx(Q,{fallback:null,children:i?.totalCount&&o<i.totalCount&&e.jsx(T,{page:n,last:Math.ceil(i.totalCount/o),onChange:t=>{d({search:M=>({...M,page:t})})}})})]})};export{oe as default};
|