@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 +5 -4
- package/dist/portal.html +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Portal
|
|
2
2
|
|
|
3
|
-
**Version:** 0.0.
|
|
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.
|
|
131
|
-
- **
|
|
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
|
-
- **
|
|
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.
|
|
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
|
|
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.
|
|
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",
|