sticky-notes-dev
Version:
Sticky notes component for development environment
3 lines (2 loc) • 10.9 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-dom/client"),n=require("@mui/material"),r=require("@mui/icons-material");function o(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var a=function(){var e=!1;try{(void 0).DEV&&(e=!0)}catch(e){}return e}(),l=function(t){var a=t.logs,l=e.useState("all"),i=l[0],c=l[1],u=e.useState(""),s=u[0],m=u[1],d=e.useState("timestamp"),f=d[0],p=d[1],v=e.useState("desc"),E=v[0],h=v[1],x=function(e){h(f===e&&"asc"===E?"desc":"asc"),p(e)},b=o([],a.filter((function(e){return("all"===i||e.level===i)&&e.message.toLowerCase().includes(s.toLowerCase())})),!0).sort((function(e,t){return"timestamp"===f?(new Date(e.timestamp).getTime()-new Date(t.timestamp).getTime())*("asc"===E?1:-1):e[f].localeCompare(t[f])*("asc"===E?1:-1)}));return e.createElement(n.Box,{sx:{position:"fixed",inset:20,bgcolor:"#ffffffcc",zIndex:1e4,p:2,overflow:"auto"}},e.createElement(n.Paper,{sx:{p:2,maxHeight:"80vh",overflow:"auto"}},e.createElement(n.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2}},e.createElement(n.Typography,{variant:"h6"},"Visualizador de Logs"),e.createElement(n.IconButton,{size:"small",onClick:function(){y&&g&&(y.unmount(),g.remove(),y=null,g=null)}},e.createElement(r.Close,null))),e.createElement(n.Box,{sx:{display:"flex",gap:2,mb:2}},e.createElement(n.FormControl,{size:"small"},e.createElement(n.InputLabel,null,"Nível"),e.createElement(n.Select,{value:i,label:"Nível",onChange:function(e){return c(e.target.value)}},e.createElement(n.MenuItem,{value:"all"},"Todos"),e.createElement(n.MenuItem,{value:"info"},"Info"),e.createElement(n.MenuItem,{value:"error"},"Erro"))),e.createElement(n.TextField,{size:"small",label:"Buscar mensagem",value:s,onChange:function(e){return m(e.target.value)}})),e.createElement(n.TableContainer,{component:n.Paper},e.createElement(n.Table,{size:"small",stickyHeader:!0},e.createElement(n.TableHead,null,e.createElement(n.TableRow,null,e.createElement(n.TableCell,null,e.createElement(n.TableSortLabel,{active:"timestamp"===f,direction:E,onClick:function(){return x("timestamp")}},"Timestamp")),e.createElement(n.TableCell,null,e.createElement(n.TableSortLabel,{active:"level"===f,direction:E,onClick:function(){return x("level")}},"Nível")),e.createElement(n.TableCell,null,e.createElement(n.TableSortLabel,{active:"message"===f,direction:E,onClick:function(){return x("message")}},"Mensagem")))),e.createElement(n.TableBody,null,b.map((function(t,r){return e.createElement(n.TableRow,{key:r,hover:!0},e.createElement(n.TableCell,null,new Date(t.timestamp).toLocaleString()),e.createElement(n.TableCell,null,t.level),e.createElement(n.TableCell,null,t.message))})))))))},i=new(function(){function e(){this.logs=[],this.MAX_LOGS=100}return e.prototype.add=function(e,t){a&&(this.logs.length>=this.MAX_LOGS&&this.logs.shift(),this.logs.push({message:e,level:t,timestamp:(new Date).toISOString()}))},e.prototype.getLogs=function(){return this.logs},e}());window.sticky_notes_dev_logger={logger:i,viewLogs:function(){a&&(g||((g=document.createElement("div")).id="logs-viewer-container",document.body.appendChild(g),y=t.createRoot(g)),null==y||y.render(e.createElement(l,{logs:i.getLogs()})))}};var c=[],u="stickyNotes",s={x:20,y:20},m={x:20,y:20},d=null,f=[],p=Date.now(),v=function(t,n){var r=e.useState((function(){var e=localStorage.getItem(n);return e?JSON.parse(e):t})),o=r[0],a=r[1],l=e.useState(!1),i=l[0],c=l[1],u=e.useState({x:0,y:0}),s=u[0],m=u[1],d=e.useCallback((function(e){c(!0),m({x:e.clientX-o.x,y:e.clientY-o.y})}),[o]),f=e.useCallback((function(e){if(i){var t=e.clientX-s.x,r=e.clientY-s.y,o=window.innerWidth,l=window.innerHeight,c={x:Math.max(0,Math.min(t,o-300)),y:Math.max(0,Math.min(r,l-50))};a(c),localStorage.setItem(n,JSON.stringify(c))}}),[i,s,n]),p=e.useCallback((function(){c(!1)}),[]);return e.useEffect((function(){return i?(document.addEventListener("mousemove",f),document.addEventListener("mouseup",p)):(document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)),function(){document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)}}),[i,f,p]),{position:o,handleMouseDown:d}},E=null,g=null,y=null,h=function(){try{i.add("Executando NotesContainer","info");var a=e.useState((function(){var e=localStorage.getItem(u);if(!e)return[];var t=JSON.parse(e),n=t.reduce((function(e,t){return e.some((function(e){return e.message===t.message}))||e.push(t),e}),[]);return n.length!==t.length&&localStorage.setItem(u,JSON.stringify(n)),n})),l=a[0],d=a[1],f=e.useState(!1),p=f[0],g=f[1],y=e.useState(!0),x=y[0],b=y[1],w=v(s,"stickyNoteContainerPosition"),k=v(m,"stickyNoteFabPosition"),S=e.useCallback((function(e){d((function(t){if(t.some((function(t){return t.message===e.message})))return t;var n=o(o([],t,!0),[e],!1);return localStorage.setItem(u,JSON.stringify(n)),n}))}),[]);e.useEffect((function(){c.length>0&&(c.forEach((function(e){return S(e)})),c=[])}),[S]),e.useEffect((function(){return window._addStickyNote=S,function(){window._addStickyNote=void 0}}),[S]),e.useEffect((function(){var n=function(n){if(n.ctrlKey&&n.shiftKey&&"o"===n.key.toLowerCase()&&!x){var r=document.createElement("div");r.id="sticky-notes-container",document.body.appendChild(r);var o=t.createRoot(r);E=r,o.render(e.createElement(h,null))}};return document.addEventListener("keydown",n),function(){return document.removeEventListener("keydown",n)}}),[x]),e.useEffect((function(){var n;return x||(n=setTimeout((function(){var n=document.createElement("div");n.id="sticky-notes-container",document.body.appendChild(n);var r=t.createRoot(n);E=n,r.render(e.createElement(h,null))}),12e4)),function(){return clearTimeout(n)}}),[x]);return x?e.createElement(e.Fragment,null,p?e.createElement(n.Box,{sx:{position:"fixed",left:k.position.x,top:k.position.y,zIndex:9999,cursor:"move"},onMouseDown:k.handleMouseDown},e.createElement(n.Fab,{color:"primary",onClick:function(){return g(!1)},sx:{bgcolor:"#fffde7",color:"text.primary"}},e.createElement(r.StickyNote2,null))):e.createElement(n.Box,{sx:{position:"fixed",left:w.position.x,top:w.position.y,width:300,zIndex:9999}},e.createElement(n.Paper,{elevation:3,sx:{bgcolor:"#fffde7",p:2}},e.createElement(n.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,cursor:"move"},onMouseDown:w.handleMouseDown},e.createElement(n.Typography,{variant:"subtitle2"},"Notas (",l.length,")"),e.createElement(n.Box,null,e.createElement(n.IconButton,{size:"small",onClick:function(){return g(!0)}},e.createElement(r.ExpandLess,null)),e.createElement(n.IconButton,{size:"small",onClick:function(){b(!1),window._addStickyNote=void 0,E&&(E.remove(),E=null)}},e.createElement(r.Close,null)))),e.createElement(n.Box,{sx:{maxHeight:"50vh",overflowY:"auto","&::-webkit-scrollbar":{width:"8px"},"&::-webkit-scrollbar-track":{background:"#f1f1f1",borderRadius:"4px"},"&::-webkit-scrollbar-thumb":{background:"#888",borderRadius:"4px"},"&::-webkit-scrollbar-thumb:hover":{background:"#555"}}},e.createElement(n.Stack,{spacing:1},l.map((function(t,o){return e.createElement(n.Paper,{key:o,elevation:1,sx:{p:1.5,bgcolor:"#fff",position:"relative"}},e.createElement(n.IconButton,{size:"small",sx:{position:"absolute",right:4,top:4},onClick:function(){return e=t.id,void d((function(t){var n=t.filter((function(t){return t.id!==e}));return localStorage.setItem(u,JSON.stringify(n)),n}));var e}},e.createElement(r.Close,{fontSize:"small"})),e.createElement(n.Typography,{sx:{pr:4}},t.message))})))),e.createElement(n.Typography,{variant:"caption",sx:{display:"block",mt:1,color:"text.secondary",fontSize:"0.7rem"}},"Pressione Ctrl+Shift+O para reabrir as notas")))):null}catch(e){i.add("Erro no componente NotesContainer: "+e,"error")}},x=function(){try{i.add("Executando AlertsContainer","info");var t=e.useState([]),r=t[0],a=t[1],l=e.useState([]),c=l[0],u=l[1],s=e.useState(!1),m=s[0],p=s[1],v=e.useRef(r.length),E=e.useCallback((function(e){a((function(t){return t.some((function(t){return t.message===e.message}))?t:o(o([],t,!0),[e],!1)}))}),[]);e.useEffect((function(){return window._addNoteAlert=E,function(){window._addNoteAlert=void 0}}),[E]),e.useEffect((function(){f.length>0&&(f.forEach((function(e){return E(e)})),f=[])}),[E]);var g=e.useCallback((function(e){u((function(t){return o(o([],t,!0),[e],!1)})),setTimeout((function(){u((function(t){return t.filter((function(t){return t!==e}))}))}),18e4)}),[]);e.useEffect((function(){var e=function(e){if("Escape"===e.key){var t=r.filter((function(e){return!c.includes(e.id)}));t.length>0&&g(t[0].id)}};return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}}),[r,c,g]),e.useEffect((function(){if(v.current>0&&0===r.length&&d){var e=setTimeout((function(){null==d||d.remove(),d=null}),500);return function(){return clearTimeout(e)}}v.current=r.length}),[r]);var y=r.filter((function(e){return!c.includes(e.id)}));if(0===y.length)return null;var h=m?y:y.slice(0,1),x=y.length-h.length;return e.createElement(n.Box,{sx:{position:"fixed",top:20,left:"50%",transform:"translateX(-50%)",zIndex:9998,width:"auto",maxWidth:"90%"},onMouseEnter:function(){return p(!0)},onMouseLeave:function(){return p(!1)}},e.createElement(n.Stack,{spacing:1},h.map((function(t){return e.createElement(n.Alert,{key:t.id,severity:"info",onClose:function(){return g(t.id)},sx:{boxShadow:2,animation:"fadeIn 0.3s ease-in-out","@keyframes fadeIn":{"0%":{opacity:0,transform:"translateY(-20px)"},"100%":{opacity:1,transform:"translateY(0)"}}}},t.message)}))),!m&&x>0&&e.createElement(n.Typography,{variant:"caption",sx:{display:"block",mt:1,color:"text.secondary"}},e.createElement(n.Box,{sx:{backgroundColor:"white",borderRadius:1,p:.5,display:"inline-block"}},"+",x," mais")))}catch(e){i.add("Erro no componente AlertsContainer: "+e,"error")}};exports.default=function(n){try{if(!a)return;i.add("Executando stickyNote","info");var r={id:Date.now(),message:n};if(window._addStickyNote)return void window._addStickyNote(r);E?c.push(r):(c.push(r),(E=document.createElement("div")).id="sticky-notes-container",document.body.appendChild(E),t.createRoot(E).render(e.createElement(h,null)))}catch(e){i.add("Erro na função stickyNote: "+e,"error")}},exports.noteAlert=function(n){try{if(!a)return;i.add("Executando noteAlert","info");var r={id:p++,message:n};if(window._addNoteAlert)return void window._addNoteAlert(r);d?f.push(r):(f.push(r),(d=document.createElement("div")).id="alert-notes-container",document.body.appendChild(d),t.createRoot(d).render(e.createElement(x,null)))}catch(e){i.add("Erro na função noteAlert: "+e,"error")}};
//# sourceMappingURL=index.js.map