create-pixi-vn 2.0.3 → 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 (116) 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/content/labels/start.label.ts +2 -4
  8. package/template-react-vite-muijoy/src/pixi-vn-keys.gen.d.ts +20 -0
  9. package/template-react-vite-muijoy/vite.config.ts +1 -0
  10. package/template-react-vite-muijoy-ink/package-lock.json +3 -3
  11. package/template-react-vite-muijoy-ink/package.json +2 -2
  12. package/template-react-vite-muijoy-ink/src/pixi-vn-keys.gen.d.ts +22 -0
  13. package/template-react-vite-muijoy-ink/vite.config.ts +1 -0
  14. package/template-react-vite-muijoy-ink-tauri/package-lock.json +3 -3
  15. package/template-react-vite-muijoy-ink-tauri/package.json +2 -2
  16. package/template-react-vite-muijoy-ink-tauri/src/pixi-vn-keys.gen.d.ts +22 -0
  17. package/template-react-vite-muijoy-ink-tauri/vite.config.ts +1 -0
  18. package/template-react-vite-muijoy-tauri/package-lock.json +4 -4
  19. package/template-react-vite-muijoy-tauri/package.json +1 -1
  20. package/template-react-vite-muijoy-tauri/src/assets/ink-manifest.gen.json +1 -0
  21. package/template-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +1 -2
  22. package/template-react-vite-muijoy-tauri/src/content/labels/start.label.ts +2 -4
  23. package/template-react-vite-muijoy-tauri/src/pixi-vn-keys.gen.d.ts +20 -0
  24. package/template-react-vite-muijoy-tauri/vite.config.ts +1 -0
  25. package/template-react-vite-muijoy-electron/.eslintrc.cjs +0 -29
  26. package/template-react-vite-muijoy-electron/.vscode/extensions.json +0 -9
  27. package/template-react-vite-muijoy-electron/.vscode/launch.json +0 -32
  28. package/template-react-vite-muijoy-electron/.vscode/settings.json +0 -49
  29. package/template-react-vite-muijoy-electron/README.md +0 -207
  30. package/template-react-vite-muijoy-electron/_gitignore +0 -107
  31. package/template-react-vite-muijoy-electron/forge.config.cts +0 -73
  32. package/template-react-vite-muijoy-electron/forge.env.d.ts +0 -1
  33. package/template-react-vite-muijoy-electron/index.html +0 -13
  34. package/template-react-vite-muijoy-electron/ionic.config.json +0 -7
  35. package/template-react-vite-muijoy-electron/package-lock.json +0 -16984
  36. package/template-react-vite-muijoy-electron/package.json +0 -85
  37. package/template-react-vite-muijoy-electron/public/apple-touch-icon.png +0 -0
  38. package/template-react-vite-muijoy-electron/public/favicon.ico +0 -0
  39. package/template-react-vite-muijoy-electron/public/mask-icon.svg +0 -890
  40. package/template-react-vite-muijoy-electron/public/pixi-vn.svg +0 -23
  41. package/template-react-vite-muijoy-electron/public/pwa-192x192.png +0 -0
  42. package/template-react-vite-muijoy-electron/public/pwa-512x512.png +0 -0
  43. package/template-react-vite-muijoy-electron/public/robots.txt +0 -3
  44. package/template-react-vite-muijoy-electron/src/App.css +0 -42
  45. package/template-react-vite-muijoy-electron/src/App.tsx +0 -16
  46. package/template-react-vite-muijoy-electron/src/AppRoutes.tsx +0 -66
  47. package/template-react-vite-muijoy-electron/src/Home.tsx +0 -27
  48. package/template-react-vite-muijoy-electron/src/Imports.tsx +0 -34
  49. package/template-react-vite-muijoy-electron/src/atoms/autoInfoState.ts +0 -50
  50. package/template-react-vite-muijoy-electron/src/atoms/dialogueCardHeightState.ts +0 -23
  51. package/template-react-vite-muijoy-electron/src/atoms/dialogueCardImageWidthState.ts +0 -23
  52. package/template-react-vite-muijoy-electron/src/atoms/hideInterfaceState.ts +0 -6
  53. package/template-react-vite-muijoy-electron/src/atoms/nextStepLoadingState.ts +0 -6
  54. package/template-react-vite-muijoy-electron/src/atoms/openGameSaveScreenState.ts +0 -6
  55. package/template-react-vite-muijoy-electron/src/atoms/openHistoryScreenState.ts +0 -6
  56. package/template-react-vite-muijoy-electron/src/atoms/openSettingsState.ts +0 -6
  57. package/template-react-vite-muijoy-electron/src/atoms/saveLoadAlertState.ts +0 -26
  58. package/template-react-vite-muijoy-electron/src/atoms/saveScreenPageState.ts +0 -23
  59. package/template-react-vite-muijoy-electron/src/atoms/skipEnabledState.ts +0 -6
  60. package/template-react-vite-muijoy-electron/src/atoms/typewriterDelayState.ts +0 -23
  61. package/template-react-vite-muijoy-electron/src/atoms/typewriterIsAnimatedState.ts +0 -6
  62. package/template-react-vite-muijoy-electron/src/components/ChoiceButton.tsx +0 -19
  63. package/template-react-vite-muijoy-electron/src/components/DragHandleDivider.tsx +0 -40
  64. package/template-react-vite-muijoy-electron/src/components/MenuButton.tsx +0 -37
  65. package/template-react-vite-muijoy-electron/src/components/ModalConfirmation.tsx +0 -70
  66. package/template-react-vite-muijoy-electron/src/components/ModalDialog.tsx +0 -103
  67. package/template-react-vite-muijoy-electron/src/components/NextButton.tsx +0 -94
  68. package/template-react-vite-muijoy-electron/src/components/SettingButton.tsx +0 -44
  69. package/template-react-vite-muijoy-electron/src/components/SliderResizer.tsx +0 -53
  70. package/template-react-vite-muijoy-electron/src/components/TextMenuButton.tsx +0 -41
  71. package/template-react-vite-muijoy-electron/src/components/Typewriter.tsx +0 -335
  72. package/template-react-vite-muijoy-electron/src/components/TypographyShadow.tsx +0 -15
  73. package/template-react-vite-muijoy-electron/src/i18n.ts +0 -29
  74. package/template-react-vite-muijoy-electron/src/index.css +0 -9
  75. package/template-react-vite-muijoy-electron/src/interceptors/EventInterceptor.tsx +0 -49
  76. package/template-react-vite-muijoy-electron/src/interceptors/SkipAutoInterceptor.tsx +0 -67
  77. package/template-react-vite-muijoy-electron/src/main.tsx +0 -39
  78. package/template-react-vite-muijoy-electron/src/models/Character.ts +0 -86
  79. package/template-react-vite-muijoy-electron/src/models/GameSaveData.ts +0 -9
  80. package/template-react-vite-muijoy-electron/src/pixi-vn.d.ts +0 -36
  81. package/template-react-vite-muijoy-electron/src/providers/ThemeProvider.tsx +0 -165
  82. package/template-react-vite-muijoy-electron/src/screens/ChoiceMenu.tsx +0 -130
  83. package/template-react-vite-muijoy-electron/src/screens/GameSaveScreen.tsx +0 -274
  84. package/template-react-vite-muijoy-electron/src/screens/HistoryScreen.tsx +0 -155
  85. package/template-react-vite-muijoy-electron/src/screens/LoadingScreen.tsx +0 -40
  86. package/template-react-vite-muijoy-electron/src/screens/MainMenu.tsx +0 -98
  87. package/template-react-vite-muijoy-electron/src/screens/NarrationScreen.tsx +0 -220
  88. package/template-react-vite-muijoy-electron/src/screens/QuickTools.tsx +0 -168
  89. package/template-react-vite-muijoy-electron/src/screens/Settings.tsx +0 -536
  90. package/template-react-vite-muijoy-electron/src/screens/modals/SaveLoadAlert.tsx +0 -135
  91. package/template-react-vite-muijoy-electron/src/screens/modals/TextInput.tsx +0 -61
  92. package/template-react-vite-muijoy-electron/src/use_query/useQueryInterface.ts +0 -73
  93. package/template-react-vite-muijoy-electron/src/use_query/useQueryLastSave.ts +0 -18
  94. package/template-react-vite-muijoy-electron/src/use_query/useQuerySaves.ts +0 -18
  95. package/template-react-vite-muijoy-electron/src/utilities/actions-utility.ts +0 -10
  96. package/template-react-vite-muijoy-electron/src/utilities/component-utility.ts +0 -25
  97. package/template-react-vite-muijoy-electron/src/utilities/indexedDB-utility.ts +0 -196
  98. package/template-react-vite-muijoy-electron/src/utilities/navigate-utility.ts +0 -18
  99. package/template-react-vite-muijoy-electron/src/utilities/save-utility.ts +0 -125
  100. package/template-react-vite-muijoy-electron/src/values/characters.ts +0 -11
  101. package/template-react-vite-muijoy-electron/src/values/translations/strings_en.json +0 -60
  102. package/template-react-vite-muijoy-electron/src/vite-env.d.ts +0 -4
  103. package/template-react-vite-muijoy-electron/src-electron/icons/icon.icns +0 -0
  104. package/template-react-vite-muijoy-electron/src-electron/icons/icon.ico +0 -0
  105. package/template-react-vite-muijoy-electron/src-electron/icons/icon.png +0 -0
  106. package/template-react-vite-muijoy-electron/src-electron/index.css +0 -7
  107. package/template-react-vite-muijoy-electron/src-electron/main.ts +0 -59
  108. package/template-react-vite-muijoy-electron/src-electron/preload.ts +0 -2
  109. package/template-react-vite-muijoy-electron/src-electron/renderer.ts +0 -31
  110. package/template-react-vite-muijoy-electron/tsconfig.json +0 -32
  111. package/template-react-vite-muijoy-electron/tsconfig.node.json +0 -11
  112. package/template-react-vite-muijoy-electron/vite.base.config.ts +0 -93
  113. package/template-react-vite-muijoy-electron/vite.config.ts +0 -54
  114. package/template-react-vite-muijoy-electron/vite.main.config.ts +0 -9
  115. package/template-react-vite-muijoy-electron/vite.preload.config.ts +0 -9
  116. package/template-react-vite-muijoy-electron/vite.renderer.config.ts +0 -9
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32">
3
- <path d="M0,0 L9,0 L9,1 L11,1 L11,2 L12,2 L12,3 L13,3 L13,4 L14,4 L14,5 L15,5 L15,6 L16,6 L16,8 L17,8 L17,11 L18,11 L18,16 L19,16 L19,24 L18,24 L18,26 L16,26 L16,27 L15,27 L15,28 L10,28 L10,29 L9,29 L9,30 L7,30 L7,31 L3,31 L3,30 L-1,30 L-1,29 L-2,29 L-2,30 L-3,30 L-3,29 L-5,29 L-5,30 L-4,30 L-4,32 L-6,32 L-6,31 L-8,31 L-8,29 L-9,29 L-9,30 L-11,30 L-11,29 L-12,29 L-12,24 L-13,24 L-13,19 L-12,19 L-12,16 L-11,16 L-11,14 L-10,14 L-10,8 L-9,8 L-9,6 L-8,6 L-8,5 L-7,5 L-7,4 L-6,4 L-6,3 L-4,3 L-4,2 L-2,2 L-2,1 L0,1 Z " fill="#464049" transform="translate(13,0)"/>
4
- <path d="M0,0 L9,0 L9,1 L11,1 L11,2 L12,2 L12,3 L13,3 L13,4 L14,4 L14,5 L15,5 L15,6 L16,6 L16,8 L17,8 L17,24 L16,24 L16,25 L14,25 L14,24 L13,24 L13,25 L12,25 L12,26 L8,26 L8,25 L9,25 L9,23 L11,23 L11,22 L12,22 L12,21 L13,21 L13,18 L10,18 L10,9 L11,9 L11,6 L10,6 L10,5 L6,5 L6,6 L4,6 L4,4 L3,4 L3,5 L1,5 L1,4 L0,4 L0,3 L-1,3 L-1,2 L0,2 Z " fill="#242229" transform="translate(13,0)"/>
5
- <path d="M0,0 L3,0 L3,5 L5,5 L5,6 L6,6 L6,7 L10,7 L10,8 L9,8 L9,12 L0,12 L0,18 L-1,18 L-1,24 L-3,24 L-3,25 L-5,25 L-5,24 L-6,24 L-6,19 L-7,19 L-7,14 L-6,14 L-6,11 L-5,11 L-5,9 L-4,9 L-4,6 L-3,6 L-3,5 L-2,5 L-2,3 L-1,3 L-1,1 L0,1 Z " fill="#130E16" transform="translate(7,5)"/>
6
- <path d="M0,0 L2,0 L2,2 L4,2 L4,4 L3,4 L3,5 L4,5 L4,10 L3,10 L3,14 L2,14 L2,16 L1,16 L1,17 L0,17 L0,16 L-4,16 L-4,15 L-5,15 L-5,16 L-6,16 L-6,15 L-8,15 L-8,16 L-7,16 L-7,18 L-9,18 L-9,17 L-11,17 L-11,15 L-10,15 L-10,9 L-9,9 L-9,3 L0,3 Z " fill="#594F5D" transform="translate(16,14)"/>
7
- <path d="M0,0 L6,0 L6,1 L8,1 L8,2 L10,2 L10,7 L8,7 L8,8 L6,8 L6,9 L2,9 L2,8 L4,8 L4,6 L1,6 L1,7 L0,7 L0,6 L-1,6 L-1,1 L0,1 Z " fill="#F8C4C1" transform="translate(9,18)"/>
8
- <path d="M0,0 L1,0 L1,5 L2,5 L2,13 L1,13 L1,15 L-1,15 L-1,16 L-2,16 L-2,17 L-7,17 L-7,18 L-8,18 L-8,19 L-10,19 L-10,20 L-13,20 L-13,19 L-12,19 L-12,17 L-11,17 L-11,13 L-10,13 L-10,11 L-9,11 L-9,9 L-8,9 L-8,14 L-9,14 L-9,15 L-5,15 L-5,14 L-4,14 L-4,13 L-3,13 L-3,14 L-1,14 L-1,13 L0,13 Z " fill="#3B353F" transform="translate(30,11)"/>
9
- <path d="M0,0 L1,0 L1,2 L0,2 L0,4 L-1,4 L-1,9 L-2,9 L-2,11 L-3,11 L-3,23 L-2,23 L-2,24 L-3,24 L-3,25 L-5,25 L-5,24 L-6,24 L-6,19 L-7,19 L-7,14 L-6,14 L-6,11 L-5,11 L-5,9 L-4,9 L-4,6 L-3,6 L-3,5 L-2,5 L-2,3 L-1,3 L-1,1 L0,1 Z " fill="#191E2C" transform="translate(7,5)"/>
10
- <path d="M0,0 L8,0 L8,1 L10,1 L10,7 L13,7 L13,10 L12,10 L12,11 L11,11 L11,12 L9,12 L9,9 L8,9 L8,11 L7,11 L7,8 L6,8 L6,7 L7,7 L7,5 L5,5 L5,3 L3,3 L3,2 L4,2 L4,1 L0,1 Z " fill="#563F42" transform="translate(13,11)"/>
11
- <path d="M0,0 L1,0 L1,13 L-1,13 L-1,12 L-2,12 L-2,13 L-3,13 L-3,14 L-7,14 L-7,13 L-6,13 L-6,11 L-4,11 L-4,10 L-3,10 L-3,9 L-2,9 L-2,6 L-1,6 L-1,5 L0,5 Z " fill="#15131A" transform="translate(28,12)"/>
12
- <path d="M0,0 L2,0 L2,2 L4,2 L4,4 L3,4 L3,5 L4,5 L4,10 L3,10 L3,6 L1,6 L1,5 L-1,5 L-1,4 L-7,4 L-7,5 L-8,5 L-8,8 L-9,8 L-9,3 L0,3 Z " fill="#946F75" transform="translate(16,14)"/>
13
- <path d="M0,0 L1,0 L1,3 L2,3 L2,9 L1,9 L1,15 L0,15 L0,14 L-1,14 L-1,2 L0,2 Z " fill="#1B1823" transform="translate(5,14)"/>
14
- <path d="M0,0 L2,0 L2,3 L1,3 L1,5 L0,5 L0,6 L-1,6 L-1,5 L-5,5 L-5,4 L-6,4 L-6,5 L-7,5 L-7,1 L-6,1 L-6,2 L-2,2 L-2,1 L0,1 Z " fill="#967178" transform="translate(17,25)"/>
15
- <path d="M0,0 L1,0 L1,6 L2,6 L2,7 L3,7 L3,10 L4,10 L4,11 L3,11 L3,12 L1,12 L1,11 L0,11 L0,6 L-1,6 L-1,1 L0,1 Z " fill="#4C4E57" transform="translate(1,18)"/>
16
- <path d="M0,0 L1,0 L1,1 L5,1 L5,2 L9,2 L9,3 L7,3 L7,4 L2,4 L2,6 L1,6 L1,5 L0,5 Z " fill="#453B44" transform="translate(11,5)"/>
17
- <path d="M0,0 L3,0 L3,6 L1,6 L1,7 L0,7 L0,6 L-1,6 L-1,1 L0,1 Z " fill="#E1A9A9" transform="translate(9,18)"/>
18
- <path d="M0,0 L1,0 L1,3 L5,3 L5,4 L6,4 L6,2 L7,2 L7,5 L-1,5 L-1,1 L0,1 Z " fill="#4D363A" transform="translate(9,12)"/>
19
- <path d="M0,0 L1,0 L1,1 L2,1 L2,2 L6,2 L6,3 L5,3 L5,4 L4,4 L4,6 L3,6 L3,5 L-1,5 L-1,3 L0,3 Z " fill="#271D24" transform="translate(11,10)"/>
20
- <path d="M0,0 L8,0 L8,1 L10,1 L10,2 L9,2 L9,3 L8,3 L8,2 L6,2 L6,5 L5,5 L5,3 L3,3 L3,2 L4,2 L4,1 L0,1 Z " fill="#41353B" transform="translate(13,11)"/>
21
- <path d="M0,0 L2,0 L2,3 L-3,3 L-3,4 L-7,4 L-7,2 L-2,2 L-2,1 L0,1 Z " fill="#705862" transform="translate(20,7)"/>
22
- <path d="M0,0 L3,0 L3,6 L0,6 Z " fill="#FDE0DC" transform="translate(12,18)"/>
23
- </svg>
@@ -1,3 +0,0 @@
1
- # https://www.robotstxt.org/robotstxt.html
2
- User-agent: *
3
- Allow: /
@@ -1,42 +0,0 @@
1
- #root {
2
- max-width: 1280px;
3
- margin: 0 auto;
4
- padding: 2rem;
5
- text-align: center;
6
- }
7
-
8
- .logo {
9
- height: 6em;
10
- padding: 1.5em;
11
- will-change: filter;
12
- transition: filter 300ms;
13
- }
14
- .logo:hover {
15
- filter: drop-shadow(0 0 2em #646cffaa);
16
- }
17
- .logo.react:hover {
18
- filter: drop-shadow(0 0 2em #61dafbaa);
19
- }
20
-
21
- @keyframes logo-spin {
22
- from {
23
- transform: rotate(0deg);
24
- }
25
- to {
26
- transform: rotate(360deg);
27
- }
28
- }
29
-
30
- @media (prefers-reduced-motion: no-preference) {
31
- a:nth-of-type(2) .logo {
32
- animation: logo-spin infinite 20s linear;
33
- }
34
- }
35
-
36
- .card {
37
- padding: 2em;
38
- }
39
-
40
- .read-the-docs {
41
- color: #888;
42
- }
@@ -1,16 +0,0 @@
1
- import { lazy, Suspense } from "react";
2
- import { ErrorBoundary } from "react-error-boundary";
3
- import LoadingScreen from "./screens/LoadingScreen";
4
-
5
- export default function App() {
6
- const Home = lazy(async () => import('./Home'))
7
- return (
8
- <ErrorBoundary fallback={<div>Something went wrong</div>}>
9
- <Suspense
10
- fallback={<LoadingScreen />}
11
- >
12
- <Home />
13
- </Suspense>
14
- </ErrorBoundary >
15
- )
16
- }
@@ -1,66 +0,0 @@
1
- import { narration } from '@drincs/pixi-vn';
2
- import { StepLabelProps } from '@drincs/pixi-vn/dist/override';
3
- import { useQueryClient } from '@tanstack/react-query';
4
- import { Route, Routes } from 'react-router-dom';
5
- import { useSetRecoilState } from 'recoil';
6
- import { nextStepLoadingState } from './atoms/nextStepLoadingState';
7
- import NextButton from './components/NextButton';
8
- import SkipAutoInterceptor from './interceptors/SkipAutoInterceptor';
9
- import HistoryScreen from './screens/HistoryScreen';
10
- import LoadingScreen from './screens/LoadingScreen';
11
- import MainMenu from './screens/MainMenu';
12
- import TextInput from './screens/modals/TextInput';
13
- import NarrationScreen from './screens/NarrationScreen';
14
- import QuickTools from './screens/QuickTools';
15
- import { INTERFACE_DATA_USE_QUEY_KEY } from './use_query/useQueryInterface';
16
-
17
- export default function AppRoutes() {
18
- const setNextStepLoading = useSetRecoilState(nextStepLoadingState);
19
- const queryClient = useQueryClient()
20
-
21
- async function nextOnClick(props: StepLabelProps): Promise<void> {
22
- setNextStepLoading(true);
23
- try {
24
- if (!narration.canGoNext) {
25
- setNextStepLoading(false);
26
- return;
27
- }
28
- narration.goNext(props)
29
- .then(() => {
30
- queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] })
31
- setNextStepLoading(false);
32
- })
33
- .catch((e) => {
34
- setNextStepLoading(false);
35
- console.error(e);
36
- })
37
- return;
38
- } catch (e) {
39
- setNextStepLoading(false);
40
- console.error(e);
41
- return;
42
- }
43
- }
44
-
45
- return (
46
- <Routes>
47
- <Route key={"main_menu"} path={"/"} element={<MainMenu />} />
48
- <Route key={"main_menu"} path={"/loading"} element={<LoadingScreen />} />
49
- <Route key={"narration"} path={"/narration"}
50
- element={<>
51
- <HistoryScreen />
52
- <QuickTools />
53
- <NarrationScreen />
54
- <SkipAutoInterceptor
55
- nextOnClick={nextOnClick}
56
- />
57
- <TextInput />
58
- <NextButton
59
- nextOnClick={nextOnClick}
60
- />
61
- </>}
62
- />
63
- <Route path="*" element={<MainMenu />} />
64
- </Routes>
65
- )
66
- }
@@ -1,27 +0,0 @@
1
- import { Box } from '@mui/joy';
2
- import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
3
- import Routes from './AppRoutes';
4
- import ApImports from './Imports';
5
- import EventInterceptor from './interceptors/EventInterceptor';
6
- import GameSaveScreen from './screens/GameSaveScreen';
7
- import SaveLoadAlert from './screens/modals/SaveLoadAlert';
8
- import Settings from './screens/Settings';
9
-
10
- export default function Home() {
11
- return (
12
- <ApImports>
13
- <Routes />
14
- <Settings />
15
- <GameSaveScreen />
16
- <SaveLoadAlert />
17
- <EventInterceptor />
18
- <Box
19
- sx={{
20
- pointerEvents: "auto",
21
- }}
22
- >
23
- <ReactQueryDevtools initialIsOpen={false} />
24
- </Box>
25
- </ApImports>
26
- )
27
- }
@@ -1,34 +0,0 @@
1
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
2
- import { SnackbarProvider } from 'notistack';
3
- import { HashRouter } from 'react-router-dom';
4
- import { RecoilRoot } from 'recoil';
5
- import { useI18n } from './i18n';
6
- import MyThemeProvider from './providers/ThemeProvider';
7
-
8
- type Iprops = {
9
- children: React.ReactNode
10
- }
11
-
12
- export default function Imports(props: Iprops) {
13
- useI18n()
14
- const queryClient = new QueryClient()
15
-
16
- return (
17
- <HashRouter>
18
- <RecoilRoot>
19
- <QueryClientProvider client={queryClient}>
20
- <MyThemeProvider>
21
- <SnackbarProvider
22
- anchorOrigin={{
23
- vertical: 'top',
24
- horizontal: 'left',
25
- }}
26
- >
27
- {props.children}
28
- </SnackbarProvider>
29
- </MyThemeProvider>
30
- </QueryClientProvider>
31
- </RecoilRoot>
32
- </HashRouter>
33
- );
34
- }
@@ -1,50 +0,0 @@
1
- import { atom, selector } from "recoil";
2
-
3
- type AutoInfo = {
4
- /**
5
- * Whether auto forward is enabled
6
- */
7
- enabled: boolean,
8
- /**
9
- * Time in seconds to wait before auto forwarding
10
- */
11
- time: number,
12
- /**
13
- * Force recheck the auto forward
14
- */
15
- update: number,
16
- }
17
-
18
- const autoInfoAtomState = atom<AutoInfo>({
19
- key: 'autoInfoAtomState',
20
- default: {
21
- enabled: false,
22
- time: 1,
23
- update: 0,
24
- },
25
- });
26
-
27
- export const autoInfoState = selector<AutoInfo>({
28
- key: 'autoInfoState',
29
- get: ({ get }) => {
30
- let time: number | undefined = undefined
31
- try {
32
- let v = localStorage.getItem("auto_forward_second")
33
- if (v) {
34
- time = parseInt(v)
35
- }
36
- } catch (e) { }
37
-
38
- let info = get(autoInfoAtomState)
39
- return {
40
- ...info,
41
- time: time || info.time,
42
- }
43
- },
44
- set: ({ set }, value) => {
45
- if (value.hasOwnProperty("time")) {
46
- localStorage.setItem("auto_forward_second", (value as AutoInfo).time.toString())
47
- }
48
- set(autoInfoAtomState, value)
49
- },
50
- });
@@ -1,23 +0,0 @@
1
- import { atom, selector } from "recoil";
2
-
3
- const dialogueCardHeightAtomState = atom<number>({
4
- key: 'dialogueCardHeightAtomState',
5
- default: localStorage.getItem("dialogue_card_height") ? parseInt(localStorage.getItem("dialogue_card_height") as string) : 30,
6
- });
7
-
8
- export const dialogueCardHeightState = selector<number>({
9
- key: 'dialogueCardHeightState',
10
- get: ({ get }) => {
11
- return get(dialogueCardHeightAtomState)
12
- },
13
- set: ({ set }, value) => {
14
- if (typeof value === "number") {
15
- let valueString = value.toString()
16
- localStorage.setItem("dialogue_card_height", valueString)
17
- }
18
- else {
19
- localStorage.removeItem("dialogue_card_height")
20
- }
21
- set(dialogueCardHeightAtomState, value)
22
- },
23
- });
@@ -1,23 +0,0 @@
1
- import { atom, selector } from "recoil";
2
-
3
- const dialogueCardImageWidthAtomState = atom<number>({
4
- key: 'dialogueCardImageWidthAtomState',
5
- default: localStorage.getItem("dialogue_card_image_width") ? parseInt(localStorage.getItem("dialogue_card_image_width") as string) : 16,
6
- });
7
-
8
- export const dialogueCardImageWidthState = selector<number>({
9
- key: 'dialogueCardImageWidthState',
10
- get: ({ get }) => {
11
- return get(dialogueCardImageWidthAtomState)
12
- },
13
- set: ({ set }, value) => {
14
- if (typeof value === "number") {
15
- let valueString = value.toString()
16
- localStorage.setItem("dialogue_card_image_width", valueString)
17
- }
18
- else {
19
- localStorage.removeItem("dialogue_card_image_width")
20
- }
21
- set(dialogueCardImageWidthAtomState, value)
22
- },
23
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const hideInterfaceState = atom<boolean>({
4
- key: 'hideInterfaceState',
5
- default: false,
6
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const nextStepLoadingState = atom<boolean>({
4
- key: 'nextStepLoadingState',
5
- default: false,
6
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const openGameSaveScreenState = atom<boolean>({
4
- key: 'openGameSaveScreenState',
5
- default: false,
6
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const openHistoryScreenState = atom<boolean>({
4
- key: 'openHistoryScreenState',
5
- default: false,
6
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const openSettingsState = atom<boolean>({
4
- key: 'openSettingsState',
5
- default: false,
6
- });
@@ -1,26 +0,0 @@
1
- import { atom } from "recoil";
2
- import GameSaveData from "../models/GameSaveData";
3
-
4
- export const saveLoadAlertState = atom<{
5
- open: false;
6
- data?: any;
7
- type?: string;
8
- deafultName?: string;
9
- } | {
10
- open: true;
11
- data: GameSaveData & { id: number };
12
- type: 'load';
13
- } | {
14
- open: true;
15
- data: number;
16
- type: 'overwrite_save' | 'save';
17
- deafultName: string;
18
- } | {
19
- open: true;
20
- data: number;
21
- type: 'delete';
22
- }
23
- >({
24
- key: 'saveLoadAlertState',
25
- default: { open: false },
26
- });
@@ -1,23 +0,0 @@
1
- import { atom, selector } from "recoil";
2
-
3
- const saveScreenPageAtomState = atom<number>({
4
- key: 'saveScreenPageAtomState',
5
- default: localStorage.getItem("save_screen_page") ? parseInt(localStorage.getItem("save_screen_page") as string) : 0,
6
- });
7
-
8
- export const saveScreenPageState = selector<number>({
9
- key: 'saveScreenPageState',
10
- get: ({ get }) => {
11
- return get(saveScreenPageAtomState)
12
- },
13
- set: ({ set }, value) => {
14
- if (typeof value === "number") {
15
- let valueString = value.toString()
16
- localStorage.setItem("save_screen_page", valueString)
17
- }
18
- else {
19
- localStorage.removeItem("save_screen_page")
20
- }
21
- set(saveScreenPageAtomState, value)
22
- },
23
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const skipEnabledState = atom<boolean>({
4
- key: 'skipEnabledState',
5
- default: false,
6
- });
@@ -1,23 +0,0 @@
1
- import { atom, selector } from "recoil";
2
-
3
- export const typewriterDelayAtomState = atom<number>({
4
- key: 'typewriterDelayAtomState',
5
- default: localStorage.getItem('typewriter_delay_millisecond') ? parseInt(localStorage.getItem('typewriter_delay_millisecond')!) : 10,
6
- });
7
-
8
- export const typewriterDelayState = selector<number>({
9
- key: 'typewriterDelayState',
10
- get: ({ get }) => {
11
- return get(typewriterDelayAtomState)
12
- },
13
- set: ({ set }, value) => {
14
- if (typeof value === "number") {
15
- let valueString = value.toString()
16
- localStorage.setItem("typewriter_delay_millisecond", valueString)
17
- }
18
- else {
19
- localStorage.removeItem("typewriter_delay_millisecond")
20
- }
21
- set(typewriterDelayAtomState, value)
22
- },
23
- });
@@ -1,6 +0,0 @@
1
- import { atom } from "recoil";
2
-
3
- export const typewriterIsAnimatedState = atom<boolean>({
4
- key: 'typewriterIsAnimated',
5
- default: false,
6
- });
@@ -1,19 +0,0 @@
1
- import { Button, ButtonProps, ButtonTypeMap } from "@mui/joy";
2
-
3
- interface Props extends ButtonProps<ButtonTypeMap['defaultComponent'], {
4
- component?: React.ElementType;
5
- }> { }
6
-
7
- export default function ChoiceButton(props: Props) {
8
- const {
9
- sx,
10
- ...rest
11
- } = props;
12
-
13
- return (
14
- <Button
15
- size="sm"
16
- {...rest}
17
- />
18
- );
19
- }
@@ -1,40 +0,0 @@
1
- import DragHandleIcon from '@mui/icons-material/DragHandle';
2
- import { Divider, DividerProps, DividerTypeMap, useTheme } from "@mui/joy";
3
-
4
- interface DragHandleDividerProps extends DividerProps<DividerTypeMap['defaultComponent'], {
5
- component?: React.ElementType;
6
- }> {
7
- onMouseDown: React.MouseEventHandler<any>
8
- }
9
-
10
- export default function DragHandleDivider(props: DragHandleDividerProps) {
11
- const {
12
- onMouseDown,
13
- orientation,
14
- ...rest
15
- } = props;
16
-
17
- return (
18
- <Divider
19
- orientation={orientation}
20
- {...rest}
21
- >
22
- <DragHandleIcon
23
- sx={{
24
- cursor: orientation === "vertical" ? "col-resize" : "row-resize",
25
- zIndex: 100,
26
- backgroundColor: useTheme().palette.neutral[300],
27
- ":hover": {
28
- backgroundColor: useTheme().palette.neutral[200],
29
- },
30
- borderRadius: 2,
31
- height: 13,
32
- width: 40,
33
- transform: orientation === "vertical" ? "rotate(90deg)" : undefined,
34
- color: useTheme().palette.neutral[700],
35
- }}
36
- onMouseDown={onMouseDown}
37
- />
38
- </Divider>
39
- );
40
- }
@@ -1,37 +0,0 @@
1
- import { Button, ButtonProps, ButtonTypeMap } from "@mui/joy";
2
- import { motion, Variants } from "motion/react";
3
-
4
- interface MenuButtonProps extends ButtonProps<ButtonTypeMap['defaultComponent'], {
5
- component?: React.ElementType;
6
- }> {
7
- transitionDelay?: number;
8
- }
9
-
10
- export default function MenuButton(props: MenuButtonProps) {
11
- const {
12
- sx,
13
- transitionDelay,
14
- ...rest
15
- } = props;
16
- const itemVariants: Variants = {
17
- open: {
18
- opacity: 1,
19
- x: 0,
20
- transition: { type: "spring", stiffness: 300, damping: 24, delay: transitionDelay }
21
- },
22
- closed: { opacity: 0, x: -50, transition: { duration: 0.2 } }
23
- };
24
-
25
- return (
26
- <Button
27
- size="sm"
28
- sx={{
29
- fontSize: { xs: "0.75rem", sm: "0.75rem", md: "1rem", lg: "1.25rem", xl: "1.5rem" },
30
- ...sx
31
- }}
32
- component={motion.div}
33
- variants={itemVariants}
34
- {...rest}
35
- />
36
- );
37
- }
@@ -1,70 +0,0 @@
1
- import { Button } from '@mui/joy';
2
- import { ReactNode, useState } from 'react';
3
- import { useTranslation } from 'react-i18next';
4
- import ModalDialogCustom, { ModalDialogCustomProps } from './ModalDialog';
5
-
6
- interface ModalConfirmationProps extends Omit<ModalDialogCustomProps, "actions"> {
7
- onConfirm?: () => boolean | Promise<boolean>
8
- onCancel?: () => void
9
- disabledConfirm?: boolean
10
- startDecorator?: ReactNode
11
- }
12
-
13
- export default function ModalConfirmation(props: ModalConfirmationProps) {
14
- const {
15
- setOpen
16
- , onConfirm
17
- , onCancel
18
- , children
19
- , color
20
- , disabledConfirm
21
- , startDecorator
22
- , ...rest
23
- } = props
24
- const { t } = useTranslation(["ui"]);
25
- const [loadingConfirm, setLoadingConfirm] = useState<boolean>(false)
26
-
27
- return (
28
- <ModalDialogCustom
29
- setOpen={setOpen}
30
- color={color}
31
- actions={[
32
- <Button
33
- key='confirm-button'
34
- color={color}
35
- onClick={async () => {
36
- if (onConfirm) {
37
- setLoadingConfirm(true)
38
- try {
39
- let result = await onConfirm()
40
- setLoadingConfirm(false)
41
- setOpen(!result)
42
- } catch (_error) {
43
- setLoadingConfirm(false)
44
- }
45
- }
46
- }}
47
- disabled={disabledConfirm}
48
- fullWidth={false}
49
- loading={loadingConfirm}
50
- startDecorator={startDecorator}
51
- >
52
- {t("confirm")}
53
- </Button>,
54
- <Button
55
- key='cancel-button'
56
- variant="plain"
57
- color="neutral"
58
- onClick={() => setOpen(false)}
59
- fullWidth={false}
60
- disabled={loadingConfirm}
61
- >
62
- {t("cancel")}
63
- </Button>
64
- ]}
65
- {...rest}
66
- >
67
- {children}
68
- </ModalDialogCustom>
69
- );
70
- }