diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 900fc04d..bfe512ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -169,6 +169,21 @@ importers: '@astrojs/tailwind': specifier: ^5.1.0 version: 5.1.0(astro@4.5.18(typescript@5.9.3))(tailwindcss@3.4.18) + '@codemirror/lang-css': + specifier: ^6.3.1 + version: 6.3.1 + '@codemirror/lang-html': + specifier: ^6.4.11 + version: 6.4.11 + '@codemirror/lang-javascript': + specifier: ^6.2.4 + version: 6.2.4 + '@codemirror/lang-json': + specifier: ^6.0.2 + version: 6.0.2 + '@codemirror/view': + specifier: ^6.39.2 + version: 6.39.2 '@iconify-json/fa': specifier: ^1.2.2 version: 1.2.2 @@ -205,21 +220,33 @@ importers: '@iconify-json/simple-icons': specifier: ^1.2.58 version: 1.2.58 + '@iconify/svelte': + specifier: ^5.1.0 + version: 5.1.0(svelte@5.45.8) '@leaningtech/astro-theme': specifier: workspace:^ version: link:../../packages/astro-theme '@leaningtech/cheerp-ts-three-demo': specifier: workspace:^ version: link:../../packages/cheerp-ts-three-demo + '@replit/codemirror-lang-svelte': + specifier: ^6.0.0 + version: 6.0.0(@codemirror/autocomplete@6.20.0)(@codemirror/lang-css@6.3.1)(@codemirror/lang-html@6.4.11)(@codemirror/lang-javascript@6.2.4)(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.39.2)(@lezer/common@1.4.0)(@lezer/highlight@1.2.3)(@lezer/javascript@1.5.4)(@lezer/lr@1.4.5) astro: specifier: ^4.5.18 version: 4.5.18(typescript@5.9.3) astro-icon: specifier: ^1.1.5 version: 1.1.5 + qrcode: + specifier: ^1.5.4 + version: 1.5.4 svelte: specifier: ^5.38.6 version: 5.45.8 + svelte-codemirror-editor: + specifier: ^2.1.0 + version: 2.1.0(codemirror@6.0.2)(svelte@5.45.8) tailwindcss: specifier: ^3.4.4 version: 3.4.18 diff --git a/sites/browserpod/package.json b/sites/browserpod/package.json index 0f70d232..29b0bab1 100644 --- a/sites/browserpod/package.json +++ b/sites/browserpod/package.json @@ -14,6 +14,11 @@ "@astrojs/check": "^0.7.0", "@astrojs/svelte": "^5.6.0", "@astrojs/tailwind": "^5.1.0", + "@codemirror/lang-css": "^6.3.1", + "@codemirror/lang-html": "^6.4.11", + "@codemirror/lang-javascript": "^6.2.4", + "@codemirror/lang-json": "^6.0.2", + "@codemirror/view": "^6.39.2", "@iconify-json/fa": "^1.2.2", "@iconify-json/fa-brands": "^1.2.2", "@iconify-json/fa-solid": "^1.2.2", @@ -26,11 +31,15 @@ "@iconify-json/ph": "^1.2.2", "@iconify-json/ri": "^1.2.6", "@iconify-json/simple-icons": "^1.2.58", + "@iconify/svelte": "^5.1.0", "@leaningtech/astro-theme": "workspace:^", "@leaningtech/cheerp-ts-three-demo": "workspace:^", + "@replit/codemirror-lang-svelte": "^6.0.0", "astro": "^4.5.18", "astro-icon": "^1.1.5", + "qrcode": "^1.5.4", "svelte": "^5.38.6", + "svelte-codemirror-editor": "^2.1.0", "tailwindcss": "^3.4.4", "typescript": "^5.5.3" } diff --git a/sites/browserpod/src/components/BrowserPodDemo_Beta.svelte b/sites/browserpod/src/components/BrowserPodDemo_Beta.svelte new file mode 100644 index 00000000..58101e69 --- /dev/null +++ b/sites/browserpod/src/components/BrowserPodDemo_Beta.svelte @@ -0,0 +1,859 @@ + + +
+
+ + {#if !isCompatibleBrowser} +
+
+
+ +
+

+ Incompatible Browser +

+

+ This demo requires a browser supporting Atomics.waitAsync (Chrome, Edge, Safari) to function properly. +

+

+ Please switch to a compatible browser to experience the full + capabilities of BrowserPod. +

+
+
+ {/if} + +
+ {#if showEditor || hasTerminalPanel} +
+ {#if showEditor} +
+
+
+ Editor + {selectedFile} +
+
+
+ {#if loading} +
+
+ + Loading file... +
+
+ {:else} + + {/if} +
+
+ {/if} + {#if hasTerminalPanel} + +
+
+ {#if showTerminalTab} +
+ Terminal +
+ {/if} + {#if showReplTab} +
+ REPL +
+ {/if} +
+
+ {#if showTerminalTab} +
+ {/if} + {#if showReplTab} +
+ {/if} +
+
+ {/if} +
+ {/if} + {#if showPreview} + +
+
+
+
+ Preview +
+ {#if portalURL} + {#if isMobile} + + {:else} + + {/if} + {:else} + + {/if} +
+
+ {#if !portalURL && isCompatibleBrowser} +
+
+ + Loading preview... +
+
+ {:else} +
+
+ +
+ + {#if showPortalInfo && !isMobile} +
+

+ Scan this Portal +

+
+ +
+
+

+ {portalURL} +

+
+ + +
+
+
+ {/if} + + {#if showMobilePortal && isMobile && portalURL} +
+

+ Scan this Portal +

+
+ +
+
+

+ {portalURL} +

+
+ + +
+
+
+ {/if} +
+ {/if} +
+
+ + {#if isMobile && portalURL && !showMobilePortal} +
+ +
+ {/if} +
+ {/if} +
+ + {#if !isCompatibleBrowser} +
+ {/if} +
+
+ +