diff --git a/client/src/app.css b/client/src/app.css index 3dabc1e..aabb65d 100644 --- a/client/src/app.css +++ b/client/src/app.css @@ -139,3 +139,7 @@ em { .markdown ul, .markdown ol { margin:0 1.5em 1.5em 1.5em; } + +.privacy-policy { + z-index: 10; +} diff --git a/client/src/components/level.tsx b/client/src/components/level.tsx index be81063..3f4642e 100644 --- a/client/src/components/level.tsx +++ b/client/src/components/level.tsx @@ -33,7 +33,7 @@ import { DeletedChatContext, InputModeContext, MobileContext, MonacoEditorContex import { DualEditor } from './infoview/main' import { GameHint } from './infoview/rpc_api' import { DeletedHints, Hint, Hints } from './hints' -import { Impressum } from './privacy_policy' +import { PrivacyPolicyPopup } from './privacy_policy' import '@fontsource/roboto/300.css' import '@fontsource/roboto/400.css' @@ -50,8 +50,17 @@ function Level() { const worldId = params.worldId // useLoadWorldFiles(worldId) + const [impressum, setImpressum] = React.useState(false) + + const closeImpressum = () => { + setImpressum(false) + } + return - {levelId == 0 ? : } + {levelId == 0 ? + : + } + {impressum ? : null} } @@ -176,7 +185,7 @@ function ChatPanel({lastLevel}) { } -function ExercisePanel({codeviewRef, impressum, closeImpressum, visible=true}) { +function ExercisePanel({codeviewRef, visible=true}) { const gameId = React.useContext(GameIdContext) const {worldId, levelId} = useContext(WorldLevelIdContext) const level = useLoadLevelQuery({game: gameId, world: worldId, level: levelId}) @@ -185,11 +194,10 @@ function ExercisePanel({codeviewRef, impressum, closeImpressum, visible=true}) {
- {impressum ? : null} } -function PlayableLevel() { +function PlayableLevel({impressum, setImpressum}) { const codeviewRef = useRef(null) const gameId = React.useContext(GameIdContext) const {worldId, levelId} = useContext(WorldLevelIdContext) @@ -218,8 +226,6 @@ function PlayableLevel() { const dispatch = useAppDispatch() // impressum pop-up - const [impressum, setImpressum] = React.useState(false) - function closeImpressum() {setImpressum(false)} function toggleImpressum() {setImpressum(!impressum)} // When clicking on an inventory item, the inventory is overlayed by the item's doc. @@ -358,8 +364,6 @@ function PlayableLevel() { <>
@@ -369,8 +373,6 @@ function PlayableLevel() { @@ -384,7 +386,7 @@ function PlayableLevel() { } -function IntroductionPanel({gameInfo, impressum, closeImpressum}) { +function IntroductionPanel({gameInfo}) { const gameId = React.useContext(GameIdContext) const {worldId} = useContext(WorldLevelIdContext) @@ -396,7 +398,6 @@ function IntroductionPanel({gameInfo, impressum, closeImpressum}) { ))} - {impressum ? : null}
{gameInfo.data?.worldSize[worldId] == 0 ? @@ -412,7 +413,7 @@ function IntroductionPanel({gameInfo, impressum, closeImpressum}) { export default Level /** The site with the introduction text of a world */ -function Introduction() { +function Introduction({impressum, setImpressum}) { const gameId = React.useContext(GameIdContext) const {mobile} = useContext(MobileContext) @@ -420,8 +421,6 @@ function Introduction() { const gameInfo = useGetGameInfoQuery({game: gameId}) - const [impressum, setImpressum] = React.useState(false) - const closeImpressum = () => { setImpressum(false) } @@ -435,10 +434,10 @@ function Introduction() { {gameInfo.isLoading ?
: mobile ? - + : - +
diff --git a/client/src/components/privacy_policy.tsx b/client/src/components/privacy_policy.tsx index 03ac0f4..e3046b7 100644 --- a/client/src/components/privacy_policy.tsx +++ b/client/src/components/privacy_policy.tsx @@ -11,7 +11,7 @@ import * as React from 'react' * controlled by the containing element. */ export function PrivacyPolicyPopup ({handleClose}: {handleClose: () => void}) { - return
+ return
@@ -31,7 +31,7 @@ export function PrivacyPolicyPopup ({handleClose}: {handleClose: () => void}) {

Our server is located in Germany.

Contact information:
- Jon Eugster
+ Alexander Bentkamp, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
@@ -39,6 +39,21 @@ export function PrivacyPolicyPopup ({handleClose}: {handleClose: () => void}) { +49 211 81-12173
Contact Details

+

Development & Funding

+

+ The source code of this Lean game engine + is available on Github. + If you experience any problems, please + file an Issue on Github or + get directly in contact. +

+

+ The game engine has been developed as part of the + project ADAM: Anticipating the Digital + Age of Mathematics at + Heinrich-Heine-Universität Düsseldorf. It is funded by + the Stiftung Innovation in der Hochschullehre as part of project Freiraum 2022. +

} @@ -58,49 +73,3 @@ export const PrivacyPolicy: React.FC = () => { ) } - -export function Impressum({handleClose}) { - return
-
-

Funding

-

- This Lean game engine has been developed as part of the - project ADAM: Anticipating the Digital - Age of Mathematics at - Heinrich-Heine-Universität Düsseldorf. It is funded by - the Stiftung Innovation in der Hochschullehre as part of project Freiraum 2022. -

- -

Development

-

- The source code is available on Github. - If you experience any problems, please - file an Issue on Github or - get directly in contact. -

-

Privacy Policy & Impressum

-

- Our server collects metadata (such as IP address, browser, operating system) - and the data that the user enters into the editor. The data is used to - compute the Lean output and display it to the user. The information will be stored - as long as the user stays on our website and will be deleted immediately afterwards. - We keep logs to improve our software, but the contained data is anonymised. -

-

- We do not use cookies, but your game progress is stored in the browser storage - as site data. Your game progress is not saved on the server; if you delete - your browser storage, it is completely gone. -

-

Our server is located in Germany.

-

- Contact information:
- Jon Eugster
- Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
- Universitätsstr. 1
- 40225 Düsseldorf
- Germany
- +49 211 81-12173
- Contact Details -

-
-}