@kosmas10/portal 0.0.9 → 0.0.10

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Portal
2
2
 
3
- **Version:** 0.0.9
3
+ **Version:** 0.0.10
4
4
  **Package:** `@kosmas10/portal`
5
5
 
6
6
  A launcher portal for AI Chat Extensions applications. Provides a unified entry point to access Chat & Verify, Folder LLM Analyzer, and other AI-powered tools. Built with React and bundled for maximum reliability.
@@ -127,10 +127,11 @@ This produces `dist/portal.html` - a single self-contained HTML file.
127
127
 
128
128
  ## 📝 Version History
129
129
 
130
- ### 0.0.9 (Current)
131
- - **Fixed App Launching**: Apps now launch correctly by generating bootstrap HTML dynamically and using blob URLs
130
+ ### 0.0.10 (Current)
131
+ - **Seamless Claude Loading**: Apps load in-place within Claude artifacts without external link warnings
132
+ - **Fixed App Launching**: Apps now launch correctly by generating bootstrap HTML dynamically
132
133
  - **Improved Reliability**: Resolved issue where CDN bootstrap files were displayed as raw HTML instead of rendering
133
- - **Consistent Bootstrap Format**: All apps now use the same bootstrap generation approach for reliable launching
134
+ - **Environment Detection**: Automatic detection of Claude vs browser environment for optimal loading behavior
134
135
 
135
136
  ### 0.0.8
136
137
  - **Claude Artifact Support**: When running in Claude environment, apps open directly to Claude artifact URLs
package/dist/portal.html CHANGED
@@ -59,7 +59,7 @@ Error generating stack: `+u.message+`
59
59
  *
60
60
  * This source code is licensed under the ISC license.
61
61
  * See the LICENSE file in the root directory of this source tree.
62
- */const Dd=jd("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);function Id({app:e,onLaunch:t}){const[n,r]=Fe.useState(!1),[l,u]=Fe.useState(!1),o=Fe.useCallback(async c=>{c.stopPropagation(),u(!0);try{await t(e.packageName)}finally{u(!1)}},[e.packageName,t]),s={green:{accentGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",iconGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",buttonGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",buttonHoverShadow:"0 10px 20px rgba(167, 243, 208, 0.3)"},yellow:{accentGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",iconGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",buttonGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",buttonHoverShadow:"0 10px 20px rgba(253, 230, 138, 0.3)"}}[e.theme];return K.jsxs("div",{className:"relative bg-white transition-all duration-300 cursor-pointer overflow-hidden w-full",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onClick:o,style:{borderRadius:"15px",padding:"30px",boxShadow:n?"0 20px 40px rgba(0, 0, 0, 0.15)":"0 10px 30px rgba(0, 0, 0, 0.1)",border:"2px solid transparent",borderColor:n?"#d1d5db":"transparent",transform:n?"translateY(-5px) scale(1.02)":"translateY(0) scale(1)"},children:[K.jsx("div",{className:"absolute top-0 left-0 right-0",style:{height:"4px",background:s.accentGradient}}),K.jsx("div",{className:"mx-auto rounded-full flex items-center justify-center",style:{width:"60px",height:"60px",marginBottom:"20px",background:s.iconGradient},children:e.iconType==="checkmark"?K.jsx("div",{className:"relative",style:{width:"8px",height:"16px",borderRight:"4px solid #1f2937",borderBottom:"4px solid #1f2937",transform:"rotate(45deg)",marginTop:"-2px"}}):K.jsx(Dd,{className:"w-6 h-6 text-gray-800"})}),K.jsx("h2",{className:"font-semibold text-center",style:{fontSize:"1.5rem",color:"#333",marginBottom:"15px"},children:e.title}),K.jsx("p",{className:"text-center",style:{color:"#666",lineHeight:1.6,marginBottom:"25px",fontSize:"0.95rem"},children:e.description}),K.jsx("button",{className:"w-full transition-all duration-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:o,disabled:l,style:{background:s.buttonGradient,color:"#1f2937",border:"none",padding:"12px 30px",borderRadius:"25px",fontSize:"1rem",fontWeight:700,fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',cursor:"pointer"},onMouseEnter:c=>{l||(c.currentTarget.style.transform="translateY(-2px)",c.currentTarget.style.boxShadow=s.buttonHoverShadow)},onMouseLeave:c=>{c.currentTarget.style.transform="translateY(0)",c.currentTarget.style.boxShadow="none"},children:l?"Loading...":e.buttonLabel})]})}const Fd="0.0.9",Ud=[{id:"chat-verify",packageName:"chat-and-verify",title:"Chat & Verify",description:"Chat with citations and highlights in the source document for easy verifications.",iconType:"checkmark",theme:"green",buttonLabel:"Launch Chat & Verify"},{id:"folder-analyzer",packageName:"folder-llm-analyzer",title:"Folder LLM Analyzer",description:"Runs the same LLM query on each file in a folder and displays results in a grid.",iconType:"folder",theme:"yellow",buttonLabel:"Launch Folder Analyzer"}];function Ad(e){return`<!DOCTYPE html>
62
+ */const Dd=jd("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);function Id({app:e,onLaunch:t}){const[n,r]=Fe.useState(!1),[l,u]=Fe.useState(!1),o=Fe.useCallback(async c=>{c.stopPropagation(),u(!0);try{await t(e.packageName)}finally{u(!1)}},[e.packageName,t]),s={green:{accentGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",iconGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",buttonGradient:"linear-gradient(135deg, #a7f3d0, #6ee7b7)",buttonHoverShadow:"0 10px 20px rgba(167, 243, 208, 0.3)"},yellow:{accentGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",iconGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",buttonGradient:"linear-gradient(135deg, #fde68a, #fbbf24)",buttonHoverShadow:"0 10px 20px rgba(253, 230, 138, 0.3)"}}[e.theme];return K.jsxs("div",{className:"relative bg-white transition-all duration-300 cursor-pointer overflow-hidden w-full",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onClick:o,style:{borderRadius:"15px",padding:"30px",boxShadow:n?"0 20px 40px rgba(0, 0, 0, 0.15)":"0 10px 30px rgba(0, 0, 0, 0.1)",border:"2px solid transparent",borderColor:n?"#d1d5db":"transparent",transform:n?"translateY(-5px) scale(1.02)":"translateY(0) scale(1)"},children:[K.jsx("div",{className:"absolute top-0 left-0 right-0",style:{height:"4px",background:s.accentGradient}}),K.jsx("div",{className:"mx-auto rounded-full flex items-center justify-center",style:{width:"60px",height:"60px",marginBottom:"20px",background:s.iconGradient},children:e.iconType==="checkmark"?K.jsx("div",{className:"relative",style:{width:"8px",height:"16px",borderRight:"4px solid #1f2937",borderBottom:"4px solid #1f2937",transform:"rotate(45deg)",marginTop:"-2px"}}):K.jsx(Dd,{className:"w-6 h-6 text-gray-800"})}),K.jsx("h2",{className:"font-semibold text-center",style:{fontSize:"1.5rem",color:"#333",marginBottom:"15px"},children:e.title}),K.jsx("p",{className:"text-center",style:{color:"#666",lineHeight:1.6,marginBottom:"25px",fontSize:"0.95rem"},children:e.description}),K.jsx("button",{className:"w-full transition-all duration-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:o,disabled:l,style:{background:s.buttonGradient,color:"#1f2937",border:"none",padding:"12px 30px",borderRadius:"25px",fontSize:"1rem",fontWeight:700,fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',cursor:"pointer"},onMouseEnter:c=>{l||(c.currentTarget.style.transform="translateY(-2px)",c.currentTarget.style.boxShadow=s.buttonHoverShadow)},onMouseLeave:c=>{c.currentTarget.style.transform="translateY(0)",c.currentTarget.style.boxShadow="none"},children:l?"Loading...":e.buttonLabel})]})}const Fd="0.0.10";function Ud(){const e=typeof window.fs<"u",t=typeof window.storage<"u";return e||t}const Ad=[{id:"chat-verify",packageName:"chat-and-verify",title:"Chat & Verify",description:"Chat with citations and highlights in the source document for easy verifications.",iconType:"checkmark",theme:"green",buttonLabel:"Launch Chat & Verify"},{id:"folder-analyzer",packageName:"folder-llm-analyzer",title:"Folder LLM Analyzer",description:"Runs the same LLM query on each file in a folder and displays results in a grid.",iconType:"folder",theme:"yellow",buttonLabel:"Launch Folder Analyzer"}];function Vd(e){return`<!DOCTYPE html>
63
63
  <html lang="en">
64
64
  <head>
65
65
  <meta charset="UTF-8">
@@ -98,7 +98,7 @@ Error generating stack: `+u.message+`
98
98
  })();
99
99
  <\/script>
100
100
  </body>
101
- </html>`}function Vd(){const e=Fe.useCallback(async t=>{const n=Ad(t),r=new Blob([n],{type:"text/html"}),l=URL.createObjectURL(r);window.open(l,"_blank")&&setTimeout(()=>{URL.revokeObjectURL(l)},5e3)},[]);return K.jsxs("div",{className:"min-h-screen flex items-start justify-center px-5 overflow-x-hidden",style:{background:"linear-gradient(135deg, #d4c4a8 0%, #c4b5a0 100%)",padding:"60px 20px 20px 20px"},children:[K.jsxs("div",{className:"fixed z-50 font-sans",style:{top:"5px",right:"10px",fontSize:"0.7rem",opacity:.5,color:"#6b7280"},children:["v",Fd]}),K.jsxs("div",{className:"bg-white/95 backdrop-blur-sm w-full text-center",style:{borderRadius:"20px",padding:"40px 70px 70px 70px",boxShadow:"0 20px 40px rgba(0, 0, 0, 0.1)",maxWidth:"871px"},children:[K.jsx(Rd,{title:"AI Chat Extensions",subtitle:"Tools and extensions to enhance AI chat productivity."}),K.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 w-full",style:{gap:"30px",marginTop:"40px"},children:Ud.map(t=>K.jsx(Id,{app:t,onLaunch:e},t.id))})]})]})}Ql.createRoot(document.getElementById("root")).render(K.jsx(gc.StrictMode,{children:K.jsx(Vd,{})}));</script>
101
+ </html>`}function Bd(){const e=Fe.useCallback(async t=>{const n=Vd(t);if(Ud())document.open(),document.write(n),document.close();else{const r=new Blob([n],{type:"text/html"}),l=URL.createObjectURL(r);window.open(l,"_blank")&&setTimeout(()=>{URL.revokeObjectURL(l)},5e3)}},[]);return K.jsxs("div",{className:"min-h-screen flex items-start justify-center px-5 overflow-x-hidden",style:{background:"linear-gradient(135deg, #d4c4a8 0%, #c4b5a0 100%)",padding:"60px 20px 20px 20px"},children:[K.jsxs("div",{className:"fixed z-50 font-sans",style:{top:"5px",right:"10px",fontSize:"0.7rem",opacity:.5,color:"#6b7280"},children:["v",Fd]}),K.jsxs("div",{className:"bg-white/95 backdrop-blur-sm w-full text-center",style:{borderRadius:"20px",padding:"40px 70px 70px 70px",boxShadow:"0 20px 40px rgba(0, 0, 0, 0.1)",maxWidth:"871px"},children:[K.jsx(Rd,{title:"AI Chat Extensions",subtitle:"Tools and extensions to enhance AI chat productivity."}),K.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 w-full",style:{gap:"30px",marginTop:"40px"},children:Ad.map(t=>K.jsx(Id,{app:t,onLaunch:e},t.id))})]})]})}Ql.createRoot(document.getElementById("root")).render(K.jsx(gc.StrictMode,{children:K.jsx(Bd,{})}));</script>
102
102
  <style rel="stylesheet" crossorigin>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.grid{display:grid}.h-6{height:1.5rem}.min-h-screen{min-height:100vh}.w-6{width:1.5rem}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/95{background-color:#fffffff2}.px-5{padding-left:1.25rem;padding-right:1.25rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}body{margin:0;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}</style>
103
103
  </head>
104
104
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kosmas10/portal",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "A launcher portal for AI Chat Extensions applications. Provides a unified entry point to access Chat & Verify, Folder LLM Analyzer, and other AI-powered tools. Built with React and bundled for maximum reliability.",
5
5
  "type": "module",
6
6
  "main": "dist/portal.html",