diff --git a/packages/client-core/src/components/Fullscreen/index.tsx b/packages/client-core/src/components/Fullscreen/index.tsx
index 7bee38ebfb..402261c866 100644
--- a/packages/client-core/src/components/Fullscreen/index.tsx
+++ b/packages/client-core/src/components/Fullscreen/index.tsx
@@ -23,7 +23,7 @@ All portions of the code written by the Ethereal Engine team are Copyright © 20
Ethereal Engine. All Rights Reserved.
*/
-import React from 'react'
+import React, { useState } from 'react'
import { useTranslation } from 'react-i18next'
import { AudioEffectPlayer } from '@etherealengine/engine/src/audio/systems/MediaSystem'
@@ -31,13 +31,19 @@ import Icon from '@etherealengine/ui/src/primitives/mui/Icon'
import IconButtonWithTooltip from '@etherealengine/ui/src/primitives/mui/IconButtonWithTooltip'
import { useShelfStyles } from '../Shelves/useShelfStyles'
-import { useFullscreen } from '../useFullscreen'
import styles from './index.module.scss'
export const Fullscreen = () => {
const { t } = useTranslation()
- const [fullScreenActive, setFullScreenActive] = useFullscreen()
+ const [fullScreenActive, setFullScreenActive] = useState(false)
const { bottomShelfStyle } = useShelfStyles()
+
+ const setFullscreen = (input: boolean) => {
+ setFullScreenActive(input)
+ if (input) document.body.requestFullscreen()
+ else document.exitFullscreen()
+ }
+
return (
{fullScreenActive ? (
@@ -45,7 +51,7 @@ export const Fullscreen = () => {
title={t('user:menu.exitFullScreen')}
className={`${styles.btn} ${bottomShelfStyle}`}
background="white"
- onClick={() => setFullScreenActive(false)}
+ onClick={() => setFullscreen(false)}
onPointerUp={() => AudioEffectPlayer.instance.play(AudioEffectPlayer.SOUNDS.ui)}
onPointerEnter={() => AudioEffectPlayer.instance.play(AudioEffectPlayer.SOUNDS.ui)}
icon={
}
@@ -55,7 +61,7 @@ export const Fullscreen = () => {
title={t('user:menu.enterFullScreen')}
className={`${styles.btn} ${bottomShelfStyle}`}
background="white"
- onClick={() => setFullScreenActive(true)}
+ onClick={() => setFullscreen(true)}
onPointerUp={() => AudioEffectPlayer.instance.play(AudioEffectPlayer.SOUNDS.ui)}
onPointerEnter={() => AudioEffectPlayer.instance.play(AudioEffectPlayer.SOUNDS.ui)}
icon={
}
diff --git a/packages/client-core/src/components/FullscreenContainer.tsx b/packages/client-core/src/components/FullscreenContainer.tsx
deleted file mode 100644
index 1d4dc6cf0e..0000000000
--- a/packages/client-core/src/components/FullscreenContainer.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-CPAL-1.0 License
-
-The contents of this file are subject to the Common Public Attribution License
-Version 1.0. (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE.
-The License is based on the Mozilla Public License Version 1.1, but Sections 14
-and 15 have been added to cover use of software over a computer network and
-provide for limited attribution for the Original Developer. In addition,
-Exhibit A has been modified to be consistent with Exhibit B.
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
-specific language governing rights and limitations under the License.
-
-The Original Code is Ethereal Engine.
-
-The Original Developer is the Initial Developer. The Initial Developer of the
-Original Code is the Ethereal Engine team.
-
-All portions of the code written by the Ethereal Engine team are Copyright © 2021-2023
-Ethereal Engine. All Rights Reserved.
-*/
-
-import React, { useEffect } from 'react'
-import { FullScreen, useFullScreenHandle } from 'react-full-screen'
-
-import { FullscreenContext } from '@etherealengine/client-core/src/components/useFullscreen'
-import { iOS } from '@etherealengine/spatial/src/common/functions/isMobile'
-
-type Props = { children: JSX.Element | JSX.Element[] }
-
-export const FullscreenContainer = React.forwardRef((props: Props, ref: any) => {
- const handle = useFullScreenHandle()
-
- const renderEngineCanvas = () => {
- const canvas = document.getElementById('engine-renderer-canvas')
- if (!canvas) return
- canvas.parentElement?.removeChild(canvas)
- ref.current.appendChild(canvas)
- }
-
- useEffect(() => {
- renderEngineCanvas()
- }, [])
-
- const setFullScreen = (value: boolean) => {
- if (value) {
- handle.enter().catch((err) => console.log(err))
- renderEngineCanvas()
- } else {
- handle.exit().catch((err) => console.log(err))
- }
- }
-
- return iOS ? (
-
- {props.children}
-
- ) : (
-
-
-
- {props.children}
-
-
-
- )
-})
diff --git a/packages/client/package.json b/packages/client/package.json
index bcdd0dc6ae..44cb7c5068 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -63,7 +63,6 @@
"react": "18.2.0",
"react-dom": "18.2.0",
"react-file-drop": "3.1.6",
- "react-full-screen": "1.1.1",
"react-i18next": "11.16.6",
"react-icons": "^5.0.1",
"react-json-tree": "^0.18.0",
diff --git a/packages/client/src/engine.tsx b/packages/client/src/engine.tsx
index 26f7531f65..26bf4581db 100755
--- a/packages/client/src/engine.tsx
+++ b/packages/client/src/engine.tsx
@@ -27,7 +27,6 @@ import React, { createRef, Suspense } from 'react'
import { useTranslation } from 'react-i18next'
import { API } from '@etherealengine/client-core/src/API'
-import { FullscreenContainer } from '@etherealengine/client-core/src/components/FullscreenContainer'
import { LoadingCircle } from '@etherealengine/client-core/src/components/LoadingCircle'
import waitForClientAuthenticated from '@etherealengine/client-core/src/util/wait-for-client-authenticated'
import { pipeLogs } from '@etherealengine/common/src/logger'
@@ -58,9 +57,7 @@ export default function ({ children, tailwind = false }): JSX.Element {
const ref = createRef()
const { t } = useTranslation()
return !tailwind ? (
-
- }>{children}
-
+
}>{children}
) : (
children
)
diff --git a/packages/ui/src/components/tailwind/FullscreenContainer/FullscreenContainer.test.tsx b/packages/ui/src/components/tailwind/FullscreenContainer/FullscreenContainer.test.tsx
deleted file mode 100644
index 3fd83b9404..0000000000
--- a/packages/ui/src/components/tailwind/FullscreenContainer/FullscreenContainer.test.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-CPAL-1.0 License
-
-The contents of this file are subject to the Common Public Attribution License
-Version 1.0. (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE.
-The License is based on the Mozilla Public License Version 1.1, but Sections 14
-and 15 have been added to cover use of software over a computer network and
-provide for limited attribution for the Original Developer. In addition,
-Exhibit A has been modified to be consistent with Exhibit B.
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
-specific language governing rights and limitations under the License.
-
-The Original Code is Ethereal Engine.
-
-The Original Developer is the Initial Developer. The Initial Developer of the
-Original Code is the Ethereal Engine team.
-
-All portions of the code written by the Ethereal Engine team are Copyright © 2021-2023
-Ethereal Engine. All Rights Reserved.
-*/
-
-import { describe, expect, it } from '@jest/globals'
-import { shallow } from 'enzyme'
-import React, { createRef } from 'react'
-
-import FullscreenContainer from './index'
-import { Default as story } from './index.stories'
-
-describe('FullscreenContainer', () => {
- it('- should render', () => {
- const wrapper = shallow(
-
- hello
-
- )
- expect(wrapper).toMatchSnapshot()
- })
-})
diff --git a/packages/ui/src/components/tailwind/FullscreenContainer/index.stories.tsx b/packages/ui/src/components/tailwind/FullscreenContainer/index.stories.tsx
deleted file mode 100644
index 6e85cf726c..0000000000
--- a/packages/ui/src/components/tailwind/FullscreenContainer/index.stories.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-CPAL-1.0 License
-
-The contents of this file are subject to the Common Public Attribution License
-Version 1.0. (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE.
-The License is based on the Mozilla Public License Version 1.1, but Sections 14
-and 15 have been added to cover use of software over a computer network and
-provide for limited attribution for the Original Developer. In addition,
-Exhibit A has been modified to be consistent with Exhibit B.
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
-specific language governing rights and limitations under the License.
-
-The Original Code is Ethereal Engine.
-
-The Original Developer is the Initial Developer. The Initial Developer of the
-Original Code is the Ethereal Engine team.
-
-All portions of the code written by the Ethereal Engine team are Copyright © 2021-2023
-Ethereal Engine. All Rights Reserved.
-*/
-
-import Component from './index'
-
-const argTypes = {}
-
-export default {
- title: 'Primitives/Tailwind/FullscreenContainer',
- component: Component,
- parameters: {
- componentSubtitle: 'FullscreenContainer',
- jest: 'FullscreenContainer.test.tsx',
- design: {
- type: 'figma',
- url: ''
- }
- },
- argTypes
-}
-
-export const Default = { args: Component.defaultProps }
diff --git a/packages/ui/src/components/tailwind/FullscreenContainer/index.tsx b/packages/ui/src/components/tailwind/FullscreenContainer/index.tsx
deleted file mode 100644
index 41738317a3..0000000000
--- a/packages/ui/src/components/tailwind/FullscreenContainer/index.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-CPAL-1.0 License
-
-The contents of this file are subject to the Common Public Attribution License
-Version 1.0. (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE.
-The License is based on the Mozilla Public License Version 1.1, but Sections 14
-and 15 have been added to cover use of software over a computer network and
-provide for limited attribution for the Original Developer. In addition,
-Exhibit A has been modified to be consistent with Exhibit B.
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
-specific language governing rights and limitations under the License.
-
-The Original Code is Ethereal Engine.
-
-The Original Developer is the Initial Developer. The Initial Developer of the
-Original Code is the Ethereal Engine team.
-
-All portions of the code written by the Ethereal Engine team are Copyright © 2021-2023
-Ethereal Engine. All Rights Reserved.
-*/
-
-import React, { useCallback, useEffect } from 'react'
-import { FullScreen, useFullScreenHandle } from 'react-full-screen'
-
-import { FullscreenContext } from '@etherealengine/client-core/src/components/useFullscreen'
-import { useHookstate } from '@etherealengine/hyperflux'
-import { iOS } from '@etherealengine/spatial/src/common/functions/isMobile'
-
-type Props = { children: JSX.Element | JSX.Element[] }
-
-const FullscreenContainer = React.forwardRef((props: Props, ref: any) => {
- const fullScreenActive = useHookstate(false)
- const handle = useFullScreenHandle()
-
- useEffect(() => {
- if (ref?.current) {
- const canvas = document.getElementById('engine-renderer-canvas')!
- canvas.parentElement?.removeChild(canvas)
- ref.current.appendChild(canvas)
- }
- }, [ref])
-
- const reportChange = useCallback((state) => {
- if (state) {
- fullScreenActive.set(state)
- } else {
- fullScreenActive.set(state)
- }
- }, [])
-
- useEffect(() => {
- if (fullScreenActive.value) handle.enter()
- else handle.exit()
- }, [fullScreenActive.value])
-
- return iOS ? (
-
- {props.children}
-
- ) : (
-
-
- {props.children}
-
-
- )
-})
-
-FullscreenContainer.displayName = 'FullscreenContainer'
-
-FullscreenContainer.defaultProps = {
- children:
FullscreenContainer
-}
-export default FullscreenContainer