create-pixi-vn 1.0.2 → 1.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 (275) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +3 -3
  3. package/template-react-vite-muijoy/src/App.tsx +1 -1
  4. package/template-react-vite-muijoy/src/components/GameSaveSlot.tsx +163 -0
  5. package/template-react-vite-muijoy/src/components/NextButton.tsx +2 -2
  6. package/template-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +79 -0
  7. package/template-react-vite-muijoy/src/components/Typewriter.tsx +54 -21
  8. package/template-react-vite-muijoy/src/interceptors/GoBackEventInterceptor.tsx +6 -6
  9. package/template-react-vite-muijoy/src/interceptors/OnKeyEventInterceptor.tsx +70 -14
  10. package/template-react-vite-muijoy/src/interceptors/RefreshEventInterceptor.tsx +2 -6
  11. package/template-react-vite-muijoy/src/interceptors/SkipAutoInterceptor.tsx +2 -2
  12. package/template-react-vite-muijoy/src/screens/ChoiceMenu.tsx +3 -3
  13. package/template-react-vite-muijoy/src/screens/GameSaveScreen.tsx +4 -161
  14. package/template-react-vite-muijoy/src/screens/HistoryScreen.tsx +12 -12
  15. package/template-react-vite-muijoy/src/screens/Settings.tsx +81 -523
  16. package/template-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +1 -33
  17. package/template-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +30 -0
  18. package/template-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +97 -0
  19. package/template-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +50 -0
  20. package/template-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +37 -0
  21. package/template-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +41 -0
  22. package/template-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +113 -0
  23. package/template-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +37 -0
  24. package/template-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +131 -0
  25. package/template-react-vite-muijoy/src/use_query/useQueryIsFullModeScreen.ts +12 -0
  26. package/template-react-vite-muijoy/src/utilities/save-utility.ts +2 -0
  27. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/README.md +2 -1
  28. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink}/src/App.tsx +1 -1
  29. package/template-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +163 -0
  30. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/NextButton.tsx +2 -2
  31. package/template-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +79 -0
  32. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/Typewriter.tsx +54 -21
  33. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/interceptors/GoBackEventInterceptor.tsx +6 -6
  34. package/template-react-vite-muijoy-ink/src/interceptors/OnKeyEventInterceptor.tsx +84 -0
  35. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink}/src/interceptors/RefreshEventInterceptor.tsx +2 -6
  36. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/interceptors/SkipAutoInterceptor.tsx +2 -2
  37. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/ChoiceMenu.tsx +3 -3
  38. package/template-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +121 -0
  39. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink}/src/screens/HistoryScreen.tsx +12 -12
  40. package/template-react-vite-muijoy-ink/src/screens/Settings.tsx +104 -0
  41. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/modals/SaveLoadAlert.tsx +1 -33
  42. package/template-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +30 -0
  43. package/template-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +97 -0
  44. package/template-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +50 -0
  45. package/template-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +37 -0
  46. package/template-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +41 -0
  47. package/template-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +113 -0
  48. package/template-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +37 -0
  49. package/template-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +131 -0
  50. package/template-react-vite-muijoy-ink/src/use_query/useQueryIsFullModeScreen.ts +12 -0
  51. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/save-utility.ts +2 -0
  52. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink-tauri}/src/App.tsx +1 -1
  53. package/template-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +163 -0
  54. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/NextButton.tsx +2 -2
  55. package/template-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +79 -0
  56. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/Typewriter.tsx +54 -21
  57. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/interceptors/GoBackEventInterceptor.tsx +6 -6
  58. package/template-react-vite-muijoy-ink-tauri/src/interceptors/OnKeyEventInterceptor.tsx +84 -0
  59. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink-tauri}/src/interceptors/RefreshEventInterceptor.tsx +2 -6
  60. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/interceptors/SkipAutoInterceptor.tsx +2 -2
  61. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/ChoiceMenu.tsx +3 -3
  62. package/template-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +121 -0
  63. package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink-tauri}/src/screens/HistoryScreen.tsx +12 -12
  64. package/template-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +104 -0
  65. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/modals/SaveLoadAlert.tsx +1 -33
  66. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +30 -0
  67. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +97 -0
  68. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +50 -0
  69. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +37 -0
  70. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +41 -0
  71. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +113 -0
  72. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +37 -0
  73. package/template-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +131 -0
  74. package/template-react-vite-muijoy-ink-tauri/src/use_query/useQueryIsFullModeScreen.ts +12 -0
  75. package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/save-utility.ts +2 -0
  76. package/template-react-vite-muijoy-tauri/src/App.tsx +1 -1
  77. package/template-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +163 -0
  78. package/template-react-vite-muijoy-tauri/src/components/NextButton.tsx +2 -2
  79. package/template-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +79 -0
  80. package/template-react-vite-muijoy-tauri/src/components/Typewriter.tsx +54 -21
  81. package/template-react-vite-muijoy-tauri/src/interceptors/GoBackEventInterceptor.tsx +6 -6
  82. package/template-react-vite-muijoy-tauri/src/interceptors/OnKeyEventInterceptor.tsx +70 -14
  83. package/template-react-vite-muijoy-tauri/src/interceptors/RefreshEventInterceptor.tsx +2 -6
  84. package/template-react-vite-muijoy-tauri/src/interceptors/SkipAutoInterceptor.tsx +2 -2
  85. package/template-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +3 -3
  86. package/template-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +4 -161
  87. package/template-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +12 -12
  88. package/template-react-vite-muijoy-tauri/src/screens/Settings.tsx +81 -523
  89. package/template-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +1 -33
  90. package/template-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +30 -0
  91. package/template-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +97 -0
  92. package/template-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +50 -0
  93. package/template-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +37 -0
  94. package/template-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +41 -0
  95. package/template-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +113 -0
  96. package/template-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +37 -0
  97. package/template-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +131 -0
  98. package/template-react-vite-muijoy-tauri/src/use_query/useQueryIsFullModeScreen.ts +12 -0
  99. package/template-react-vite-muijoy-tauri/src/utilities/save-utility.ts +2 -0
  100. package/template-react-ink-vite-muijoy/src/interceptors/OnKeyEventInterceptor.tsx +0 -28
  101. package/template-react-ink-vite-muijoy/src/screens/GameSaveScreen.tsx +0 -278
  102. package/template-react-ink-vite-muijoy/src/screens/Settings.tsx +0 -546
  103. package/template-react-ink-vite-muijoy-tauri/src/interceptors/OnKeyEventInterceptor.tsx +0 -28
  104. package/template-react-ink-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +0 -278
  105. package/template-react-ink-vite-muijoy-tauri/src/screens/Settings.tsx +0 -546
  106. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/.eslintrc.cjs +0 -0
  107. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/.vscode/extensions.json +0 -0
  108. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/.vscode/launch.json +0 -0
  109. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/.vscode/settings.json +0 -0
  110. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/_gitignore +0 -0
  111. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/index.html +0 -0
  112. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/package-lock.json +0 -0
  113. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/package.json +0 -0
  114. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/apple-touch-icon.png +0 -0
  115. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/favicon.ico +0 -0
  116. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/mask-icon.svg +0 -0
  117. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/pixi-vn.svg +0 -0
  118. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/pwa-192x192.png +0 -0
  119. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/pwa-512x512.png +0 -0
  120. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/public/robots.txt +0 -0
  121. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/App.css +0 -0
  122. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/AppRoutes.tsx +0 -0
  123. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/Home.tsx +0 -0
  124. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/Imports.tsx +0 -0
  125. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/autoInfoState.ts +0 -0
  126. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/dialogueCardHeightState.ts +0 -0
  127. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/dialogueCardImageWidthState.ts +0 -0
  128. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/hideInterfaceState.ts +0 -0
  129. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/nextStepLoadingState.ts +0 -0
  130. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/openGameSaveScreenState.ts +0 -0
  131. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/openHistoryScreenState.ts +0 -0
  132. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/openSettingsState.ts +0 -0
  133. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/saveLoadAlertState.ts +0 -0
  134. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/saveScreenPageState.ts +0 -0
  135. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/skipEnabledState.ts +0 -0
  136. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/typewriterDelayState.ts +0 -0
  137. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/atoms/typewriterIsAnimatedState.ts +0 -0
  138. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/ChoiceButton.tsx +0 -0
  139. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/DragHandleDivider.tsx +0 -0
  140. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/MenuButton.tsx +0 -0
  141. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/ModalConfirmation.tsx +0 -0
  142. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/ModalDialog.tsx +0 -0
  143. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/SettingButton.tsx +0 -0
  144. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/SliderResizer.tsx +0 -0
  145. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/TextMenuButton.tsx +0 -0
  146. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/components/TypographyShadow.tsx +0 -0
  147. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/i18n.ts +0 -0
  148. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/index.css +0 -0
  149. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/ink.d.ts +0 -0
  150. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/ink_labels/start.ink +0 -0
  151. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/interceptors/InkInitialization.tsx +0 -0
  152. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/labels/exampleLabel.ts +0 -0
  153. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/main-ink.ink +0 -0
  154. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/main.tsx +0 -0
  155. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/models/Character.ts +0 -0
  156. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/models/GameSaveData.ts +0 -0
  157. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/pixi-vn.d.ts +0 -0
  158. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/providers/ThemeProvider.tsx +0 -0
  159. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/LoadingScreen.tsx +0 -0
  160. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/MainMenu.tsx +0 -0
  161. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/NarrationScreen.tsx +0 -0
  162. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/QuickTools.tsx +0 -0
  163. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/screens/modals/TextInput.tsx +0 -0
  164. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/use_query/useQueryInterface.ts +0 -0
  165. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/use_query/useQueryLastSave.ts +0 -0
  166. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/use_query/useQuerySaves.ts +0 -0
  167. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/actions-utility.ts +0 -0
  168. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/component-utility.ts +0 -0
  169. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/indexedDB-utility.ts +0 -0
  170. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/ink-utility.ts +0 -0
  171. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/utilities/navigate-utility.ts +0 -0
  172. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/values/characters.ts +0 -0
  173. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/values/translations/strings_en.json +0 -0
  174. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/src/vite-env.d.ts +0 -0
  175. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/tsconfig.json +0 -0
  176. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/tsconfig.node.json +0 -0
  177. /package/{template-react-ink-vite-muijoy → template-react-vite-muijoy-ink}/vite.config.ts +0 -0
  178. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/.eslintrc.cjs +0 -0
  179. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/.vscode/extensions.json +0 -0
  180. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/.vscode/launch.json +0 -0
  181. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/.vscode/settings.json +0 -0
  182. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/.vscode/tasks.json +0 -0
  183. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/README.md +0 -0
  184. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/_github/workflows/tauri.yml +0 -0
  185. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/_gitignore +0 -0
  186. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/index.html +0 -0
  187. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/package-lock.json +0 -0
  188. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/package.json +0 -0
  189. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/apple-touch-icon.png +0 -0
  190. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/favicon.ico +0 -0
  191. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/mask-icon.svg +0 -0
  192. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/pixi-vn.svg +0 -0
  193. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/pwa-192x192.png +0 -0
  194. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/pwa-512x512.png +0 -0
  195. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/public/robots.txt +0 -0
  196. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/App.css +0 -0
  197. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/AppRoutes.tsx +0 -0
  198. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/Home.tsx +0 -0
  199. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/Imports.tsx +0 -0
  200. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/autoInfoState.ts +0 -0
  201. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/dialogueCardHeightState.ts +0 -0
  202. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/dialogueCardImageWidthState.ts +0 -0
  203. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/hideInterfaceState.ts +0 -0
  204. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/nextStepLoadingState.ts +0 -0
  205. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/openGameSaveScreenState.ts +0 -0
  206. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/openHistoryScreenState.ts +0 -0
  207. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/openSettingsState.ts +0 -0
  208. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/saveLoadAlertState.ts +0 -0
  209. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/saveScreenPageState.ts +0 -0
  210. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/skipEnabledState.ts +0 -0
  211. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/typewriterDelayState.ts +0 -0
  212. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/atoms/typewriterIsAnimatedState.ts +0 -0
  213. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/ChoiceButton.tsx +0 -0
  214. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/DragHandleDivider.tsx +0 -0
  215. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/MenuButton.tsx +0 -0
  216. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/ModalConfirmation.tsx +0 -0
  217. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/ModalDialog.tsx +0 -0
  218. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/SettingButton.tsx +0 -0
  219. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/SliderResizer.tsx +0 -0
  220. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/TextMenuButton.tsx +0 -0
  221. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/components/TypographyShadow.tsx +0 -0
  222. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/i18n.ts +0 -0
  223. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/index.css +0 -0
  224. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/ink.d.ts +0 -0
  225. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/ink_labels/start.ink +0 -0
  226. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/interceptors/InkInitialization.tsx +0 -0
  227. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/labels/exampleLabel.ts +0 -0
  228. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/main-ink.ink +0 -0
  229. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/main.tsx +0 -0
  230. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/models/Character.ts +0 -0
  231. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/models/GameSaveData.ts +0 -0
  232. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/pixi-vn.d.ts +0 -0
  233. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/providers/ThemeProvider.tsx +0 -0
  234. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/LoadingScreen.tsx +0 -0
  235. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/MainMenu.tsx +0 -0
  236. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/NarrationScreen.tsx +0 -0
  237. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/QuickTools.tsx +0 -0
  238. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/screens/modals/TextInput.tsx +0 -0
  239. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/use_query/useQueryInterface.ts +0 -0
  240. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/use_query/useQueryLastSave.ts +0 -0
  241. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/use_query/useQuerySaves.ts +0 -0
  242. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/actions-utility.ts +0 -0
  243. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/component-utility.ts +0 -0
  244. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/indexedDB-utility.ts +0 -0
  245. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/ink-utility.ts +0 -0
  246. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/utilities/navigate-utility.ts +0 -0
  247. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/values/characters.ts +0 -0
  248. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/values/translations/strings_en.json +0 -0
  249. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src/vite-env.d.ts +0 -0
  250. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/Cargo.lock +0 -0
  251. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/Cargo.toml +0 -0
  252. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/build.rs +0 -0
  253. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/capabilities/default.json +0 -0
  254. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/128x128.png +0 -0
  255. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/128x128@2x.png +0 -0
  256. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/32x32.png +0 -0
  257. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square107x107Logo.png +0 -0
  258. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square142x142Logo.png +0 -0
  259. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square150x150Logo.png +0 -0
  260. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square284x284Logo.png +0 -0
  261. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square30x30Logo.png +0 -0
  262. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square310x310Logo.png +0 -0
  263. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square44x44Logo.png +0 -0
  264. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square71x71Logo.png +0 -0
  265. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/Square89x89Logo.png +0 -0
  266. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/StoreLogo.png +0 -0
  267. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/icon.icns +0 -0
  268. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/icon.ico +0 -0
  269. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/icons/icon.png +0 -0
  270. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/src/lib.rs +0 -0
  271. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/src/main.rs +0 -0
  272. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/src-tauri/tauri.conf.json +0 -0
  273. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/tsconfig.json +0 -0
  274. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/tsconfig.node.json +0 -0
  275. /package/{template-react-ink-vite-muijoy-tauri → template-react-vite-muijoy-ink-tauri}/vite.config.ts +0 -0
package/dist/index.mjs CHANGED
@@ -47,7 +47,7 @@ Calls to async() callback can have unexpected results.`),l=!0,function(b,C){b?f(
47
47
  Initializing git repository...`),s0.sync("git",["init","-b","main"],{cwd:e,stdio:"inherit"}),s0.sync("git",["add","."],{cwd:e,stdio:"inherit"}),console.log("Done."),console.log(`
48
48
  Now, you can use GitHub Desktop upload your project to GitHub.`),console.log("GitHub Desktop: https://github.com/apps/desktop"))}catch{}}var q0=(e=>(e.VisualStudioCode="vscode",e.Cursor="cursor",e.Other="other",e))(q0||{});function sx(){return re.prompt([{type:"list",name:"ide",message:"Which IDE do you want to use?",choices:[{name:"Visual Studio Code",value:q0.VisualStudioCode},{name:"Cursor",value:q0.Cursor},{name:"Other",value:q0.Other}],default:q0.VisualStudioCode}])}async function xx({rootFolder:e,fileToOpen:t}){let{ide:n}=await sx();if(n!==void 0)try{let i="";switch(n){case"vscode":console.log(`
49
49
  Opening in Visual Studio Code...`),i="code";break;case"cursor":console.log(`
50
- Opening in Cursor...`),i="cursor";break}i&&(await se(i),s0.sync(i,[e],{stdio:"inherit"}),s0.sync(i,[`${e}/README.md`],{stdio:"inherit"}),t&&s0.sync(i,[`${e}/${t}`],{stdio:"inherit"}))}catch{console.error(`Could not open project using ${n}, since ${n} was not in your PATH`)}}var It=(e=>(e[e.VisualNovel=0]="VisualNovel",e))(It||{}),t0=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(t0||{}),a0=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(a0||{});const Vr="My Game",Gr="my-game",$t=[{type:It.VisualNovel,name:"Visual Novel",availableUI:[a0.React],availableNarrativeLanguages:[t0.Ink,t0.Typescript]}];var T0=(e=>(e[e.Yes=0]="Yes",e[e.No=1]="No",e[e.Cancel=2]="Cancel",e))(T0||{});function ux({packageName:e}){return re.prompt([{type:"list",name:"gameType",message:"Select the type of game you want to create:",choices:$t.map(t=>({name:t.name,value:t.type}))},{type:"list",name:"UIFramework",message:"Select the UI framework you want to use:",choices:({gameType:t})=>$t.find(n=>n.type===t)?.availableUI.map(n=>{let i="";switch(n){case a0.React:i=pe("React");break;case a0.Vue:i=Ti("Vue");break;case a0.Angular:i=zt("Angular");break}return{name:i,value:n}})},{type:"list",name:"narrativeLanguage",message:"Select the narrative language you want to use:",choices:({gameType:t})=>$t.find(n=>n.type===t)?.availableNarrativeLanguages.map(n=>{let i="";switch(n){case t0.Ink:i="Ink + Typescript";break;case t0.Renpy:i=Ri("Renpy");break;case t0.Typescript:i=pe("Typescript");break}return{name:i,value:n}})},{type:"list",name:"multidevice",message:"Which devices is the project intended for?",choices:[{name:"Web page",value:!1},{name:"Web page + Desktop + Mobile (Tauri)",value:!0}]},{type:"input",name:"identifier",message:"Project identifier:",default:`com.${e}.app`,required:!0,when:({multidevice:t})=>t}])}function Wr(e){return e?.trim().replace(/\/+$/g,"")}function cx(e){const t=I.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function lx(e){if(I.existsSync(e))for(const t of I.readdirSync(e))t!==".git"&&I.rmSync(M.resolve(e,t),{recursive:!0,force:!0})}function fx(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function Dx(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function dx({argTargetDir:e,targetDir:t}){const n=()=>t==="."?M.basename(M.resolve()):t;let i=await re.prompt([{type:"input",name:"projectName",message:"Project name:",default:Vr,required:!0,transformer:r=>Wr(r)||Vr,when:()=>!e,validate:r=>r?!0:"Project name cannot be empty"},{type:"input",name:"description",message:"Project description:",default:"A new game project"},{type:"input",name:"packageName",message:"Package name:",default:()=>Dx(n()),validate:r=>fx(r)||"Invalid package name. The name can only include URL-friendly characters."},{type:"list",name:"overwrite",message:"Overwrite existing files?",default:"yes",choices:[{description:"Remove existing files and continue",name:"Yes",value:T0.Yes},{description:"Keep existing files and continue",name:"Ignore",value:T0.No},{description:"Cancel operation",name:"Cancel",value:T0.Cancel}],when:({packageName:r=Gr})=>I.existsSync(r)&&!cx(r)}]);if(i.overwrite===T0.Cancel)throw new Error(zt("\u2716")+" Operation cancelled");return i}const hx=process.cwd(),px={_gitignore:".gitignore"};async function Ex(e){let t=e||Gr,n,{description:i,overwrite:r,packageName:o,projectName:x}=await dx({argTargetDir:e,targetDir:t}),{UIFramework:a,gameType:s,narrativeLanguage:u,multidevice:c,identifier:f}=await ux({packageName:o}),l;switch(s){case It.VisualNovel:switch(a){case a0.React:switch(u){case t0.Typescript:c?l="template-react-vite-muijoy-tauri":l="template-react-vite-muijoy",n="src/labels/startLabel.ts";break;case t0.Ink:c?l="template-react-ink-vite-muijoy-tauri":l="template-react-ink-vite-muijoy",n="src/ink_labels/start.ink";break;case t0.Renpy:throw new Error("There are no templates for this narrative language");default:throw new Error("Unknown narrative language")}break;case a0.Vue:case a0.Angular:throw new Error("There are no templates for this game type and UI framework");default:throw new Error("Unknown UI framework")}break;default:throw new Error("Unknown game type")}const D=M.join(hx,t);r===T0.Yes?lx(D):I.existsSync(D)||I.mkdirSync(D,{recursive:!0}),console.log(`
50
+ Opening in Cursor...`),i="cursor";break}i&&(await se(i),s0.sync(i,[e],{stdio:"inherit"}),s0.sync(i,[`${e}/README.md`],{stdio:"inherit"}),t&&s0.sync(i,[`${e}/${t}`],{stdio:"inherit"}))}catch{console.error(`Could not open project using ${n}, since ${n} was not in your PATH`)}}var It=(e=>(e[e.VisualNovel=0]="VisualNovel",e))(It||{}),t0=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(t0||{}),a0=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(a0||{});const Vr="My Game",Gr="my-game",$t=[{type:It.VisualNovel,name:"Visual Novel",availableUI:[a0.React],availableNarrativeLanguages:[t0.Ink,t0.Typescript]}];var T0=(e=>(e[e.Yes=0]="Yes",e[e.No=1]="No",e[e.Cancel=2]="Cancel",e))(T0||{});function ux({packageName:e}){return re.prompt([{type:"list",name:"gameType",message:"Select the type of game you want to create:",choices:$t.map(t=>({name:t.name,value:t.type}))},{type:"list",name:"UIFramework",message:"Select the UI framework you want to use:",choices:({gameType:t})=>$t.find(n=>n.type===t)?.availableUI.map(n=>{let i="";switch(n){case a0.React:i=pe("React");break;case a0.Vue:i=Ti("Vue");break;case a0.Angular:i=zt("Angular");break}return{name:i,value:n}})},{type:"list",name:"narrativeLanguage",message:"Select the narrative language you want to use:",choices:({gameType:t})=>$t.find(n=>n.type===t)?.availableNarrativeLanguages.map(n=>{let i="";switch(n){case t0.Ink:i="Ink + Typescript";break;case t0.Renpy:i=Ri("Renpy");break;case t0.Typescript:i=pe("Typescript");break}return{name:i,value:n}})},{type:"list",name:"multidevice",message:"Which devices is the project intended for?",choices:[{name:"Web page",value:!1},{name:"Web page + Desktop + Mobile (Tauri)",value:!0}]},{type:"input",name:"identifier",message:"Project identifier:",default:`com.${e}.app`,required:!0,when:({multidevice:t})=>t}])}function Wr(e){return e?.trim().replace(/\/+$/g,"")}function cx(e){const t=I.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function lx(e){if(I.existsSync(e))for(const t of I.readdirSync(e))t!==".git"&&I.rmSync(M.resolve(e,t),{recursive:!0,force:!0})}function fx(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function Dx(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function dx({argTargetDir:e,targetDir:t}){const n=()=>t==="."?M.basename(M.resolve()):t;let i=await re.prompt([{type:"input",name:"projectName",message:"Project name:",default:Vr,required:!0,transformer:r=>Wr(r)||Vr,when:()=>!e,validate:r=>r?!0:"Project name cannot be empty"},{type:"input",name:"description",message:"Project description:",default:"A new game project"},{type:"input",name:"packageName",message:"Package name:",default:()=>Dx(n()),validate:r=>fx(r)||"Invalid package name. The name can only include URL-friendly characters."},{type:"list",name:"overwrite",message:"Overwrite existing files?",default:"yes",choices:[{description:"Remove existing files and continue",name:"Yes",value:T0.Yes},{description:"Keep existing files and continue",name:"Ignore",value:T0.No},{description:"Cancel operation",name:"Cancel",value:T0.Cancel}],when:({packageName:r=Gr})=>I.existsSync(r)&&!cx(r)}]);if(i.overwrite===T0.Cancel)throw new Error(zt("\u2716")+" Operation cancelled");return i}const hx=process.cwd(),px={_gitignore:".gitignore"};async function Ex(e){let t=e||Gr,n,{description:i,overwrite:r,packageName:o,projectName:x}=await dx({argTargetDir:e,targetDir:t}),{UIFramework:a,gameType:s,narrativeLanguage:u,multidevice:c,identifier:f}=await ux({packageName:o}),l;switch(s){case It.VisualNovel:switch(a){case a0.React:switch(u){case t0.Typescript:c?l="template-react-vite-muijoy-tauri":l="template-react-vite-muijoy",n="src/labels/startLabel.ts";break;case t0.Ink:c?l="template-react-vite-muijoy-ink-tauri":l="template-react-vite-muijoy-ink",n="src/ink_labels/start.ink";break;case t0.Renpy:throw new Error("There are no templates for this narrative language");default:throw new Error("Unknown narrative language")}break;case a0.Vue:case a0.Angular:throw new Error("There are no templates for this game type and UI framework");default:throw new Error("Unknown UI framework")}break;default:throw new Error("Unknown game type")}const D=M.join(hx,t);r===T0.Yes?lx(D):I.existsSync(D)||I.mkdirSync(D,{recursive:!0}),console.log(`
51
51
  Scaffolding project in ${D}...`);const h=M.resolve(ni(import.meta.url),"../..",`${l}`),d=(C,p)=>{const m=M.join(D,px[C]??C);p?I.writeFileSync(m,p):zr(M.join(h,C),m)},E=I.readdirSync(h);for(const C of E)switch(C){case"package.json":case"vite.config.ts":case"index.html":let p=I.readFileSync(M.join(h,C),"utf-8");p=p.replace(/my-app-package-name/g,o),p=p.replace(/my-app-description/g,i),p=p.replace(/my-app-project-name/g,x),d(C,p);break;case".git":case"package-lock.json":break;default:d(C)}const F=M.join(D,"src-tauri");if(I.existsSync(F)){const C=I.readdirSync(F);for(const p of C)switch(p){case"Cargo.lock":case"Cargo.toml":case"tauri.conf.json":let m=I.readFileSync(M.join(F,p),"utf-8");m=m.replace(/my-app-package-name/g,o),m=m.replace(/my-app-description/g,i),m=m.replace(/my-app-project-name/g,x),m=m.replace(/com.my-app-project-name.app/g,f),d(M.join("src-tauri",p),m)}}const b=M.join(D,"_github");return I.existsSync(b)&&I.renameSync(b,M.join(D,".github")),console.log("Done."),{rootFolder:D,fileToOpen:n}}function bx(e,t){I.mkdirSync(t,{recursive:!0});for(const n of I.readdirSync(e)){const i=M.resolve(e,n),r=M.resolve(t,n);zr(i,r)}}function zr(e,t){I.statSync(e).isDirectory()?bx(e,t):I.copyFileSync(e,t)}function Fx(e){if(!e)return;const t=e.split(" ")[0].split("/");return{name:t[0],version:t[1]}}const Yr=$i(process.argv.slice(2),{default:{help:!1},alias:{h:"help",t:"template"},string:["_"]}),Hr=process.cwd(),mx=`Usage: create-pixi-vn [OPTION]... [DIRECTORY]
52
52
 
53
53
  Create a new Pixi\u2019VN project.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-pixi-vn",
3
3
  "description": "Create a new Pixi’VN project",
4
- "version": "1.0.2",
4
+ "version": "1.0.4",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0",
7
7
  "author": "DRincs-Productions",
@@ -12,8 +12,8 @@
12
12
  "files": [
13
13
  "index.js",
14
14
  "template-react-vite-muijoy",
15
- "template-react-ink-vite-muijoy",
16
- "template-react-ink-vite-muijoy-tauri",
15
+ "template-react-vite-muijoy-ink",
16
+ "template-react-vite-muijoy-ink-tauri",
17
17
  "template-react-vite-muijoy",
18
18
  "template-react-vite-muijoy-electron",
19
19
  "template-react-vite-muijoy-tauri",
@@ -9,7 +9,7 @@ export default function App() {
9
9
  initializeIndexedDB(),
10
10
  ])
11
11
  await promileAll
12
- return import('./Home')
12
+ return await import('./Home')
13
13
  })
14
14
 
15
15
  return (
@@ -0,0 +1,163 @@
1
+ import DeleteIcon from '@mui/icons-material/Delete';
2
+ import DownloadIcon from '@mui/icons-material/Download';
3
+ import SaveAsIcon from '@mui/icons-material/SaveAs';
4
+ import UnarchiveIcon from '@mui/icons-material/Unarchive';
5
+ import { AspectRatio, IconButton, Skeleton, Stack, useTheme } from "@mui/joy";
6
+ import { useTranslation } from 'react-i18next';
7
+ import { useLocation } from 'react-router-dom';
8
+ import TypographyShadow from "../components/TypographyShadow";
9
+ import GameSaveData from '../models/GameSaveData';
10
+ import useQuerySaves from '../use_query/useQuerySaves';
11
+ import { downloadGameSave } from '../utilities/save-utility';
12
+
13
+ export default function GameSaveSlot({ saveId, onDelete, onLoad, onOverwriteSave, onSave }: {
14
+ saveId: number,
15
+ onDelete: () => Promise<void> | void,
16
+ onSave: () => Promise<void> | void,
17
+ onOverwriteSave: (data: GameSaveData) => Promise<void> | void,
18
+ onLoad: (saveData: GameSaveData) => Promise<void> | void,
19
+ }) {
20
+ const { t } = useTranslation(["ui"]);
21
+ const {
22
+ isLoading,
23
+ data: saveData,
24
+ isError,
25
+ } = useQuerySaves({ id: saveId })
26
+ let location = useLocation();
27
+
28
+ if (isLoading) {
29
+ return (
30
+ <AspectRatio
31
+ sx={{
32
+ borderRadius: 10,
33
+ margin: { xs: 1, sm: 2, md: 1, lg: 2 },
34
+ }}
35
+ >
36
+ <Skeleton />
37
+ </AspectRatio>
38
+ );
39
+ }
40
+
41
+ if (!saveData || isError) {
42
+ return (
43
+ <AspectRatio
44
+ sx={{
45
+ borderRadius: 10,
46
+ margin: { xs: 1, sm: 2, md: 1, lg: 2 },
47
+ }}
48
+ >
49
+ <IconButton
50
+ variant="soft"
51
+ sx={{
52
+ height: "100%",
53
+ width: "100%",
54
+ }}
55
+ onClick={onSave}
56
+ disabled={location.pathname == "/"}
57
+ >
58
+ <SaveAsIcon sx={{ fontSize: '3rem', opacity: 0.2 }} />
59
+ </IconButton>
60
+ </AspectRatio>
61
+ );
62
+ }
63
+
64
+ return (
65
+ <AspectRatio
66
+ objectFit="contain"
67
+ sx={{
68
+ borderRadius: 10,
69
+ margin: { xs: 1, sm: 2, md: 1, lg: 2 },
70
+ }}
71
+ >
72
+ <img
73
+ src={saveData.image}
74
+ style={{
75
+ backgroundColor: "#303030",
76
+ pointerEvents: "none",
77
+ userSelect: "none",
78
+ }}
79
+ />
80
+ <Stack
81
+ position={"absolute"}
82
+ top={10}
83
+ left={10}
84
+ sx={{
85
+ pointerEvents: "none",
86
+ userSelect: "none",
87
+ }}
88
+ >
89
+ <TypographyShadow
90
+ level="h2"
91
+ >
92
+ {saveData.name}
93
+ </TypographyShadow>
94
+ <TypographyShadow>
95
+ {saveData.date.toLocaleDateString()}
96
+ </TypographyShadow>
97
+ <TypographyShadow>
98
+ {saveData.date.toLocaleTimeString()}
99
+ </TypographyShadow>
100
+ <TypographyShadow>
101
+ {`${t("save_slot")} ${saveId + 1}`}
102
+ </TypographyShadow>
103
+ </Stack>
104
+ <Stack
105
+ direction={"row"}
106
+ position={"absolute"}
107
+ bottom={10}
108
+ right={10}
109
+ >
110
+ <IconButton
111
+ onClick={() => {
112
+ downloadGameSave(saveData)
113
+ }}
114
+ >
115
+ <DownloadIcon
116
+ fontSize={"large"}
117
+ sx={{
118
+ color: useTheme().palette.neutral[300],
119
+ }}
120
+ />
121
+ </IconButton>
122
+ <IconButton
123
+ onClick={() => onOverwriteSave(saveData)}
124
+ >
125
+ <SaveAsIcon
126
+ fontSize={"large"}
127
+ sx={{
128
+ color: useTheme().palette.neutral[300],
129
+ }}
130
+ />
131
+ </IconButton>
132
+ <IconButton
133
+ onClick={() => {
134
+ onLoad(saveData)
135
+ }}
136
+ >
137
+ <UnarchiveIcon
138
+ fontSize={"large"}
139
+ sx={{
140
+ color: useTheme().palette.neutral[300],
141
+ }}
142
+ />
143
+ </IconButton>
144
+ </Stack>
145
+ <Stack
146
+ direction={"row"}
147
+ position={"absolute"}
148
+ top={10}
149
+ right={10}
150
+ >
151
+ <IconButton
152
+ color="danger"
153
+ size="md"
154
+ onClick={onDelete}
155
+ >
156
+ <DeleteIcon
157
+ fontSize={"large"}
158
+ />
159
+ </IconButton>
160
+ </Stack>
161
+ </AspectRatio>
162
+ );
163
+ }
@@ -63,7 +63,7 @@ export default function NextButton() {
63
63
  setSkip(false)
64
64
  nextOnClick()
65
65
  }
66
- }, [])
66
+ }, [nextOnClick])
67
67
 
68
68
  useEffect(() => {
69
69
  window.addEventListener("keypress", onkeypress);
@@ -73,7 +73,7 @@ export default function NextButton() {
73
73
  window.removeEventListener("keypress", onkeypress);
74
74
  window.removeEventListener("keyup", onkeyup);
75
75
  };
76
- }, []);
76
+ }, [onkeypress, onkeyup]);
77
77
 
78
78
  return (
79
79
  <Button
@@ -0,0 +1,79 @@
1
+ import ExitToAppIcon from '@mui/icons-material/ExitToApp';
2
+ import { Button, Stack, Typography } from "@mui/joy";
3
+ import { useState } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { useLocation } from 'react-router-dom';
6
+ import { useSetRecoilState } from 'recoil';
7
+ import { openSettingsState } from '../atoms/openSettingsState';
8
+ import ModalDialogCustom from '../components/ModalDialog';
9
+ import { gameEnd } from '../utilities/actions-utility';
10
+ import { useMyNavigate } from '../utilities/navigate-utility';
11
+
12
+ export default function ReturnMainMenuButton() {
13
+ const openSettings = useSetRecoilState(openSettingsState);
14
+ const navigate = useMyNavigate();
15
+ const [openDialog, setOpenDialog] = useState(false)
16
+ const { t } = useTranslation(["ui"]);
17
+
18
+ const location = useLocation();
19
+ if (location.pathname === '/') {
20
+ return null
21
+ }
22
+
23
+ return (
24
+ <>
25
+ <Stack
26
+ direction="row"
27
+ justifyContent="space-between"
28
+ useFlexGap
29
+ spacing={1}
30
+ >
31
+ <Button
32
+ variant="outlined"
33
+ color="danger"
34
+ startDecorator={<ExitToAppIcon />}
35
+ onClick={() => setOpenDialog(true)}
36
+ >
37
+ {t("return_main_menu")}
38
+ </Button>
39
+ </Stack>
40
+ <ModalDialogCustom
41
+ open={openDialog}
42
+ setOpen={setOpenDialog}
43
+ color='danger'
44
+ head={<Typography level="h4"
45
+ startDecorator={<ExitToAppIcon />}
46
+ >
47
+ {t("attention")}
48
+ </Typography>}
49
+ actions={<>
50
+ <Button
51
+ key={'exit'}
52
+ color='danger'
53
+ variant="outlined"
54
+ onClick={() => {
55
+ gameEnd(navigate)
56
+ openSettings(false)
57
+ setOpenDialog(false)
58
+ }}
59
+ startDecorator={<ExitToAppIcon />}
60
+ >
61
+ {t("exit")}
62
+ </Button>
63
+ <Button
64
+ key={'cancel'}
65
+ color="neutral"
66
+ variant="plain"
67
+ onClick={() => setOpenDialog(false)}
68
+ >
69
+ {t("cancel")}
70
+ </Button>
71
+ </>}
72
+ >
73
+ <Typography>
74
+ {t("you_sure_to_return_main_menu")}
75
+ </Typography>
76
+ </ModalDialogCustom>
77
+ </>
78
+ );
79
+ }
@@ -1,23 +1,24 @@
1
1
  import { useTheme } from "@mui/joy";
2
2
  import { motion, Variants } from "motion/react";
3
- import { useMemo, useRef } from "react";
3
+ import { Key, useMemo, useRef } from "react";
4
4
  import Markdown from "react-markdown";
5
5
  import rehypeRaw from "rehype-raw";
6
6
  import remarkGfm from "remark-gfm";
7
7
 
8
- function TypewriterInternal({ children, letterVariants, dadElement, scrollOnLastItem }: {
8
+ function TypewriterInternal({ children, letterVariants, dadElement, scrollOnLastItem, key }: {
9
9
  children: any
10
10
  letterVariants: Variants
11
11
  dadElement: (children: JSX.Element | JSX.Element[]) => JSX.Element | JSX.Element[]
12
12
  isRoot?: boolean
13
13
  scrollOnLastItem?: (scrollTop: number) => void
14
+ key?: Key | null | undefined
14
15
  }) {
15
16
  if (typeof children === "string") {
16
17
  const spanList = children.split("").map((char, i) => {
17
18
  const ref = useRef<HTMLSpanElement>(null);
18
19
  return <motion.span
19
20
  ref={ref}
20
- key={`span-${char}-${i}`}
21
+ key={`span-${key}-${char}-${i}`}
21
22
  variants={letterVariants}
22
23
  onAnimationComplete={scrollOnLastItem ? () => {
23
24
  if (ref.current?.offsetParent) {
@@ -37,7 +38,7 @@ function TypewriterInternal({ children, letterVariants, dadElement, scrollOnLast
37
38
  const ref = useRef<HTMLSpanElement>(null);
38
39
  return <motion.span
39
40
  ref={ref}
40
- key={`span-${char}-${i}`}
41
+ key={`span-${key}-${char}-${i}`}
41
42
  variants={letterVariants}
42
43
  onAnimationComplete={scrollOnLastItem ? () => {
43
44
  if (ref.current?.offsetParent) {
@@ -86,26 +87,31 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
86
87
  remarkPlugins={[remarkGfm]}
87
88
  rehypePlugins={[rehypeRaw]}
88
89
  components={{
89
- p: ({ children }) => {
90
+ p: ({ children, id }) => {
90
91
  return <TypewriterInternal
92
+ key={id}
91
93
  children={children}
92
94
  letterVariants={letterVariants}
93
95
  scrollOnLastItem={scroll}
94
96
  dadElement={(children) => {
95
97
  if (Array.isArray(children)) {
96
- children.push(<motion.br />)
98
+ children.push(<motion.br
99
+ key={`br-${id}`}
100
+ />)
97
101
  return children
98
102
  }
99
103
  return children
100
104
  }}
101
105
  />
102
106
  },
103
- a: ({ children, href, style }) => {
107
+ a: ({ children, href, style, id }) => {
104
108
  return <TypewriterInternal
109
+ key={id}
105
110
  children={children}
106
111
  letterVariants={letterVariants}
107
112
  scrollOnLastItem={scroll}
108
113
  dadElement={(children) => <motion.a
114
+ key={`a-${id}`}
109
115
  href={href}
110
116
  target="_blank"
111
117
  style={{
@@ -119,12 +125,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
119
125
  }
120
126
  />
121
127
  },
122
- code: ({ children, style }) => {
128
+ code: ({ children, style, id }) => {
123
129
  return <TypewriterInternal
130
+ key={id}
124
131
  children={children}
125
132
  letterVariants={letterVariants}
126
133
  scrollOnLastItem={scroll}
127
134
  dadElement={(children) => <motion.code
135
+ key={`code-${id}`}
128
136
  style={{
129
137
  ...style,
130
138
  backgroundColor: useTheme().palette.neutral[600],
@@ -137,12 +145,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
137
145
  }
138
146
  />
139
147
  },
140
- ul: ({ children, style }) => {
148
+ ul: ({ children, style, id }) => {
141
149
  return <TypewriterInternal
150
+ key={id}
142
151
  children={children}
143
152
  letterVariants={letterVariants}
144
153
  scrollOnLastItem={scroll}
145
154
  dadElement={(children) => <motion.ul
155
+ key={`ul-${id}`}
146
156
  style={{
147
157
  ...style,
148
158
  margin: 0,
@@ -154,12 +164,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
154
164
  }
155
165
  />
156
166
  },
157
- li: ({ children, style }) => {
167
+ li: ({ children, style, id }) => {
158
168
  return <TypewriterInternal
169
+ key={id}
159
170
  children={children}
160
171
  letterVariants={letterVariants}
161
172
  scrollOnLastItem={scroll}
162
173
  dadElement={(children) => <motion.li
174
+ key={`li-${id}`}
163
175
  style={style}
164
176
  variants={letterVariants}
165
177
  >
@@ -168,12 +180,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
168
180
  }
169
181
  />
170
182
  },
171
- strong: ({ children, style }) => {
183
+ strong: ({ children, style, id }) => {
172
184
  return <TypewriterInternal
185
+ key={id}
173
186
  children={children}
174
187
  letterVariants={letterVariants}
175
188
  scrollOnLastItem={scroll}
176
189
  dadElement={(children) => <motion.strong
190
+ key={`strong-${id}`}
177
191
  style={style}
178
192
  variants={letterVariants}
179
193
  >
@@ -182,12 +196,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
182
196
  }
183
197
  />
184
198
  },
185
- em: ({ children, style }) => {
199
+ em: ({ children, style, id }) => {
186
200
  return <TypewriterInternal
201
+ key={id}
187
202
  children={children}
188
203
  letterVariants={letterVariants}
189
204
  scrollOnLastItem={scroll}
190
205
  dadElement={(children) => <motion.em
206
+ key={`em-${id}`}
191
207
  style={style}
192
208
  variants={letterVariants}
193
209
  >
@@ -196,18 +212,21 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
196
212
  }
197
213
  />
198
214
  },
199
- hr: ({ style }) => {
215
+ hr: ({ style, id }) => {
200
216
  return <motion.hr
217
+ key={id}
201
218
  style={style}
202
219
  variants={letterVariants}
203
220
  />
204
221
  },
205
- th: ({ children, style }) => {
222
+ th: ({ children, style, id }) => {
206
223
  return <TypewriterInternal
224
+ key={id}
207
225
  children={children}
208
226
  letterVariants={letterVariants}
209
227
  scrollOnLastItem={scroll}
210
228
  dadElement={(children) => <motion.th
229
+ key={`th-${id}`}
211
230
  style={style}
212
231
  variants={letterVariants}
213
232
  >
@@ -216,12 +235,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
216
235
  }
217
236
  />
218
237
  },
219
- del: ({ children, style }) => {
238
+ del: ({ children, style, id }) => {
220
239
  return <TypewriterInternal
240
+ key={id}
221
241
  children={children}
222
242
  letterVariants={letterVariants}
223
243
  scrollOnLastItem={scroll}
224
244
  dadElement={(children) => <motion.del
245
+ key={`del-${id}`}
225
246
  style={style}
226
247
  variants={letterVariants}
227
248
  >
@@ -230,12 +251,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
230
251
  }
231
252
  />
232
253
  },
233
- table: ({ children, style }) => {
254
+ table: ({ children, style, id }) => {
234
255
  return <TypewriterInternal
256
+ key={id}
235
257
  children={children}
236
258
  letterVariants={letterVariants}
237
259
  scrollOnLastItem={scroll}
238
260
  dadElement={(children) => <motion.table
261
+ key={`table-${id}`}
239
262
  style={style}
240
263
  variants={letterVariants}
241
264
  >
@@ -244,12 +267,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
244
267
  }
245
268
  />
246
269
  },
247
- span: ({ children, style }) => {
270
+ span: ({ children, style, id }) => {
248
271
  return <TypewriterInternal
272
+ key={id}
249
273
  children={children}
250
274
  letterVariants={letterVariants}
251
275
  scrollOnLastItem={scroll}
252
276
  dadElement={(children) => <motion.span
277
+ key={`span-${id}`}
253
278
  style={style}
254
279
  variants={letterVariants}
255
280
  >
@@ -258,12 +283,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
258
283
  }
259
284
  />
260
285
  },
261
- h1: ({ children, style }) => {
286
+ h1: ({ children, style, id }) => {
262
287
  return <TypewriterInternal
288
+ key={id}
263
289
  children={children}
264
290
  letterVariants={letterVariants}
265
291
  scrollOnLastItem={scroll}
266
292
  dadElement={(children) => <motion.h1
293
+ key={`h1-${id}`}
267
294
  style={{
268
295
  ...style,
269
296
  margin: 0,
@@ -275,12 +302,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
275
302
  }
276
303
  />
277
304
  },
278
- h2: ({ children, style }) => {
305
+ h2: ({ children, style, id }) => {
279
306
  return <TypewriterInternal
307
+ key={id}
280
308
  children={children}
281
309
  letterVariants={letterVariants}
282
310
  scrollOnLastItem={scroll}
283
311
  dadElement={(children) => <motion.h2
312
+ key={`h2-${id}`}
284
313
  style={{
285
314
  ...style,
286
315
  margin: 0,
@@ -292,12 +321,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
292
321
  }
293
322
  />
294
323
  },
295
- h3: ({ children, style }) => {
324
+ h3: ({ children, style, id }) => {
296
325
  return <TypewriterInternal
326
+ key={id}
297
327
  children={children}
298
328
  letterVariants={letterVariants}
299
329
  scrollOnLastItem={scroll}
300
330
  dadElement={(children) => <motion.h3
331
+ key={`h3-${id}`}
301
332
  style={{
302
333
  ...style,
303
334
  margin: 0,
@@ -309,12 +340,14 @@ export default function Typewriter({ text, delay = 0, onAnimationComplete, onAni
309
340
  }
310
341
  />
311
342
  },
312
- h4: ({ children, style }) => {
343
+ h4: ({ children, style, id }) => {
313
344
  return <TypewriterInternal
345
+ key={id}
314
346
  children={children}
315
347
  letterVariants={letterVariants}
316
348
  scrollOnLastItem={scroll}
317
349
  dadElement={(children) => <motion.h4
350
+ key={`h4-${id}`}
318
351
  style={{
319
352
  ...style,
320
353
  margin: 0,
@@ -1,17 +1,17 @@
1
- import { useEffect } from 'react';
1
+ import { useCallback, useEffect } from 'react';
2
2
 
3
3
  export default function GoBackEventInterceptor() {
4
+ const onpopstate = useCallback(() => {
5
+ window.history.forward();
6
+ }, [])
7
+
4
8
  useEffect(() => {
5
9
  window.addEventListener("popstate", onpopstate);
6
10
 
7
11
  return () => {
8
12
  window.removeEventListener("popstate", onpopstate);
9
13
  };
10
- }, []);
11
-
12
- function onpopstate() {
13
- window.history.forward();
14
- }
14
+ }, [onpopstate]);
15
15
 
16
16
  return null
17
17
  }