create-pixi-vn 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/index.js +1 -1
  2. package/package.json +5 -4
  3. package/template-react-vite-muijoy/package-lock.json +4 -4
  4. package/template-react-vite-muijoy/package.json +1 -1
  5. package/template-react-vite-muijoy/src/assets/ink-manifest.gen.json +1 -0
  6. package/template-react-vite-muijoy/src/components/menus/main-menu.tsx +1 -2
  7. package/template-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +2 -2
  8. package/template-react-vite-muijoy/src/components/scrrens/narration/narration-cards.tsx +1 -1
  9. package/template-react-vite-muijoy/src/components/ui/image.tsx +7 -38
  10. package/template-react-vite-muijoy/src/content/labels/start.label.ts +2 -4
  11. package/template-react-vite-muijoy/src/pixi-vn-keys.gen.d.ts +20 -0
  12. package/template-react-vite-muijoy/vite.config.ts +1 -0
  13. package/template-react-vite-muijoy-ink/package-lock.json +3 -3
  14. package/template-react-vite-muijoy-ink/package.json +2 -2
  15. package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +2 -2
  16. package/template-react-vite-muijoy-ink/src/components/scrrens/narration/narration-cards.tsx +1 -1
  17. package/template-react-vite-muijoy-ink/src/components/ui/image.tsx +7 -38
  18. package/template-react-vite-muijoy-ink/src/pixi-vn-keys.gen.d.ts +22 -0
  19. package/template-react-vite-muijoy-ink/vite.config.ts +1 -0
  20. package/template-react-vite-muijoy-ink-tauri/package-lock.json +3 -3
  21. package/template-react-vite-muijoy-ink-tauri/package.json +2 -2
  22. package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +2 -2
  23. package/template-react-vite-muijoy-ink-tauri/src/components/scrrens/narration/narration-cards.tsx +1 -1
  24. package/template-react-vite-muijoy-ink-tauri/src/components/ui/image.tsx +7 -38
  25. package/template-react-vite-muijoy-ink-tauri/src/pixi-vn-keys.gen.d.ts +22 -0
  26. package/template-react-vite-muijoy-ink-tauri/vite.config.ts +1 -0
  27. package/template-react-vite-muijoy-tauri/package-lock.json +4 -4
  28. package/template-react-vite-muijoy-tauri/package.json +1 -1
  29. package/template-react-vite-muijoy-tauri/src/assets/ink-manifest.gen.json +1 -0
  30. package/template-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +1 -2
  31. package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +2 -2
  32. package/template-react-vite-muijoy-tauri/src/components/scrrens/narration/narration-cards.tsx +1 -1
  33. package/template-react-vite-muijoy-tauri/src/components/ui/image.tsx +7 -38
  34. package/template-react-vite-muijoy-tauri/src/content/labels/start.label.ts +2 -4
  35. package/template-react-vite-muijoy-tauri/src/pixi-vn-keys.gen.d.ts +20 -0
  36. package/template-react-vite-muijoy-tauri/vite.config.ts +1 -0
  37. package/template-react-vite-muijoy-electron/.eslintrc.cjs +0 -29
  38. package/template-react-vite-muijoy-electron/.vscode/extensions.json +0 -9
  39. package/template-react-vite-muijoy-electron/.vscode/launch.json +0 -32
  40. package/template-react-vite-muijoy-electron/.vscode/settings.json +0 -49
  41. package/template-react-vite-muijoy-electron/README.md +0 -207
  42. package/template-react-vite-muijoy-electron/_gitignore +0 -107
  43. package/template-react-vite-muijoy-electron/forge.config.cts +0 -73
  44. package/template-react-vite-muijoy-electron/forge.env.d.ts +0 -1
  45. package/template-react-vite-muijoy-electron/index.html +0 -13
  46. package/template-react-vite-muijoy-electron/ionic.config.json +0 -7
  47. package/template-react-vite-muijoy-electron/package-lock.json +0 -16984
  48. package/template-react-vite-muijoy-electron/package.json +0 -85
  49. package/template-react-vite-muijoy-electron/public/apple-touch-icon.png +0 -0
  50. package/template-react-vite-muijoy-electron/public/favicon.ico +0 -0
  51. package/template-react-vite-muijoy-electron/public/mask-icon.svg +0 -890
  52. package/template-react-vite-muijoy-electron/public/pixi-vn.svg +0 -23
  53. package/template-react-vite-muijoy-electron/public/pwa-192x192.png +0 -0
  54. package/template-react-vite-muijoy-electron/public/pwa-512x512.png +0 -0
  55. package/template-react-vite-muijoy-electron/public/robots.txt +0 -3
  56. package/template-react-vite-muijoy-electron/src/App.css +0 -42
  57. package/template-react-vite-muijoy-electron/src/App.tsx +0 -16
  58. package/template-react-vite-muijoy-electron/src/AppRoutes.tsx +0 -66
  59. package/template-react-vite-muijoy-electron/src/Home.tsx +0 -27
  60. package/template-react-vite-muijoy-electron/src/Imports.tsx +0 -34
  61. package/template-react-vite-muijoy-electron/src/atoms/autoInfoState.ts +0 -50
  62. package/template-react-vite-muijoy-electron/src/atoms/dialogueCardHeightState.ts +0 -23
  63. package/template-react-vite-muijoy-electron/src/atoms/dialogueCardImageWidthState.ts +0 -23
  64. package/template-react-vite-muijoy-electron/src/atoms/hideInterfaceState.ts +0 -6
  65. package/template-react-vite-muijoy-electron/src/atoms/nextStepLoadingState.ts +0 -6
  66. package/template-react-vite-muijoy-electron/src/atoms/openGameSaveScreenState.ts +0 -6
  67. package/template-react-vite-muijoy-electron/src/atoms/openHistoryScreenState.ts +0 -6
  68. package/template-react-vite-muijoy-electron/src/atoms/openSettingsState.ts +0 -6
  69. package/template-react-vite-muijoy-electron/src/atoms/saveLoadAlertState.ts +0 -26
  70. package/template-react-vite-muijoy-electron/src/atoms/saveScreenPageState.ts +0 -23
  71. package/template-react-vite-muijoy-electron/src/atoms/skipEnabledState.ts +0 -6
  72. package/template-react-vite-muijoy-electron/src/atoms/typewriterDelayState.ts +0 -23
  73. package/template-react-vite-muijoy-electron/src/atoms/typewriterIsAnimatedState.ts +0 -6
  74. package/template-react-vite-muijoy-electron/src/components/ChoiceButton.tsx +0 -19
  75. package/template-react-vite-muijoy-electron/src/components/DragHandleDivider.tsx +0 -40
  76. package/template-react-vite-muijoy-electron/src/components/MenuButton.tsx +0 -37
  77. package/template-react-vite-muijoy-electron/src/components/ModalConfirmation.tsx +0 -70
  78. package/template-react-vite-muijoy-electron/src/components/ModalDialog.tsx +0 -103
  79. package/template-react-vite-muijoy-electron/src/components/NextButton.tsx +0 -94
  80. package/template-react-vite-muijoy-electron/src/components/SettingButton.tsx +0 -44
  81. package/template-react-vite-muijoy-electron/src/components/SliderResizer.tsx +0 -53
  82. package/template-react-vite-muijoy-electron/src/components/TextMenuButton.tsx +0 -41
  83. package/template-react-vite-muijoy-electron/src/components/Typewriter.tsx +0 -335
  84. package/template-react-vite-muijoy-electron/src/components/TypographyShadow.tsx +0 -15
  85. package/template-react-vite-muijoy-electron/src/i18n.ts +0 -29
  86. package/template-react-vite-muijoy-electron/src/index.css +0 -9
  87. package/template-react-vite-muijoy-electron/src/interceptors/EventInterceptor.tsx +0 -49
  88. package/template-react-vite-muijoy-electron/src/interceptors/SkipAutoInterceptor.tsx +0 -67
  89. package/template-react-vite-muijoy-electron/src/main.tsx +0 -39
  90. package/template-react-vite-muijoy-electron/src/models/Character.ts +0 -86
  91. package/template-react-vite-muijoy-electron/src/models/GameSaveData.ts +0 -9
  92. package/template-react-vite-muijoy-electron/src/pixi-vn.d.ts +0 -36
  93. package/template-react-vite-muijoy-electron/src/providers/ThemeProvider.tsx +0 -165
  94. package/template-react-vite-muijoy-electron/src/screens/ChoiceMenu.tsx +0 -130
  95. package/template-react-vite-muijoy-electron/src/screens/GameSaveScreen.tsx +0 -274
  96. package/template-react-vite-muijoy-electron/src/screens/HistoryScreen.tsx +0 -155
  97. package/template-react-vite-muijoy-electron/src/screens/LoadingScreen.tsx +0 -40
  98. package/template-react-vite-muijoy-electron/src/screens/MainMenu.tsx +0 -98
  99. package/template-react-vite-muijoy-electron/src/screens/NarrationScreen.tsx +0 -220
  100. package/template-react-vite-muijoy-electron/src/screens/QuickTools.tsx +0 -168
  101. package/template-react-vite-muijoy-electron/src/screens/Settings.tsx +0 -536
  102. package/template-react-vite-muijoy-electron/src/screens/modals/SaveLoadAlert.tsx +0 -135
  103. package/template-react-vite-muijoy-electron/src/screens/modals/TextInput.tsx +0 -61
  104. package/template-react-vite-muijoy-electron/src/use_query/useQueryInterface.ts +0 -73
  105. package/template-react-vite-muijoy-electron/src/use_query/useQueryLastSave.ts +0 -18
  106. package/template-react-vite-muijoy-electron/src/use_query/useQuerySaves.ts +0 -18
  107. package/template-react-vite-muijoy-electron/src/utilities/actions-utility.ts +0 -10
  108. package/template-react-vite-muijoy-electron/src/utilities/component-utility.ts +0 -25
  109. package/template-react-vite-muijoy-electron/src/utilities/indexedDB-utility.ts +0 -196
  110. package/template-react-vite-muijoy-electron/src/utilities/navigate-utility.ts +0 -18
  111. package/template-react-vite-muijoy-electron/src/utilities/save-utility.ts +0 -125
  112. package/template-react-vite-muijoy-electron/src/values/characters.ts +0 -11
  113. package/template-react-vite-muijoy-electron/src/values/translations/strings_en.json +0 -60
  114. package/template-react-vite-muijoy-electron/src/vite-env.d.ts +0 -4
  115. package/template-react-vite-muijoy-electron/src-electron/icons/icon.icns +0 -0
  116. package/template-react-vite-muijoy-electron/src-electron/icons/icon.ico +0 -0
  117. package/template-react-vite-muijoy-electron/src-electron/icons/icon.png +0 -0
  118. package/template-react-vite-muijoy-electron/src-electron/index.css +0 -7
  119. package/template-react-vite-muijoy-electron/src-electron/main.ts +0 -59
  120. package/template-react-vite-muijoy-electron/src-electron/preload.ts +0 -2
  121. package/template-react-vite-muijoy-electron/src-electron/renderer.ts +0 -31
  122. package/template-react-vite-muijoy-electron/tsconfig.json +0 -32
  123. package/template-react-vite-muijoy-electron/tsconfig.node.json +0 -11
  124. package/template-react-vite-muijoy-electron/vite.base.config.ts +0 -93
  125. package/template-react-vite-muijoy-electron/vite.config.ts +0 -54
  126. package/template-react-vite-muijoy-electron/vite.main.config.ts +0 -9
  127. package/template-react-vite-muijoy-electron/vite.preload.config.ts +0 -9
  128. package/template-react-vite-muijoy-electron/vite.renderer.config.ts +0 -9
@@ -1,220 +0,0 @@
1
- import AspectRatio from '@mui/joy/AspectRatio';
2
- import Box from '@mui/joy/Box';
3
- import Card from '@mui/joy/Card';
4
- import CardContent from '@mui/joy/CardContent';
5
- import Sheet from '@mui/joy/Sheet';
6
- import Typography from '@mui/joy/Typography';
7
- import { motion, Variants } from "motion/react";
8
- import { useRef } from 'react';
9
- import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil';
10
- import { dialogueCardHeightState } from '../atoms/dialogueCardHeightState';
11
- import { dialogueCardImageWidthState } from '../atoms/dialogueCardImageWidthState';
12
- import { hideInterfaceState } from '../atoms/hideInterfaceState';
13
- import { typewriterDelayState } from '../atoms/typewriterDelayState';
14
- import { typewriterIsAnimatedState } from '../atoms/typewriterIsAnimatedState';
15
- import SliderResizer from '../components/SliderResizer';
16
- import Typewriter from '../components/Typewriter';
17
- import { useQueryDialogue } from '../use_query/useQueryInterface';
18
- import ChoiceMenu from './ChoiceMenu';
19
-
20
- export default function NarrationScreen() {
21
- const [cardHeight, setCardHeight] = useRecoilState(dialogueCardHeightState)
22
- const [cardImageWidth, setCardImageWidth] = useRecoilState(dialogueCardImageWidthState)
23
- const typewriterDelay = useRecoilValue(typewriterDelayState)
24
- const { data: { text, character } = {} } = useQueryDialogue()
25
- const hidden = useRecoilValue(hideInterfaceState) || (text ? false : true)
26
- const setTypewriterIsAnimated = useSetRecoilState(typewriterIsAnimatedState)
27
- const cardVarians: Variants = {
28
- open: {
29
- opacity: 1,
30
- y: 0,
31
- },
32
- closed: {
33
- opacity: 0,
34
- y: 200,
35
- pointerEvents: "none",
36
- }
37
- }
38
- const cardElementVarians: Variants = {
39
- open: {
40
- opacity: 1,
41
- scale: 1,
42
- pointerEvents: "auto",
43
- },
44
- closed: {
45
- opacity: 0,
46
- scale: 0,
47
- pointerEvents: "none",
48
- }
49
- }
50
- const cardImageVarians: Variants = {
51
- open: {
52
- opacity: 1,
53
- x: 0,
54
- },
55
- closed: {
56
- opacity: 0,
57
- x: -100,
58
- }
59
- }
60
- const paragraphRef = useRef<HTMLDivElement>(null);
61
-
62
- return (
63
- <Box
64
- sx={{
65
- height: '95%',
66
- width: '100%',
67
- position: "absolute",
68
- left: 0,
69
- right: 0,
70
- top: 0,
71
- }}
72
- >
73
- <ChoiceMenu
74
- fullscreen={text ? false : true}
75
- />
76
- <SliderResizer
77
- orientation="vertical"
78
- max={100}
79
- min={0}
80
- value={cardHeight}
81
- onChange={(_, value) => {
82
- if (typeof value === "number") {
83
- setCardHeight(value)
84
- }
85
- }}
86
- variants={cardVarians}
87
- initial={"closed"}
88
- animate={hidden ? "closed" : "open"}
89
- exit={"closed"}
90
- transition={{ type: "tween" }}
91
- />
92
- <Box
93
- sx={{
94
- position: "absolute",
95
- height: `${cardHeight}%`,
96
- left: 0,
97
- right: 0,
98
- bottom: 0,
99
- }}
100
- >
101
- <Box
102
- sx={{
103
- position: "absolute",
104
- left: 0,
105
- right: 0,
106
- top: 0,
107
- height: "100%",
108
- }}
109
- component={motion.div}
110
- variants={cardVarians}
111
- initial={"closed"}
112
- animate={hidden ? "closed" : "open"}
113
- exit={"closed"}
114
- transition={{ type: "tween" }}
115
- >
116
- <Card
117
- key={"dialogue-card"}
118
- orientation="horizontal"
119
- sx={{
120
- overflow: 'auto',
121
- gap: 1,
122
- padding: 0,
123
- height: "100%",
124
- }}
125
- >
126
- {character && <AspectRatio
127
- flex
128
- ratio="1"
129
- maxHeight={"20%"}
130
- sx={{
131
- height: "100%",
132
- minWidth: `${cardImageWidth}%`,
133
- }}
134
- component={motion.div}
135
- variants={cardElementVarians}
136
- initial={"closed"}
137
- animate={character?.icon ? "open" : "closed"}
138
- exit={"closed"}
139
- transition={{ type: "tween" }}
140
- >
141
- <img
142
- src={character?.icon}
143
- loading="lazy"
144
- alt=""
145
- />
146
- </AspectRatio>}
147
- {character &&
148
- <SliderResizer
149
- orientation="horizontal"
150
- max={100}
151
- min={0}
152
- value={cardImageWidth}
153
- onChange={(_, value) => {
154
- if (typeof value === "number") {
155
- if (value > 75) {
156
- value = 75
157
- }
158
- if (value < 5) {
159
- value = 5
160
- }
161
- setCardImageWidth(value)
162
- }
163
- }}
164
- variants={cardImageVarians}
165
- initial={"closed"}
166
- animate={character?.icon ? "open" : "closed"}
167
- exit={"closed"}
168
- transition={{ type: "tween" }}
169
- />
170
- }
171
- <CardContent>
172
- {character && character.name && <Typography
173
- fontSize="xl"
174
- fontWeight="lg"
175
- sx={{
176
- color: character.color,
177
- }}
178
- component={motion.div}
179
- variants={cardElementVarians}
180
- initial={"closed"}
181
- animate={character.name ? "open" : "closed"}
182
- exit={"closed"}
183
- >
184
- {character.name + (character.surname ? " " + character.surname : "")}
185
- </Typography>}
186
- <Sheet
187
- ref={paragraphRef}
188
- sx={{
189
- bgcolor: 'background.level1',
190
- borderRadius: 'sm',
191
- p: 1.5,
192
- minHeight: 10,
193
- display: 'flex',
194
- flex: 1,
195
- overflow: 'auto',
196
- height: "100%",
197
- marginRight: 2,
198
- marginBottom: 2,
199
- }}
200
- >
201
- <Typewriter
202
- text={text || ""}
203
- delay={typewriterDelay}
204
- onAnimationStart={() => setTypewriterIsAnimated(true)}
205
- onAnimationComplete={() => setTypewriterIsAnimated(false)}
206
- scroll={typewriterDelay ? (offsetTop: number) => {
207
- if (paragraphRef.current) {
208
- let scrollTop = (offsetTop - (paragraphRef.current.clientHeight / 2))
209
- paragraphRef.current.scrollTo({ top: scrollTop, behavior: "auto" })
210
- }
211
- } : undefined}
212
- />
213
- </Sheet>
214
- </CardContent>
215
- </Card>
216
- </Box>
217
- </Box>
218
- </Box>
219
- );
220
- }
@@ -1,168 +0,0 @@
1
- import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
2
- import { IconButton, Stack, useTheme } from '@mui/joy';
3
- import { useQueryClient } from '@tanstack/react-query';
4
- import { motion } from "motion/react";
5
- import { useSnackbar } from 'notistack';
6
- import { useTranslation } from 'react-i18next';
7
- import { useRecoilState, useSetRecoilState } from 'recoil';
8
- import { autoInfoState } from '../atoms/autoInfoState';
9
- import { hideInterfaceState } from '../atoms/hideInterfaceState';
10
- import { openGameSaveScreenState } from '../atoms/openGameSaveScreenState';
11
- import { openHistoryScreenState } from '../atoms/openHistoryScreenState';
12
- import { openSettingsState } from '../atoms/openSettingsState';
13
- import { saveLoadAlertState } from '../atoms/saveLoadAlertState';
14
- import { skipEnabledState } from '../atoms/skipEnabledState';
15
- import TextMenuButton from '../components/TextMenuButton';
16
- import { INTERFACE_DATA_USE_QUEY_KEY, useQueryCanGoBack } from '../use_query/useQueryInterface';
17
- import useQueryLastSave, { LAST_SAVE_USE_QUEY_KEY } from '../use_query/useQueryLastSave';
18
- import { SAVES_USE_QUEY_KEY } from '../use_query/useQuerySaves';
19
- import { goBack } from '../utilities/actions-utility';
20
- import { useMyNavigate } from '../utilities/navigate-utility';
21
- import { putSaveIntoIndexDB } from '../utilities/save-utility';
22
-
23
- export default function QuickTools() {
24
- const setOpenSettings = useSetRecoilState(openSettingsState);
25
- const setOpenHistory = useSetRecoilState(openHistoryScreenState);
26
- const openSaveScreen = useSetRecoilState(openGameSaveScreenState);
27
- const navigate = useMyNavigate();
28
- const setOpenLoadAlert = useSetRecoilState(saveLoadAlertState);
29
- const { t } = useTranslation(["ui"]);
30
- const [hideInterface, setHideInterface] = useRecoilState(hideInterfaceState);
31
- const [skip, setSkip] = useRecoilState(skipEnabledState)
32
- const [auto, setAuto] = useRecoilState(autoInfoState)
33
- const { enqueueSnackbar } = useSnackbar();
34
- const queryClient = useQueryClient()
35
- const { data: lastSave = null } = useQueryLastSave()
36
- const { data: canGoBack = null } = useQueryCanGoBack()
37
-
38
- return (
39
- <>
40
- <Stack
41
- direction="row"
42
- justifyContent="center"
43
- alignItems="flex-end"
44
- spacing={{ xs: 0.5, sm: 1, md: 2 }}
45
- sx={{
46
- height: "100%",
47
- width: "100%",
48
- paddingLeft: { xs: 1, sm: 2, md: 4, lg: 6, xl: 8 },
49
- position: "absolute",
50
- marginBottom: 0,
51
- bottom: 0,
52
- }}
53
- component={motion.div}
54
- variants={{
55
- open: {
56
- opacity: 1,
57
- y: 0,
58
- },
59
- closed: {
60
- opacity: 0,
61
- y: 8,
62
- }
63
- }}
64
- initial={"closed"}
65
- animate={hideInterface ? "closed" : "open"}
66
- exit={"closed"}
67
- transition={{ type: "tween" }}
68
- >
69
- <TextMenuButton
70
- onClick={() => goBack(navigate).then(() => queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] }))}
71
- disabled={!canGoBack}
72
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
73
- >
74
- {t("back")}
75
- </TextMenuButton>
76
- <TextMenuButton
77
- onClick={() => setOpenHistory(true)}
78
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
79
- >
80
- {t("history")}
81
- </TextMenuButton>
82
- <TextMenuButton
83
- selected={skip}
84
- onClick={() => setSkip((prev) => !prev)}
85
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
86
- >
87
- {t("skip")}
88
- </TextMenuButton>
89
- <TextMenuButton
90
- selected={auto.enabled}
91
- onClick={() => setAuto((prev) => ({
92
- ...prev,
93
- enabled: !prev.enabled,
94
- }))}
95
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
96
- >
97
- {t("auto_forward_time_restricted")}
98
- </TextMenuButton>
99
- <TextMenuButton
100
- onClick={() => openSaveScreen(true)}
101
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
102
- >
103
- {t(`${t("save")}/${t("load")}`)}
104
- </TextMenuButton>
105
- <TextMenuButton
106
- onClick={() => {
107
- putSaveIntoIndexDB()
108
- .then((save) => {
109
- queryClient.setQueryData([SAVES_USE_QUEY_KEY, save.id], save);
110
- queryClient.setQueryData([LAST_SAVE_USE_QUEY_KEY], save);
111
- enqueueSnackbar(t("success_save"), { variant: 'success' })
112
- })
113
- .catch(() => {
114
- enqueueSnackbar(t("fail_save"), { variant: 'error' })
115
- })
116
- }}
117
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
118
- >
119
- {t("quick_save_restricted")}
120
- </TextMenuButton>
121
- <TextMenuButton
122
- onClick={() => lastSave && setOpenLoadAlert({ open: true, data: lastSave, type: 'load' })}
123
- disabled={!lastSave}
124
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
125
- >
126
- {t("load_last_save_restricted")}
127
- </TextMenuButton>
128
- <TextMenuButton
129
- onClick={() => setOpenSettings(true)}
130
- sx={{ pointerEvents: !hideInterface ? "auto" : "none" }}
131
- >
132
- {t("settings_restricted")}
133
- </TextMenuButton>
134
- </Stack >
135
- <IconButton
136
- onClick={() => setHideInterface((prev) => !prev)}
137
- sx={{
138
- position: "absolute",
139
- top: 0,
140
- right: 0,
141
- }}
142
- component={motion.div}
143
- variants={{
144
- open: {
145
- opacity: 1,
146
- x: 0,
147
- pointerEvents: "auto",
148
- },
149
- closed: {
150
- opacity: 0,
151
- x: 8,
152
- pointerEvents: "none",
153
- }
154
- }}
155
- initial={"closed"}
156
- animate={!hideInterface ? "closed" : "open"}
157
- exit={"closed"}
158
- transition={{ type: "tween" }}
159
- >
160
- <VisibilityOffIcon
161
- sx={{
162
- color: useTheme().palette.neutral[500],
163
- }}
164
- />
165
- </IconButton>
166
- </>
167
- );
168
- }