fix(rsplat): stop double fileInput.click on mobile generate upload
Tapping inline "browse" fired both the browse handler and the bubbled drop-area handler, causing mobile Safari to cancel and reopen the file picker so the first selection was silently dropped. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2ecee5b2e7
commit
8b8041da9f
|
|
@ -506,14 +506,17 @@ export class FolkSplatViewer extends HTMLElement {
|
|||
|
||||
let selectedFile: File | null = null;
|
||||
|
||||
browse?.addEventListener("click", () => fileInput.click());
|
||||
browse?.addEventListener("click", (e) => {
|
||||
e.stopPropagation();
|
||||
fileInput.click();
|
||||
});
|
||||
|
||||
// Make the entire dotted drop area open file browser on click
|
||||
const generateMode = this.querySelector("#splat-mode-generate") as HTMLElement;
|
||||
generateMode?.addEventListener("click", (e) => {
|
||||
const target = e.target as HTMLElement;
|
||||
// Don't trigger if clicking on buttons, inputs, or the preview image
|
||||
if (target.closest("button, input, .splat-generate__preview, .splat-generate__progress")) return;
|
||||
// Don't trigger if clicking on buttons, inputs, the browse link, or the preview image
|
||||
if (target.closest("button, input, #generate-browse, .splat-generate__preview, .splat-generate__progress")) return;
|
||||
fileInput.click();
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -726,7 +726,7 @@ routes.get("/", async (c) => {
|
|||
`,
|
||||
scripts: `
|
||||
<script type="module">
|
||||
import { FolkSplatViewer } from '/modules/rsplat/folk-splat-viewer.js?v=11';
|
||||
import { FolkSplatViewer } from '/modules/rsplat/folk-splat-viewer.js?v=12';
|
||||
const gallery = document.getElementById('gallery');
|
||||
gallery.splats = ${splatsJSON};
|
||||
gallery.spaceSlug = '${spaceSlug}';
|
||||
|
|
@ -787,7 +787,7 @@ function renderViewerPage(spaceSlug: string, dataSpace: string, idOrSlug: string
|
|||
`,
|
||||
scripts: `
|
||||
<script type="module">
|
||||
import { FolkSplatViewer } from '/modules/rsplat/folk-splat-viewer.js?v=11';
|
||||
import { FolkSplatViewer } from '/modules/rsplat/folk-splat-viewer.js?v=12';
|
||||
</script>
|
||||
`,
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue