diff --git a/app/pages/PageEnigma/PageEditor.tsx b/app/pages/PageEnigma/PageEditor.tsx index df2cf03f73..8c49f39e3f 100644 --- a/app/pages/PageEnigma/PageEditor.tsx +++ b/app/pages/PageEnigma/PageEditor.tsx @@ -1,4 +1,5 @@ import React, { useContext } from "react"; +import { useParams } from "@remix-run/react"; import { LoadingBar, LoadingDots } from "~/components"; import { SidePanel } from "~/modules/SidePanel"; @@ -32,6 +33,10 @@ interface Props { export const PageEditor = ({ setPage }: Props) => { useSignals(); + // get scene token for editor is it is provided + const params = useParams(); + console.log(params); + const [appUiState] = useContext(AppUiContext); //To prevent the click event from propagating to the canvas: TODO: HANDLE THIS BETTER? diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/AudioTabComponent/AudioTabComponent.tsx b/app/pages/PageEnigma/comps/SidePanelTabs/AudioTabComponent/AudioTabComponent.tsx index e65931e8fb..d008e41c86 100644 --- a/app/pages/PageEnigma/comps/SidePanelTabs/AudioTabComponent/AudioTabComponent.tsx +++ b/app/pages/PageEnigma/comps/SidePanelTabs/AudioTabComponent/AudioTabComponent.tsx @@ -45,7 +45,7 @@ export const AudioTabComponent = () => { object_uuid: item.token, name: item.maybe_title || item.origin.maybe_model.title, length: 25, - thumbnail: "resources/placeholders/audio_placeholder.png", + thumbnail: "/resources/placeholders/audio_placeholder.png", isMine: true, // isBookmarked?: boolean; } diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/tabList.tsx b/app/pages/PageEnigma/comps/SidePanelTabs/tabList.tsx index d5b0abfc03..eb1b393b40 100644 --- a/app/pages/PageEnigma/comps/SidePanelTabs/tabList.tsx +++ b/app/pages/PageEnigma/comps/SidePanelTabs/tabList.tsx @@ -7,37 +7,37 @@ import { TabStylization } from "~/pages/PageEnigma/comps/SidePanelTabs/TabStyliz import { CameraTab } from "./itemTabs/CameraTab"; export const tabList = [ { - icon: "resources/icons/characters.png", + icon: "/resources/icons/characters.png", title: "Characters", value: AssetType.CHARACTER, component: , }, { - icon: "resources/icons/animations.png", + icon: "/resources/icons/animations.png", title: "Animation", value: AssetType.ANIMATION, component: , }, { - icon: "resources/icons/objects.png", + icon: "/resources/icons/objects.png", title: "Objects", value: AssetType.OBJECT, component: , }, { - icon: "resources/icons/shapes.png", + icon: "/resources/icons/shapes.png", title: "Shapes", value: AssetType.SHAPE, component: , }, { - icon: "resources/icons/camera.png", + icon: "/resources/icons/camera.png", title: "Camera", value: AssetType.CAMERA, component: , }, { - icon: "resources/icons/audios.png", + icon: "/resources/icons/audios.png", title: "Audio", value: AssetType.AUDIO, component: , diff --git a/app/pages/PageEnigma/store/media.ts b/app/pages/PageEnigma/store/media.ts index 064a0121e7..a07394d77f 100644 --- a/app/pages/PageEnigma/store/media.ts +++ b/app/pages/PageEnigma/store/media.ts @@ -9,7 +9,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Sit", - thumbnail: "resources/characters/img04.png", + thumbnail: "/resources/characters/img04.png", isMine: true, }, { @@ -18,7 +18,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Idle", - thumbnail: "resources/characters/img07.png", + thumbnail: "/resources/characters/img07.png", isBookmarked: true, }, { @@ -27,7 +27,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Walk", - thumbnail: "resources/characters/img07.png", + thumbnail: "/resources/characters/img07.png", }, { version: 1, @@ -35,7 +35,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Punch", - thumbnail: "resources/characters/img08.png", + thumbnail: "/resources/characters/img08.png", }, { version: 1, @@ -43,7 +43,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Jump", - thumbnail: "resources/characters/img06.png", + thumbnail: "/resources/characters/img06.png", }, { version: 1, @@ -51,7 +51,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Dance", - thumbnail: "resources/characters/img11.png", + thumbnail: "/resources/characters/img11.png", }, { version: 1, @@ -59,7 +59,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Jump Forward", - thumbnail: "resources/characters_gif/Jump Forward.gif", + thumbnail: "/resources/characters_gif/Jump Forward.gif", }, { version: 1, @@ -67,7 +67,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Tonic Seizure", - thumbnail: "resources/characters_gif/Tonic Seizure.gif", + thumbnail: "/resources/characters_gif/Tonic Seizure.gif", }, { version: 1, @@ -75,7 +75,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Ginga Variation 3", - thumbnail: "resources/characters_gif/Ginga Variation 3.gif", + thumbnail: "/resources/characters_gif/Ginga Variation 3.gif", }, { version: 1, @@ -83,7 +83,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Crouch Running", - thumbnail: "resources/characters_gif/Crouch Running.gif", + thumbnail: "/resources/characters_gif/Crouch Running.gif", }, { version: 1, @@ -91,7 +91,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Strafing Jump", - thumbnail: "resources/characters_gif/Strafing Jump.gif", + thumbnail: "/resources/characters_gif/Strafing Jump.gif", }, { version: 1, @@ -99,7 +99,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Texting", - thumbnail: "resources/characters_gif/Texting.gif", + thumbnail: "/resources/characters_gif/Texting.gif", }, { version: 1, @@ -107,7 +107,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Pushing", - thumbnail: "resources/characters_gif/Pushing.gif", + thumbnail: "/resources/characters_gif/Pushing.gif", }, { version: 1, @@ -115,7 +115,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Standing Idle To Crouch", - thumbnail: "resources/characters_gif/Standing Idle To Crouch.gif", + thumbnail: "/resources/characters_gif/Standing Idle To Crouch.gif", }, { version: 1, @@ -123,7 +123,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Fight Idle To Standing Idle", - thumbnail: "resources/characters_gif/Fight Idle To Standing Idle.gif", + thumbnail: "/resources/characters_gif/Fight Idle To Standing Idle.gif", }, { version: 1, @@ -131,7 +131,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Texting While Standing", - thumbnail: "resources/characters_gif/Texting While Standing.gif", + thumbnail: "/resources/characters_gif/Texting While Standing.gif", }, { version: 1, @@ -139,7 +139,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Getting Bit", - thumbnail: "resources/characters_gif/Getting Bit.gif", + thumbnail: "/resources/characters_gif/Getting Bit.gif", }, { version: 1, @@ -147,7 +147,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Female Laying Pose", - thumbnail: "resources/characters_gif/Female Laying Pose.gif", + thumbnail: "/resources/characters_gif/Female Laying Pose.gif", }, { version: 1, @@ -155,7 +155,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Twist Dance", - thumbnail: "resources/characters_gif/Twist Dance.gif", + thumbnail: "/resources/characters_gif/Twist Dance.gif", }, { version: 1, @@ -163,7 +163,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Femme Peek Around Corner", - thumbnail: "resources/characters_gif/Femme Peek Around Corner.gif", + thumbnail: "/resources/characters_gif/Femme Peek Around Corner.gif", }, { version: 1, @@ -171,7 +171,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Sword And Shield Casting", - thumbnail: "resources/characters_gif/Sword And Shield Casting.gif", + thumbnail: "/resources/characters_gif/Sword And Shield Casting.gif", }, { version: 1, @@ -179,7 +179,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Breakdance Ready", - thumbnail: "resources/characters_gif/Breakdance Ready.gif", + thumbnail: "/resources/characters_gif/Breakdance Ready.gif", }, { version: 1, @@ -187,7 +187,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Sitting Yell", - thumbnail: "resources/characters_gif/Sitting Yell.gif", + thumbnail: "/resources/characters_gif/Sitting Yell.gif", }, { version: 1, @@ -195,7 +195,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Uppercut", - thumbnail: "resources/characters_gif/Uppercut.gif", + thumbnail: "/resources/characters_gif/Uppercut.gif", }, { version: 1, @@ -203,7 +203,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Female Standing Pose", - thumbnail: "resources/characters_gif/Female Standing Pose.gif", + thumbnail: "/resources/characters_gif/Female Standing Pose.gif", }, { version: 1, @@ -211,7 +211,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Breakdance Uprock Var 1", - thumbnail: "resources/characters_gif/Breakdance Uprock Var 1.gif", + thumbnail: "/resources/characters_gif/Breakdance Uprock Var 1.gif", }, { version: 1, @@ -219,7 +219,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Standard Walk", - thumbnail: "resources/characters_gif/Standard Walk.gif", + thumbnail: "/resources/characters_gif/Standard Walk.gif", }, { version: 1, @@ -227,7 +227,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Rifle Pull Out", - thumbnail: "resources/characters_gif/Rifle Pull Out.gif", + thumbnail: "/resources/characters_gif/Rifle Pull Out.gif", }, { version: 1, @@ -235,7 +235,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Sword And Shield Jump", - thumbnail: "resources/characters_gif/Sword And Shield Jump.gif", + thumbnail: "/resources/characters_gif/Sword And Shield Jump.gif", }, { version: 1, @@ -243,7 +243,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Baseball Bunt", - thumbnail: "resources/characters_gif/Baseball Bunt.gif", + thumbnail: "/resources/characters_gif/Baseball Bunt.gif", }, { version: 1, @@ -251,7 +251,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Strafing", - thumbnail: "resources/characters_gif/Strafing.gif", + thumbnail: "/resources/characters_gif/Strafing.gif", }, { version: 1, @@ -259,7 +259,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Sneaking Forward", - thumbnail: "resources/characters_gif/Sneaking Forward.gif", + thumbnail: "/resources/characters_gif/Sneaking Forward.gif", }, { version: 1, @@ -267,7 +267,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Skinning Test", - thumbnail: "resources/characters_gif/Skinning Test.gif", + thumbnail: "/resources/characters_gif/Skinning Test.gif", }, { version: 1, @@ -275,7 +275,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Female Dance Pose", - thumbnail: "resources/characters_gif/Female Dance Pose.gif", + thumbnail: "/resources/characters_gif/Female Dance Pose.gif", }, { version: 1, @@ -283,7 +283,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Right Strafe Walking", - thumbnail: "resources/characters_gif/Right Strafe Walking.gif", + thumbnail: "/resources/characters_gif/Right Strafe Walking.gif", }, { version: 1, @@ -291,7 +291,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Laying Breathless", - thumbnail: "resources/characters_gif/Laying Breathless.gif", + thumbnail: "/resources/characters_gif/Laying Breathless.gif", }, { version: 1, @@ -299,7 +299,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Box Jump", - thumbnail: "resources/characters_gif/Box Jump.gif", + thumbnail: "/resources/characters_gif/Box Jump.gif", }, { version: 1, @@ -307,7 +307,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Orc Walk", - thumbnail: "resources/characters_gif/Orc Walk.gif", + thumbnail: "/resources/characters_gif/Orc Walk.gif", }, { version: 1, @@ -315,7 +315,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Run Look Back", - thumbnail: "resources/characters_gif/Run Look Back.gif", + thumbnail: "/resources/characters_gif/Run Look Back.gif", }, { version: 1, @@ -323,7 +323,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Standing Torch Jump", - thumbnail: "resources/characters_gif/Standing Torch Jump.gif", + thumbnail: "/resources/characters_gif/Standing Torch Jump.gif", }, { version: 1, @@ -331,7 +331,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Lengthy Head Nod", - thumbnail: "resources/characters_gif/Lengthy Head Nod.gif", + thumbnail: "/resources/characters_gif/Lengthy Head Nod.gif", }, { version: 1, @@ -339,7 +339,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Pistol Run Backward Arc", - thumbnail: "resources/characters_gif/Pistol Run Backward Arc.gif", + thumbnail: "/resources/characters_gif/Pistol Run Backward Arc.gif", }, { version: 1, @@ -347,7 +347,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Right Hook", - thumbnail: "resources/characters_gif/Right Hook.gif", + thumbnail: "/resources/characters_gif/Right Hook.gif", }, { version: 1, @@ -355,7 +355,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Great Sword Impact", - thumbnail: "resources/characters_gif/Great Sword Impact.gif", + thumbnail: "/resources/characters_gif/Great Sword Impact.gif", }, { version: 1, @@ -363,7 +363,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Zombie Biting", - thumbnail: "resources/characters_gif/Zombie Biting.gif", + thumbnail: "/resources/characters_gif/Zombie Biting.gif", }, { version: 1, @@ -371,7 +371,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Leaning", - thumbnail: "resources/characters_gif/Leaning.gif", + thumbnail: "/resources/characters_gif/Leaning.gif", }, { version: 1, @@ -379,7 +379,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Standing Torch To Crouch Torch", - thumbnail: "resources/characters_gif/Standing Torch To Crouch Torch.gif", + thumbnail: "/resources/characters_gif/Standing Torch To Crouch Torch.gif", }, { version: 1, @@ -387,7 +387,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Action Idle To Fight Idle", - thumbnail: "resources/characters_gif/Action Idle To Fight Idle.gif", + thumbnail: "/resources/characters_gif/Action Idle To Fight Idle.gif", }, { version: 1, @@ -395,7 +395,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Corkscrew Evade", - thumbnail: "resources/characters_gif/Corkscrew Evade.gif", + thumbnail: "/resources/characters_gif/Corkscrew Evade.gif", }, { version: 1, @@ -403,7 +403,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Catwalk Walk Forward Crossed", - thumbnail: "resources/characters_gif/Catwalk Walk Forward Crossed.gif", + thumbnail: "/resources/characters_gif/Catwalk Walk Forward Crossed.gif", }, { version: 1, @@ -411,7 +411,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Look Around", - thumbnail: "resources/characters_gif/Look Around.gif", + thumbnail: "/resources/characters_gif/Look Around.gif", }, { version: 1, @@ -419,7 +419,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Zombie Stand Up", - thumbnail: "resources/characters_gif/Zombie Stand Up.gif", + thumbnail: "/resources/characters_gif/Zombie Stand Up.gif", }, { version: 1, @@ -427,7 +427,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Convulsing", - thumbnail: "resources/characters_gif/Convulsing.gif", + thumbnail: "/resources/characters_gif/Convulsing.gif", }, { version: 1, @@ -435,7 +435,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Pistol Whip", - thumbnail: "resources/characters_gif/Pistol Whip.gif", + thumbnail: "/resources/characters_gif/Pistol Whip.gif", }, { version: 1, @@ -443,7 +443,7 @@ export const animationItems = signal([ type: AssetType.ANIMATION, length: 100, name: "Mutant Idle", - thumbnail: "resources/characters_gif/Mutant Idle.gif", + thumbnail: "/resources/characters_gif/Mutant Idle.gif", }, ]); @@ -454,7 +454,7 @@ export const audioItems = signal([ type: AssetType.AUDIO, length: 25, name: "Talk (Demo Sounds)", - thumbnail: "resources/placeholders/audio_placeholder.png", + thumbnail: "/resources/placeholders/audio_placeholder.png", }, { version: 1, @@ -462,7 +462,7 @@ export const audioItems = signal([ type: AssetType.AUDIO, length: 25, name: "NCS Song", - thumbnail: "resources/placeholders/audio_placeholder.png", + thumbnail: "/resources/placeholders/audio_placeholder.png", }, ]); @@ -472,14 +472,14 @@ export const cameraItems = signal([ media_id: uuid.v4(), type: AssetType.CAMERA, name: "Portrait Zoom Out", - thumbnail: "resources/placeholders/placeholder.png", + thumbnail: "/resources/placeholders/placeholder.png", }, { version: 1, media_id: uuid.v4(), type: AssetType.CAMERA, name: "Pan Left and Right", - thumbnail: "resources/placeholders/placeholder.png", + thumbnail: "/resources/placeholders/placeholder.png", }, ]); @@ -489,35 +489,35 @@ export const characterItems = signal([ media_id: "m_fmxy8wjnep1hdaz7qdg4n7y15d2bsp", type: AssetType.CHARACTER, name: "Shrek", - thumbnail: "resources/placeholders/placeholder.png", + thumbnail: "/resources/placeholders/placeholder.png", }, { version: 1, media_id: "m_9f3d3z94kk6m25zywyz6an3p43fjtw", type: AssetType.CHARACTER, name: "Stick Man", - thumbnail: "resources/placeholders/placeholder.png", + thumbnail: "/resources/placeholders/placeholder.png", }, { version: 1, media_id: "m_r7w1tmkx2jg8nznr3hyzj4k6zhfh7d ", type: AssetType.CHARACTER, name: "Female Doll", - thumbnail: "resources/characters/img03.png", + thumbnail: "/resources/characters/img03.png", }, { version: 1, media_id: "m_9sqg0evpr23587jnr8z3zsvav1x077 ", type: AssetType.CHARACTER, name: "Male Doll", - thumbnail: "resources/characters/img03.png", + thumbnail: "/resources/characters/img03.png", }, { version: 1, media_id: "m_pwtk45wsfr5z2bavmwxh2efnwvh4rr ", type: AssetType.CHARACTER, name: "Story Girl", - thumbnail: "resources/characters/img13.png", + thumbnail: "/resources/characters/img13.png", }, ]); @@ -527,7 +527,7 @@ export const objectItems = signal([ media_id: "m_0xfrmekc56satjxn66wt6c9dkw7dxe", type: AssetType.OBJECT, name: "Pikachu Statue", - thumbnail: "resources/placeholders/placeholder.png", + thumbnail: "/resources/placeholders/placeholder.png", }, ]); @@ -538,27 +538,27 @@ export const shapeItems = signal([ media_id: "Box", type: AssetType.SHAPE, name: "Cube", - thumbnail: "resources/shapes/cube.png", + thumbnail: "/resources/shapes/cube.png", }, { version: 1, media_id: "Cylinder", type: AssetType.SHAPE, name: "Cylinder", - thumbnail: "resources/shapes/cylinder.png", + thumbnail: "/resources/shapes/cylinder.png", }, { version: 1, media_id: "Donut", type: AssetType.SHAPE, name: "Donut", - thumbnail: "resources/shapes/donut.png", + thumbnail: "/resources/shapes/donut.png", }, { version: 1, media_id: "Sphere", type: AssetType.SHAPE, name: "Sphere", - thumbnail: "resources/shapes/sphere.png", + thumbnail: "/resources/shapes/sphere.png", }, ]); diff --git a/app/routes/IdealEnigma.$sceneToken.tsx b/app/routes/IdealEnigma.$sceneToken.tsx new file mode 100644 index 0000000000..dc7b46676a --- /dev/null +++ b/app/routes/IdealEnigma.$sceneToken.tsx @@ -0,0 +1,32 @@ +import type { HeadersFunction } from "@remix-run/deno"; +import { withProtectionRoute } from "~/modules/withProtectedRoute"; +import { PageEnigma } from "~/pages/PageEnigma"; + +// NB(bt): Netlify's custom directives cannot set headers for pages served by Remix, +// so we must specify them here instead. Netlify header rules (in either _headers or +// netlify.toml) will apply to statically served files (images, css, js), however. +// Setting these headers in `vite.config.ts` will also fail to apply them in +// production. +export const headers: HeadersFunction = ({ + actionHeaders, + errorHeaders, + loaderHeaders, + parentHeaders, +}) => ({ + // NB(bt): The following two headers are required for enabling SharedArrayBuffer (required by + // ffmpeg.wasm) in the post-SPECTRE world. Without these headers being sent by the page, the + // page cannot use SharedArrayBuffer. Downstream services must also set relevant CORS headers. + // + // See the following documentation on how this complex system works: + // + // - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements + // - https://stackoverflow.com/questions/73275184/enable-shared-array-buffer-in-cross-domain + // - https://blog.logrocket.com/understanding-sharedarraybuffer-and-cross-origin-isolation/ + // - https://github.com/ffmpegwasm/react-app/issues/3 + // + "Cross-Origin-Embedder-Policy": "require-corp", + "Cross-Origin-Opener-Policy": "same-origin", +}); + +const IdealEnigma = withProtectionRoute(()=>); +export default IdealEnigma;