From d3a55a4dd36be3c47fff450fcc759193393eb33b Mon Sep 17 00:00:00 2001 From: Hydrogenbear Date: Thu, 28 Mar 2024 10:07:57 +0800 Subject: [PATCH 001/130] add Chinese translation --- client/public/locales/zh/translation.json | 95 +++++++++++++++++++++++ client/src/config.json | 2 +- 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 client/public/locales/zh/translation.json diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json new file mode 100644 index 00000000..683c769d --- /dev/null +++ b/client/public/locales/zh/translation.json @@ -0,0 +1,95 @@ +{ + "Tactics": "策略", + "Lean Game Server": "Lean游戏服务器", + "

Game rules determine if it is allowed to skip levels and if the games runs checks to only allow unlocked tactics and theorems in proofs.

<1>Note: \"Unlocked\" tactics (or theorems) are determined by two things: The set of minimal tactics needed to solve a level, plus any tactics you unlocked in another level. That means if you unlock <1>simp in a level, you can use it henceforth in any level.

The options are:

": "

游戏规则决定是否允许跳过关卡,以及游戏是否允许在证明中使用未解锁的策略和定理。

<1>注意:“解锁”的策略(或定理)由两个因素决定:解决关卡所需的最小策略集合,加上你在另一个关卡中解锁的任何策略。这意味着,如果你在某个关卡中解锁了<1>simp,那么你可以在任何关卡中使用它。

选项是:

", + "Game Rules": "游戏规则", + "levels": "关卡", + "tactics": "策略", + "regular": "标准", + "relaxed": "休闲", + "none": "无", + "Rules": "规则", + "Intro": "介绍", + "Game Introduction": "游戏介绍", + "World selection": "世界选择", + "Start": "开始", + "Inventory": "定理清单", + "next level": "下一关", + "Next": "下一步", + "back to world selection": "返回世界选择", + "Leave World": "离开世界", + "previous level": "上一关", + "Previous": "上一步", + "Editor mode is enforced!": "编辑器模式开启!", + "Editor mode": "编辑器模式", + "Typewriter mode": "打字机模式", + "information, Impressum, privacy policy": "信息、版权声明、隐私政策", + "Impressum": "版权声明", + "Preferences": "偏好设置", + "Game Info & Credits": "游戏信息和荣誉", + "Game Info": "游戏信息", + "Clear Progress": "清除进度", + "Erase": "删除", + "Download Progress": "下载进度", + "Download": "下载", + "Load Progress from JSON": "从 JSON 加载进度", + "Upload": "上传", + "Home": "首页", + "back to games selection": "返回游戏选择", + "close inventory": "关闭定理清单面板", + "show inventory": "打开定理清单面板", + "World": "世界", + "Show more help!": "显示更多帮助!", + "Goal": "目标", + "Current Goal": "当前目标", + "Objects": "Objects", + "Assumptions": "假设", + "Further Goals": "Further Goals", + "No Goals": "无目标", + "Loading goal…": "加载目标...", + "Click somewhere in the Lean file to enable the infoview.": "单击Lean文件中的某处以启用信息视图。", + "Waiting for Lean server to start…": "等待 Lean 服务器启动...", + "Level completed! 🎉": "完成关卡!🎉", + "Level completed with warnings 🎭": "关卡完成(带有警告) 🎭", + "Retry proof from here": "从这里重新试着证明", + "Active Goal": "当前目标", + "Crashed! Go to editor mode and fix your proof! Last server response:": "程序崩溃!请转到编辑器模式,修复您的证明!最后一次服务器响应:", + "Line": "行", + "Character": "字符", + "Loading messages…": "正在加载信息...", + "Execute": "执行", + "Definitions": "定义", + "Theorems": "定理", + "locked": "锁定中", + "disabled": "已禁用", + "new": "新建", + "Not unlocked yet": "尚未解锁", + "Not available in this level": "本关卡不提供", + "A repository of learning games for the proof assistant <1>Lean (Lean 4) and its mathematical library <5>mathlib": "一个用于<1>Lean (Lean 4)及其数学库<5>mathlib的学习游戏库", + "No Games loaded. Use <1>http://localhost:3000/#/g/local/FOLDER to open a game directly from a local folder.": "没有加载游戏。使用<1>http://localhost:3000/#/g/local/FOLDER直接从本地文件夹打开游戏。", + "

As this server runs lean on our university machines, it has a limited capacity. Our current estimate is about 70 simultaneous games. We hope to address and test this limitation better in the future.

<1>Most aspects of the games and the infrastructure are still in development. Feel free to file a <1>GitHub Issue about any problems you experience!": "

由于这个服务器在我们大学的机器上运行Lean,它的容量是有限的。我们当前的估计是大约70个同时进行的游戏。我们希望将来能更好地解决和测试这个限制。

<1>游戏和基础设施的大多数方面仍在开发中。遇到任何问题,请随时提交<1>GitHub Issue", + "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we-ll happily add yours.

": "<0>如果您想编写自己的游戏,您应该使用<1>GameSkeleton Github Repo作为模板,并阅读<3>如何创建游戏<1>您可以直接将游戏加载到服务器上并使用正确的URL进行游戏。上面的<1>说明也解释了如何将游戏加载到服务器的详细步骤。如果您有任何疑问,请您与我们联系。

本页面上的游戏是手动添加的。请与我们联系,我们很乐意添加您的游戏。

", + "This server has been developed as part of the project <1>ADAM : Anticipating the Digital Age of Mathematics at Heinrich-Heine-Universität in Düsseldorf.": "这个服务器是作为杜塞尔多夫海因里希·海涅大学项目<1>ADAM:预见数学的数字时代的一部分而开发的。", + "Prerequisites": "前置条件", + "Worlds": "世界(Worlds)", + "Levels": "关卡", + "Language": "语言", + "Development notes": "开发信息", + "Adding new games": "添加新游戏", + "Funding": "赞助", + "

Do you want to delete your saved progress irreversibly?

(This deletes your proofs and your collected inventory. Saves from other games are not deleted.)

": "

您是否想要不可逆转地删除您的游戏进度?

(这将删除您的证明和您收集的定理和策略。其他游戏的进度不会被删除。)

", + "Delete Progress?": "删除进度?", + "Delete": "删除", + "Download & Delete": "下载和删除", + "Cancel": "取消", + "Layout": "布局", + "Always visible": "始终可见", + "Save my settings (in the browser store)": "保存我的设置(在浏览器商店中)", + "

Select a JSON file with the saved game progress to load your progress.

<1><0>Warning: This will delete your current game progress! Consider <2>downloading your current progress first!": "

选择一个包含已保存游戏进度的JSON文件来加载您的进度。

<1><0>警告:这将删除您当前的游戏进度!首先考虑<2>下载您当前的进度", + "Upload Saved Progress": "上传保存的进度", + "Load selected file": "加载所选文件", + "Mobile": "移动端", + "Auto": "自动", + "Desktop": "桌面端", + "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we'll happily add yours.

": "<0>如果您想编写自己的游戏,您应该使用<1>GameSkeleton Github Repo作为模板,并阅读<3>如何创建游戏<1>您可以直接将游戏加载到服务器上并使用正确的URL进行游戏。上面的<1>说明也解释了如何将游戏加载到服务器的详细步骤。如果您有任何疑问,请您与我们联系。

本页面上的游戏是手动添加的。请与我们联系,我们很乐意添加您的游戏。

" +} diff --git a/client/src/config.json b/client/src/config.json index 69e14791..2ff6f2c1 100644 --- a/client/src/config.json +++ b/client/src/config.json @@ -21,7 +21,7 @@ { "iso": "zh", "flag": "CN", - "name": "中国话" + "name": "中文" } ] } From 1431ff8b496a0f1563fb46c9124b2e6bcf50d421 Mon Sep 17 00:00:00 2001 From: Hydrogenbear Date: Thu, 28 Mar 2024 10:21:10 +0800 Subject: [PATCH 002/130] remove the mistyped key --- client/public/locales/zh/translation.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index 683c769d..c294c006 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -46,9 +46,9 @@ "Assumptions": "假设", "Further Goals": "Further Goals", "No Goals": "无目标", - "Loading goal…": "加载目标...", + "Loading goal…": "加载目标。。。", "Click somewhere in the Lean file to enable the infoview.": "单击Lean文件中的某处以启用信息视图。", - "Waiting for Lean server to start…": "等待 Lean 服务器启动...", + "Waiting for Lean server to start…": "等待 Lean 服务器启动。。。", "Level completed! 🎉": "完成关卡!🎉", "Level completed with warnings 🎭": "关卡完成(带有警告) 🎭", "Retry proof from here": "从这里重新试着证明", @@ -56,7 +56,7 @@ "Crashed! Go to editor mode and fix your proof! Last server response:": "程序崩溃!请转到编辑器模式,修复您的证明!最后一次服务器响应:", "Line": "行", "Character": "字符", - "Loading messages…": "正在加载信息...", + "Loading messages…": "正在加载信息。。。", "Execute": "执行", "Definitions": "定义", "Theorems": "定理", @@ -68,7 +68,7 @@ "A repository of learning games for the proof assistant <1>Lean (Lean 4) and its mathematical library <5>mathlib": "一个用于<1>Lean (Lean 4)及其数学库<5>mathlib的学习游戏库", "No Games loaded. Use <1>http://localhost:3000/#/g/local/FOLDER to open a game directly from a local folder.": "没有加载游戏。使用<1>http://localhost:3000/#/g/local/FOLDER直接从本地文件夹打开游戏。", "

As this server runs lean on our university machines, it has a limited capacity. Our current estimate is about 70 simultaneous games. We hope to address and test this limitation better in the future.

<1>Most aspects of the games and the infrastructure are still in development. Feel free to file a <1>GitHub Issue about any problems you experience!": "

由于这个服务器在我们大学的机器上运行Lean,它的容量是有限的。我们当前的估计是大约70个同时进行的游戏。我们希望将来能更好地解决和测试这个限制。

<1>游戏和基础设施的大多数方面仍在开发中。遇到任何问题,请随时提交<1>GitHub Issue", - "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we-ll happily add yours.

": "<0>如果您想编写自己的游戏,您应该使用<1>GameSkeleton Github Repo作为模板,并阅读<3>如何创建游戏<1>您可以直接将游戏加载到服务器上并使用正确的URL进行游戏。上面的<1>说明也解释了如何将游戏加载到服务器的详细步骤。如果您有任何疑问,请您与我们联系。

本页面上的游戏是手动添加的。请与我们联系,我们很乐意添加您的游戏。

", + "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we'll happily add yours.

": "<0>如果您想编写自己的游戏,您应该使用<1>GameSkeleton Github Repo作为模板,并阅读<3>如何创建游戏<1>您可以直接将游戏加载到服务器上并使用正确的URL进行游戏。上面的<1>说明也解释了如何将游戏加载到服务器的详细步骤。如果您有任何疑问,请您与我们联系。

本页面上的游戏是手动添加的。请与我们联系,我们很乐意添加您的游戏。

", "This server has been developed as part of the project <1>ADAM : Anticipating the Digital Age of Mathematics at Heinrich-Heine-Universität in Düsseldorf.": "这个服务器是作为杜塞尔多夫海因里希·海涅大学项目<1>ADAM:预见数学的数字时代的一部分而开发的。", "Prerequisites": "前置条件", "Worlds": "世界(Worlds)", @@ -90,6 +90,5 @@ "Load selected file": "加载所选文件", "Mobile": "移动端", "Auto": "自动", - "Desktop": "桌面端", - "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we'll happily add yours.

": "<0>如果您想编写自己的游戏,您应该使用<1>GameSkeleton Github Repo作为模板,并阅读<3>如何创建游戏<1>您可以直接将游戏加载到服务器上并使用正确的URL进行游戏。上面的<1>说明也解释了如何将游戏加载到服务器的详细步骤。如果您有任何疑问,请您与我们联系。

本页面上的游戏是手动添加的。请与我们联系,我们很乐意添加您的游戏。

" + "Desktop": "桌面端" } From 470a184cac47c933b94fe0b84607d596cd9ed45a Mon Sep 17 00:00:00 2001 From: Jiecheng Date: Mon, 1 Apr 2024 07:44:34 +0800 Subject: [PATCH 003/130] some update --- client/public/locales/zh/translation.json | 6 +++--- client/src/components/level.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index 4b774367..50c9484d 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -7,7 +7,7 @@ "tactics": "策略", "regular": "标准", "relaxed": "休闲", - "none": "无", + "none": "自由", "Rules": "规则", "Intro": "介绍", "Game Introduction": "游戏介绍", @@ -15,11 +15,11 @@ "Start": "开始", "Inventory": "定理清单", "next level": "下一关", - "Next": "下一步", + "Next": "下一关", "back to world selection": "返回世界选择", "Leave World": "离开世界", "previous level": "上一关", - "Previous": "上一步", + "Previous": "上一关", "Editor mode is enforced!": "编辑器模式开启!", "Editor mode": "编辑器模式", "Typewriter mode": "打字机模式", diff --git a/client/src/components/level.tsx b/client/src/components/level.tsx index 260a196e..b5933e08 100644 --- a/client/src/components/level.tsx +++ b/client/src/components/level.tsx @@ -466,7 +466,7 @@ function IntroductionPanel({gameInfo}) { {gameInfo.data?.worldSize[worldId] == 0 ? : } From af5426856e9233f43a181c35b214918e43ad327c Mon Sep 17 00:00:00 2001 From: Hydrogenbear Date: Mon, 1 Apr 2024 12:35:17 +0800 Subject: [PATCH 004/130] Some updates, and fix. --- client/public/locales/zh/translation.json | 2 +- client/src/components/infoview/goals.tsx | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index 50c9484d..a2e54bf1 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -41,7 +41,7 @@ "Show more help!": "显示更多帮助!", "Goal": "目标", "Current Goal": "当前目标", - "Objects": "Objects", + "Objects": "对象", "Assumptions": "假设", "Further Goals": "Further Goals", "No Goals": "无目标", diff --git a/client/src/components/infoview/goals.tsx b/client/src/components/infoview/goals.tsx index bbd7f29a..41e79bf6 100644 --- a/client/src/components/infoview/goals.tsx +++ b/client/src/components/infoview/goals.tsx @@ -140,6 +140,7 @@ interface GoalProps { * provided `filter`. */ export const Goal = React.memo((props: GoalProps) => { const { goal, filter, showHints, typewriter } = props + let { t } = useTranslation() // TODO: Apparently `goal` can be `undefined` if (!goal) {return <>} @@ -153,7 +154,7 @@ export const Goal = React.memo((props: GoalProps) => { undefined, [locs, goal.mvarId]) const goalLi =
-
Goal:
+
{t("Goal")}:
@@ -171,10 +172,10 @@ export const Goal = React.memo((props: GoalProps) => { {/* {goal.userName &&
case {goal.userName}
} */} {filter.reverse && goalLi} {! typewriter && objectHyps.length > 0 && -
Objects:
+
{t("Objects")}:
{objectHyps.map((h, i) => )}
} {!typewriter && assumptionHyps.length > 0 && -
Assumptions:
+
{t("Assumptions")}:
{assumptionHyps.map((h, i) => )}
} {!filter.reverse && goalLi} {/* {showHints && hints} */} From 3d9d244b310a2712d5a71637e0dd38ba58cc582d Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Wed, 10 Apr 2024 17:12:55 +0200 Subject: [PATCH 005/130] mark another string from translation --- client/public/locales/de/translation.json | 7 ++++--- client/public/locales/en/translation.json | 3 ++- client/src/components/landing_page.tsx | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/client/public/locales/de/translation.json b/client/public/locales/de/translation.json index 9efb4cd5..05da8d6d 100644 --- a/client/public/locales/de/translation.json +++ b/client/public/locales/de/translation.json @@ -87,8 +87,9 @@ "Desktop": "Desktop", "<0>If you are considering writing your own game, you should use the <1>GameSkeleton Github Repo as a template and read <3>How to Create a Game.<1>You can directly load your games into the server and play it using the correct URL. The <1>instructions above also explain the details for how to load your game to the server. We'd like to encourage you to contact us if you have any questions.

Featured games on this page are added manually. Please get in contact and we'll happily add yours.

": "", "Level": "", - "Introduction": "", - "Retry proof from here": "", + "Introduction": "Einführung", + "Retry proof from here": "Ab hier erneut versuchen", "Retry": "", - "Failed command": "" + "Failed command": "Befehl fehlgeschlagen", + "view the Lean game server on Github": "Lean game Server auf Github ansehen" } diff --git a/client/public/locales/en/translation.json b/client/public/locales/en/translation.json index 68666a65..c968175e 100644 --- a/client/public/locales/en/translation.json +++ b/client/public/locales/en/translation.json @@ -90,5 +90,6 @@ "Introduction": "Introduction", "Retry proof from here": "Retry proof from here", "Retry": "Retry", - "Failed command": "Failed command" + "Failed command": "Failed command", + "view the Lean game server on Github": "view the Lean game server on Github" } diff --git a/client/src/components/landing_page.tsx b/client/src/components/landing_page.tsx index be12fc00..0e66fb72 100644 --- a/client/src/components/landing_page.tsx +++ b/client/src/components/landing_page.tsx @@ -22,9 +22,10 @@ import lean4gameConfig from '../config.json' import i18next from 'i18next'; function GithubIcon({url='https://github.com'}) { + let { t } = useTranslation() return
- + From 848b2cddc87cc28001c28ae9ecb9b7a27e1a5aba Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 11 Apr 2024 11:59:03 +0200 Subject: [PATCH 006/130] fix hhu-adam/Robo#22 --- client/src/css/level.css | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/css/level.css b/client/src/css/level.css index d6fbb7ec..6912211d 100644 --- a/client/src/css/level.css +++ b/client/src/css/level.css @@ -279,6 +279,7 @@ td code { .chat .message { margin-left: .5em; margin-right: .5em; + overflow-x: auto; } .chat .recent { From c5df85ce665c665679fcb3772b2f481047791be6 Mon Sep 17 00:00:00 2001 From: Hydrogenbear Date: Thu, 11 Apr 2024 19:38:33 +0800 Subject: [PATCH 007/130] Add a missed translation --- client/public/locales/zh/translation.json | 9 +++++---- client/src/components/infoview/main.tsx | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index eceb399f..05f51053 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -59,6 +59,7 @@ "Execute": "执行", "Definitions": "定义", "Theorems": "定理", + "Theorem": "定理", "Not unlocked yet": "尚未解锁", "Not available in this level": "本关卡不提供", "A repository of learning games for the proof assistant <1>Lean (Lean 4) and its mathematical library <5>mathlib": "一个用于<1>Lean (Lean 4)及其数学库<5>mathlib的学习游戏库", @@ -87,8 +88,8 @@ "Mobile": "移动端", "Auto": "自动", "Desktop": "桌面端", - "Level": "", - "Introduction": "", - "Retry": "", - "Failed command": "" + "Level": "关卡", + "Introduction": "介绍", + "Retry": "重试", + "Failed command": "命令失败" } diff --git a/client/src/components/infoview/main.tsx b/client/src/components/infoview/main.tsx index 11616526..729600b0 100644 --- a/client/src/components/infoview/main.tsx +++ b/client/src/components/infoview/main.tsx @@ -144,7 +144,7 @@ function ExerciseStatement({ data, showLeanStatement = false }) {
{data?.descrText && - {(data?.displayName ? `**Theorem** \`${data?.displayName}\`: ` : '') + t(data?.descrText, {ns: gameId})} + {(data?.displayName ? `**${t("Theorem")}** \`${data?.displayName}\`: ` : '') + t(data?.descrText, {ns: gameId})} } {data?.descrFormat && showLeanStatement && From 62f1fb87d1fa287a59d17827e77a2cb9ee4a69f5 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Wed, 17 Apr 2024 12:23:53 +0200 Subject: [PATCH 008/130] add numpad-enter key #212 --- client/src/components/infoview/typewriter.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/infoview/typewriter.tsx b/client/src/components/infoview/typewriter.tsx index 697b1032..e06fec24 100644 --- a/client/src/components/infoview/typewriter.tsx +++ b/client/src/components/infoview/typewriter.tsx @@ -229,7 +229,7 @@ export function Typewriter({disabled}: {disabled?: boolean}) { if (!oneLineEditor) return // Run command when pressing enter const l = oneLineEditor.onKeyUp((ev) => { - if (ev.code === "Enter") { + if (ev.code === "Enter" || ev.code === "NumpadEnter") { runCommand() } }) From f308e1ad4972cef48d1da3f2dabb7e454eb3dacd Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Wed, 17 Apr 2024 12:54:13 +0200 Subject: [PATCH 009/130] fix CSS of tooltips #207 --- client/src/css/infoview.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/src/css/infoview.css b/client/src/css/infoview.css index 987a175c..3363f8d3 100644 --- a/client/src/css/infoview.css +++ b/client/src/css/infoview.css @@ -225,3 +225,8 @@ padding-left: .5em; padding-right: .5em; } + +/* Apparently this prevents the layout from jumping around when hovering over expressions. */ +.tooltip-arrow { + display: none; +} From 4e7c958348e942bd53381d5b812c3ce206057a32 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 18 Apr 2024 12:24:29 +0200 Subject: [PATCH 010/130] Update client/public/locales/zh/translation.json --- client/public/locales/zh/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index 05f51053..947dc54f 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -23,7 +23,7 @@ "Editor mode is enforced!": "编辑器模式开启!", "Editor mode": "编辑器模式", "Typewriter mode": "打字机模式", - "information, Impressum, privacy policy": "信息、版权声明、隐私政策", + "information, Impressum, privacy policy": "信息、版权声明 (Impressum)、隐私政策", "Preferences": "偏好设置", "Game Info & Credits": "游戏信息和荣誉", "Game Info": "游戏信息", From 8cf358e17bda6e3de06a3d870baf904b2a7fb554 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 18 Apr 2024 18:06:56 +0200 Subject: [PATCH 011/130] add config option to disable flags in preferences #208 --- client/src/components/popup/preferences.tsx | 10 +++++++++- client/src/config.json | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/client/src/components/popup/preferences.tsx b/client/src/components/popup/preferences.tsx index 9e77ec67..303ec300 100644 --- a/client/src/components/popup/preferences.tsx +++ b/client/src/components/popup/preferences.tsx @@ -16,6 +16,8 @@ export function PreferencesPopup({ handleClose }: { handleClose: () => void }) { let { t } = useTranslation() const {layout, isSavePreferences, language, setLayout, setIsSavePreferences, setLanguage} = React.useContext(PreferencesContext) + + const marks = [ { value: 0, @@ -59,7 +61,13 @@ export function PreferencesPopup({ handleClose }: { handleClose: () => void }) { value={language} label={t("Language")} onChange={handlerChangeLanguage}> - {lean4gameConfig.languages.map(lang => {return  {lang.name}})} + {lean4gameConfig.languages.map(lang => { + return + {lean4gameConfig.useFlags && } +   + {lang.name} + + })} } diff --git a/client/src/config.json b/client/src/config.json index 9a4d059e..d140efc1 100644 --- a/client/src/config.json +++ b/client/src/config.json @@ -22,5 +22,6 @@ "flag": "CN", "name": "中文" } - ] + ], + "useFlags": false } From 02978a38ed97545a54f5f3950657d55874d0d666 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 18 Apr 2024 18:22:03 +0200 Subject: [PATCH 012/130] add allowed keywords #215 --- server/GameServer/EnvExtensions.lean | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/GameServer/EnvExtensions.lean b/server/GameServer/EnvExtensions.lean index 20be5b38..d2a47d5d 100644 --- a/server/GameServer/EnvExtensions.lean +++ b/server/GameServer/EnvExtensions.lean @@ -5,9 +5,14 @@ import GameServer.Hints open GameServer -- TODO: Is there a better place? -/-- Keywords that the server should not consider as tactics. -/ +/-- Keywords that the server should not consider as tactics. + +Note: Added `clear` tactic because currently it is very useful in combination with +`Branch` and `Hint` (i.e. using `clear` before a `Hint` in order to remove any irrelevant +hypotheses). +-/ def GameServer.ALLOWED_KEYWORDS : List String := - ["with", "fun", "at", "only", "by", "generalizing"] + ["with", "fun", "at", "only", "by", "generalizing", "if", "then", "else", "clear"] /-- The default game name if `Game "MyGame"` is not used. -/ def defaultGameName: String := "MyGame" From a1b1a33a9bbf194a42f0920c00e18da11380bae3 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Fri, 19 Apr 2024 10:07:09 +0200 Subject: [PATCH 013/130] remove more flags #208 --- client/src/components/landing_page.tsx | 9 ++++++--- client/src/css/landing_page.css | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/src/components/landing_page.tsx b/client/src/components/landing_page.tsx index 0e66fb72..f108720d 100644 --- a/client/src/components/landing_page.tsx +++ b/client/src/components/landing_page.tsx @@ -66,14 +66,17 @@ function Tile({gameId, data}: {gameId: string, data: GameTile|undefined}) { {t("Levels")} {data.levels} - + {t("Language")} {data.languages.map((lang) => { let langOpt = lean4gameConfig.languages.find((e) => e.iso == lang) - return - + if (lean4gameConfig.useFlags) { + return + } else { + return {lang} + } })} diff --git a/client/src/css/landing_page.css b/client/src/css/landing_page.css index 4831c9f2..b3c0cfb2 100644 --- a/client/src/css/landing_page.css +++ b/client/src/css/landing_page.css @@ -231,3 +231,7 @@ footer .link { margin-right: calc(50% - 650px); } } + +.info .languages span + span { + margin-left: .5em; +} From eac945e7b5ca474a01a5632c97758e184f6a8f65 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Wed, 24 Apr 2024 14:31:29 +0200 Subject: [PATCH 014/130] update impressum & privacy policy --- client/public/locales/de/translation.json | 9 +- client/public/locales/en/translation.json | 9 +- client/public/locales/zh/translation.json | 9 +- client/src/components/app_bar.tsx | 26 ++-- client/src/components/infoview/typewriter.tsx | 6 + client/src/components/landing_page.tsx | 13 +- client/src/components/level.tsx | 27 ++-- client/src/components/popup/game_info.tsx | 30 +++- .../src/components/popup/privacy_policy.tsx | 135 ++++++++++++------ client/src/components/welcome.tsx | 10 +- client/src/css/app.css | 6 + index.html | 12 +- 12 files changed, 216 insertions(+), 76 deletions(-) diff --git a/client/public/locales/de/translation.json b/client/public/locales/de/translation.json index 05da8d6d..ab851b1f 100644 --- a/client/public/locales/de/translation.json +++ b/client/public/locales/de/translation.json @@ -23,7 +23,6 @@ "Editor mode is enforced!": "Editor kann nicht verlassen werden!", "Editor mode": "Editor", "Typewriter mode": "Schreibmaschine", - "information, Impressum, privacy policy": "Informationen, Impressum, Privacy Policy", "Preferences": "Einstellungen", "Game Info & Credits": "Spielinfo & Credits", "Game Info": "Spielinfo", @@ -91,5 +90,11 @@ "Retry proof from here": "Ab hier erneut versuchen", "Retry": "", "Failed command": "Befehl fehlgeschlagen", - "view the Lean game server on Github": "Lean game Server auf Github ansehen" + "view the Lean game server on Github": "Lean game Server auf Github ansehen", + "Theorem": "Theorem", + "Impressum": "Impressum", + "Privacy Policy": "Datenschutzerklärung", + "<0>Impressum<1>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details<2>Legal form:
The Heinrich Heine University Düsseldorf is a corporation under public law. It is legally represented by the Rector Prof. Dr. Anja Steinbeck. The responsible supervisory authority is the Ministry of Culture and Science of North Rhine-Westphalia, Völklinger Straße 49, 40221 Düsseldorf.<3>VAT identification number:
according to §27a Sales Tax Act
DE 811222416<4><0>Impressum HHU": "<0>Impressum<1>Kontakt:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Deutschland
+49 211 81-14690
<14>Kontaktinformationen<2>Rechtsform:
Die Heinrich-Heine Universität Düsseldorf ist eine Körperschaft des Öffentlichen Rechts. Sie wird durch die Rektorin Prof. Dr. Anja Steinbeck gesetzlich vertreten. Zuständige Aufsichtsbehörde ist das Ministerium für Kultur und Wissenschaft des Landes Nordrhein-Westfalen, Völklinger Straße 49, 40221 Düsseldorf.<3>Umsatzsteuer-Identifikationsnummer:
gemäß §27a Umsatzsteuergesetz
DE 811222416<4><0>Impressum der HHU", + "<0>Progress saving<1>The game stores your progress in your local browser storage. If you delete it, your progress will be lost!
Warning: In most browsers, deleting cookies will also clear the local storage (or \"local site data\"). Make sure to download your game progress first!<2>Development<3>The game engine has been created by Alexander Bentkamp, Jon Eugster. On a prototype by Patrick Massot.<4>The source code of this Lean game engine is <1>available on Github. If you experience any problems, please file an <3>Issue on Github or get directly in contact.<5>Funding<6>The game engine has been developed as part of the project <1>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.": "<0>Spielstandspeicherung<1>Das Spiel speichert den Spielstand im lokalen Browserspeicher. Wird dieser gelöscht, ist der Spielstand nicht wiederherstellbar!
Achtung: In üblichen Browsern bewirkt ein löschen von Cookies auch ein löschen des lokalen Browserspeichers (z.B. \"local site data\"). Der Spielstand sollte vorgehend heruntergeladen werden!<2>Entwicklung<3>Der Spieleserver wurde entwickelt von Alexander Bentkamp, Jon Eugster. Basierend auf einem Prototyp von Patrick Massot.<4>Der Sourcecode dieses Lean-Game-Engine ist <1>auf Github verfügbar. Bei Problemen, bitte einen <3>Github-Issue ausfüllen oder direkt mit uns Kontakt aufnehmen.<5>Funding<6>Dieser Spielserver wurde im Rahmen des Projekts <1>ADAM: Anticipating the Digital Age of Mathematics an der Heinrich-Heine-Universität Düsseldorf entwickelt. Es wird finanziell durch das Projekt Freiraum 2022 der Stiftung Innovation in der Hochschullehre unterstützt.", + "<0>Privacy Policy

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 anonymized.

We do not use cookies, but your game progress is stored in the browser 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.

<4>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details": "<0>Datenschutzerklärung

Unser Server verarbeitet Benutzer-Metadaten (zum Beispiel IP-Addresse, Browser-Version, Betriebssystem) sowie die Benutzereingaben in den Editor. Diese Daten werden verwendet um die Lean-Ausgabe zu berechnen und dem Benutzer darzustellen. Die Informationen werden nur gespeichert, solange der Benutzer auf unserer Webseite bleibt und anschliessend sofort gelöscht. Wir führen Log-Dateien um die Software zu verbessern, aber die enthaltenen Daten sind anonymisiert.

Wir verwenden keine Cookies, aber der Spielstand wird im Browser als \"Site Data\" gespeichert. Der Spielstand wird nicht auf dem Server gespeichert; wird er lokal gelöscht, kann er nicht wiederhergestellt werden.

Unser Server ist in Deutschland stationiert.

<4>Kontakt:
Markus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Deutschland
+49 211 81-14690
<14>Kontaktdetails" } diff --git a/client/public/locales/en/translation.json b/client/public/locales/en/translation.json index c968175e..b953a042 100644 --- a/client/public/locales/en/translation.json +++ b/client/public/locales/en/translation.json @@ -23,7 +23,6 @@ "Editor mode is enforced!": "Editor mode is enforced!", "Editor mode": "Editor mode", "Typewriter mode": "Typewriter mode", - "information, Impressum, privacy policy": "information, Impressum, privacy policy", "Preferences": "Preferences", "Game Info & Credits": "Game Info & Credits", "Game Info": "Game Info", @@ -91,5 +90,11 @@ "Retry proof from here": "Retry proof from here", "Retry": "Retry", "Failed command": "Failed command", - "view the Lean game server on Github": "view the Lean game server on Github" + "view the Lean game server on Github": "view the Lean game server on Github", + "Theorem": "Theorem", + "Impressum": "Impressum", + "Privacy Policy": "Privacy Policy", + "<0>Impressum<1>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details<2>Legal form:
The Heinrich Heine University Düsseldorf is a corporation under public law. It is legally represented by the Rector Prof. Dr. Anja Steinbeck. The responsible supervisory authority is the Ministry of Culture and Science of North Rhine-Westphalia, Völklinger Straße 49, 40221 Düsseldorf.<3>VAT identification number:
according to §27a Sales Tax Act
DE 811222416<4><0>Impressum HHU": "<0>Impressum<1>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details<2>Legal form:
The Heinrich Heine University Düsseldorf is a corporation under public law. It is legally represented by the Rector Prof. Dr. Anja Steinbeck. The responsible supervisory authority is the Ministry of Culture and Science of North Rhine-Westphalia, Völklinger Straße 49, 40221 Düsseldorf.<3>VAT identification number:
according to §27a Sales Tax Act
DE 811222416<4><0>Impressum HHU", + "<0>Progress saving<1>The game stores your progress in your local browser storage. If you delete it, your progress will be lost!
Warning: In most browsers, deleting cookies will also clear the local storage (or \"local site data\"). Make sure to download your game progress first!<2>Development<3>The game engine has been created by Alexander Bentkamp, Jon Eugster. On a prototype by Patrick Massot.<4>The source code of this Lean game engine is <1>available on Github. If you experience any problems, please file an <3>Issue on Github or get directly in contact.<5>Funding<6>The game engine has been developed as part of the project <1>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.": "<0>Progress saving<1>The game stores your progress in your local browser storage. If you delete it, your progress will be lost!
Warning: In most browsers, deleting cookies will also clear the local storage (or \"local site data\"). Make sure to download your game progress first!<2>Development<3>The game engine has been created by Alexander Bentkamp, Jon Eugster. On a prototype by Patrick Massot.<4>The source code of this Lean game engine is <1>available on Github. If you experience any problems, please file an <3>Issue on Github or get directly in contact.<5>Funding<6>The game engine has been developed as part of the project <1>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.", + "<0>Privacy Policy

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 anonymized.

We do not use cookies, but your game progress is stored in the browser 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.

<4>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details": "<0>Privacy Policy

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 anonymized.

We do not use cookies, but your game progress is stored in the browser 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.

<4>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details" } diff --git a/client/public/locales/zh/translation.json b/client/public/locales/zh/translation.json index 947dc54f..bbe0b686 100644 --- a/client/public/locales/zh/translation.json +++ b/client/public/locales/zh/translation.json @@ -23,7 +23,6 @@ "Editor mode is enforced!": "编辑器模式开启!", "Editor mode": "编辑器模式", "Typewriter mode": "打字机模式", - "information, Impressum, privacy policy": "信息、版权声明 (Impressum)、隐私政策", "Preferences": "偏好设置", "Game Info & Credits": "游戏信息和荣誉", "Game Info": "游戏信息", @@ -91,5 +90,11 @@ "Level": "关卡", "Introduction": "介绍", "Retry": "重试", - "Failed command": "命令失败" + "Failed command": "命令失败", + "view the Lean game server on Github": "", + "Impressum": "版权声明", + "Privacy Policy": "隐私政策", + "<0>Impressum<1>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details<2>Legal form:
The Heinrich Heine University Düsseldorf is a corporation under public law. It is legally represented by the Rector Prof. Dr. Anja Steinbeck. The responsible supervisory authority is the Ministry of Culture and Science of North Rhine-Westphalia, Völklinger Straße 49, 40221 Düsseldorf.<3>VAT identification number:
according to §27a Sales Tax Act
DE 811222416<4><0>Impressum HHU": "", + "<0>Progress saving<1>The game stores your progress in your local browser storage. If you delete it, your progress will be lost!
Warning: In most browsers, deleting cookies will also clear the local storage (or \"local site data\"). Make sure to download your game progress first!<2>Development<3>The game engine has been created by Alexander Bentkamp, Jon Eugster. On a prototype by Patrick Massot.<4>The source code of this Lean game engine is <1>available on Github. If you experience any problems, please file an <3>Issue on Github or get directly in contact.<5>Funding<6>The game engine has been developed as part of the project <1>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.": "", + "<0>Privacy Policy

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 anonymized.

We do not use cookies, but your game progress is stored in the browser 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.

<4>Contact:
Marcus Zibrowius, Jon Eugster
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
40225 Düsseldorf
Germany
+49 211 81-14690
<14>Contact Details": "" } diff --git a/client/src/components/app_bar.tsx b/client/src/components/app_bar.tsx index 37d55dd0..026400b2 100644 --- a/client/src/components/app_bar.tsx +++ b/client/src/components/app_bar.tsx @@ -123,16 +123,21 @@ function InputModeButton({setNavOpen, isDropdown}) { } -/** button to toggle iimpressum popup - * - * Note: Do not translate the word "Impressum"! German GDPR needs this. -*/ export function ImpressumButton({setNavOpen, toggleImpressum, isDropdown}) { const { t } = useTranslation() return +} + +export function PrivacyButton({setNavOpen, togglePrivacy, isDropdown}) { + const { t } = useTranslation() + return } @@ -204,11 +209,12 @@ function InventoryButton({pageNumber, setPageNumber}) { } /** the navigation bar on the welcome page */ -export function WelcomeAppBar({pageNumber, setPageNumber, gameInfo, toggleImpressum, toggleEraseMenu, toggleUploadMenu, toggleInfo, togglePreferencesPopup} : { +export function WelcomeAppBar({pageNumber, setPageNumber, gameInfo, toggleImpressum, togglePrivacy, toggleEraseMenu, toggleUploadMenu, toggleInfo, togglePreferencesPopup} : { pageNumber: number, setPageNumber: any, gameInfo: GameInfo, toggleImpressum: any, + togglePrivacy: any, toggleEraseMenu: any, toggleUploadMenu: any, toggleInfo: any, @@ -238,16 +244,18 @@ export function WelcomeAppBar({pageNumber, setPageNumber, gameInfo, toggleImpres +
} /** the navigation bar in a level */ -export function LevelAppBar({isLoading, levelTitle, toggleImpressum, toggleInfo, togglePreferencesPopup, pageNumber=undefined, setPageNumber=undefined} : { +export function LevelAppBar({isLoading, levelTitle, toggleImpressum, togglePrivacy, toggleInfo, togglePreferencesPopup, pageNumber=undefined, setPageNumber=undefined} : { isLoading: boolean, levelTitle: string, toggleImpressum: any, + togglePrivacy: any, toggleInfo: any, togglePreferencesPopup: any, pageNumber?: number, @@ -282,6 +290,7 @@ export function LevelAppBar({isLoading, levelTitle, toggleImpressum, toggleInfo, +
: @@ -303,6 +312,7 @@ export function LevelAppBar({isLoading, levelTitle, toggleImpressum, toggleInfo,
+
diff --git a/client/src/components/infoview/typewriter.tsx b/client/src/components/infoview/typewriter.tsx index e06fec24..bdf3553c 100644 --- a/client/src/components/infoview/typewriter.tsx +++ b/client/src/components/infoview/typewriter.tsx @@ -35,6 +35,12 @@ monaco.languages.register({ extensions: ['.leancmd'] }) +// register Monaco languages // TODO: JE. I dont understand why I suddenly had to add this when it worked without before. +monaco.languages.register({ + id: 'lean4', + extensions: ['.lean'] +}) + // map of monaco "language id's" to TextMate scopeNames const grammars = new Map() grammars.set('lean4', 'source.lean') diff --git a/client/src/components/landing_page.tsx b/client/src/components/landing_page.tsx index f108720d..955950c6 100644 --- a/client/src/components/landing_page.tsx +++ b/client/src/components/landing_page.tsx @@ -11,12 +11,12 @@ import '../css/landing_page.css' import bgImage from '../assets/bg.jpg' import Markdown from './markdown'; -import {PrivacyPolicyPopup} from './popup/privacy_policy' +import {PrivacyPolicyPopup, ImpressumPopup} from './popup/privacy_policy' import { GameTile, useGetGameInfoQuery } from '../state/api' import path from 'path'; import { PreferencesPopup } from './popup/preferences'; -import { ImpressumButton, MenuButton, PreferencesButton } from './app_bar'; +import { ImpressumButton, MenuButton, PreferencesButton, PrivacyButton } from './app_bar'; import ReactCountryFlag from 'react-country-flag'; import lean4gameConfig from '../config.json' import i18next from 'i18next'; @@ -91,11 +91,15 @@ function LandingPage() { const navigate = useNavigate(); const [impressumPopup, setImpressumPopup] = React.useState(false); + const [privacyPopup, setPrivacyPopup] = React.useState(false); const [preferencesPopup, setPreferencesPopup] = React.useState(false); const [navOpen, setNavOpen] = React.useState(false); const openImpressum = () => setImpressumPopup(true); const closeImpressum = () => setImpressumPopup(false); const toggleImpressum = () => setImpressumPopup(!impressumPopup); + const openPrivacy = () => setPrivacyPopup(true); + const closePrivacy = () => setPrivacyPopup(false); + const togglePrivacy = () => setPrivacyPopup(!privacyPopup); const closePreferencesPopup = () => setPreferencesPopup(false); const togglePreferencesPopup = () => setPreferencesPopup(!preferencesPopup); @@ -128,6 +132,7 @@ function LandingPage() {
+
@@ -214,7 +219,9 @@ function LandingPage() {
diff --git a/client/src/components/level.tsx b/client/src/components/level.tsx index 8d06b9e7..37710e38 100644 --- a/client/src/components/level.tsx +++ b/client/src/components/level.tsx @@ -33,7 +33,7 @@ import { DeletedChatContext, InputModeContext, PreferencesContext, MonacoEditorC import { DualEditor } from './infoview/main' import { GameHint, InteractiveGoalsWithHints, ProofState } from './infoview/rpc_api' import { DeletedHints, Hint, Hints, MoreHelpButton, filterHints } from './hints' -import { PrivacyPolicyPopup } from './popup/privacy_policy' +import { ImpressumPopup, PrivacyPolicyPopup } from './popup/privacy_policy' import path from 'path'; import '@fontsource/roboto/300.css' @@ -75,10 +75,12 @@ function Level() { // pop-ups const [impressum, setImpressum] = React.useState(false) + const [privacy, setPrivacy] = React.useState(false) const [info, setInfo] = React.useState(false) const [preferencesPopup, setPreferencesPopup] = React.useState(false) function closeImpressum() {setImpressum(false)} + function closePrivacy() {setPrivacy(false)} function closeInfo() {setInfo(false)} function closePreferencesPopup() {setPreferencesPopup(false)} function toggleImpressum() {setImpressum(!impressum)} @@ -87,9 +89,10 @@ function Level() { return {levelId == 0 ? - : - } - {impressum ? : null} + : + } + {impressum ? : null} + {privacy ? : null} {info ? : null} {preferencesPopup ? : null} @@ -212,7 +215,7 @@ function ExercisePanel({codeviewRef, visible=true}: {codeviewRef: React.MutableR
} -function PlayableLevel({impressum, setImpressum, toggleInfo, togglePreferencesPopup}) { +function PlayableLevel({impressum, setImpressum, privacy, setPrivacy, toggleInfo, togglePreferencesPopup}) { let { t } = useTranslation() const codeviewRef = useRef(null) const gameId = React.useContext(GameIdContext) @@ -251,6 +254,7 @@ function PlayableLevel({impressum, setImpressum, toggleInfo, togglePreferencesPo // impressum pop-up function toggleImpressum() {setImpressum(!impressum)} + function togglePrivacy() {setPrivacy(!privacy)} // When clicking on an inventory item, the inventory is overlayed by the item's doc. // If this state is set to a pair `(name, type)` then the according doc will be open. @@ -419,8 +423,9 @@ function PlayableLevel({impressum, setImpressum, toggleInfo, togglePreferencesPo isLoading={level.isLoading} levelTitle={(mobile ? "" : t("Level")) + ` ${levelId} / ${gameInfo.data?.worldSize[worldId]}` + (level?.data?.title && ` : ${t(level?.data?.title, {ns: gameId})}`)} - toggleImpressum={toggleImpressum} - toggleInfo={toggleInfo} + toggleImpressum={toggleImpressum} + togglePrivacy={togglePrivacy} + toggleInfo={toggleInfo} togglePreferencesPopup={togglePreferencesPopup} /> {mobile? @@ -479,7 +484,7 @@ function IntroductionPanel({gameInfo}) { export default Level /** The site with the introduction text of a world */ -function Introduction({impressum, setImpressum, toggleInfo, togglePreferencesPopup}) { +function Introduction({impressum, setImpressum, privacy, setPrivacy, toggleInfo, togglePreferencesPopup}) { let { t } = useTranslation() const gameId = React.useContext(GameIdContext) @@ -497,9 +502,11 @@ function Introduction({impressum, setImpressum, toggleInfo, togglePreferencesPop const toggleImpressum = () => { setImpressum(!impressum) } - + const togglePrivacy = () => { + setPrivacy(!privacy) + } return <> - + {gameInfo.isLoading ?
: mobile ? diff --git a/client/src/components/popup/game_info.tsx b/client/src/components/popup/game_info.tsx index 593c245e..cf0e1181 100644 --- a/client/src/components/popup/game_info.tsx +++ b/client/src/components/popup/game_info.tsx @@ -4,7 +4,7 @@ import * as React from 'react' import { Typography } from '@mui/material' import Markdown from '../markdown' -import { useTranslation } from 'react-i18next' +import { Trans, useTranslation } from 'react-i18next' import { GameIdContext } from '../../app' /** Pop-up that is displaying the Game Info. @@ -22,6 +22,34 @@ export function InfoPopup ({info, handleClose}: {info: string, handleClose: () =
{t(info, {ns: gameId})} +
+ +

Progress saving

+

+ The game stores your progress in your local browser storage. If you delete it, your progress will be lost!
+ Warning: In most browsers, deleting cookies will also clear the local storage (or "local site data"). + Make sure to download your game progress first! +

+

Development

+

The game engine has been created by Alexander Bentkamp, Jon Eugster. + On a prototype by Patrick Massot. +

+

+ 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. +

+

Funding

+

+ 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. +

+
diff --git a/client/src/components/popup/privacy_policy.tsx b/client/src/components/popup/privacy_policy.tsx index f205abb1..50a36657 100644 --- a/client/src/components/popup/privacy_policy.tsx +++ b/client/src/components/popup/privacy_policy.tsx @@ -4,6 +4,7 @@ import { faShield } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import * as React from 'react' +import { Trans, useTranslation } from 'react-i18next'; /** Pop-up that is displayed when opening the privacy policy. * @@ -13,49 +14,99 @@ import * as React from 'react' * Note: Do not translate the Impressum! */ export function PrivacyPolicyPopup ({handleClose}: {handleClose: () => void}) { + let {t, i18n} = useTranslation() + function content (lng = i18n.language) { + const tt = i18n.getFixedT(lng); + return +

Privacy Policy

+

+ 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 anonymized. +

+

+ We do not use cookies, but your game progress is stored in the browser + 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:
+ Marcus Zibrowius, Jon Eugster
+ Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
+ Universitätsstr. 1
+ 40225 Düsseldorf
+ Germany
+ +49 211 81-14690
+ Contact Details +

+
+ } + + + return
+
+
+
+ {i18n.language != 'en' && <> +

(English version below)

+ {content()} +
+ } + {content('en')} +
+
+} + +/** Pop-up that is displayed when opening the privacy policy. + * + * `handleClose` is the function to close it again because it's open/closed state is + * controlled by the containing element. + * + * Note: Do not translate the Impressum! + */ +export function ImpressumPopup ({handleClose}: {handleClose: () => void}) { + let {t, i18n} = useTranslation() + + function content (lng = i18n.language) { + const tt = i18n.getFixedT(lng); + return +

Impressum

+

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

+

+ Legal form:
+ The Heinrich Heine University Düsseldorf is a corporation under public law. It is legally represented by the Rector Prof. Dr. Anja Steinbeck. The responsible supervisory authority is the Ministry of Culture and Science of North Rhine-Westphalia, Völklinger Straße 49, 40221 Düsseldorf. +

+

+ VAT identification number:
+ according to §27a Sales Tax Act
+ DE 811222416 +

+

Impressum HHU

+
+ } + return
-
-
-

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 anonymized. -

-

- We do not use cookies, but your game progress is stored in the browser - 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:
- Alexander Bentkamp, Jon Eugster
- Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf
- Universitätsstr. 1
- 40225 Düsseldorf
- Germany
- +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. -

-
+
+
+ {i18n.language != 'en' && <> +

(English version below)

+ {content()} +
+ } + {content('en')} +
} diff --git a/client/src/components/welcome.tsx b/client/src/components/welcome.tsx index ecc1c74e..8aaea5ef 100644 --- a/client/src/components/welcome.tsx +++ b/client/src/components/welcome.tsx @@ -14,7 +14,7 @@ import { PreferencesContext } from './infoview/context' import { InventoryPanel } from './inventory' import { ErasePopup } from './popup/erase' import { InfoPopup } from './popup/game_info' -import { PrivacyPolicyPopup } from './popup/privacy_policy' +import { ImpressumPopup, PrivacyPolicyPopup } from './popup/privacy_policy' import { RulesHelpPopup } from './popup/rules_help' import { UploadPopup } from './popup/upload' import { PreferencesPopup} from "./popup/preferences" @@ -86,6 +86,7 @@ function Welcome() { // pop-ups const [eraseMenu, setEraseMenu] = React.useState(false) const [impressum, setImpressum] = React.useState(false) + const [privacy, setPrivacy] = React.useState(false) const [info, setInfo] = React.useState(false) const [rulesHelp, setRulesHelp] = React.useState(false) const [uploadMenu, setUploadMenu] = React.useState(false) @@ -93,12 +94,14 @@ function Welcome() { function closeEraseMenu() {setEraseMenu(false)} function closeImpressum() {setImpressum(false)} + function closePrivacy() {setPrivacy(false)} function closeInfo() {setInfo(false)} function closeRulesHelp() {setRulesHelp(false)} function closeUploadMenu() {setUploadMenu(false)} function closePreferencesPopup() {setPreferencesPopup(false)} function toggleEraseMenu() {setEraseMenu(!eraseMenu)} function toggleImpressum() {setImpressum(!impressum)} + function togglePrivacy() {setPrivacy(!privacy)} function toggleInfo() {setInfo(!info)} function toggleUploadMenu() {setUploadMenu(!uploadMenu)} function togglePreferencesPopup() {setPreferencesPopup(!preferencesPopup)} @@ -115,7 +118,7 @@ function Welcome() { : <> -
@@ -139,7 +142,8 @@ function Welcome() { }
- {impressum ? : null} + {impressum ? : null} + {privacy ? : null} {rulesHelp ? : null} {eraseMenu? : null} {uploadMenu? : null} diff --git a/client/src/css/app.css b/client/src/css/app.css index 206638df..f8a68b47 100644 --- a/client/src/css/app.css +++ b/client/src/css/app.css @@ -145,3 +145,9 @@ em { .privacy-policy { z-index: 10; } + +.modal hr { + margin-top: 3rem; + margin-bottom: 3rem; + border-color: var(--vscode-breadcrumb-foreground); +} diff --git a/index.html b/index.html index 7da88491..4d2935bc 100644 --- a/index.html +++ b/index.html @@ -23,13 +23,19 @@

Lean Game Server

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

+

+ Datenschutzerklärung:
+ Without JavaScript this website cannot be used and therefore no personal data is collected + or stored.
+ Our Server is located in Germany.

From 06cc52bb7e0516c91ac97fafc9335399b4af39b0 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Wed, 24 Apr 2024 17:01:33 +0200 Subject: [PATCH 015/130] mark tabs with new theorems --- client/src/components/inventory.tsx | 7 ++++--- client/src/css/inventory.css | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/client/src/components/inventory.tsx b/client/src/components/inventory.tsx index a249289f..b26ecf1f 100644 --- a/client/src/components/inventory.tsx +++ b/client/src/components/inventory.tsx @@ -76,9 +76,10 @@ function InventoryList({items, docType, openDoc, tab=null, setTab=undefined, lev return <> {categories.length > 1 &&
- {categories.map((cat) => -
{ setTab(cat) }}>{cat}
)} + {categories.map((cat) => { + let hasNew = modifiedItems.filter(item => item.new && (cat == item.category)).length > 0 + return
{ setTab(cat) }}>{cat}
})}
}
{[...modifiedItems].sort( diff --git a/client/src/css/inventory.css b/client/src/css/inventory.css index fb6fb0f0..d3fc5b64 100644 --- a/client/src/css/inventory.css +++ b/client/src/css/inventory.css @@ -72,6 +72,14 @@ border-bottom: 0.3em solid var(--clr-primary); } +.inventory .tab.new { + background-image: linear-gradient(to bottom, rgba(255,0,0,0), rgb(255, 242, 190)); +} + +.inventory .tab.new:not(.active) { + border-bottom: 0.3em solid rgb(255, 242, 190); +} + .tab.active { color: black; border-bottom: 0.3em solid #999; From 1daef0d80f1b3cdf51fcfdc0e18c2fe9ed8d2c7e Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 25 Apr 2024 15:10:51 +0200 Subject: [PATCH 016/130] show exercise name even if no text present --- client/src/components/infoview/main.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/src/components/infoview/main.tsx b/client/src/components/infoview/main.tsx index 729600b0..fc089fdb 100644 --- a/client/src/components/infoview/main.tsx +++ b/client/src/components/infoview/main.tsx @@ -142,9 +142,12 @@ function ExerciseStatement({ data, showLeanStatement = false }) { if (!(data?.descrText || data?.descrFormat)) { return <> } return <>
- {data?.descrText && + {data?.descrText ? {(data?.displayName ? `**${t("Theorem")}** \`${data?.displayName}\`: ` : '') + t(data?.descrText, {ns: gameId})} + : data?.displayName && + + {`**${t("Theorem")}** \`${data?.displayName}\``} } {data?.descrFormat && showLeanStatement && From 05fbee9365121ee4d5c96acb600c3227f0081b81 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Thu, 25 Apr 2024 15:11:31 +0200 Subject: [PATCH 017/130] mark inventory item from the last level --- client/src/components/inventory.tsx | 15 +++++++++++---- client/src/css/inventory.css | 11 +++++++++++ client/src/state/api.ts | 3 +++ server/GameServer/Commands.lean | 4 ++++ server/GameServer/EnvExtensions.lean | 6 ++++++ 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/client/src/components/inventory.tsx b/client/src/components/inventory.tsx index b26ecf1f..0adf55de 100644 --- a/client/src/components/inventory.tsx +++ b/client/src/components/inventory.tsx @@ -12,6 +12,7 @@ import { store } from '../state/store'; import { useSelector } from 'react-redux'; import { useTranslation } from 'react-i18next'; import { t } from 'i18next'; +import { WorldLevelIdContext } from './infoview/context'; export function Inventory({levelInfo, openDoc, lemmaTab, setLemmaTab, enableAll=false} : { @@ -57,6 +58,7 @@ function InventoryList({items, docType, openDoc, tab=null, setTab=undefined, lev // been loaded. Is there a better way to observe this? const gameId = React.useContext(GameIdContext) + const {worldId, levelId} = React.useContext(WorldLevelIdContext) const difficulty = useSelector(selectDifficulty(gameId)) @@ -73,12 +75,15 @@ function InventoryList({items, docType, openDoc, tab=null, setTab=undefined, lev let inv: string[] = selectInventory(gameId)(store.getState()) let modifiedItems : InventoryTile[] = items.map(tile => inv.includes(tile.name) ? {...tile, locked: false} : tile) + // Item(s) proved in the preceeding level + let recentItems = modifiedItems.filter(x => x.world == worldId && x.level == levelId - 1) + return <> {categories.length > 1 &&
{categories.map((cat) => { let hasNew = modifiedItems.filter(item => item.new && (cat == item.category)).length > 0 - return
x.category).includes(cat) ? ' recent': ''}`} onClick={() => { setTab(cat) }}>{cat}
})}
}
@@ -91,14 +96,16 @@ function InventoryList({items, docType, openDoc, tab=null, setTab=undefined, lev item={item} showDoc={() => {openDoc({name: item.name, type: docType})}} name={item.name} displayName={item.displayName} locked={difficulty > 0 ? item.locked : false} - disabled={item.disabled} newly={item.new} enableAll={enableAll} /> + disabled={item.disabled} + recent={recentItems.map(x => x.name).includes(item.name)} + newly={item.new} enableAll={enableAll} /> }) }
} -function InventoryItem({item, name, displayName, locked, disabled, newly, showDoc, enableAll=false}) { +function InventoryItem({item, name, displayName, locked, disabled, newly, showDoc, recent=false, enableAll=false}) { const icon = locked ? : disabled ? : item.st const className = locked ? "locked" : disabled ? "disabled" : newly ? "new" : "" @@ -124,7 +131,7 @@ function InventoryItem({item, name, displayName, locked, disabled, newly, showDo ev.stopPropagation() } -return
+return
{icon} {displayName}
{copied ? : } diff --git a/client/src/css/inventory.css b/client/src/css/inventory.css index d3fc5b64..f18292c6 100644 --- a/client/src/css/inventory.css +++ b/client/src/css/inventory.css @@ -46,6 +46,9 @@ background-color: rgb(255, 242, 190); } +.inventory .item.recent { + background-color: rgb(242, 190, 255); +} .inventory .item:not(.locked), .inventory .item.enabled { cursor: pointer; } @@ -72,6 +75,14 @@ border-bottom: 0.3em solid var(--clr-primary); } +.inventory .tab.recent { + background-image: linear-gradient(to bottom, rgba(255,0,0,0), rgb(242, 190, 255)); +} + +.inventory .tab.recent:not(.active) { + border-bottom: 0.3em solid rgb(242, 190, 255); +} + .inventory .tab.new { background-image: linear-gradient(to bottom, rgba(255,0,0,0), rgb(255, 242, 190)); } diff --git a/client/src/state/api.ts b/client/src/state/api.ts index 1a645978..8a881197 100644 --- a/client/src/state/api.ts +++ b/client/src/state/api.ts @@ -36,6 +36,9 @@ export interface InventoryTile { new: boolean, hidden: boolean altTitle: string, + world : string|null, + level : number|null, + proven : boolean } export interface LevelInfo { diff --git a/server/GameServer/Commands.lean b/server/GameServer/Commands.lean index 76544f99..c2ba0a03 100644 --- a/server/GameServer/Commands.lean +++ b/server/GameServer/Commands.lean @@ -973,6 +973,10 @@ elab "MakeGame" : command => do name := name displayName := data.displayName category := data.category + world := worldId + -- from the previous level. This is fine b/c in practise levels start at 1 + level := (levelId - 1 : Nat) + proven := true altTitle := data.statement locked := false } diff --git a/server/GameServer/EnvExtensions.lean b/server/GameServer/EnvExtensions.lean index d2a47d5d..d2b86c41 100644 --- a/server/GameServer/EnvExtensions.lean +++ b/server/GameServer/EnvExtensions.lean @@ -93,6 +93,12 @@ structure InventoryTile where displayName : String /-- Category to group inventory items by (currently only used for lemmas). -/ category : String + /-- The world which introduced this item. -/ + world : Option Name := none + /-- The level which introduced this item. -/ + level : Option Nat := none + /-- Set to `true` if there exists an exercise in the game proving this statement. -/ + proven := false /-- If `true` then the item only gets unlocked in a later level. -/ locked := true /-- If `true` then the item is blocked for this level. -/ From b9112bfb097ba587d3139c4809be3a8d75c8bb86 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Fri, 3 May 2024 15:16:19 +0200 Subject: [PATCH 018/130] add 'using' as known keyword --- server/GameServer/Commands.lean | 2 +- server/GameServer/EnvExtensions.lean | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/GameServer/Commands.lean b/server/GameServer/Commands.lean index c2ba0a03..ba3c32a7 100644 --- a/server/GameServer/Commands.lean +++ b/server/GameServer/Commands.lean @@ -389,7 +389,7 @@ elab doc:docComment ? attrs:Parser.Term.attributes ? ("level" ++ toString lvlIdx : String) -- Collect all used tactics/lemmas in the sample proof: - let usedInventory ← match val with + let usedInventory : UsedInventory ← match val with | `(Parser.Command.declVal| := $proof:term) => do collectUsedInventory proof | _ => throwError "expected `:=`" diff --git a/server/GameServer/EnvExtensions.lean b/server/GameServer/EnvExtensions.lean index d2b86c41..cab6d1e0 100644 --- a/server/GameServer/EnvExtensions.lean +++ b/server/GameServer/EnvExtensions.lean @@ -12,7 +12,7 @@ Note: Added `clear` tactic because currently it is very useful in combination wi hypotheses). -/ def GameServer.ALLOWED_KEYWORDS : List String := - ["with", "fun", "at", "only", "by", "generalizing", "if", "then", "else", "clear"] + ["with", "fun", "at", "only", "by", "generalizing", "if", "then", "else", "clear", "using"] /-- The default game name if `Game "MyGame"` is not used. -/ def defaultGameName: String := "MyGame" @@ -532,3 +532,11 @@ def modifyLevel (levelId : LevelId) (fn : GameLevel → m GameLevel) [MonadError let world' := {world with levels := world.levels.insert levelId.level level'} let game' := {game with worlds := game.worlds.insertNode levelId.world world'} insertGame levelId.game game' + +-- def getIntroducedInventory (game : Game) [MonadError m] : m (Array Name) := do +-- let allItems : Array Name := game.worlds.nodes.fold (fun L _ world => L ++ +-- world.levels.fold (fun LL _ level => +-- LL ++ level.tactics.new ++ level.lemmas.new +-- ) #[]) #[] + +-- pure allItems From 5765c78a1d5f24907e4f4b30a4d3545b6f93a9c8 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Fri, 3 May 2024 16:30:36 +0200 Subject: [PATCH 019/130] add submenu for inventory categories --- client/src/components/inventory.tsx | 27 +++++++++++++++++---------- client/src/css/inventory.css | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/client/src/components/inventory.tsx b/client/src/components/inventory.tsx index 0adf55de..363f3db5 100644 --- a/client/src/components/inventory.tsx +++ b/client/src/components/inventory.tsx @@ -24,22 +24,29 @@ export function Inventory({levelInfo, openDoc, lemmaTab, setLemmaTab, enableAll= }) { const { t } = useTranslation() + // TODO: this state should be preserved when loading a different level. + const [tab, setTab] = useState<"tactic"|"theorem"|"definition">("theorem") + + let newTheorems = levelInfo?.lemmas?.filter(item => item.new).length > 0 + let newTactics = levelInfo?.tactics?.filter(item => item.new).length > 0 + let newDefinitions = levelInfo?.definitions?.filter(item => item.new).length > 0 + return (
- {/* TODO: Click on Tactic: show info - TODO: click on paste icon -> paste into command line */} -

{t("Tactics")}

- {levelInfo?.tactics && +
+
{ setTab("theorem") }}>{t("Theorems")}
+
{ setTab("tactic") }}>{t("Tactics")}
+
{ setTab("definition") }}>{t("Definitions")}
+
+ { (tab == "theorem") && levelInfo?.lemmas && + + } + { (tab == "tactic") && levelInfo?.tactics && } -

{t("Definitions")}

- {levelInfo?.definitions && + { (tab == "definition") && levelInfo?.definitions && } -

{t("Theorems")}

- {levelInfo?.lemmas && - - }
) } diff --git a/client/src/css/inventory.css b/client/src/css/inventory.css index f18292c6..ee8bf0bd 100644 --- a/client/src/css/inventory.css +++ b/client/src/css/inventory.css @@ -55,7 +55,7 @@ .tab-bar { border-bottom: 0.1em solid var(--clr-dark-gray); - margin-bottom: 0.5em; + margin-bottom: 1em; } .tab { @@ -70,6 +70,22 @@ display: inline-block; } +.tab-bar.major { + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding-top: .5em; + font-weight: bold; +} + +.tab-bar.major .tab { + flex: 1; + text-align: center; + font-size: 1.2em; + padding-left: 0; + padding-right: 0; +} + .tab-bar.current .tab.active { color: black; border-bottom: 0.3em solid var(--clr-primary); From 08875e4415d19e900876d9520f17d676b9a0b5b6 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Tue, 7 May 2024 17:13:03 +0200 Subject: [PATCH 020/130] style error page --- client/public/RoboSurprised.png | Bin 0 -> 621152 bytes client/src/components/error_page.tsx | 22 ++++++---- client/src/css/error_page.css | 60 +++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 client/public/RoboSurprised.png create mode 100644 client/src/css/error_page.css diff --git a/client/public/RoboSurprised.png b/client/public/RoboSurprised.png new file mode 100644 index 0000000000000000000000000000000000000000..6e37dd4a501d65c450ed30af9372f18a620220a4 GIT binary patch literal 621152 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%0A_%QT% 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

)qXe0`TN}Qf^^h;Li?M|vvf`q=7!K1 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¥%{ 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