create-pixi-vn 2.0.15 → 2.1.0

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 (1210) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +1 -1
  3. package/template-nqtr-react-vite-muijoy/.assetpack.ts +18 -0
  4. package/template-nqtr-react-vite-muijoy/.vscode/extensions.json +8 -9
  5. package/template-nqtr-react-vite-muijoy/.vscode/launch.json +29 -15
  6. package/template-nqtr-react-vite-muijoy/.vscode/settings.json +58 -63
  7. package/template-nqtr-react-vite-muijoy/.vscode/tasks.json +106 -0
  8. package/template-nqtr-react-vite-muijoy/README.md +2 -113
  9. package/template-nqtr-react-vite-muijoy/_gitignore +2 -1
  10. package/template-nqtr-react-vite-muijoy/biome.json +70 -0
  11. package/template-nqtr-react-vite-muijoy/components.json +25 -0
  12. package/template-nqtr-react-vite-muijoy/index.html +3 -2
  13. package/template-nqtr-react-vite-muijoy/package-lock.json +18181 -0
  14. package/template-nqtr-react-vite-muijoy/package.json +60 -43
  15. package/template-nqtr-react-vite-muijoy/public/apple-touch-icon-180x180.png +0 -0
  16. package/template-nqtr-react-vite-muijoy/public/favicon.ico +0 -0
  17. package/template-nqtr-react-vite-muijoy/public/icon.png +0 -0
  18. package/template-nqtr-react-vite-muijoy/public/maskable-icon-512x512.png +0 -0
  19. package/template-nqtr-react-vite-muijoy/public/pwa-192x192.png +0 -0
  20. package/template-nqtr-react-vite-muijoy/public/pwa-512x512.png +0 -0
  21. package/template-nqtr-react-vite-muijoy/public/pwa-64x64.png +0 -0
  22. package/template-nqtr-react-vite-muijoy/pwa-assets.config.js +6 -0
  23. package/template-nqtr-react-vite-muijoy/src/App.tsx +25 -77
  24. package/template-nqtr-react-vite-muijoy/src/assets/index.ts +222 -0
  25. package/template-nqtr-react-vite-muijoy/src/assets/ink-manifest.gen.json +1 -0
  26. package/template-nqtr-react-vite-muijoy/src/assets/manifest.gen.json +8 -0
  27. package/template-nqtr-react-vite-muijoy/src/components/dev-devtools.tsx +25 -0
  28. package/template-nqtr-react-vite-muijoy/src/components/loading.tsx +31 -0
  29. package/template-nqtr-react-vite-muijoy/src/components/menus/choice-menus.tsx +47 -0
  30. package/template-nqtr-react-vite-muijoy/src/components/menus/main-menu.tsx +289 -0
  31. package/template-nqtr-react-vite-muijoy/src/components/menus/memo-menu.tsx +163 -0
  32. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/index.tsx +94 -0
  33. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/save-forms.tsx +27 -0
  34. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +122 -0
  35. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/about.tsx +33 -0
  36. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/dialogues-controls.tsx +105 -0
  37. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/index.tsx +222 -0
  38. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/controls.tsx +115 -0
  39. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +164 -0
  40. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/save-load.tsx +66 -0
  41. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/quick-menus.tsx +126 -0
  42. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/sound-controls.tsx +114 -0
  43. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/system-controls.tsx +225 -0
  44. package/template-nqtr-react-vite-muijoy/src/components/modals/error-allerts.tsx +42 -0
  45. package/template-nqtr-react-vite-muijoy/src/components/modals/input-request-dialogues.tsx +82 -0
  46. package/template-nqtr-react-vite-muijoy/src/components/modals/quick-actions-wheel.tsx +264 -0
  47. package/template-nqtr-react-vite-muijoy/src/components/providers/alert-dialog-provider.tsx +137 -0
  48. package/template-nqtr-react-vite-muijoy/src/components/providers/root-provider.tsx +37 -0
  49. package/template-nqtr-react-vite-muijoy/src/components/providers/theme-provider.tsx +71 -0
  50. package/template-nqtr-react-vite-muijoy/src/components/quick-tools.tsx +159 -0
  51. package/template-nqtr-react-vite-muijoy/src/components/screens/map.tsx +87 -0
  52. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/click-overlay.tsx +15 -0
  53. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/index.tsx +33 -0
  54. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/narration-cards.tsx +156 -0
  55. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/activity-buttons.tsx +135 -0
  56. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/index.tsx +30 -0
  57. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/quick-activities.tsx +24 -0
  58. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/quick-rooms.tsx +122 -0
  59. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/time.tsx +54 -0
  60. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/tools.tsx +102 -0
  61. package/template-nqtr-react-vite-muijoy/src/components/ui/alert-dialog.tsx +160 -0
  62. package/template-nqtr-react-vite-muijoy/src/components/ui/aspect-ratio.tsx +22 -0
  63. package/template-nqtr-react-vite-muijoy/src/components/ui/avatar.tsx +91 -0
  64. package/template-nqtr-react-vite-muijoy/src/components/ui/breadcrumb.tsx +103 -0
  65. package/template-nqtr-react-vite-muijoy/src/components/ui/button-group.tsx +78 -0
  66. package/template-nqtr-react-vite-muijoy/src/components/ui/button.tsx +57 -0
  67. package/template-nqtr-react-vite-muijoy/src/components/ui/card.tsx +91 -0
  68. package/template-nqtr-react-vite-muijoy/src/components/ui/carousel.tsx +235 -0
  69. package/template-nqtr-react-vite-muijoy/src/components/ui/dialog.tsx +148 -0
  70. package/template-nqtr-react-vite-muijoy/src/components/ui/drawer.tsx +120 -0
  71. package/template-nqtr-react-vite-muijoy/src/components/ui/field.tsx +229 -0
  72. package/template-nqtr-react-vite-muijoy/src/components/ui/fullscreen-dialog.tsx +70 -0
  73. package/template-nqtr-react-vite-muijoy/src/components/ui/image.tsx +20 -0
  74. package/template-nqtr-react-vite-muijoy/src/components/ui/input-group.tsx +145 -0
  75. package/template-nqtr-react-vite-muijoy/src/components/ui/input.tsx +20 -0
  76. package/template-nqtr-react-vite-muijoy/src/components/ui/item.tsx +191 -0
  77. package/template-nqtr-react-vite-muijoy/src/components/ui/kbd.tsx +26 -0
  78. package/template-nqtr-react-vite-muijoy/src/components/ui/label.tsx +18 -0
  79. package/template-nqtr-react-vite-muijoy/src/components/ui/pagination.tsx +118 -0
  80. package/template-nqtr-react-vite-muijoy/src/components/ui/radio-group.tsx +38 -0
  81. package/template-nqtr-react-vite-muijoy/src/components/ui/resizable.tsx +40 -0
  82. package/template-nqtr-react-vite-muijoy/src/components/ui/scroll-area.tsx +51 -0
  83. package/template-nqtr-react-vite-muijoy/src/components/ui/select.tsx +190 -0
  84. package/template-nqtr-react-vite-muijoy/src/components/ui/separator.tsx +21 -0
  85. package/template-nqtr-react-vite-muijoy/src/components/ui/skeleton.tsx +13 -0
  86. package/template-nqtr-react-vite-muijoy/src/components/ui/slider.tsx +52 -0
  87. package/template-nqtr-react-vite-muijoy/src/components/ui/sonner.tsx +43 -0
  88. package/template-nqtr-react-vite-muijoy/src/components/ui/spinner.tsx +16 -0
  89. package/template-nqtr-react-vite-muijoy/src/components/ui/switch.tsx +32 -0
  90. package/template-nqtr-react-vite-muijoy/src/components/ui/textarea.tsx +18 -0
  91. package/template-nqtr-react-vite-muijoy/src/components/ui/toggle.tsx +43 -0
  92. package/template-nqtr-react-vite-muijoy/src/components/ui/tooltip.tsx +54 -0
  93. package/template-nqtr-react-vite-muijoy/src/constants.ts +17 -0
  94. package/template-nqtr-react-vite-muijoy/src/content/activities.tsx +77 -0
  95. package/template-nqtr-react-vite-muijoy/src/content/characters.ts +15 -0
  96. package/template-nqtr-react-vite-muijoy/src/content/index.ts +4 -0
  97. package/template-nqtr-react-vite-muijoy/src/content/labels/sleep.label.ts +60 -0
  98. package/template-nqtr-react-vite-muijoy/src/content/labels/start.label.ts +12 -0
  99. package/template-nqtr-react-vite-muijoy/src/content/labels/various.label.ts +151 -0
  100. package/template-nqtr-react-vite-muijoy/src/content/locations.tsx +59 -0
  101. package/template-nqtr-react-vite-muijoy/src/content/maps.tsx +26 -0
  102. package/template-nqtr-react-vite-muijoy/src/content/quests/alice.quest.tsx +54 -0
  103. package/template-nqtr-react-vite-muijoy/src/content/rooms.tsx +80 -0
  104. package/template-nqtr-react-vite-muijoy/src/content/routine.tsx +86 -0
  105. package/template-nqtr-react-vite-muijoy/src/content/time-data.ts +35 -0
  106. package/template-nqtr-react-vite-muijoy/src/lib/hooks/hotkeys-hooks.ts +530 -0
  107. package/template-nqtr-react-vite-muijoy/src/lib/hooks/image-hooks.ts +15 -0
  108. package/template-nqtr-react-vite-muijoy/src/lib/hooks/language-settings-hooks.ts +61 -0
  109. package/template-nqtr-react-vite-muijoy/src/lib/hooks/minigame-hooks.ts +55 -0
  110. package/template-nqtr-react-vite-muijoy/src/lib/hooks/narration-hooks.ts +255 -0
  111. package/template-nqtr-react-vite-muijoy/src/lib/hooks/navigation-hooks.ts +112 -0
  112. package/template-nqtr-react-vite-muijoy/src/lib/hooks/network-hooks.ts +34 -0
  113. package/template-nqtr-react-vite-muijoy/src/lib/hooks/nqtr-hooks.ts +121 -0
  114. package/template-nqtr-react-vite-muijoy/src/lib/hooks/pause-game-hooks.ts +53 -0
  115. package/template-nqtr-react-vite-muijoy/src/lib/hooks/props-hooks.ts +30 -0
  116. package/template-nqtr-react-vite-muijoy/src/lib/hooks/quick-tools-hooks.ts +80 -0
  117. package/template-nqtr-react-vite-muijoy/src/lib/hooks/save-hooks.tsx +203 -0
  118. package/template-nqtr-react-vite-muijoy/src/lib/i18n.ts +59 -0
  119. package/template-nqtr-react-vite-muijoy/src/lib/query/activity-query.ts +24 -0
  120. package/template-nqtr-react-vite-muijoy/src/lib/query/map-query.ts +78 -0
  121. package/template-nqtr-react-vite-muijoy/src/lib/query/narration-query.ts +182 -0
  122. package/template-nqtr-react-vite-muijoy/src/lib/query/quest-query.ts +73 -0
  123. package/template-nqtr-react-vite-muijoy/src/lib/query/room-query.ts +104 -0
  124. package/template-nqtr-react-vite-muijoy/src/lib/query/save-query.ts +18 -0
  125. package/template-nqtr-react-vite-muijoy/src/lib/query/settings-query.ts +10 -0
  126. package/template-nqtr-react-vite-muijoy/src/lib/query/time-query.ts +23 -0
  127. package/template-nqtr-react-vite-muijoy/src/lib/stores/alert-dialog-store.ts +13 -0
  128. package/template-nqtr-react-vite-muijoy/src/lib/stores/auto-settings-store.ts +44 -0
  129. package/template-nqtr-react-vite-muijoy/src/lib/stores/channel-sound-stores.ts +64 -0
  130. package/template-nqtr-react-vite-muijoy/src/lib/stores/game-status-store.ts +19 -0
  131. package/template-nqtr-react-vite-muijoy/src/lib/stores/interface-settings-store.ts +49 -0
  132. package/template-nqtr-react-vite-muijoy/src/lib/stores/master-sound-storage.ts +68 -0
  133. package/template-nqtr-react-vite-muijoy/src/lib/stores/memo-store.ts +24 -0
  134. package/template-nqtr-react-vite-muijoy/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  135. package/template-nqtr-react-vite-muijoy/src/lib/stores/save-menu-pagination-store.ts +24 -0
  136. package/template-nqtr-react-vite-muijoy/src/lib/stores/search-param-store.ts +20 -0
  137. package/template-nqtr-react-vite-muijoy/src/lib/stores/skip-settings-store.ts +26 -0
  138. package/template-nqtr-react-vite-muijoy/src/lib/stores/text-display-settings-store.ts +81 -0
  139. package/template-nqtr-react-vite-muijoy/src/lib/utils/assets-utility.ts +39 -0
  140. package/template-nqtr-react-vite-muijoy/src/lib/utils/db-utility.ts +204 -0
  141. package/template-nqtr-react-vite-muijoy/src/lib/utils/save-utility.ts +152 -0
  142. package/template-nqtr-react-vite-muijoy/src/lib/utils/scroll-utils.ts +24 -0
  143. package/template-nqtr-react-vite-muijoy/src/lib/utils/ui-utility.ts +13 -0
  144. package/template-nqtr-react-vite-muijoy/src/lib/utils.ts +6 -0
  145. package/template-nqtr-react-vite-muijoy/src/locales/en.json +159 -0
  146. package/template-nqtr-react-vite-muijoy/src/main.tsx +23 -27
  147. package/template-nqtr-react-vite-muijoy/src/models/Character.ts +1 -1
  148. package/template-nqtr-react-vite-muijoy/src/models/GameSaveData.ts +1 -1
  149. package/template-nqtr-react-vite-muijoy/src/models/TimeSlotsImage.ts +3 -1
  150. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Activity.ts +10 -10
  151. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Commitment.ts +16 -12
  152. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Location.ts +9 -9
  153. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Map.ts +12 -6
  154. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Quest.ts +7 -2
  155. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Room.ts +12 -10
  156. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Stage.ts +9 -3
  157. package/template-nqtr-react-vite-muijoy/src/models/nqtr/ui-elements.ts +4 -4
  158. package/template-nqtr-react-vite-muijoy/src/nqtr.d.ts +2 -2
  159. package/template-nqtr-react-vite-muijoy/src/nqtr.keys.gen.ts +54 -0
  160. package/template-nqtr-react-vite-muijoy/src/pixi-vn.d.ts +122 -128
  161. package/template-nqtr-react-vite-muijoy/src/pixi-vn.keys.gen.ts +86 -0
  162. package/template-nqtr-react-vite-muijoy/src/routeTree.gen.ts +150 -0
  163. package/template-nqtr-react-vite-muijoy/src/router.tsx +27 -0
  164. package/template-nqtr-react-vite-muijoy/src/routes/__root.tsx +66 -0
  165. package/template-nqtr-react-vite-muijoy/src/routes/game/map.tsx +6 -0
  166. package/template-nqtr-react-vite-muijoy/src/routes/game/narration.tsx +21 -0
  167. package/template-nqtr-react-vite-muijoy/src/routes/game/navigation.tsx +15 -0
  168. package/template-nqtr-react-vite-muijoy/src/routes/game.tsx +22 -0
  169. package/template-nqtr-react-vite-muijoy/src/routes/index.tsx +6 -0
  170. package/template-nqtr-react-vite-muijoy/src/styles.css +155 -0
  171. package/template-nqtr-react-vite-muijoy/tsconfig.app.json +32 -0
  172. package/template-nqtr-react-vite-muijoy/tsconfig.json +8 -23
  173. package/template-nqtr-react-vite-muijoy/tsconfig.node.json +20 -3
  174. package/template-nqtr-react-vite-muijoy/vite.config.ts +118 -14
  175. package/template-nqtr-react-vite-muijoy-ink/.assetpack.ts +18 -0
  176. package/template-nqtr-react-vite-muijoy-ink/.vscode/extensions.json +9 -10
  177. package/template-nqtr-react-vite-muijoy-ink/.vscode/launch.json +29 -15
  178. package/template-nqtr-react-vite-muijoy-ink/.vscode/settings.json +63 -68
  179. package/template-nqtr-react-vite-muijoy-ink/.vscode/tasks.json +106 -0
  180. package/template-nqtr-react-vite-muijoy-ink/README.md +2 -150
  181. package/template-nqtr-react-vite-muijoy-ink/_gitignore +3 -1
  182. package/template-nqtr-react-vite-muijoy-ink/biome.json +70 -0
  183. package/template-nqtr-react-vite-muijoy-ink/components.json +25 -0
  184. package/template-nqtr-react-vite-muijoy-ink/index.html +3 -2
  185. package/template-nqtr-react-vite-muijoy-ink/ink/start.ink +7 -0
  186. package/template-nqtr-react-vite-muijoy-ink/ink/various_actions.ink +68 -0
  187. package/template-nqtr-react-vite-muijoy-ink/package-lock.json +18220 -0
  188. package/template-nqtr-react-vite-muijoy-ink/package.json +62 -44
  189. package/template-nqtr-react-vite-muijoy-ink/public/apple-touch-icon-180x180.png +0 -0
  190. package/template-nqtr-react-vite-muijoy-ink/public/favicon.ico +0 -0
  191. package/template-nqtr-react-vite-muijoy-ink/public/icon.png +0 -0
  192. package/template-nqtr-react-vite-muijoy-ink/public/maskable-icon-512x512.png +0 -0
  193. package/template-nqtr-react-vite-muijoy-ink/public/pwa-192x192.png +0 -0
  194. package/template-nqtr-react-vite-muijoy-ink/public/pwa-512x512.png +0 -0
  195. package/template-nqtr-react-vite-muijoy-ink/public/pwa-64x64.png +0 -0
  196. package/template-nqtr-react-vite-muijoy-ink/pwa-assets.config.js +6 -0
  197. package/template-nqtr-react-vite-muijoy-ink/src/App.tsx +17 -70
  198. package/template-nqtr-react-vite-muijoy-ink/src/assets/index.ts +222 -0
  199. package/template-nqtr-react-vite-muijoy-ink/src/assets/ink-manifest.gen.json +4 -0
  200. package/template-nqtr-react-vite-muijoy-ink/src/assets/manifest.gen.json +8 -0
  201. package/template-nqtr-react-vite-muijoy-ink/src/components/dev-devtools.tsx +25 -0
  202. package/template-nqtr-react-vite-muijoy-ink/src/components/loading.tsx +31 -0
  203. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/choice-menus.tsx +47 -0
  204. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/main-menu.tsx +289 -0
  205. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/memo-menu.tsx +163 -0
  206. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/index.tsx +94 -0
  207. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/save-forms.tsx +27 -0
  208. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +122 -0
  209. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/about.tsx +33 -0
  210. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/dialogues-controls.tsx +105 -0
  211. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/index.tsx +222 -0
  212. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/controls.tsx +115 -0
  213. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +164 -0
  214. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/save-load.tsx +66 -0
  215. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/quick-menus.tsx +126 -0
  216. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/sound-controls.tsx +114 -0
  217. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/system-controls.tsx +225 -0
  218. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/error-allerts.tsx +42 -0
  219. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/input-request-dialogues.tsx +82 -0
  220. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/quick-actions-wheel.tsx +264 -0
  221. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/alert-dialog-provider.tsx +137 -0
  222. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/root-provider.tsx +37 -0
  223. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/theme-provider.tsx +71 -0
  224. package/template-nqtr-react-vite-muijoy-ink/src/components/quick-tools.tsx +159 -0
  225. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/map.tsx +87 -0
  226. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/click-overlay.tsx +15 -0
  227. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/index.tsx +33 -0
  228. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/narration-cards.tsx +156 -0
  229. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/activity-buttons.tsx +135 -0
  230. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/index.tsx +30 -0
  231. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/quick-activities.tsx +24 -0
  232. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/quick-rooms.tsx +122 -0
  233. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/time.tsx +54 -0
  234. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/tools.tsx +102 -0
  235. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/alert-dialog.tsx +160 -0
  236. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/aspect-ratio.tsx +22 -0
  237. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/avatar.tsx +91 -0
  238. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/breadcrumb.tsx +103 -0
  239. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/button-group.tsx +78 -0
  240. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/button.tsx +57 -0
  241. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/card.tsx +91 -0
  242. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/carousel.tsx +235 -0
  243. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/dialog.tsx +148 -0
  244. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/drawer.tsx +120 -0
  245. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/field.tsx +229 -0
  246. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/fullscreen-dialog.tsx +70 -0
  247. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/image.tsx +20 -0
  248. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/input-group.tsx +145 -0
  249. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/input.tsx +20 -0
  250. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/item.tsx +191 -0
  251. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/kbd.tsx +26 -0
  252. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/label.tsx +18 -0
  253. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/pagination.tsx +118 -0
  254. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/radio-group.tsx +38 -0
  255. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/resizable.tsx +40 -0
  256. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/scroll-area.tsx +51 -0
  257. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/select.tsx +190 -0
  258. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/separator.tsx +21 -0
  259. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/skeleton.tsx +13 -0
  260. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/slider.tsx +52 -0
  261. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/sonner.tsx +43 -0
  262. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/spinner.tsx +16 -0
  263. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/switch.tsx +32 -0
  264. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/textarea.tsx +18 -0
  265. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/toggle.tsx +43 -0
  266. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/tooltip.tsx +54 -0
  267. package/template-nqtr-react-vite-muijoy-ink/src/constants.ts +17 -0
  268. package/template-nqtr-react-vite-muijoy-ink/src/content/activities.tsx +77 -0
  269. package/template-nqtr-react-vite-muijoy-ink/src/content/characters.ts +15 -0
  270. package/template-nqtr-react-vite-muijoy-ink/src/content/index.ts +4 -0
  271. package/template-nqtr-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +50 -0
  272. package/template-nqtr-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +19 -0
  273. package/template-nqtr-react-vite-muijoy-ink/src/content/labels/sleep.label.ts +60 -0
  274. package/template-nqtr-react-vite-muijoy-ink/src/content/locations.tsx +59 -0
  275. package/template-nqtr-react-vite-muijoy-ink/src/content/maps.tsx +26 -0
  276. package/template-nqtr-react-vite-muijoy-ink/src/content/quests/alice.quest.tsx +54 -0
  277. package/template-nqtr-react-vite-muijoy-ink/src/content/rooms.tsx +80 -0
  278. package/template-nqtr-react-vite-muijoy-ink/src/content/routine.tsx +86 -0
  279. package/template-nqtr-react-vite-muijoy-ink/src/content/time-data.ts +35 -0
  280. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/hotkeys-hooks.ts +530 -0
  281. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/image-hooks.ts +15 -0
  282. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/ink-hooks.tsx +12 -0
  283. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/language-settings-hooks.ts +61 -0
  284. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/minigame-hooks.ts +55 -0
  285. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/narration-hooks.ts +255 -0
  286. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/navigation-hooks.ts +112 -0
  287. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/network-hooks.ts +34 -0
  288. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/nqtr-hooks.ts +121 -0
  289. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/pause-game-hooks.ts +53 -0
  290. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/props-hooks.ts +30 -0
  291. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/quick-tools-hooks.ts +80 -0
  292. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/save-hooks.tsx +203 -0
  293. package/template-nqtr-react-vite-muijoy-ink/src/lib/i18n.ts +80 -0
  294. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/activity-query.ts +24 -0
  295. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/map-query.ts +78 -0
  296. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/narration-query.ts +182 -0
  297. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/quest-query.ts +73 -0
  298. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/room-query.ts +104 -0
  299. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/save-query.ts +18 -0
  300. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/settings-query.ts +10 -0
  301. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/time-query.ts +23 -0
  302. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/alert-dialog-store.ts +13 -0
  303. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/auto-settings-store.ts +44 -0
  304. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/channel-sound-stores.ts +64 -0
  305. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/game-status-store.ts +19 -0
  306. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/interface-settings-store.ts +49 -0
  307. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/master-sound-storage.ts +68 -0
  308. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/memo-store.ts +24 -0
  309. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  310. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/save-menu-pagination-store.ts +24 -0
  311. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/search-param-store.ts +20 -0
  312. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/skip-settings-store.ts +26 -0
  313. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/text-display-settings-store.ts +81 -0
  314. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/assets-utility.ts +39 -0
  315. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/db-utility.ts +204 -0
  316. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/save-utility.ts +152 -0
  317. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/scroll-utils.ts +24 -0
  318. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/ui-utility.ts +13 -0
  319. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils.ts +6 -0
  320. package/template-nqtr-react-vite-muijoy-ink/src/locales/en.json +159 -0
  321. package/template-nqtr-react-vite-muijoy-ink/src/main.tsx +23 -30
  322. package/template-nqtr-react-vite-muijoy-ink/src/models/Character.ts +1 -1
  323. package/template-nqtr-react-vite-muijoy-ink/src/models/GameSaveData.ts +1 -1
  324. package/template-nqtr-react-vite-muijoy-ink/src/models/TimeSlotsImage.ts +3 -1
  325. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Activity.ts +10 -10
  326. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Commitment.ts +16 -12
  327. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Location.ts +9 -9
  328. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Map.ts +12 -6
  329. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Quest.ts +7 -2
  330. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Room.ts +12 -10
  331. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Stage.ts +9 -3
  332. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/ui-elements.ts +4 -4
  333. package/template-nqtr-react-vite-muijoy-ink/src/nqtr.d.ts +2 -2
  334. package/template-nqtr-react-vite-muijoy-ink/src/nqtr.keys.gen.ts +54 -0
  335. package/template-nqtr-react-vite-muijoy-ink/src/pixi-vn.d.ts +122 -128
  336. package/template-nqtr-react-vite-muijoy-ink/src/pixi-vn.keys.gen.ts +93 -0
  337. package/template-nqtr-react-vite-muijoy-ink/src/routeTree.gen.ts +150 -0
  338. package/template-nqtr-react-vite-muijoy-ink/src/router.tsx +27 -0
  339. package/template-nqtr-react-vite-muijoy-ink/src/routes/__root.tsx +70 -0
  340. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/map.tsx +6 -0
  341. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/narration.tsx +21 -0
  342. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/navigation.tsx +15 -0
  343. package/template-nqtr-react-vite-muijoy-ink/src/routes/game.tsx +22 -0
  344. package/template-nqtr-react-vite-muijoy-ink/src/routes/index.tsx +6 -0
  345. package/template-nqtr-react-vite-muijoy-ink/src/styles.css +155 -0
  346. package/template-nqtr-react-vite-muijoy-ink/tsconfig.app.json +32 -0
  347. package/template-nqtr-react-vite-muijoy-ink/tsconfig.json +8 -23
  348. package/template-nqtr-react-vite-muijoy-ink/tsconfig.node.json +20 -3
  349. package/template-nqtr-react-vite-muijoy-ink/vite.config.ts +123 -16
  350. package/template-nqtr-react-vite-muijoy-ink-tauri/.assetpack.ts +27 -0
  351. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/extensions.json +12 -13
  352. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/launch.json +40 -43
  353. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/settings.json +63 -68
  354. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/tasks.json +150 -26
  355. package/template-nqtr-react-vite-muijoy-ink-tauri/README.md +2 -203
  356. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/desktop.yml +188 -0
  357. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/mobile.yml +270 -0
  358. package/template-nqtr-react-vite-muijoy-ink-tauri/_gitignore +13 -2
  359. package/template-nqtr-react-vite-muijoy-ink-tauri/biome.json +70 -0
  360. package/template-nqtr-react-vite-muijoy-ink-tauri/components.json +25 -0
  361. package/template-nqtr-react-vite-muijoy-ink-tauri/index.html +3 -2
  362. package/template-nqtr-react-vite-muijoy-ink-tauri/ink/start.ink +7 -0
  363. package/template-nqtr-react-vite-muijoy-ink-tauri/ink/various_actions.ink +68 -0
  364. package/template-nqtr-react-vite-muijoy-ink-tauri/package-lock.json +18470 -0
  365. package/template-nqtr-react-vite-muijoy-ink-tauri/package.json +104 -81
  366. package/template-nqtr-react-vite-muijoy-ink-tauri/public/apple-touch-icon-180x180.png +0 -0
  367. package/template-nqtr-react-vite-muijoy-ink-tauri/public/favicon.ico +0 -0
  368. package/template-nqtr-react-vite-muijoy-ink-tauri/public/icon.png +0 -0
  369. package/template-nqtr-react-vite-muijoy-ink-tauri/public/maskable-icon-512x512.png +0 -0
  370. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-192x192.png +0 -0
  371. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-512x512.png +0 -0
  372. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-64x64.png +0 -0
  373. package/template-nqtr-react-vite-muijoy-ink-tauri/pwa-assets.config.js +6 -0
  374. package/template-nqtr-react-vite-muijoy-ink-tauri/src/App.tsx +17 -70
  375. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/index.ts +222 -0
  376. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/ink-manifest.gen.json +4 -0
  377. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/manifest.gen.json +8 -0
  378. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/dev-devtools.tsx +25 -0
  379. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/loading.tsx +31 -0
  380. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/choice-menus.tsx +47 -0
  381. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/main-menu.tsx +304 -0
  382. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/memo-menu.tsx +163 -0
  383. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/index.tsx +94 -0
  384. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
  385. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +122 -0
  386. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/about.tsx +33 -0
  387. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
  388. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/index.tsx +222 -0
  389. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
  390. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +164 -0
  391. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
  392. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
  393. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
  394. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/system-controls.tsx +235 -0
  395. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/error-allerts.tsx +42 -0
  396. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
  397. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/quick-actions-wheel.tsx +264 -0
  398. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/alert-dialog-provider.tsx +137 -0
  399. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/root-provider.tsx +37 -0
  400. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/theme-provider.tsx +71 -0
  401. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/quick-tools.tsx +159 -0
  402. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/map.tsx +87 -0
  403. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/click-overlay.tsx +15 -0
  404. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/index.tsx +33 -0
  405. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/narration-cards.tsx +156 -0
  406. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/activity-buttons.tsx +135 -0
  407. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/index.tsx +30 -0
  408. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/quick-activities.tsx +24 -0
  409. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/quick-rooms.tsx +122 -0
  410. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/time.tsx +54 -0
  411. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/tools.tsx +102 -0
  412. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/alert-dialog.tsx +160 -0
  413. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/aspect-ratio.tsx +22 -0
  414. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/avatar.tsx +91 -0
  415. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/breadcrumb.tsx +103 -0
  416. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/button-group.tsx +78 -0
  417. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/button.tsx +57 -0
  418. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/card.tsx +91 -0
  419. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/carousel.tsx +235 -0
  420. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/dialog.tsx +148 -0
  421. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/drawer.tsx +120 -0
  422. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/field.tsx +229 -0
  423. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
  424. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/image.tsx +20 -0
  425. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/input-group.tsx +145 -0
  426. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/input.tsx +20 -0
  427. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/item.tsx +191 -0
  428. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/kbd.tsx +26 -0
  429. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/label.tsx +18 -0
  430. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/pagination.tsx +118 -0
  431. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/radio-group.tsx +38 -0
  432. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/resizable.tsx +40 -0
  433. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/scroll-area.tsx +51 -0
  434. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/select.tsx +190 -0
  435. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/separator.tsx +21 -0
  436. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/skeleton.tsx +13 -0
  437. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/slider.tsx +52 -0
  438. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/sonner.tsx +43 -0
  439. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/spinner.tsx +16 -0
  440. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/switch.tsx +32 -0
  441. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/textarea.tsx +18 -0
  442. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/toggle.tsx +43 -0
  443. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/tooltip.tsx +54 -0
  444. package/template-nqtr-react-vite-muijoy-ink-tauri/src/constants.ts +17 -0
  445. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/activities.tsx +77 -0
  446. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/characters.ts +15 -0
  447. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/index.ts +4 -0
  448. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +50 -0
  449. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +19 -0
  450. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/labels/sleep.label.ts +60 -0
  451. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/labels/sleepNapLabels.ts +60 -0
  452. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/locations.tsx +59 -0
  453. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/maps.tsx +26 -0
  454. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/quests/alice.quest.tsx +54 -0
  455. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/rooms.tsx +80 -0
  456. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/routine.tsx +86 -0
  457. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/time-data.ts +35 -0
  458. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/hotkeys-hooks.ts +530 -0
  459. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/image-hooks.ts +15 -0
  460. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/ink-hooks.tsx +12 -0
  461. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
  462. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
  463. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/narration-hooks.ts +255 -0
  464. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/navigation-hooks.ts +112 -0
  465. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/network-hooks.ts +34 -0
  466. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/nqtr-hooks.ts +121 -0
  467. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
  468. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/props-hooks.ts +30 -0
  469. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
  470. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  471. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/save-hooks.tsx +203 -0
  472. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/i18n.ts +80 -0
  473. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/activity-query.ts +24 -0
  474. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/map-query.ts +78 -0
  475. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/narration-query.ts +182 -0
  476. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/quest-query.ts +73 -0
  477. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/room-query.ts +104 -0
  478. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/save-query.ts +18 -0
  479. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/settings-query.ts +16 -0
  480. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/time-query.ts +23 -0
  481. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/steam.ts +143 -0
  482. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/alert-dialog-store.ts +13 -0
  483. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/auto-settings-store.ts +44 -0
  484. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
  485. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/game-status-store.ts +19 -0
  486. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/interface-settings-store.ts +49 -0
  487. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/master-sound-storage.ts +68 -0
  488. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/memo-store.ts +24 -0
  489. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  490. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/save-menu-pagination-store.ts +24 -0
  491. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/search-param-store.ts +20 -0
  492. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/skip-settings-store.ts +26 -0
  493. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/text-display-settings-store.ts +81 -0
  494. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/assets-utility.ts +39 -0
  495. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/db-utility.ts +204 -0
  496. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/save-utility.ts +152 -0
  497. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/scroll-utils.ts +24 -0
  498. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/ui-utility.ts +13 -0
  499. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils.ts +6 -0
  500. package/template-nqtr-react-vite-muijoy-ink-tauri/src/locales/en.json +159 -0
  501. package/template-nqtr-react-vite-muijoy-ink-tauri/src/main.tsx +23 -30
  502. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/Character.ts +1 -1
  503. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/GameSaveData.ts +1 -1
  504. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/TimeSlotsImage.ts +3 -1
  505. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Activity.ts +10 -10
  506. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Commitment.ts +16 -12
  507. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Location.ts +9 -9
  508. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Map.ts +12 -6
  509. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Quest.ts +7 -2
  510. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Room.ts +12 -10
  511. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Stage.ts +9 -3
  512. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/ui-elements.ts +4 -4
  513. package/template-nqtr-react-vite-muijoy-ink-tauri/src/nqtr.d.ts +2 -2
  514. package/template-nqtr-react-vite-muijoy-ink-tauri/src/nqtr.keys.gen.ts +54 -0
  515. package/template-nqtr-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +122 -128
  516. package/template-nqtr-react-vite-muijoy-ink-tauri/src/pixi-vn.keys.gen.ts +93 -0
  517. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routeTree.gen.ts +150 -0
  518. package/template-nqtr-react-vite-muijoy-ink-tauri/src/router.tsx +27 -0
  519. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/__root.tsx +70 -0
  520. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/map.tsx +6 -0
  521. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/narration.tsx +21 -0
  522. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/navigation.tsx +15 -0
  523. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game.tsx +22 -0
  524. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/index.tsx +6 -0
  525. package/template-nqtr-react-vite-muijoy-ink-tauri/src/styles.css +155 -0
  526. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +25 -0
  527. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/build.rs +43 -0
  528. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +11 -1
  529. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +57 -7
  530. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/src/steam.rs +238 -0
  531. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +18 -5
  532. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.app.json +32 -0
  533. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.json +8 -23
  534. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.node.json +20 -3
  535. package/template-nqtr-react-vite-muijoy-ink-tauri/vite.config.ts +124 -17
  536. package/template-nqtr-react-vite-muijoy-tauri/.assetpack.ts +27 -0
  537. package/template-nqtr-react-vite-muijoy-tauri/.vscode/extensions.json +11 -12
  538. package/template-nqtr-react-vite-muijoy-tauri/.vscode/launch.json +40 -43
  539. package/template-nqtr-react-vite-muijoy-tauri/.vscode/settings.json +58 -63
  540. package/template-nqtr-react-vite-muijoy-tauri/.vscode/tasks.json +150 -26
  541. package/template-nqtr-react-vite-muijoy-tauri/README.md +2 -166
  542. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/desktop.yml +188 -0
  543. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/mobile.yml +270 -0
  544. package/template-nqtr-react-vite-muijoy-tauri/_gitignore +12 -2
  545. package/template-nqtr-react-vite-muijoy-tauri/biome.json +70 -0
  546. package/template-nqtr-react-vite-muijoy-tauri/components.json +25 -0
  547. package/template-nqtr-react-vite-muijoy-tauri/index.html +3 -2
  548. package/template-nqtr-react-vite-muijoy-tauri/package-lock.json +18431 -0
  549. package/template-nqtr-react-vite-muijoy-tauri/package.json +66 -44
  550. package/template-nqtr-react-vite-muijoy-tauri/public/apple-touch-icon-180x180.png +0 -0
  551. package/template-nqtr-react-vite-muijoy-tauri/public/favicon.ico +0 -0
  552. package/template-nqtr-react-vite-muijoy-tauri/public/icon.png +0 -0
  553. package/template-nqtr-react-vite-muijoy-tauri/public/maskable-icon-512x512.png +0 -0
  554. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-192x192.png +0 -0
  555. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-512x512.png +0 -0
  556. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-64x64.png +0 -0
  557. package/template-nqtr-react-vite-muijoy-tauri/pwa-assets.config.js +6 -0
  558. package/template-nqtr-react-vite-muijoy-tauri/src/App.tsx +25 -77
  559. package/template-nqtr-react-vite-muijoy-tauri/src/assets/index.ts +222 -0
  560. package/template-nqtr-react-vite-muijoy-tauri/src/assets/ink-manifest.gen.json +1 -0
  561. package/template-nqtr-react-vite-muijoy-tauri/src/assets/manifest.gen.json +8 -0
  562. package/template-nqtr-react-vite-muijoy-tauri/src/components/dev-devtools.tsx +25 -0
  563. package/template-nqtr-react-vite-muijoy-tauri/src/components/loading.tsx +31 -0
  564. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/choice-menus.tsx +47 -0
  565. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +304 -0
  566. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/memo-menu.tsx +163 -0
  567. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/index.tsx +94 -0
  568. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
  569. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +122 -0
  570. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/about.tsx +33 -0
  571. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
  572. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/index.tsx +222 -0
  573. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
  574. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +164 -0
  575. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
  576. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
  577. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
  578. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/system-controls.tsx +235 -0
  579. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/error-allerts.tsx +42 -0
  580. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
  581. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/quick-actions-wheel.tsx +264 -0
  582. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/alert-dialog-provider.tsx +137 -0
  583. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/root-provider.tsx +37 -0
  584. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/theme-provider.tsx +71 -0
  585. package/template-nqtr-react-vite-muijoy-tauri/src/components/quick-tools.tsx +159 -0
  586. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/map.tsx +87 -0
  587. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/click-overlay.tsx +15 -0
  588. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/index.tsx +33 -0
  589. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/narration-cards.tsx +156 -0
  590. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/activity-buttons.tsx +135 -0
  591. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/index.tsx +30 -0
  592. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/quick-activities.tsx +24 -0
  593. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/quick-rooms.tsx +122 -0
  594. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/time.tsx +54 -0
  595. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/tools.tsx +102 -0
  596. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/alert-dialog.tsx +160 -0
  597. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/aspect-ratio.tsx +22 -0
  598. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/avatar.tsx +91 -0
  599. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/breadcrumb.tsx +103 -0
  600. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/button-group.tsx +78 -0
  601. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/button.tsx +57 -0
  602. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/card.tsx +91 -0
  603. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/carousel.tsx +235 -0
  604. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/dialog.tsx +148 -0
  605. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/drawer.tsx +120 -0
  606. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/field.tsx +229 -0
  607. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
  608. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/image.tsx +20 -0
  609. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/input-group.tsx +145 -0
  610. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/input.tsx +20 -0
  611. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/item.tsx +191 -0
  612. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/kbd.tsx +26 -0
  613. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/label.tsx +18 -0
  614. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/pagination.tsx +118 -0
  615. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/radio-group.tsx +38 -0
  616. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/resizable.tsx +40 -0
  617. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/scroll-area.tsx +51 -0
  618. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/select.tsx +190 -0
  619. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/separator.tsx +21 -0
  620. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/skeleton.tsx +13 -0
  621. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/slider.tsx +52 -0
  622. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/sonner.tsx +43 -0
  623. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/spinner.tsx +16 -0
  624. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/switch.tsx +32 -0
  625. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/textarea.tsx +18 -0
  626. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/toggle.tsx +43 -0
  627. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/tooltip.tsx +54 -0
  628. package/template-nqtr-react-vite-muijoy-tauri/src/constants.ts +17 -0
  629. package/template-nqtr-react-vite-muijoy-tauri/src/content/activities.tsx +77 -0
  630. package/template-nqtr-react-vite-muijoy-tauri/src/content/characters.ts +15 -0
  631. package/template-nqtr-react-vite-muijoy-tauri/src/content/index.ts +4 -0
  632. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/sleep.label.ts +60 -0
  633. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/sleepNapLabels.ts +60 -0
  634. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/start.label.ts +12 -0
  635. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/various.label.ts +151 -0
  636. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/variousActionsLabels.ts +151 -0
  637. package/template-nqtr-react-vite-muijoy-tauri/src/content/locations.tsx +59 -0
  638. package/template-nqtr-react-vite-muijoy-tauri/src/content/maps.tsx +26 -0
  639. package/template-nqtr-react-vite-muijoy-tauri/src/content/quests/alice.quest.tsx +54 -0
  640. package/template-nqtr-react-vite-muijoy-tauri/src/content/rooms.tsx +80 -0
  641. package/template-nqtr-react-vite-muijoy-tauri/src/content/routine.tsx +86 -0
  642. package/template-nqtr-react-vite-muijoy-tauri/src/content/time-data.ts +35 -0
  643. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/hotkeys-hooks.ts +530 -0
  644. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/image-hooks.ts +15 -0
  645. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
  646. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
  647. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/narration-hooks.ts +255 -0
  648. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/navigation-hooks.ts +112 -0
  649. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/network-hooks.ts +34 -0
  650. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/nqtr-hooks.ts +121 -0
  651. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
  652. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/props-hooks.ts +30 -0
  653. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
  654. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  655. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/save-hooks.tsx +203 -0
  656. package/template-nqtr-react-vite-muijoy-tauri/src/lib/i18n.ts +59 -0
  657. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/activity-query.ts +24 -0
  658. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/map-query.ts +78 -0
  659. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/narration-query.ts +182 -0
  660. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/quest-query.ts +73 -0
  661. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/room-query.ts +104 -0
  662. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/save-query.ts +18 -0
  663. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/settings-query.ts +16 -0
  664. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/time-query.ts +23 -0
  665. package/template-nqtr-react-vite-muijoy-tauri/src/lib/steam.ts +143 -0
  666. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/alert-dialog-store.ts +13 -0
  667. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/auto-settings-store.ts +44 -0
  668. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
  669. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/game-status-store.ts +19 -0
  670. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/interface-settings-store.ts +49 -0
  671. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/master-sound-storage.ts +68 -0
  672. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/memo-store.ts +24 -0
  673. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  674. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/save-menu-pagination-store.ts +24 -0
  675. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/search-param-store.ts +20 -0
  676. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/skip-settings-store.ts +26 -0
  677. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/text-display-settings-store.ts +81 -0
  678. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/assets-utility.ts +39 -0
  679. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/db-utility.ts +204 -0
  680. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/image-utility.ts +13 -0
  681. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/save-utility.ts +152 -0
  682. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/scroll-utils.ts +24 -0
  683. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/ui-utility.ts +13 -0
  684. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils.ts +6 -0
  685. package/template-nqtr-react-vite-muijoy-tauri/src/locales/en.json +159 -0
  686. package/template-nqtr-react-vite-muijoy-tauri/src/main.tsx +23 -27
  687. package/template-nqtr-react-vite-muijoy-tauri/src/models/Character.ts +1 -1
  688. package/template-nqtr-react-vite-muijoy-tauri/src/models/GameSaveData.ts +1 -1
  689. package/template-nqtr-react-vite-muijoy-tauri/src/models/TimeSlotsImage.ts +3 -1
  690. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Activity.ts +10 -10
  691. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Commitment.ts +16 -12
  692. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Location.ts +9 -9
  693. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Map.ts +12 -6
  694. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Quest.ts +7 -2
  695. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Room.ts +12 -10
  696. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Stage.ts +9 -3
  697. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/ui-elements.ts +4 -4
  698. package/template-nqtr-react-vite-muijoy-tauri/src/nqtr.d.ts +2 -2
  699. package/template-nqtr-react-vite-muijoy-tauri/src/nqtr.keys.gen.ts +54 -0
  700. package/template-nqtr-react-vite-muijoy-tauri/src/pixi-vn.d.ts +122 -128
  701. package/template-nqtr-react-vite-muijoy-tauri/src/pixi-vn.keys.gen.ts +86 -0
  702. package/template-nqtr-react-vite-muijoy-tauri/src/routeTree.gen.ts +150 -0
  703. package/template-nqtr-react-vite-muijoy-tauri/src/router.tsx +27 -0
  704. package/template-nqtr-react-vite-muijoy-tauri/src/routes/__root.tsx +66 -0
  705. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/map.tsx +6 -0
  706. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/narration.tsx +21 -0
  707. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/navigation.tsx +15 -0
  708. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game.tsx +22 -0
  709. package/template-nqtr-react-vite-muijoy-tauri/src/routes/index.tsx +6 -0
  710. package/template-nqtr-react-vite-muijoy-tauri/src/styles.css +155 -0
  711. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/Cargo.toml +25 -0
  712. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/build.rs +43 -0
  713. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +11 -1
  714. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/src/lib.rs +57 -7
  715. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/src/steam.rs +238 -0
  716. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +18 -5
  717. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.app.json +32 -0
  718. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.json +8 -23
  719. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.node.json +20 -3
  720. package/template-nqtr-react-vite-muijoy-tauri/vite.config.ts +119 -15
  721. package/template-react-vite-muijoy/package-lock.json +4 -4
  722. package/template-react-vite-muijoy/package.json +1 -1
  723. package/template-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +4 -4
  724. package/template-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +9 -2
  725. package/template-react-vite-muijoy/src/components/quick-tools.tsx +1 -1
  726. package/template-react-vite-muijoy/src/components/screens/narration/narration-cards.tsx +3 -1
  727. package/template-react-vite-muijoy/src/pixi-vn.keys.gen.ts +76 -3
  728. package/template-react-vite-muijoy/vite.config.ts +10 -0
  729. package/template-react-vite-muijoy-ink/ink/start.ink +1 -1
  730. package/template-react-vite-muijoy-ink/package-lock.json +12 -12
  731. package/template-react-vite-muijoy-ink/package.json +2 -2
  732. package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +4 -4
  733. package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +9 -2
  734. package/template-react-vite-muijoy-ink/src/components/quick-tools.tsx +1 -1
  735. package/template-react-vite-muijoy-ink/src/components/screens/narration/narration-cards.tsx +3 -1
  736. package/template-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +5 -3
  737. package/template-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +1 -1
  738. package/template-react-vite-muijoy-ink/src/pixi-vn.keys.gen.ts +73 -0
  739. package/template-react-vite-muijoy-ink/vite.config.ts +10 -0
  740. package/template-react-vite-muijoy-ink-tauri/ink/start.ink +1 -1
  741. package/template-react-vite-muijoy-ink-tauri/package-lock.json +12 -12
  742. package/template-react-vite-muijoy-ink-tauri/package.json +2 -2
  743. package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +4 -4
  744. package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +9 -2
  745. package/template-react-vite-muijoy-ink-tauri/src/components/quick-tools.tsx +1 -1
  746. package/template-react-vite-muijoy-ink-tauri/src/components/screens/narration/narration-cards.tsx +3 -1
  747. package/template-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +5 -3
  748. package/template-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +1 -1
  749. package/template-react-vite-muijoy-ink-tauri/src/pixi-vn.keys.gen.ts +73 -0
  750. package/template-react-vite-muijoy-ink-tauri/vite.config.ts +10 -0
  751. package/template-react-vite-muijoy-tauri/package-lock.json +4 -4
  752. package/template-react-vite-muijoy-tauri/package.json +1 -1
  753. package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +4 -4
  754. package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +9 -2
  755. package/template-react-vite-muijoy-tauri/src/components/quick-tools.tsx +1 -1
  756. package/template-react-vite-muijoy-tauri/src/components/screens/narration/narration-cards.tsx +3 -1
  757. package/template-react-vite-muijoy-tauri/src/pixi-vn.keys.gen.ts +76 -3
  758. package/template-react-vite-muijoy-tauri/vite.config.ts +10 -0
  759. package/template-nqtr-react-vite-muijoy/.eslintrc.cjs +0 -18
  760. package/template-nqtr-react-vite-muijoy/public/apple-touch-icon.png +0 -0
  761. package/template-nqtr-react-vite-muijoy/public/mask-icon.svg +0 -890
  762. package/template-nqtr-react-vite-muijoy/public/service-worker.js +0 -60
  763. package/template-nqtr-react-vite-muijoy/src/App.css +0 -45
  764. package/template-nqtr-react-vite-muijoy/src/AppRoutes.tsx +0 -77
  765. package/template-nqtr-react-vite-muijoy/src/Home.tsx +0 -48
  766. package/template-nqtr-react-vite-muijoy/src/assets/manifest.ts +0 -220
  767. package/template-nqtr-react-vite-muijoy/src/components/AnimatedDots.tsx +0 -45
  768. package/template-nqtr-react-vite-muijoy/src/components/ChoiceButton.tsx +0 -15
  769. package/template-nqtr-react-vite-muijoy/src/components/GameSaveSlot.tsx +0 -140
  770. package/template-nqtr-react-vite-muijoy/src/components/MenuButton.tsx +0 -37
  771. package/template-nqtr-react-vite-muijoy/src/components/ModalConfirmation.tsx +0 -61
  772. package/template-nqtr-react-vite-muijoy/src/components/ModalDialog.tsx +0 -68
  773. package/template-nqtr-react-vite-muijoy/src/components/NextButton.tsx +0 -53
  774. package/template-nqtr-react-vite-muijoy/src/components/NqtrRoundIconButton.tsx +0 -73
  775. package/template-nqtr-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +0 -69
  776. package/template-nqtr-react-vite-muijoy/src/components/RoundIconButton.tsx +0 -35
  777. package/template-nqtr-react-vite-muijoy/src/components/SettingButton.tsx +0 -52
  778. package/template-nqtr-react-vite-muijoy/src/components/SliderResizer.tsx +0 -51
  779. package/template-nqtr-react-vite-muijoy/src/components/SoundChannelControl.tsx +0 -45
  780. package/template-nqtr-react-vite-muijoy/src/components/StackOverflow.tsx.tsx +0 -45
  781. package/template-nqtr-react-vite-muijoy/src/components/TextMenuButton.tsx +0 -48
  782. package/template-nqtr-react-vite-muijoy/src/components/TypographyShadow.tsx +0 -19
  783. package/template-nqtr-react-vite-muijoy/src/components/VisibilityButton.tsx +0 -46
  784. package/template-nqtr-react-vite-muijoy/src/constans.ts +0 -28
  785. package/template-nqtr-react-vite-muijoy/src/hooks/motion-hooks.ts +0 -17
  786. package/template-nqtr-react-vite-muijoy/src/hooks/useClosePageDetector.ts +0 -32
  787. package/template-nqtr-react-vite-muijoy/src/hooks/useDebouncedEffect.ts +0 -33
  788. package/template-nqtr-react-vite-muijoy/src/hooks/useGameProps.ts +0 -29
  789. package/template-nqtr-react-vite-muijoy/src/hooks/useInterval.ts +0 -44
  790. package/template-nqtr-react-vite-muijoy/src/hooks/useKeyDetector.ts +0 -19
  791. package/template-nqtr-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +0 -57
  792. package/template-nqtr-react-vite-muijoy/src/hooks/useMinigame.ts +0 -55
  793. package/template-nqtr-react-vite-muijoy/src/hooks/useMyNavigate.ts +0 -19
  794. package/template-nqtr-react-vite-muijoy/src/hooks/useNQTRDetector.tsx +0 -44
  795. package/template-nqtr-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +0 -78
  796. package/template-nqtr-react-vite-muijoy/src/hooks/useNetworkDetector.ts +0 -18
  797. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryInterface.ts +0 -141
  798. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryIsFullModeScreen.ts +0 -10
  799. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryLastSave.ts +0 -11
  800. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryNQTR.ts +0 -217
  801. package/template-nqtr-react-vite-muijoy/src/hooks/useQuerySaves.ts +0 -11
  802. package/template-nqtr-react-vite-muijoy/src/hooks/useSkipAutoDetector.ts +0 -52
  803. package/template-nqtr-react-vite-muijoy/src/hooks/useTimeTracker.ts +0 -48
  804. package/template-nqtr-react-vite-muijoy/src/hooks/useWheelActions.ts +0 -101
  805. package/template-nqtr-react-vite-muijoy/src/i18n.ts +0 -55
  806. package/template-nqtr-react-vite-muijoy/src/index.css +0 -19
  807. package/template-nqtr-react-vite-muijoy/src/labels/index.ts +0 -4
  808. package/template-nqtr-react-vite-muijoy/src/labels/sleepNapLabels.ts +0 -46
  809. package/template-nqtr-react-vite-muijoy/src/labels/startLabel.ts +0 -15
  810. package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabelKeys.ts +0 -5
  811. package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabels.ts +0 -141
  812. package/template-nqtr-react-vite-muijoy/src/locales/strings_en.json +0 -98
  813. package/template-nqtr-react-vite-muijoy/src/providers/RootProvider.tsx +0 -20
  814. package/template-nqtr-react-vite-muijoy/src/providers/ThemeProvider.tsx +0 -170
  815. package/template-nqtr-react-vite-muijoy/src/screens/ChoiceMenu.tsx +0 -76
  816. package/template-nqtr-react-vite-muijoy/src/screens/GameSaveScreen.tsx +0 -128
  817. package/template-nqtr-react-vite-muijoy/src/screens/HistoryScreen.tsx +0 -142
  818. package/template-nqtr-react-vite-muijoy/src/screens/LoadingScreen.tsx +0 -24
  819. package/template-nqtr-react-vite-muijoy/src/screens/MainMenu.tsx +0 -111
  820. package/template-nqtr-react-vite-muijoy/src/screens/NarrationScreen.tsx +0 -247
  821. package/template-nqtr-react-vite-muijoy/src/screens/OfflineScreen.tsx +0 -38
  822. package/template-nqtr-react-vite-muijoy/src/screens/QuickTools.tsx +0 -124
  823. package/template-nqtr-react-vite-muijoy/src/screens/Settings.tsx +0 -118
  824. package/template-nqtr-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +0 -106
  825. package/template-nqtr-react-vite-muijoy/src/screens/modals/TextInput.tsx +0 -74
  826. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MapScreen.tsx +0 -126
  827. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MemoScreen.tsx +0 -194
  828. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  829. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickActivities.tsx +0 -48
  830. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickRooms.tsx +0 -97
  831. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/TimeScreen.tsx +0 -96
  832. package/template-nqtr-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +0 -24
  833. package/template-nqtr-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +0 -90
  834. package/template-nqtr-react-vite-muijoy/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  835. package/template-nqtr-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +0 -46
  836. package/template-nqtr-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  837. package/template-nqtr-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  838. package/template-nqtr-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  839. package/template-nqtr-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +0 -34
  840. package/template-nqtr-react-vite-muijoy/src/screens/settings/SoundSettings.tsx +0 -51
  841. package/template-nqtr-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +0 -112
  842. package/template-nqtr-react-vite-muijoy/src/stores/createChannelSoundStore.ts +0 -47
  843. package/template-nqtr-react-vite-muijoy/src/stores/useAutoInfoStore.ts +0 -33
  844. package/template-nqtr-react-vite-muijoy/src/stores/useDialogueCardStore.ts +0 -36
  845. package/template-nqtr-react-vite-muijoy/src/stores/useGameSaveScreenStore.ts +0 -112
  846. package/template-nqtr-react-vite-muijoy/src/stores/useHistoryScreenStore.ts +0 -23
  847. package/template-nqtr-react-vite-muijoy/src/stores/useInterfaceStore.ts +0 -28
  848. package/template-nqtr-react-vite-muijoy/src/stores/useMasterSoundStore.ts +0 -38
  849. package/template-nqtr-react-vite-muijoy/src/stores/useMemoScreenStore.ts +0 -23
  850. package/template-nqtr-react-vite-muijoy/src/stores/useNetworkStore.ts +0 -20
  851. package/template-nqtr-react-vite-muijoy/src/stores/useNqtrScreenStore.ts +0 -12
  852. package/template-nqtr-react-vite-muijoy/src/stores/useSettingsScreenStore.ts +0 -23
  853. package/template-nqtr-react-vite-muijoy/src/stores/useSkipStore.ts +0 -27
  854. package/template-nqtr-react-vite-muijoy/src/stores/useStepStore.ts +0 -32
  855. package/template-nqtr-react-vite-muijoy/src/stores/useTypewriterStore.ts +0 -41
  856. package/template-nqtr-react-vite-muijoy/src/utils/assets-utility.ts +0 -33
  857. package/template-nqtr-react-vite-muijoy/src/utils/image-utility.ts +0 -13
  858. package/template-nqtr-react-vite-muijoy/src/utils/indexedDB-utility.ts +0 -196
  859. package/template-nqtr-react-vite-muijoy/src/utils/nqtr-utility.ts +0 -22
  860. package/template-nqtr-react-vite-muijoy/src/utils/save-utility.ts +0 -140
  861. package/template-nqtr-react-vite-muijoy/src/values/activities.tsx +0 -106
  862. package/template-nqtr-react-vite-muijoy/src/values/characters.ts +0 -15
  863. package/template-nqtr-react-vite-muijoy/src/values/index.ts +0 -6
  864. package/template-nqtr-react-vite-muijoy/src/values/locations.tsx +0 -60
  865. package/template-nqtr-react-vite-muijoy/src/values/maps.tsx +0 -26
  866. package/template-nqtr-react-vite-muijoy/src/values/quests/aliceQuest.tsx +0 -78
  867. package/template-nqtr-react-vite-muijoy/src/values/quests/index.ts +0 -1
  868. package/template-nqtr-react-vite-muijoy/src/values/rooms.tsx +0 -79
  869. package/template-nqtr-react-vite-muijoy/src/values/routine.tsx +0 -87
  870. package/template-nqtr-react-vite-muijoy-ink/.eslintrc.cjs +0 -18
  871. package/template-nqtr-react-vite-muijoy-ink/public/apple-touch-icon.png +0 -0
  872. package/template-nqtr-react-vite-muijoy-ink/public/mask-icon.svg +0 -890
  873. package/template-nqtr-react-vite-muijoy-ink/public/service-worker.js +0 -60
  874. package/template-nqtr-react-vite-muijoy-ink/src/App.css +0 -45
  875. package/template-nqtr-react-vite-muijoy-ink/src/AppRoutes.tsx +0 -77
  876. package/template-nqtr-react-vite-muijoy-ink/src/Home.tsx +0 -50
  877. package/template-nqtr-react-vite-muijoy-ink/src/assets/manifest.ts +0 -220
  878. package/template-nqtr-react-vite-muijoy-ink/src/components/AnimatedDots.tsx +0 -45
  879. package/template-nqtr-react-vite-muijoy-ink/src/components/ChoiceButton.tsx +0 -15
  880. package/template-nqtr-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +0 -140
  881. package/template-nqtr-react-vite-muijoy-ink/src/components/MenuButton.tsx +0 -37
  882. package/template-nqtr-react-vite-muijoy-ink/src/components/ModalConfirmation.tsx +0 -61
  883. package/template-nqtr-react-vite-muijoy-ink/src/components/ModalDialog.tsx +0 -68
  884. package/template-nqtr-react-vite-muijoy-ink/src/components/NextButton.tsx +0 -53
  885. package/template-nqtr-react-vite-muijoy-ink/src/components/NqtrRoundIconButton.tsx +0 -73
  886. package/template-nqtr-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +0 -69
  887. package/template-nqtr-react-vite-muijoy-ink/src/components/RoundIconButton.tsx +0 -35
  888. package/template-nqtr-react-vite-muijoy-ink/src/components/SettingButton.tsx +0 -52
  889. package/template-nqtr-react-vite-muijoy-ink/src/components/SliderResizer.tsx +0 -51
  890. package/template-nqtr-react-vite-muijoy-ink/src/components/SoundChannelControl.tsx +0 -45
  891. package/template-nqtr-react-vite-muijoy-ink/src/components/StackOverflow.tsx.tsx +0 -45
  892. package/template-nqtr-react-vite-muijoy-ink/src/components/TextMenuButton.tsx +0 -48
  893. package/template-nqtr-react-vite-muijoy-ink/src/components/TypographyShadow.tsx +0 -19
  894. package/template-nqtr-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +0 -46
  895. package/template-nqtr-react-vite-muijoy-ink/src/constans.ts +0 -28
  896. package/template-nqtr-react-vite-muijoy-ink/src/hooks/motion-hooks.ts +0 -17
  897. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useClosePageDetector.ts +0 -32
  898. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useDebouncedEffect.ts +0 -33
  899. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useGameProps.ts +0 -29
  900. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useInkInitialization.tsx +0 -12
  901. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useInterval.ts +0 -44
  902. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useKeyDetector.ts +0 -19
  903. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +0 -57
  904. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useMinigame.ts +0 -55
  905. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useMyNavigate.ts +0 -19
  906. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNQTRDetector.tsx +0 -44
  907. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +0 -78
  908. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNetworkDetector.ts +0 -18
  909. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryInterface.ts +0 -141
  910. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryIsFullModeScreen.ts +0 -10
  911. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryLastSave.ts +0 -11
  912. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryNQTR.ts +0 -217
  913. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQuerySaves.ts +0 -11
  914. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useSkipAutoDetector.ts +0 -52
  915. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useTimeTracker.ts +0 -48
  916. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useWheelActions.ts +0 -101
  917. package/template-nqtr-react-vite-muijoy-ink/src/i18n.ts +0 -83
  918. package/template-nqtr-react-vite-muijoy-ink/src/index.css +0 -19
  919. package/template-nqtr-react-vite-muijoy-ink/src/ink/start.ink +0 -7
  920. package/template-nqtr-react-vite-muijoy-ink/src/ink/variousActionsLabels.ink +0 -68
  921. package/template-nqtr-react-vite-muijoy-ink/src/ink.d.ts +0 -4
  922. package/template-nqtr-react-vite-muijoy-ink/src/labels/index.ts +0 -2
  923. package/template-nqtr-react-vite-muijoy-ink/src/labels/sleepNapLabels.ts +0 -46
  924. package/template-nqtr-react-vite-muijoy-ink/src/labels/variousActionsLabelKeys.ts +0 -5
  925. package/template-nqtr-react-vite-muijoy-ink/src/locales/strings_en.json +0 -98
  926. package/template-nqtr-react-vite-muijoy-ink/src/providers/RootProvider.tsx +0 -20
  927. package/template-nqtr-react-vite-muijoy-ink/src/providers/ThemeProvider.tsx +0 -170
  928. package/template-nqtr-react-vite-muijoy-ink/src/screens/ChoiceMenu.tsx +0 -76
  929. package/template-nqtr-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +0 -128
  930. package/template-nqtr-react-vite-muijoy-ink/src/screens/HistoryScreen.tsx +0 -142
  931. package/template-nqtr-react-vite-muijoy-ink/src/screens/LoadingScreen.tsx +0 -24
  932. package/template-nqtr-react-vite-muijoy-ink/src/screens/MainMenu.tsx +0 -110
  933. package/template-nqtr-react-vite-muijoy-ink/src/screens/NarrationScreen.tsx +0 -247
  934. package/template-nqtr-react-vite-muijoy-ink/src/screens/OfflineScreen.tsx +0 -38
  935. package/template-nqtr-react-vite-muijoy-ink/src/screens/QuickTools.tsx +0 -124
  936. package/template-nqtr-react-vite-muijoy-ink/src/screens/Settings.tsx +0 -118
  937. package/template-nqtr-react-vite-muijoy-ink/src/screens/modals/SaveLoadAlert.tsx +0 -106
  938. package/template-nqtr-react-vite-muijoy-ink/src/screens/modals/TextInput.tsx +0 -74
  939. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MapScreen.tsx +0 -126
  940. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MemoScreen.tsx +0 -194
  941. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  942. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickActivities.tsx +0 -48
  943. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickRooms.tsx +0 -97
  944. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/TimeScreen.tsx +0 -96
  945. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +0 -24
  946. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +0 -90
  947. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  948. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +0 -46
  949. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  950. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  951. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  952. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +0 -34
  953. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SoundSettings.tsx +0 -51
  954. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +0 -112
  955. package/template-nqtr-react-vite-muijoy-ink/src/stores/createChannelSoundStore.ts +0 -47
  956. package/template-nqtr-react-vite-muijoy-ink/src/stores/useAutoInfoStore.ts +0 -33
  957. package/template-nqtr-react-vite-muijoy-ink/src/stores/useDialogueCardStore.ts +0 -36
  958. package/template-nqtr-react-vite-muijoy-ink/src/stores/useGameSaveScreenStore.ts +0 -112
  959. package/template-nqtr-react-vite-muijoy-ink/src/stores/useHistoryScreenStore.ts +0 -23
  960. package/template-nqtr-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +0 -28
  961. package/template-nqtr-react-vite-muijoy-ink/src/stores/useMasterSoundStore.ts +0 -38
  962. package/template-nqtr-react-vite-muijoy-ink/src/stores/useMemoScreenStore.ts +0 -23
  963. package/template-nqtr-react-vite-muijoy-ink/src/stores/useNetworkStore.ts +0 -20
  964. package/template-nqtr-react-vite-muijoy-ink/src/stores/useNqtrScreenStore.ts +0 -12
  965. package/template-nqtr-react-vite-muijoy-ink/src/stores/useSettingsScreenStore.ts +0 -23
  966. package/template-nqtr-react-vite-muijoy-ink/src/stores/useSkipStore.ts +0 -27
  967. package/template-nqtr-react-vite-muijoy-ink/src/stores/useStepStore.ts +0 -32
  968. package/template-nqtr-react-vite-muijoy-ink/src/stores/useTypewriterStore.ts +0 -41
  969. package/template-nqtr-react-vite-muijoy-ink/src/utils/assets-utility.ts +0 -33
  970. package/template-nqtr-react-vite-muijoy-ink/src/utils/image-utility.ts +0 -13
  971. package/template-nqtr-react-vite-muijoy-ink/src/utils/indexedDB-utility.ts +0 -196
  972. package/template-nqtr-react-vite-muijoy-ink/src/utils/ink-utility.ts +0 -53
  973. package/template-nqtr-react-vite-muijoy-ink/src/utils/nqtr-utility.ts +0 -22
  974. package/template-nqtr-react-vite-muijoy-ink/src/utils/save-utility.ts +0 -140
  975. package/template-nqtr-react-vite-muijoy-ink/src/values/activities.tsx +0 -106
  976. package/template-nqtr-react-vite-muijoy-ink/src/values/characters.ts +0 -15
  977. package/template-nqtr-react-vite-muijoy-ink/src/values/index.ts +0 -6
  978. package/template-nqtr-react-vite-muijoy-ink/src/values/locations.tsx +0 -60
  979. package/template-nqtr-react-vite-muijoy-ink/src/values/maps.tsx +0 -26
  980. package/template-nqtr-react-vite-muijoy-ink/src/values/quests/aliceQuest.tsx +0 -78
  981. package/template-nqtr-react-vite-muijoy-ink/src/values/quests/index.ts +0 -1
  982. package/template-nqtr-react-vite-muijoy-ink/src/values/rooms.tsx +0 -79
  983. package/template-nqtr-react-vite-muijoy-ink/src/values/routine.tsx +0 -86
  984. package/template-nqtr-react-vite-muijoy-ink-tauri/.eslintrc.cjs +0 -18
  985. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/tauri.yml +0 -86
  986. package/template-nqtr-react-vite-muijoy-ink-tauri/public/apple-touch-icon.png +0 -0
  987. package/template-nqtr-react-vite-muijoy-ink-tauri/public/mask-icon.svg +0 -890
  988. package/template-nqtr-react-vite-muijoy-ink-tauri/public/service-worker.js +0 -60
  989. package/template-nqtr-react-vite-muijoy-ink-tauri/src/App.css +0 -45
  990. package/template-nqtr-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +0 -77
  991. package/template-nqtr-react-vite-muijoy-ink-tauri/src/Home.tsx +0 -50
  992. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +0 -220
  993. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/AnimatedDots.tsx +0 -45
  994. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ChoiceButton.tsx +0 -15
  995. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +0 -140
  996. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/MenuButton.tsx +0 -37
  997. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ModalConfirmation.tsx +0 -61
  998. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ModalDialog.tsx +0 -68
  999. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/NextButton.tsx +0 -53
  1000. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/NqtrRoundIconButton.tsx +0 -73
  1001. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
  1002. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/RoundIconButton.tsx +0 -35
  1003. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SettingButton.tsx +0 -52
  1004. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SliderResizer.tsx +0 -51
  1005. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SoundChannelControl.tsx +0 -45
  1006. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/StackOverflow.tsx.tsx +0 -45
  1007. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/TextMenuButton.tsx +0 -48
  1008. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/TypographyShadow.tsx +0 -19
  1009. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +0 -46
  1010. package/template-nqtr-react-vite-muijoy-ink-tauri/src/constans.ts +0 -28
  1011. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/motion-hooks.ts +0 -17
  1012. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useClosePageDetector.ts +0 -32
  1013. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useDebouncedEffect.ts +0 -33
  1014. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +0 -29
  1015. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useInkInitialization.tsx +0 -12
  1016. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useInterval.ts +0 -44
  1017. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useKeyDetector.ts +0 -19
  1018. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +0 -57
  1019. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useMinigame.ts +0 -55
  1020. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useMyNavigate.ts +0 -19
  1021. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNQTRDetector.tsx +0 -44
  1022. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +0 -78
  1023. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNetworkDetector.ts +0 -18
  1024. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryInterface.ts +0 -141
  1025. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
  1026. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryLastSave.ts +0 -11
  1027. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryNQTR.ts +0 -217
  1028. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQuerySaves.ts +0 -11
  1029. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
  1030. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useTimeTracker.ts +0 -48
  1031. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useWheelActions.ts +0 -101
  1032. package/template-nqtr-react-vite-muijoy-ink-tauri/src/i18n.ts +0 -83
  1033. package/template-nqtr-react-vite-muijoy-ink-tauri/src/index.css +0 -19
  1034. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink/start.ink +0 -7
  1035. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink/variousActionsLabels.ink +0 -68
  1036. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink.d.ts +0 -4
  1037. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/index.ts +0 -2
  1038. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/sleepNapLabels.ts +0 -46
  1039. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/variousActionsLabelKeys.ts +0 -5
  1040. package/template-nqtr-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +0 -99
  1041. package/template-nqtr-react-vite-muijoy-ink-tauri/src/providers/RootProvider.tsx +0 -20
  1042. package/template-nqtr-react-vite-muijoy-ink-tauri/src/providers/ThemeProvider.tsx +0 -170
  1043. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/ChoiceMenu.tsx +0 -76
  1044. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +0 -128
  1045. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/HistoryScreen.tsx +0 -142
  1046. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/LoadingScreen.tsx +0 -24
  1047. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +0 -115
  1048. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/NarrationScreen.tsx +0 -247
  1049. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/OfflineScreen.tsx +0 -38
  1050. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +0 -124
  1051. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +0 -118
  1052. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
  1053. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/modals/TextInput.tsx +0 -74
  1054. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MapScreen.tsx +0 -126
  1055. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MemoScreen.tsx +0 -194
  1056. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  1057. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickActivities.tsx +0 -48
  1058. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickRooms.tsx +0 -97
  1059. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/TimeScreen.tsx +0 -96
  1060. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
  1061. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
  1062. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  1063. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
  1064. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  1065. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  1066. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  1067. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
  1068. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SoundSettings.tsx +0 -51
  1069. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
  1070. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/createChannelSoundStore.ts +0 -47
  1071. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useAutoInfoStore.ts +0 -33
  1072. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useDialogueCardStore.ts +0 -36
  1073. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
  1074. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useHistoryScreenStore.ts +0 -23
  1075. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +0 -28
  1076. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useMasterSoundStore.ts +0 -38
  1077. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useMemoScreenStore.ts +0 -23
  1078. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useNetworkStore.ts +0 -20
  1079. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useNqtrScreenStore.ts +0 -12
  1080. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useSettingsScreenStore.ts +0 -23
  1081. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useSkipStore.ts +0 -27
  1082. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useStepStore.ts +0 -32
  1083. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useTypewriterStore.ts +0 -41
  1084. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +0 -33
  1085. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/image-utility.ts +0 -13
  1086. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/indexedDB-utility.ts +0 -196
  1087. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/ink-utility.ts +0 -53
  1088. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/nqtr-utility.ts +0 -22
  1089. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/save-utility.ts +0 -140
  1090. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/activities.tsx +0 -106
  1091. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/characters.ts +0 -15
  1092. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/index.ts +0 -6
  1093. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/locations.tsx +0 -60
  1094. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/maps.tsx +0 -26
  1095. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/aliceQuest.tsx +0 -78
  1096. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/index.ts +0 -1
  1097. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/rooms.tsx +0 -79
  1098. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/routine.tsx +0 -86
  1099. package/template-nqtr-react-vite-muijoy-tauri/.eslintrc.cjs +0 -18
  1100. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/tauri.yml +0 -86
  1101. package/template-nqtr-react-vite-muijoy-tauri/public/apple-touch-icon.png +0 -0
  1102. package/template-nqtr-react-vite-muijoy-tauri/public/mask-icon.svg +0 -890
  1103. package/template-nqtr-react-vite-muijoy-tauri/public/service-worker.js +0 -60
  1104. package/template-nqtr-react-vite-muijoy-tauri/src/App.css +0 -45
  1105. package/template-nqtr-react-vite-muijoy-tauri/src/AppRoutes.tsx +0 -77
  1106. package/template-nqtr-react-vite-muijoy-tauri/src/Home.tsx +0 -48
  1107. package/template-nqtr-react-vite-muijoy-tauri/src/assets/manifest.ts +0 -220
  1108. package/template-nqtr-react-vite-muijoy-tauri/src/components/AnimatedDots.tsx +0 -45
  1109. package/template-nqtr-react-vite-muijoy-tauri/src/components/ChoiceButton.tsx +0 -15
  1110. package/template-nqtr-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +0 -140
  1111. package/template-nqtr-react-vite-muijoy-tauri/src/components/MenuButton.tsx +0 -37
  1112. package/template-nqtr-react-vite-muijoy-tauri/src/components/ModalConfirmation.tsx +0 -61
  1113. package/template-nqtr-react-vite-muijoy-tauri/src/components/ModalDialog.tsx +0 -68
  1114. package/template-nqtr-react-vite-muijoy-tauri/src/components/NextButton.tsx +0 -53
  1115. package/template-nqtr-react-vite-muijoy-tauri/src/components/NqtrRoundIconButton.tsx +0 -73
  1116. package/template-nqtr-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
  1117. package/template-nqtr-react-vite-muijoy-tauri/src/components/RoundIconButton.tsx +0 -35
  1118. package/template-nqtr-react-vite-muijoy-tauri/src/components/SettingButton.tsx +0 -52
  1119. package/template-nqtr-react-vite-muijoy-tauri/src/components/SliderResizer.tsx +0 -51
  1120. package/template-nqtr-react-vite-muijoy-tauri/src/components/SoundChannelControl.tsx +0 -45
  1121. package/template-nqtr-react-vite-muijoy-tauri/src/components/StackOverflow.tsx.tsx +0 -45
  1122. package/template-nqtr-react-vite-muijoy-tauri/src/components/TextMenuButton.tsx +0 -48
  1123. package/template-nqtr-react-vite-muijoy-tauri/src/components/TypographyShadow.tsx +0 -19
  1124. package/template-nqtr-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +0 -46
  1125. package/template-nqtr-react-vite-muijoy-tauri/src/constans.ts +0 -28
  1126. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/motion-hooks.ts +0 -17
  1127. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useClosePageDetector.ts +0 -32
  1128. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useDebouncedEffect.ts +0 -33
  1129. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +0 -29
  1130. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useInterval.ts +0 -44
  1131. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useKeyDetector.ts +0 -19
  1132. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +0 -57
  1133. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useMinigame.ts +0 -55
  1134. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useMyNavigate.ts +0 -19
  1135. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNQTRDetector.tsx +0 -44
  1136. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +0 -78
  1137. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNetworkDetector.ts +0 -18
  1138. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryInterface.ts +0 -141
  1139. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
  1140. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryLastSave.ts +0 -11
  1141. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryNQTR.ts +0 -217
  1142. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQuerySaves.ts +0 -11
  1143. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
  1144. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useTimeTracker.ts +0 -48
  1145. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useWheelActions.ts +0 -101
  1146. package/template-nqtr-react-vite-muijoy-tauri/src/i18n.ts +0 -55
  1147. package/template-nqtr-react-vite-muijoy-tauri/src/index.css +0 -19
  1148. package/template-nqtr-react-vite-muijoy-tauri/src/labels/index.ts +0 -4
  1149. package/template-nqtr-react-vite-muijoy-tauri/src/labels/sleepNapLabels.ts +0 -46
  1150. package/template-nqtr-react-vite-muijoy-tauri/src/labels/startLabel.ts +0 -15
  1151. package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabelKeys.ts +0 -5
  1152. package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabels.ts +0 -141
  1153. package/template-nqtr-react-vite-muijoy-tauri/src/locales/strings_en.json +0 -99
  1154. package/template-nqtr-react-vite-muijoy-tauri/src/providers/RootProvider.tsx +0 -20
  1155. package/template-nqtr-react-vite-muijoy-tauri/src/providers/ThemeProvider.tsx +0 -170
  1156. package/template-nqtr-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +0 -76
  1157. package/template-nqtr-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +0 -128
  1158. package/template-nqtr-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +0 -142
  1159. package/template-nqtr-react-vite-muijoy-tauri/src/screens/LoadingScreen.tsx +0 -24
  1160. package/template-nqtr-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +0 -116
  1161. package/template-nqtr-react-vite-muijoy-tauri/src/screens/NarrationScreen.tsx +0 -247
  1162. package/template-nqtr-react-vite-muijoy-tauri/src/screens/OfflineScreen.tsx +0 -38
  1163. package/template-nqtr-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +0 -124
  1164. package/template-nqtr-react-vite-muijoy-tauri/src/screens/Settings.tsx +0 -118
  1165. package/template-nqtr-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
  1166. package/template-nqtr-react-vite-muijoy-tauri/src/screens/modals/TextInput.tsx +0 -74
  1167. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MapScreen.tsx +0 -126
  1168. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MemoScreen.tsx +0 -194
  1169. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  1170. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickActivities.tsx +0 -48
  1171. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickRooms.tsx +0 -97
  1172. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/TimeScreen.tsx +0 -96
  1173. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
  1174. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
  1175. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  1176. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
  1177. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  1178. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  1179. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  1180. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
  1181. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SoundSettings.tsx +0 -51
  1182. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
  1183. package/template-nqtr-react-vite-muijoy-tauri/src/stores/createChannelSoundStore.ts +0 -47
  1184. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useAutoInfoStore.ts +0 -33
  1185. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useDialogueCardStore.ts +0 -36
  1186. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
  1187. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useHistoryScreenStore.ts +0 -23
  1188. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +0 -28
  1189. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useMasterSoundStore.ts +0 -38
  1190. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useMemoScreenStore.ts +0 -23
  1191. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useNetworkStore.ts +0 -20
  1192. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useNqtrScreenStore.ts +0 -12
  1193. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useSettingsScreenStore.ts +0 -23
  1194. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useSkipStore.ts +0 -27
  1195. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useStepStore.ts +0 -32
  1196. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useTypewriterStore.ts +0 -41
  1197. package/template-nqtr-react-vite-muijoy-tauri/src/utils/assets-utility.ts +0 -33
  1198. package/template-nqtr-react-vite-muijoy-tauri/src/utils/image-utility.ts +0 -13
  1199. package/template-nqtr-react-vite-muijoy-tauri/src/utils/indexedDB-utility.ts +0 -196
  1200. package/template-nqtr-react-vite-muijoy-tauri/src/utils/nqtr-utility.ts +0 -22
  1201. package/template-nqtr-react-vite-muijoy-tauri/src/utils/save-utility.ts +0 -140
  1202. package/template-nqtr-react-vite-muijoy-tauri/src/values/activities.tsx +0 -106
  1203. package/template-nqtr-react-vite-muijoy-tauri/src/values/characters.ts +0 -15
  1204. package/template-nqtr-react-vite-muijoy-tauri/src/values/index.ts +0 -6
  1205. package/template-nqtr-react-vite-muijoy-tauri/src/values/locations.tsx +0 -60
  1206. package/template-nqtr-react-vite-muijoy-tauri/src/values/maps.tsx +0 -26
  1207. package/template-nqtr-react-vite-muijoy-tauri/src/values/quests/aliceQuest.tsx +0 -78
  1208. package/template-nqtr-react-vite-muijoy-tauri/src/values/quests/index.ts +0 -1
  1209. package/template-nqtr-react-vite-muijoy-tauri/src/values/rooms.tsx +0 -79
  1210. package/template-nqtr-react-vite-muijoy-tauri/src/values/routine.tsx +0 -87
@@ -0,0 +1,255 @@
1
+ import { SKIP_DELAY } from "@/constants";
2
+ import { useGameProps } from "@/lib/hooks/props-hooks";
3
+ import { AutoSettings } from "@/lib/stores/auto-settings-store";
4
+ import { GameStatus } from "@/lib/stores/game-status-store";
5
+ import { SearchParams } from "@/lib/stores/search-param-store";
6
+ import { SkipSettings } from "@/lib/stores/skip-settings-store";
7
+ import { TextDisplaySettings } from "@/lib/stores/text-display-settings-store";
8
+ import { hasScrollableParent, isScrollableElement } from "@/lib/utils/scroll-utils";
9
+ import { narration, stepHistory, type StoredIndexedChoiceInterface } from "@drincs/pixi-vn";
10
+ import { useDebouncer } from "@tanstack/react-pacer";
11
+ import { useSelector } from "@tanstack/react-store";
12
+ import type React from "react";
13
+ import { useCallback, useEffect, useMemo, useRef } from "react";
14
+
15
+ export function useNarrationFunctions() {
16
+ const gameProps = useGameProps();
17
+ const searchParams = useSelector(SearchParams.store, (state) => state);
18
+ const hasOpenMenu = useMemo(
19
+ () => Object.values(searchParams).some((value) => value !== undefined),
20
+ [searchParams],
21
+ );
22
+
23
+ const goNext = useCallback(async () => {
24
+ if (hasOpenMenu) return;
25
+ TextDisplaySettings.resetForNext();
26
+ GameStatus.setLoading(true);
27
+ try {
28
+ if (!narration.canContinue) {
29
+ GameStatus.setLoading(false);
30
+ return;
31
+ }
32
+ return narration
33
+ .continue(gameProps)
34
+ .then(() => {
35
+ gameProps.invalidateInterfaceData();
36
+ GameStatus.setLoading(false);
37
+ })
38
+ .catch((e) => {
39
+ GameStatus.setLoading(false);
40
+ console.error(e);
41
+ });
42
+ } catch (e) {
43
+ GameStatus.setLoading(false);
44
+ console.error(e);
45
+ return;
46
+ }
47
+ }, [gameProps, hasOpenMenu]);
48
+
49
+ const goBack = useCallback(async () => {
50
+ if (hasOpenMenu) return;
51
+ GameStatus.setLoading(true);
52
+ return stepHistory
53
+ .back(gameProps)
54
+ .then(() => {
55
+ GameStatus.setLoading(false);
56
+ gameProps.invalidateInterfaceData();
57
+ })
58
+ .catch((e) => {
59
+ GameStatus.setLoading(false);
60
+ console.error(e);
61
+ });
62
+ }, [gameProps, hasOpenMenu]);
63
+
64
+ const selectChoice = useCallback(
65
+ async (item: StoredIndexedChoiceInterface) => {
66
+ if (hasOpenMenu) return;
67
+ GameStatus.setLoading(true);
68
+ return narration
69
+ .selectChoice(item, gameProps)
70
+ .then(() => {
71
+ gameProps.invalidateInterfaceData();
72
+ GameStatus.setLoading(false);
73
+ })
74
+ .catch((e) => {
75
+ GameStatus.setLoading(false);
76
+ console.error(e);
77
+ });
78
+ },
79
+ [gameProps, hasOpenMenu],
80
+ );
81
+
82
+ return {
83
+ goNext,
84
+ goBack,
85
+ selectChoice,
86
+ };
87
+ }
88
+
89
+ /** Maximum pointer displacement (px) between pointerdown and pointerup that is still considered a tap/click. */
90
+ const DRAG_THRESHOLD_PX = 5;
91
+ const LONG_PRESS_SKIP_DELAY_MS = 700;
92
+ const isDragGesture = (dx: number, dy: number) =>
93
+ dx * dx + dy * dy > DRAG_THRESHOLD_PX * DRAG_THRESHOLD_PX;
94
+
95
+ export function useNarrationPointerHandlers() {
96
+ const { goNext } = useNarrationFunctions();
97
+ const skipEnabled = useSelector(SkipSettings.store, (state) => state.enabled);
98
+ const typewriterInProgress = useSelector(TextDisplaySettings.store, (state) => state.inProgress);
99
+ const pointerDownPos = useRef<{ x: number; y: number } | null>(null);
100
+ const longPressTimer = useRef<ReturnType<typeof setTimeout> | null>(null);
101
+ const longPressTriggered = useRef(false);
102
+
103
+ const clearLongPressTimer = useCallback(() => {
104
+ if (!longPressTimer.current) return;
105
+ clearTimeout(longPressTimer.current);
106
+ longPressTimer.current = null;
107
+ }, []);
108
+
109
+ const handlePointerDown = useCallback(
110
+ (e: React.PointerEvent) => {
111
+ if (e.button !== 0) return;
112
+ if (hasScrollableParent(e.target)) return;
113
+
114
+ longPressTriggered.current = false;
115
+ pointerDownPos.current = { x: e.clientX, y: e.clientY };
116
+ clearLongPressTimer();
117
+ longPressTimer.current = setTimeout(() => {
118
+ if (!pointerDownPos.current) return;
119
+ longPressTriggered.current = true;
120
+ SkipSettings.setEnabled(true);
121
+ }, LONG_PRESS_SKIP_DELAY_MS);
122
+ },
123
+ [clearLongPressTimer],
124
+ );
125
+
126
+ /**
127
+ * Clear the pending gesture on cancel.
128
+ * react-resizable-panels calls setPointerCapture() on the separator element in its
129
+ * pointermove handler (NOT in pointerdown), so the overlay never receives a native
130
+ * pointercancel when the separator takes over the drag. This handler ensures the ref
131
+ * is cleaned up in the cases where the browser itself cancels the gesture.
132
+ */
133
+ const handlePointerCancel = useCallback(() => {
134
+ clearLongPressTimer();
135
+ pointerDownPos.current = null;
136
+ if (longPressTriggered.current) {
137
+ SkipSettings.setEnabled(false);
138
+ longPressTriggered.current = false;
139
+ }
140
+ }, [clearLongPressTimer]);
141
+
142
+ const handlePointerUp = useCallback(
143
+ (e: React.PointerEvent) => {
144
+ // Only fire if a matching pointerdown was recorded on this element.
145
+ // If pointerdown started on a higher-z element (e.g. a resize handle),
146
+ // the ref will be null and we must not advance the narration.
147
+ if (!pointerDownPos.current) return;
148
+
149
+ const dx = e.clientX - pointerDownPos.current.x;
150
+ const dy = e.clientY - pointerDownPos.current.y;
151
+ clearLongPressTimer();
152
+ pointerDownPos.current = null;
153
+
154
+ // If the pointer moved significantly it was a drag (e.g. resize), not a tap.
155
+ if (isDragGesture(dx, dy)) return;
156
+
157
+ // Let resize handles manage their own drag behaviour
158
+ if ((e.target as HTMLElement).closest('[data-slot="resizable-handle"]')) return;
159
+ // Let native scrollbar interactions through
160
+ if (isScrollableElement(e.target as HTMLElement)) return;
161
+
162
+ if (longPressTriggered.current) {
163
+ SkipSettings.setEnabled(false);
164
+ longPressTriggered.current = false;
165
+ return;
166
+ }
167
+
168
+ if (skipEnabled) {
169
+ SkipSettings.setEnabled(false);
170
+ }
171
+ if (typewriterInProgress && !narration.dialogGlue) {
172
+ TextDisplaySettings.complete();
173
+ return;
174
+ }
175
+ goNext();
176
+ },
177
+ [clearLongPressTimer, goNext, skipEnabled, typewriterInProgress],
178
+ );
179
+
180
+ const handlePointerMove = useCallback(
181
+ (e: React.PointerEvent) => {
182
+ if (!pointerDownPos.current) return;
183
+ const dx = e.clientX - pointerDownPos.current.x;
184
+ const dy = e.clientY - pointerDownPos.current.y;
185
+ if (!isDragGesture(dx, dy)) return;
186
+ clearLongPressTimer();
187
+ pointerDownPos.current = null;
188
+ if (longPressTriggered.current) {
189
+ SkipSettings.setEnabled(false);
190
+ longPressTriggered.current = false;
191
+ }
192
+ },
193
+ [clearLongPressTimer],
194
+ );
195
+
196
+ useEffect(
197
+ () => () => {
198
+ clearLongPressTimer();
199
+ },
200
+ [clearLongPressTimer],
201
+ );
202
+
203
+ return { handlePointerDown, handlePointerCancel, handlePointerMove, handlePointerUp };
204
+ }
205
+
206
+ export function useSkipAutoDetector() {
207
+ const skipEnabled = useSelector(SkipSettings.store, (state) => state.enabled);
208
+ const autoEnabled = useSelector(AutoSettings.store, (state) => state.enabled);
209
+ const autoTime = useSelector(AutoSettings.store, (state) => state.time);
210
+ const typewriterInProgress = useSelector(
211
+ TextDisplaySettings.store,
212
+ (state) => state.inProgress,
213
+ );
214
+ const searchParams = useSelector(SearchParams.store, (state) => state);
215
+ const hasOpenMenu = useMemo(
216
+ () => Object.values(searchParams).some((value) => value !== undefined),
217
+ [searchParams],
218
+ );
219
+ const { goNext } = useNarrationFunctions();
220
+
221
+ const savedGoNext = useRef(goNext);
222
+ useEffect(() => {
223
+ savedGoNext.current = goNext;
224
+ }, [goNext]);
225
+ useEffect(() => {
226
+ if (skipEnabled && !hasOpenMenu) {
227
+ const id = setInterval(() => savedGoNext.current(), SKIP_DELAY);
228
+ return () => clearInterval(id);
229
+ }
230
+ }, [skipEnabled, hasOpenMenu]);
231
+
232
+ const autoDebouncer = useDebouncer(
233
+ (_trigger: {
234
+ autoEnabled: boolean;
235
+ skipEnabled: boolean;
236
+ typewriterInProgress: boolean;
237
+ autoTime: number;
238
+ hasOpenMenu: boolean;
239
+ }) => {
240
+ goNext();
241
+ },
242
+ {
243
+ wait: autoTime * 1000,
244
+ enabled: autoEnabled && !skipEnabled && !typewriterInProgress && !hasOpenMenu,
245
+ },
246
+ );
247
+
248
+ const { maybeExecute } = autoDebouncer;
249
+
250
+ useEffect(() => {
251
+ maybeExecute({ autoEnabled, skipEnabled, typewriterInProgress, autoTime, hasOpenMenu });
252
+ }, [maybeExecute, autoEnabled, skipEnabled, typewriterInProgress, autoTime, hasOpenMenu]);
253
+
254
+ return null;
255
+ }
@@ -0,0 +1,112 @@
1
+ import { SearchParams } from "@/lib/stores/search-param-store";
2
+ import { useLocation, useNavigate } from "@tanstack/react-router";
3
+ import { useSelector } from "@tanstack/react-store";
4
+ import { useCallback, useEffect } from "react";
5
+
6
+ // Shared pending param changes — all synchronous setters accumulate here
7
+ // and a single navigate fires after a very short delay.
8
+ const _pendingParams: Record<string, unknown> = {};
9
+ let _pendingTimer: ReturnType<typeof setTimeout> | null = null;
10
+ let _pendingNavigate: ((...args: unknown[]) => unknown) | null = null;
11
+
12
+ function scheduleNavigate(navigate: (...args: unknown[]) => unknown, key: string, value: unknown) {
13
+ _pendingParams[key] = value;
14
+ _pendingNavigate = navigate;
15
+ if (_pendingTimer !== null) {
16
+ clearTimeout(_pendingTimer);
17
+ }
18
+ _pendingTimer = setTimeout(() => {
19
+ _pendingTimer = null;
20
+ if (_pendingNavigate) {
21
+ const snapshot = { ..._pendingParams };
22
+ for (const k of Object.keys(_pendingParams)) {
23
+ delete _pendingParams[k];
24
+ }
25
+ _pendingNavigate({
26
+ search: (prev: Record<string, unknown>) => ({ ...prev, ...snapshot }),
27
+ });
28
+ _pendingNavigate = null;
29
+ }
30
+ }, 10);
31
+ }
32
+
33
+ /**
34
+ * useConfirmBackNavigation
35
+ *
36
+ * Prevent accidental browser "back" navigation.
37
+ * Behavior:
38
+ * - On each `href` change it pushes a history state (`pushState`).
39
+ * - Listens for `popstate` and calls `history.forward()` to cancel a single
40
+ * press of the browser back button.
41
+ * - If the user presses back twice in succession (i.e. the second press occurs
42
+ * before the first is handled), the browser will navigate back.
43
+ *
44
+ * Usage: call this hook at the app root to avoid unintended back navigations
45
+ * (e.g. accidental taps or gestures). Returns `null`.
46
+ */
47
+ export function useConfirmBackNavigation() {
48
+ const { href } = useLocation();
49
+
50
+ useEffect(() => {
51
+ const isInIframe = typeof window !== "undefined" && window.self !== window.top;
52
+ if (isInIframe) return;
53
+ const listener = () => {
54
+ window.history.forward();
55
+ };
56
+ window.addEventListener("popstate", listener);
57
+
58
+ return () => {
59
+ window.removeEventListener("popstate", listener);
60
+ };
61
+ }, []);
62
+
63
+ useEffect(() => {
64
+ window.history.pushState(null, href, href);
65
+ }, [href]);
66
+
67
+ return null;
68
+ }
69
+
70
+ /**
71
+ * Returns the current value of the given URL search param from the internal store.
72
+ *
73
+ * @param field - The search param key to read.
74
+ * @returns The current value, or `undefined` if not set.
75
+ */
76
+ export function useSearchParamState<T>(field: string): T | undefined {
77
+ const storeValue = useSelector(SearchParams.store, (state) => state[field]) as T | undefined;
78
+ return storeValue;
79
+ }
80
+
81
+ /**
82
+ * Returns a stable setter for the given URL search param.
83
+ *
84
+ * Calling the setter instantly updates the internal store (so components
85
+ * re-render without waiting for the URL update) and then debounces the
86
+ * `navigate()` call to avoid flooding the browser history on rapid changes.
87
+ *
88
+ * Pass `undefined` to remove the param from the URL.
89
+ *
90
+ * @param field - The search param key to write.
91
+ * @returns A stable callback that accepts either a value or an updater function.
92
+ */
93
+ export function useSetSearchParamState<T>(
94
+ field: string,
95
+ ): (value: T | undefined | ((previous: T | undefined) => T | undefined)) => void {
96
+ const navigate = useNavigate();
97
+
98
+ return useCallback(
99
+ (value) => {
100
+ const currentValue = SearchParams.store.state[field] as T | undefined;
101
+ const nextValue =
102
+ typeof value === "function"
103
+ ? (value as (previous: T | undefined) => T | undefined)(currentValue)
104
+ : value;
105
+ const normalizedValue = nextValue === false ? undefined : nextValue;
106
+
107
+ SearchParams.set(field, normalizedValue);
108
+ scheduleNavigate(navigate as never, field, normalizedValue);
109
+ },
110
+ [field, navigate],
111
+ );
112
+ }
@@ -0,0 +1,34 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+
3
+ type NetworkStatus = {
4
+ isOnline: boolean;
5
+ retry: () => void;
6
+ };
7
+
8
+ export function useNetworkDetector(): NetworkStatus {
9
+ const [isOnline, setIsOnline] = useState(() => navigator.onLine);
10
+
11
+ const checkOnline = useCallback(() => {
12
+ setIsOnline(navigator.onLine);
13
+ }, []);
14
+
15
+ useEffect(() => {
16
+ const handleVisibility = () => {
17
+ if (!document.hidden) {
18
+ checkOnline();
19
+ }
20
+ };
21
+
22
+ window.addEventListener("online", checkOnline);
23
+ window.addEventListener("offline", checkOnline);
24
+ document.addEventListener("visibilitychange", handleVisibility);
25
+
26
+ return () => {
27
+ window.removeEventListener("online", checkOnline);
28
+ window.removeEventListener("offline", checkOnline);
29
+ document.removeEventListener("visibilitychange", handleVisibility);
30
+ };
31
+ }, [checkOnline]);
32
+
33
+ return { isOnline, retry: checkOnline };
34
+ }
@@ -0,0 +1,121 @@
1
+ import { CANVAS_UI_LAYER_NAME, INTERFACE_DATA_USE_QUERY_KEY } from "@/constants";
2
+ import { useGameProps } from "@/lib/hooks/props-hooks";
3
+ import { useQueryCurrentMap } from "@/lib/query/map-query";
4
+ import { useQueryCurrentRoom } from "@/lib/query/room-query";
5
+ import { GameStatus } from "@/lib/stores/game-status-store";
6
+ import { navigator, questsNotebook, routine, timeTracker, type OnRunProps } from "@drincs/nqtr";
7
+ import { canvas, storage } from "@drincs/pixi-vn";
8
+ import { useQueryClient } from "@tanstack/react-query";
9
+ import { useCallback, useEffect, useRef } from "react";
10
+ import { useTranslation } from "react-i18next";
11
+ import { toast } from "sonner";
12
+
13
+ export function useMapLayerSync() {
14
+ const { data: { background, locations } = {} } = useQueryCurrentMap();
15
+
16
+ useEffect(() => {
17
+ const layer = canvas.getLayer(CANVAS_UI_LAYER_NAME);
18
+ if (layer) {
19
+ if (background) layer.addChild(background);
20
+ locations?.forEach((location) => {
21
+ layer.addChild(location);
22
+ });
23
+ }
24
+
25
+ return () => {
26
+ canvas.getLayer(CANVAS_UI_LAYER_NAME)?.removeChildren();
27
+ };
28
+ }, [background, locations]);
29
+
30
+ return null;
31
+ }
32
+
33
+ export function useRoomLayerSync() {
34
+ const {
35
+ data: {
36
+ room: { automaticFunctions = [], id } = {},
37
+ background,
38
+ activities,
39
+ routine: routineIcons,
40
+ } = {},
41
+ } = useQueryCurrentRoom();
42
+ const gameProps = useGameProps();
43
+ const autoRunning = useRef(false);
44
+
45
+ useEffect(() => {
46
+ if (!id || id !== navigator.currentRoomId) return;
47
+
48
+ const layer = canvas.getLayer(CANVAS_UI_LAYER_NAME);
49
+ if (layer) {
50
+ if (background) layer.addChild(background);
51
+
52
+ activities?.forEach((icon) => {
53
+ layer.addChild(icon);
54
+ });
55
+ routineIcons?.forEach((icon) => {
56
+ layer.addChild(icon);
57
+ });
58
+ }
59
+
60
+ if (automaticFunctions.length > 0 && !autoRunning.current) {
61
+ autoRunning.current = true;
62
+ const automaticFunction = automaticFunctions[0];
63
+ GameStatus.setLoading(true);
64
+ automaticFunction(gameProps).finally(() => {
65
+ GameStatus.setLoading(false);
66
+ autoRunning.current = false;
67
+ });
68
+ }
69
+
70
+ return () => {
71
+ canvas.getLayer(CANVAS_UI_LAYER_NAME)?.removeChildren();
72
+ };
73
+ }, [id, background, automaticFunctions, gameProps, activities, routineIcons]);
74
+
75
+ return null;
76
+ }
77
+
78
+ const NOT_CAN_SPEND_TIME_FLAG_KEY = "not_can_spend_time";
79
+ export default function useTimeTracker() {
80
+ const { t } = useTranslation(["ui"]);
81
+ const queryClient = useQueryClient();
82
+
83
+ const sleep = useCallback(
84
+ (newDayHour: number, props: OnRunProps) => {
85
+ if (storage.getFlag(NOT_CAN_SPEND_TIME_FLAG_KEY)) {
86
+ toast(t("cant_sleep_now"));
87
+ return false;
88
+ }
89
+ timeTracker.increaseDate(1, newDayHour);
90
+ routine.clearExpiredRoutine();
91
+ navigator.clearExpiredActivities();
92
+ questsNotebook.startsStageMustBeStarted(props);
93
+ return true;
94
+ },
95
+ [t],
96
+ );
97
+
98
+ const wait = useCallback(
99
+ (timeSpent: number) => {
100
+ if (storage.getFlag(NOT_CAN_SPEND_TIME_FLAG_KEY)) {
101
+ toast(t("cant_sleep_now"));
102
+ return false;
103
+ }
104
+ if (timeTracker.currentTime + timeSpent >= 23 || timeTracker.currentTime < 5) {
105
+ toast(t("cant_wait_now"));
106
+ return false;
107
+ }
108
+ timeTracker.increaseTime(timeSpent);
109
+ queryClient.invalidateQueries({
110
+ queryKey: [INTERFACE_DATA_USE_QUERY_KEY],
111
+ });
112
+ return true;
113
+ },
114
+ [t, queryClient],
115
+ );
116
+
117
+ return {
118
+ sleep,
119
+ wait,
120
+ };
121
+ }
@@ -0,0 +1,53 @@
1
+ import { SearchParams } from "@/lib/stores/search-param-store";
2
+ import { canvas, sound } from "@drincs/pixi-vn";
3
+ import { useSelector } from "@tanstack/react-store";
4
+ import { useEffect, useMemo, useRef } from "react";
5
+
6
+ function pauseGameFromMenuOpen() {
7
+ sound.pauseUnsavedAll();
8
+ canvas.pause();
9
+ }
10
+
11
+ function resumeGameFromMenuClose() {
12
+ sound.resumeUnsavedAll();
13
+ canvas.resume();
14
+ }
15
+
16
+ /**
17
+ * Pauses the game when at least one search param is active.
18
+ * Resumes the game once all menu-related search params are closed.
19
+ *
20
+ * Must be called from a component that is only rendered on the `/game` route
21
+ * so that pause/resume is automatically scoped to the game screen.
22
+ */
23
+ export function usePauseGameWhenMenuIsOpen() {
24
+ const searchParams = useSelector(SearchParams.store, (state) => state);
25
+ const pausedByMenuRef = useRef(false);
26
+
27
+ const hasOpenMenu = useMemo(
28
+ () => Object.values(searchParams).some((value) => value !== undefined),
29
+ [searchParams],
30
+ );
31
+
32
+ useEffect(() => {
33
+ if (hasOpenMenu && !pausedByMenuRef.current) {
34
+ pauseGameFromMenuOpen();
35
+ pausedByMenuRef.current = true;
36
+ return;
37
+ }
38
+
39
+ if (!hasOpenMenu && pausedByMenuRef.current) {
40
+ resumeGameFromMenuClose();
41
+ pausedByMenuRef.current = false;
42
+ }
43
+ }, [hasOpenMenu]);
44
+
45
+ useEffect(() => {
46
+ return () => {
47
+ if (pausedByMenuRef.current) {
48
+ resumeGameFromMenuClose();
49
+ pausedByMenuRef.current = false;
50
+ }
51
+ };
52
+ }, []);
53
+ }
@@ -0,0 +1,30 @@
1
+ import { INTERFACE_DATA_USE_QUERY_KEY } from "@/constants";
2
+ import useTimeTracker from "@/lib/hooks/nqtr-hooks";
3
+ import type { StepLabelProps } from "@drincs/pixi-vn";
4
+ import { useQueryClient } from "@tanstack/react-query";
5
+ import { useNavigate } from "@tanstack/react-router";
6
+ import { useTranslation } from "react-i18next";
7
+ import { toast } from "sonner";
8
+
9
+ export function useGameProps(): StepLabelProps {
10
+ const navigate = useNavigate();
11
+ const { t } = useTranslation(["narration"]);
12
+ const { t: uiTransition } = useTranslation(["ui"]);
13
+ const queryClient = useQueryClient();
14
+ const { sleep, wait } = useTimeTracker();
15
+
16
+ return {
17
+ navigate,
18
+ t,
19
+ uiTransition,
20
+ toast,
21
+ invalidateInterfaceData: async (delay: number = 0) => {
22
+ if (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));
23
+ return await queryClient.invalidateQueries({
24
+ queryKey: [INTERFACE_DATA_USE_QUERY_KEY],
25
+ });
26
+ },
27
+ sleep,
28
+ wait,
29
+ };
30
+ }
@@ -0,0 +1,80 @@
1
+ import { HTML_CANVAS_LAYER_NAME, HTML_UI_LAYER_NAME } from "@/constants";
2
+ import { useGameProps } from "@/lib/hooks/props-hooks";
3
+ import { GameStatus } from "@/lib/stores/game-status-store";
4
+ import { hasScrollableParent } from "@/lib/utils/scroll-utils";
5
+ import { type StepLabelProps, stepHistory } from "@drincs/pixi-vn";
6
+ import { narration } from "@drincs/pixi-vn/narration";
7
+ import { useThrottler } from "@tanstack/react-pacer";
8
+ import { useEffect, useRef } from "react";
9
+
10
+ function isInsideRoot(target: EventTarget | null, selector: string): boolean {
11
+ if (!(target instanceof HTMLElement)) return false;
12
+ return target.closest(`#${selector}`) !== null;
13
+ }
14
+
15
+ export function useWheelActions({
16
+ throttleMs = 300,
17
+ minDelta = 20,
18
+ }: {
19
+ throttleMs?: number;
20
+ minDelta?: number;
21
+ } = {}) {
22
+ const pendingAsync = useRef(0);
23
+ const gameProps = useGameProps();
24
+
25
+ const runAsync = async (fn: (props: StepLabelProps) => Promise<unknown>) => {
26
+ try {
27
+ pendingAsync.current += 1;
28
+ GameStatus.setLoading(pendingAsync.current > 0);
29
+ await fn(gameProps);
30
+ } finally {
31
+ pendingAsync.current -= 1;
32
+ GameStatus.setLoading(pendingAsync.current > 0);
33
+ if (pendingAsync.current === 0) {
34
+ gameProps.invalidateInterfaceData();
35
+ }
36
+ }
37
+ };
38
+
39
+ const handleWheel = useThrottler(
40
+ async (event: WheelEvent) => {
41
+ if (
42
+ !(
43
+ isInsideRoot(event.target, HTML_UI_LAYER_NAME) ||
44
+ isInsideRoot(event.target, HTML_CANVAS_LAYER_NAME)
45
+ )
46
+ )
47
+ return;
48
+ if (hasScrollableParent(event.target)) return;
49
+
50
+ // blocca lo scroll nativo
51
+ event.preventDefault();
52
+
53
+ const { deltaY } = event;
54
+
55
+ // ignora micro-movimenti del trackpad
56
+ if (Math.abs(deltaY) < minDelta) return;
57
+
58
+ if (deltaY < 0) {
59
+ // ⬆️ Scroll up
60
+ await runAsync(narration.continue.bind(narration));
61
+ }
62
+
63
+ if (deltaY > 0) {
64
+ // ⬇️ Scroll down
65
+ await runAsync(stepHistory.back.bind(stepHistory));
66
+ }
67
+ },
68
+ { wait: throttleMs },
69
+ );
70
+
71
+ useEffect(() => {
72
+ window.addEventListener("wheel", handleWheel.maybeExecute, { passive: false });
73
+
74
+ return () => {
75
+ window.removeEventListener("wheel", handleWheel.maybeExecute);
76
+ };
77
+ }, [handleWheel.maybeExecute]);
78
+
79
+ return null;
80
+ }