diff --git a/src/app/globals.css b/src/app/globals.css index 2f27ce26..76963c11 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -163,9 +163,9 @@ textarea:focus { border-radius: var(--radius); } -detail > summary { +details > summary { list-style: none; } details > summary::-webkit-details-marker { display: none; -} \ No newline at end of file +} diff --git a/src/components/VideoEditor.tsx b/src/components/VideoEditor.tsx index a12c1f41..49599ed8 100644 --- a/src/components/VideoEditor.tsx +++ b/src/components/VideoEditor.tsx @@ -277,7 +277,7 @@ export default function VideoEditor() { const handleCopyLink = () => { if (typeof window === "undefined") return; - const encoded = btoa(JSON.stringify(recipe)); + const encoded = btoa(encodeURIComponent(JSON.stringify(recipe))); const url = new URL(window.location.href); url.searchParams.set("settings", encoded); history.replaceState(null, "", url.toString()); diff --git a/src/hooks/useVideoEditor.ts b/src/hooks/useVideoEditor.ts index f2edb45c..cdac2a42 100644 --- a/src/hooks/useVideoEditor.ts +++ b/src/hooks/useVideoEditor.ts @@ -140,7 +140,7 @@ function encodeRecipe(recipe: EditRecipe): string { function decodeRecipe(encoded: string): Partial | null { try { - const decoded = JSON.parse(atob(encoded)); + const decoded = JSON.parse(decodeURIComponent(atob(encoded))); return decoded as Partial; } catch { return null;