create-pixi-vn 1.9.7 → 2.0.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.
- package/dist/index.mjs +54 -52
- package/package.json +4 -2
- package/template-react-vite-muijoy/.assetpack.ts +18 -0
- package/template-react-vite-muijoy/.vscode/extensions.json +8 -9
- package/template-react-vite-muijoy/.vscode/launch.json +22 -15
- package/template-react-vite-muijoy/.vscode/settings.json +58 -63
- package/template-react-vite-muijoy/.vscode/tasks.json +87 -0
- package/template-react-vite-muijoy/README.md +2 -113
- package/template-react-vite-muijoy/_gitignore +2 -1
- package/template-react-vite-muijoy/biome.json +70 -0
- package/template-react-vite-muijoy/components.json +25 -0
- package/template-react-vite-muijoy/index.html +3 -2
- package/template-react-vite-muijoy/package-lock.json +18254 -0
- package/template-react-vite-muijoy/package.json +57 -39
- package/template-react-vite-muijoy/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy/public/favicon.ico +0 -0
- package/template-react-vite-muijoy/public/icon.png +0 -0
- package/template-react-vite-muijoy/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy/src/App.tsx +25 -76
- package/template-react-vite-muijoy/src/assets/index.ts +274 -0
- package/template-react-vite-muijoy/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy/src/components/menus/main-menu.tsx +293 -0
- package/template-react-vite-muijoy/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy/src/components/menus/settings/quick-menus.tsx +126 -0
- package/template-react-vite-muijoy/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy/src/components/menus/settings/system-controls.tsx +225 -0
- package/template-react-vite-muijoy/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy/src/constants.ts +13 -0
- package/template-react-vite-muijoy/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy/src/content/index.ts +4 -0
- package/template-react-vite-muijoy/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy/src/content/labels/second.label.ts +1207 -0
- package/template-react-vite-muijoy/src/content/labels/start.label.ts +568 -0
- package/template-react-vite-muijoy/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy/src/lib/i18n.ts +59 -0
- package/template-react-vite-muijoy/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy/src/lib/query/settings-query.ts +10 -0
- package/template-react-vite-muijoy/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy/src/locales/en.json +118 -0
- package/template-react-vite-muijoy/src/main.tsx +14 -24
- package/template-react-vite-muijoy/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy/src/router.tsx +27 -0
- package/template-react-vite-muijoy/src/routes/__root.tsx +75 -0
- package/template-react-vite-muijoy/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy/src/styles.css +155 -0
- package/template-react-vite-muijoy/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy/tsconfig.json +8 -23
- package/template-react-vite-muijoy/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy/vite.config.ts +95 -12
- package/template-react-vite-muijoy-ink/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-ink/.vscode/extensions.json +9 -10
- package/template-react-vite-muijoy-ink/.vscode/launch.json +22 -15
- package/template-react-vite-muijoy-ink/.vscode/settings.json +63 -68
- package/template-react-vite-muijoy-ink/.vscode/tasks.json +87 -0
- package/template-react-vite-muijoy-ink/README.md +2 -150
- package/template-react-vite-muijoy-ink/_gitignore +3 -1
- package/template-react-vite-muijoy-ink/biome.json +70 -0
- package/template-react-vite-muijoy-ink/components.json +25 -0
- package/template-react-vite-muijoy-ink/index.html +3 -2
- package/template-react-vite-muijoy-ink/package-lock.json +18480 -0
- package/template-react-vite-muijoy-ink/package.json +59 -40
- package/template-react-vite-muijoy-ink/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-ink/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-ink/public/icon.png +0 -0
- package/template-react-vite-muijoy-ink/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-ink/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-ink/src/App.tsx +17 -69
- package/template-react-vite-muijoy-ink/src/assets/index.ts +272 -0
- package/template-react-vite-muijoy-ink/src/assets/ink-manifest.gen.json +4 -0
- package/template-react-vite-muijoy-ink/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-ink/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-ink/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/menus/main-menu.tsx +292 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-ink/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-ink/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/quick-menus.tsx +126 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/system-controls.tsx +225 -0
- package/template-react-vite-muijoy-ink/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-ink/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-ink/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-ink/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-ink/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-ink/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-ink/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-ink/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-ink/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-ink/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-ink/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-ink/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-ink/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-ink/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-ink/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-ink/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-ink/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-ink/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-ink/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-ink/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-ink/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-ink/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-ink/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-ink/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-ink/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-ink/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-ink/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-ink/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-ink/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-ink/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-ink/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-ink/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-ink/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-ink/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-ink/src/constants.ts +13 -0
- package/template-react-vite-muijoy-ink/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-ink/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +38 -0
- package/template-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +19 -0
- package/template-react-vite-muijoy-ink/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/ink-hooks.tsx +12 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-ink/src/lib/i18n.ts +80 -0
- package/template-react-vite-muijoy-ink/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-ink/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-ink/src/lib/query/settings-query.ts +10 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-ink/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-ink/src/main.tsx +14 -27
- package/template-react-vite-muijoy-ink/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-ink/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-ink/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-ink/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-ink/src/router.tsx +27 -0
- package/template-react-vite-muijoy-ink/src/routes/__root.tsx +79 -0
- package/template-react-vite-muijoy-ink/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-ink/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-ink/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-ink/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-ink/src/styles.css +155 -0
- package/template-react-vite-muijoy-ink/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-ink/tsconfig.json +8 -23
- package/template-react-vite-muijoy-ink/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-ink/vite.config.ts +100 -14
- package/template-react-vite-muijoy-ink-tauri/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-ink-tauri/.vscode/extensions.json +12 -13
- package/template-react-vite-muijoy-ink-tauri/.vscode/launch.json +33 -43
- package/template-react-vite-muijoy-ink-tauri/.vscode/settings.json +63 -68
- package/template-react-vite-muijoy-ink-tauri/.vscode/tasks.json +131 -26
- package/template-react-vite-muijoy-ink-tauri/README.md +2 -203
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/desktop.yml +188 -0
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/mobile.yml +270 -0
- package/template-react-vite-muijoy-ink-tauri/_gitignore +11 -2
- package/template-react-vite-muijoy-ink-tauri/biome.json +70 -0
- package/template-react-vite-muijoy-ink-tauri/components.json +25 -0
- package/template-react-vite-muijoy-ink-tauri/index.html +3 -2
- package/template-react-vite-muijoy-ink-tauri/package-lock.json +18730 -0
- package/template-react-vite-muijoy-ink-tauri/package.json +102 -78
- package/template-react-vite-muijoy-ink-tauri/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/icon.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/App.tsx +17 -69
- package/template-react-vite-muijoy-ink-tauri/src/assets/index.ts +272 -0
- package/template-react-vite-muijoy-ink-tauri/src/assets/ink-manifest.gen.json +4 -0
- package/template-react-vite-muijoy-ink-tauri/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/main-menu.tsx +307 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/system-controls.tsx +235 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-ink-tauri/src/constants.ts +13 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +55 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/ink-hooks.tsx +12 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/quit-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/i18n.ts +80 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/settings-query.ts +16 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/steam.ts +143 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/main.tsx +14 -27
- package/template-react-vite-muijoy-ink-tauri/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-ink-tauri/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-ink-tauri/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-ink-tauri/src/router.tsx +27 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/__root.tsx +79 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-ink-tauri/src/styles.css +155 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +18 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/build.rs +43 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +11 -1
- package/template-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +57 -7
- package/template-react-vite-muijoy-ink-tauri/src-tauri/src/steam.rs +238 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +18 -5
- package/template-react-vite-muijoy-ink-tauri/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-ink-tauri/tsconfig.json +8 -23
- package/template-react-vite-muijoy-ink-tauri/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-ink-tauri/vite.config.ts +101 -15
- package/template-react-vite-muijoy-tauri/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-tauri/.vscode/extensions.json +11 -12
- package/template-react-vite-muijoy-tauri/.vscode/launch.json +33 -43
- package/template-react-vite-muijoy-tauri/.vscode/settings.json +58 -63
- package/template-react-vite-muijoy-tauri/.vscode/tasks.json +131 -26
- package/template-react-vite-muijoy-tauri/README.md +2 -166
- package/template-react-vite-muijoy-tauri/_github/workflows/desktop.yml +188 -0
- package/template-react-vite-muijoy-tauri/_github/workflows/mobile.yml +270 -0
- package/template-react-vite-muijoy-tauri/_gitignore +10 -2
- package/template-react-vite-muijoy-tauri/biome.json +70 -0
- package/template-react-vite-muijoy-tauri/components.json +25 -0
- package/template-react-vite-muijoy-tauri/index.html +3 -2
- package/template-react-vite-muijoy-tauri/package-lock.json +18504 -0
- package/template-react-vite-muijoy-tauri/package.json +63 -40
- package/template-react-vite-muijoy-tauri/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-tauri/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-tauri/public/icon.png +0 -0
- package/template-react-vite-muijoy-tauri/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-tauri/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-tauri/src/App.tsx +25 -76
- package/template-react-vite-muijoy-tauri/src/assets/index.ts +274 -0
- package/template-react-vite-muijoy-tauri/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-tauri/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +308 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/system-controls.tsx +235 -0
- package/template-react-vite-muijoy-tauri/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-tauri/src/constants.ts +13 -0
- package/template-react-vite-muijoy-tauri/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/second.label.ts +1207 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/start.label.ts +568 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/quit-hooks.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-tauri/src/lib/i18n.ts +59 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/settings-query.ts +16 -0
- package/template-react-vite-muijoy-tauri/src/lib/steam.ts +143 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-tauri/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-tauri/src/main.tsx +14 -24
- package/template-react-vite-muijoy-tauri/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-tauri/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-tauri/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-tauri/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-tauri/src/router.tsx +27 -0
- package/template-react-vite-muijoy-tauri/src/routes/__root.tsx +75 -0
- package/template-react-vite-muijoy-tauri/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-tauri/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-tauri/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-tauri/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-tauri/src/styles.css +155 -0
- package/template-react-vite-muijoy-tauri/src-tauri/Cargo.toml +18 -0
- package/template-react-vite-muijoy-tauri/src-tauri/build.rs +43 -0
- package/template-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +11 -1
- package/template-react-vite-muijoy-tauri/src-tauri/src/lib.rs +57 -7
- package/template-react-vite-muijoy-tauri/src-tauri/src/steam.rs +238 -0
- package/template-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +18 -5
- package/template-react-vite-muijoy-tauri/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-tauri/tsconfig.json +8 -23
- package/template-react-vite-muijoy-tauri/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-tauri/vite.config.ts +96 -13
- package/template-react-vite-muijoy/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy/public/service-worker.js +0 -60
- package/template-react-vite-muijoy/src/App.css +0 -45
- package/template-react-vite-muijoy/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy/src/Home.tsx +0 -48
- package/template-react-vite-muijoy/src/assets/manifest.ts +0 -272
- package/template-react-vite-muijoy/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy/src/constans.ts +0 -16
- package/template-react-vite-muijoy/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy/src/hooks/useQueryIsFullModeScreen.ts +0 -10
- package/template-react-vite-muijoy/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy/src/i18n.ts +0 -55
- package/template-react-vite-muijoy/src/index.css +0 -19
- package/template-react-vite-muijoy/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy/src/labels/index.ts +0 -3
- package/template-react-vite-muijoy/src/labels/secondPart.ts +0 -1084
- package/template-react-vite-muijoy/src/labels/startLabel.ts +0 -396
- package/template-react-vite-muijoy/src/locales/strings_en.json +0 -68
- package/template-react-vite-muijoy/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy/src/screens/MainMenu.tsx +0 -112
- package/template-react-vite-muijoy/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +0 -46
- package/template-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-ink/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-ink/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-ink/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-ink/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-ink/src/App.css +0 -45
- package/template-react-vite-muijoy-ink/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-ink/src/Home.tsx +0 -50
- package/template-react-vite-muijoy-ink/src/assets/manifest.ts +0 -270
- package/template-react-vite-muijoy-ink/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-ink/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-ink/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-ink/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-ink/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-ink/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-ink/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-ink/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-ink/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-ink/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-ink/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-ink/src/constans.ts +0 -16
- package/template-react-vite-muijoy-ink/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-ink/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-ink/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-ink/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-ink/src/hooks/useInkInitialization.tsx +0 -12
- package/template-react-vite-muijoy-ink/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-ink/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-ink/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-ink/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-ink/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-ink/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-ink/src/hooks/useQueryIsFullModeScreen.ts +0 -10
- package/template-react-vite-muijoy-ink/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-ink/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-ink/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-ink/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-ink/src/i18n.ts +0 -83
- package/template-react-vite-muijoy-ink/src/index.css +0 -19
- package/template-react-vite-muijoy-ink/src/ink.d.ts +0 -4
- package/template-react-vite-muijoy-ink/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-ink/src/labels/index.ts +0 -1
- package/template-react-vite-muijoy-ink/src/locales/strings_en.json +0 -68
- package/template-react-vite-muijoy-ink/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-ink/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-ink/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-ink/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-ink/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-ink/src/screens/MainMenu.tsx +0 -111
- package/template-react-vite-muijoy-ink/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-ink/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-ink/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-ink/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-ink/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-ink/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-ink/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +0 -46
- package/template-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-ink/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-ink/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-ink/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-ink/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-ink/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-ink/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-ink/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-ink/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-ink/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-ink/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-ink/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-ink/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-ink/src/utils/ink-utility.ts +0 -51
- package/template-react-vite-muijoy-ink/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-ink/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-ink/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-ink-tauri/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/tauri.yml +0 -86
- package/template-react-vite-muijoy-ink-tauri/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-ink-tauri/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-ink-tauri/src/App.css +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-ink-tauri/src/Home.tsx +0 -50
- package/template-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +0 -270
- package/template-react-vite-muijoy-ink-tauri/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-ink-tauri/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-ink-tauri/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-ink-tauri/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-ink-tauri/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-ink-tauri/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-ink-tauri/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-ink-tauri/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-ink-tauri/src/constans.ts +0 -16
- package/template-react-vite-muijoy-ink-tauri/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useInkInitialization.tsx +0 -12
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-ink-tauri/src/i18n.ts +0 -83
- package/template-react-vite-muijoy-ink-tauri/src/index.css +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/ink.d.ts +0 -4
- package/template-react-vite-muijoy-ink-tauri/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-ink-tauri/src/labels/index.ts +0 -1
- package/template-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +0 -69
- package/template-react-vite-muijoy-ink-tauri/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-ink-tauri/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-ink-tauri/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-ink-tauri/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-ink-tauri/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +0 -116
- package/template-react-vite-muijoy-ink-tauri/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-ink-tauri/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-ink-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-ink-tauri/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-ink-tauri/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-ink-tauri/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-ink-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-ink-tauri/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-ink-tauri/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-ink-tauri/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-ink-tauri/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink-tauri/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-ink-tauri/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-ink-tauri/src/utils/ink-utility.ts +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-ink-tauri/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-tauri/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-tauri/_github/workflows/tauri.yml +0 -86
- package/template-react-vite-muijoy-tauri/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-tauri/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-tauri/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-tauri/src/App.css +0 -45
- package/template-react-vite-muijoy-tauri/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/Home.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/assets/manifest.ts +0 -272
- package/template-react-vite-muijoy-tauri/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-tauri/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-tauri/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-tauri/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-tauri/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-tauri/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-tauri/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-tauri/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-tauri/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-tauri/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-tauri/src/constans.ts +0 -16
- package/template-react-vite-muijoy-tauri/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-tauri/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-tauri/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-tauri/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-tauri/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-tauri/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-tauri/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-tauri/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-tauri/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-tauri/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-tauri/src/i18n.ts +0 -55
- package/template-react-vite-muijoy-tauri/src/index.css +0 -19
- package/template-react-vite-muijoy-tauri/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-tauri/src/labels/index.ts +0 -3
- package/template-react-vite-muijoy-tauri/src/labels/secondPart.ts +0 -1084
- package/template-react-vite-muijoy-tauri/src/labels/startLabel.ts +0 -396
- package/template-react-vite-muijoy-tauri/src/locales/strings_en.json +0 -69
- package/template-react-vite-muijoy-tauri/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-tauri/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-tauri/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +0 -117
- package/template-react-vite-muijoy-tauri/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-tauri/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-tauri/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-tauri/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
- package/template-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-tauri/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-tauri/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-tauri/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-tauri/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-tauri/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-tauri/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-tauri/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-tauri/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-tauri/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-tauri/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-tauri/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-tauri/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-tauri/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-tauri/src/values/index.ts +0 -1
- /package/template-react-vite-muijoy-ink/{src/ink → ink}/second_part.ink +0 -0
- /package/template-react-vite-muijoy-ink/{src/ink → ink}/start.ink +0 -0
- /package/template-react-vite-muijoy-ink-tauri/{src/ink → ink}/second_part.ink +0 -0
- /package/template-react-vite-muijoy-ink-tauri/{src/ink → ink}/start.ink +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import packageJson from "@/../package.json";
|
|
2
|
+
import { useTranslation } from "react-i18next";
|
|
3
|
+
|
|
4
|
+
export function About() {
|
|
5
|
+
const { t } = useTranslation(["ui"]);
|
|
6
|
+
|
|
7
|
+
return (
|
|
8
|
+
<div className="flex flex-col gap-1 text-sm">
|
|
9
|
+
<div className="flex justify-between gap-2">
|
|
10
|
+
<span className="font-medium text-muted-foreground">{t("name")}:</span>
|
|
11
|
+
<span className="font-medium text-muted-foreground">{packageJson.name}</span>
|
|
12
|
+
</div>
|
|
13
|
+
<div className="flex justify-between gap-2">
|
|
14
|
+
<span className="font-medium text-muted-foreground">{t("version")}:</span>
|
|
15
|
+
<span className="font-medium text-muted-foreground">v{packageJson.version}</span>
|
|
16
|
+
</div>
|
|
17
|
+
<div className="flex justify-between gap-2">
|
|
18
|
+
<span className="font-medium text-muted-foreground">{t("engine")}:</span>
|
|
19
|
+
<span className="font-medium text-muted-foreground">
|
|
20
|
+
{t("powered_by")}{" "}
|
|
21
|
+
<a
|
|
22
|
+
href="https://pixi-vn.web.app"
|
|
23
|
+
target="_blank"
|
|
24
|
+
rel="noopener noreferrer"
|
|
25
|
+
className="underline hover:text-foreground"
|
|
26
|
+
>
|
|
27
|
+
Pixi'VN
|
|
28
|
+
</a>
|
|
29
|
+
</span>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Kbd } from "@/components/ui/kbd";
|
|
2
|
+
import { Slider } from "@/components/ui/slider";
|
|
3
|
+
import { Switch } from "@/components/ui/switch";
|
|
4
|
+
import { AutoSettings } from "@/lib/stores/auto-settings-store";
|
|
5
|
+
import { SkipSettings } from "@/lib/stores/skip-settings-store";
|
|
6
|
+
import { TextDisplaySettings } from "@/lib/stores/text-display-settings-store";
|
|
7
|
+
import { useSelector } from "@tanstack/react-store";
|
|
8
|
+
import { useTranslation } from "react-i18next";
|
|
9
|
+
|
|
10
|
+
export function DialoguesControls() {
|
|
11
|
+
const typewriterDelay = useSelector(TextDisplaySettings.store, (state) => state.delay);
|
|
12
|
+
const { t } = useTranslation(["ui"]);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div className="flex flex-col gap-4">
|
|
16
|
+
<div className="flex flex-col gap-1.5">
|
|
17
|
+
<div>
|
|
18
|
+
<p className="text-sm font-medium leading-none">{t("text_speed")}</p>
|
|
19
|
+
<p className="mt-1 text-xs text-muted-foreground">
|
|
20
|
+
{t("text_speed_description")}
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
<div className="flex items-center gap-2">
|
|
24
|
+
<Slider
|
|
25
|
+
min={0}
|
|
26
|
+
max={200}
|
|
27
|
+
step={10}
|
|
28
|
+
value={[typewriterDelay]}
|
|
29
|
+
onValueChange={(v) =>
|
|
30
|
+
typeof v === "number" && TextDisplaySettings.setDelay(v)
|
|
31
|
+
}
|
|
32
|
+
className="flex-1"
|
|
33
|
+
/>
|
|
34
|
+
<span className="w-14 text-right text-xs tabular-nums">
|
|
35
|
+
{typewriterDelay === 0 ? t("off") : `${typewriterDelay}ms`}
|
|
36
|
+
</span>
|
|
37
|
+
</div>
|
|
38
|
+
<div className="flex justify-between px-1 text-xs text-muted-foreground">
|
|
39
|
+
<span>{t("off")}</span>
|
|
40
|
+
<span>200ms</span>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<AutoForwardToggle />
|
|
45
|
+
<SkipToggle />
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function AutoForwardToggle() {
|
|
51
|
+
const { t } = useTranslation(["ui"]);
|
|
52
|
+
const autoEnabled = useSelector(AutoSettings.store, (state) => state.enabled);
|
|
53
|
+
const autoTime = useSelector(AutoSettings.store, (state) => state.time);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<div className="flex flex-col gap-2 rounded-md border p-3">
|
|
57
|
+
<div className="flex items-center justify-between gap-4">
|
|
58
|
+
<div className="flex-1">
|
|
59
|
+
<p className="text-sm font-medium leading-none">
|
|
60
|
+
{t("auto_forward_time_restricted")}
|
|
61
|
+
</p>
|
|
62
|
+
<p className="mt-1 text-xs text-muted-foreground">
|
|
63
|
+
{t("auto_forward_time_description")}
|
|
64
|
+
</p>
|
|
65
|
+
</div>
|
|
66
|
+
<Switch checked={autoEnabled} onCheckedChange={AutoSettings.toggleEnabled} />
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div className="flex items-center gap-2">
|
|
70
|
+
<Slider
|
|
71
|
+
min={1}
|
|
72
|
+
max={10}
|
|
73
|
+
step={1}
|
|
74
|
+
value={[autoTime]}
|
|
75
|
+
onValueChange={(v) => typeof v === "number" && AutoSettings.setTime(v)}
|
|
76
|
+
disabled={!autoEnabled}
|
|
77
|
+
className="flex-1"
|
|
78
|
+
/>
|
|
79
|
+
<span className="w-8 text-right text-xs tabular-nums">{autoTime}s</span>
|
|
80
|
+
</div>
|
|
81
|
+
<div className="flex justify-between px-1 text-xs text-muted-foreground">
|
|
82
|
+
<span>1s</span>
|
|
83
|
+
<span>10s</span>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function SkipToggle() {
|
|
90
|
+
const { t } = useTranslation(["ui"]);
|
|
91
|
+
const enabled = useSelector(SkipSettings.store, (state) => state.enabled);
|
|
92
|
+
|
|
93
|
+
return (
|
|
94
|
+
<div className="flex items-center justify-between gap-4 rounded-md border p-3">
|
|
95
|
+
<div className="flex-1">
|
|
96
|
+
<div className="flex items-center gap-2">
|
|
97
|
+
<p className="text-sm font-medium leading-none">{t("skip")}</p>
|
|
98
|
+
<Kbd>Space</Kbd>
|
|
99
|
+
</div>
|
|
100
|
+
<p className="mt-1 text-xs text-muted-foreground">{t("skip_description")}</p>
|
|
101
|
+
</div>
|
|
102
|
+
<Switch checked={enabled} onCheckedChange={SkipSettings.setEnabled} />
|
|
103
|
+
</div>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { About } from "@/components/menus/settings/about";
|
|
2
|
+
import { DialoguesControls } from "@/components/menus/settings/dialogues-controls";
|
|
3
|
+
import { ControlsListSettingsPage } from "@/components/menus/settings/menus/controls";
|
|
4
|
+
import { HistoryListSettingsPage } from "@/components/menus/settings/menus/history";
|
|
5
|
+
import { SaveLoadSettingsPage } from "@/components/menus/settings/menus/save-load";
|
|
6
|
+
import { QuickMenus } from "@/components/menus/settings/quick-menus";
|
|
7
|
+
import { SoundControls } from "@/components/menus/settings/sound-controls";
|
|
8
|
+
import { SystemControls } from "@/components/menus/settings/system-controls";
|
|
9
|
+
import {
|
|
10
|
+
Breadcrumb,
|
|
11
|
+
BreadcrumbItem,
|
|
12
|
+
BreadcrumbLink,
|
|
13
|
+
BreadcrumbList,
|
|
14
|
+
BreadcrumbPage,
|
|
15
|
+
BreadcrumbSeparator,
|
|
16
|
+
} from "@/components/ui/breadcrumb";
|
|
17
|
+
import { Button } from "@/components/ui/button";
|
|
18
|
+
import { Dialog, FullscreenDialogContent } from "@/components/ui/fullscreen-dialog";
|
|
19
|
+
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
20
|
+
import { Separator } from "@/components/ui/separator";
|
|
21
|
+
import { useSearchParamState, useSetSearchParamState } from "@/lib/hooks/navigation-hooks";
|
|
22
|
+
import { ArrowLeftIcon } from "lucide-react";
|
|
23
|
+
import { Fragment } from "react";
|
|
24
|
+
import { useTranslation } from "react-i18next";
|
|
25
|
+
|
|
26
|
+
type SettingsTabPath = "menus/controls" | "menus/history" | "menus/save-load";
|
|
27
|
+
|
|
28
|
+
type BreadcrumbEntry = {
|
|
29
|
+
id: string;
|
|
30
|
+
label: string;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export function Settings() {
|
|
34
|
+
const { t } = useTranslation(["ui"]);
|
|
35
|
+
const currentTab = useSearchParamState<string>("settings_tab");
|
|
36
|
+
const setSettingsTab = useSetSearchParamState<string>("settings_tab");
|
|
37
|
+
|
|
38
|
+
const normalizedTab: SettingsTabPath | undefined =
|
|
39
|
+
currentTab === "menus/controls" ||
|
|
40
|
+
currentTab === "menus/history" ||
|
|
41
|
+
currentTab === "menus/save-load"
|
|
42
|
+
? (currentTab as SettingsTabPath)
|
|
43
|
+
: undefined;
|
|
44
|
+
|
|
45
|
+
const goBack = () => {
|
|
46
|
+
setSettingsTab(undefined);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const breadcrumbs: BreadcrumbEntry[] = (() => {
|
|
50
|
+
if (!normalizedTab) {
|
|
51
|
+
return [{ id: "home", label: t("home") }];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const trail: BreadcrumbEntry[] = [{ id: "home", label: t("home") }];
|
|
55
|
+
if (
|
|
56
|
+
normalizedTab === "menus/controls" ||
|
|
57
|
+
normalizedTab === "menus/history" ||
|
|
58
|
+
normalizedTab === "menus/save-load"
|
|
59
|
+
) {
|
|
60
|
+
trail.push({ id: "menus", label: t("menus") });
|
|
61
|
+
trail.push({
|
|
62
|
+
id:
|
|
63
|
+
normalizedTab === "menus/controls"
|
|
64
|
+
? "menus-controls"
|
|
65
|
+
: normalizedTab === "menus/history"
|
|
66
|
+
? "menus-history"
|
|
67
|
+
: "menus-save-load",
|
|
68
|
+
label:
|
|
69
|
+
normalizedTab === "menus/controls"
|
|
70
|
+
? t("hotkeys_menu")
|
|
71
|
+
: normalizedTab === "menus/history"
|
|
72
|
+
? t("history")
|
|
73
|
+
: `${t("save")}/${t("load")}`,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return trail;
|
|
77
|
+
})();
|
|
78
|
+
|
|
79
|
+
const renderBreadcrumb = () => (
|
|
80
|
+
<Breadcrumb>
|
|
81
|
+
<BreadcrumbList>
|
|
82
|
+
{breadcrumbs.map((crumb, index) => {
|
|
83
|
+
const isLast = index === breadcrumbs.length - 1;
|
|
84
|
+
const isHomeRootLink = crumb.id === "home" && normalizedTab;
|
|
85
|
+
|
|
86
|
+
return (
|
|
87
|
+
<Fragment key={crumb.id}>
|
|
88
|
+
<BreadcrumbItem>
|
|
89
|
+
{isHomeRootLink ? (
|
|
90
|
+
<BreadcrumbLink
|
|
91
|
+
render={
|
|
92
|
+
<button
|
|
93
|
+
type="button"
|
|
94
|
+
onClick={() => setSettingsTab(undefined)}
|
|
95
|
+
/>
|
|
96
|
+
}
|
|
97
|
+
>
|
|
98
|
+
{crumb.label}
|
|
99
|
+
</BreadcrumbLink>
|
|
100
|
+
) : (
|
|
101
|
+
<BreadcrumbPage>{crumb.label}</BreadcrumbPage>
|
|
102
|
+
)}
|
|
103
|
+
</BreadcrumbItem>
|
|
104
|
+
{!isLast && <BreadcrumbSeparator />}
|
|
105
|
+
</Fragment>
|
|
106
|
+
);
|
|
107
|
+
})}
|
|
108
|
+
</BreadcrumbList>
|
|
109
|
+
</Breadcrumb>
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
if (
|
|
113
|
+
normalizedTab === "menus/controls" ||
|
|
114
|
+
normalizedTab === "menus/history" ||
|
|
115
|
+
normalizedTab === "menus/save-load"
|
|
116
|
+
) {
|
|
117
|
+
return (
|
|
118
|
+
<>
|
|
119
|
+
<div className="border-b px-4 py-3">
|
|
120
|
+
<div className="flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between">
|
|
121
|
+
{renderBreadcrumb()}
|
|
122
|
+
<div className="flex items-center gap-2">
|
|
123
|
+
<Button variant="outline" size="sm" onClick={goBack}>
|
|
124
|
+
<ArrowLeftIcon />
|
|
125
|
+
{t("back")}
|
|
126
|
+
</Button>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
{normalizedTab === "menus/controls" ? <ControlsListSettingsPage /> : null}
|
|
131
|
+
{normalizedTab === "menus/history" ? <HistoryListSettingsPage /> : null}
|
|
132
|
+
{normalizedTab === "menus/save-load" ? <SaveLoadSettingsPage /> : null}
|
|
133
|
+
</>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return (
|
|
138
|
+
<div className="flex h-full flex-col">
|
|
139
|
+
<div className="border-b px-4 py-3">{renderBreadcrumb()}</div>
|
|
140
|
+
<ScrollArea className="flex-1 min-h-0">
|
|
141
|
+
{/* Two-column grid on md+, single column list below md */}
|
|
142
|
+
<div className="grid grid-cols-1 md:grid-cols-2 md:divide-x px-2 sm:px-12 md:px-14 lg:px-22 xl:px-28">
|
|
143
|
+
{/* Left column: quick actions */}
|
|
144
|
+
<div className="border-b p-4 md:border-b-0">
|
|
145
|
+
<div className="grid gap-4">
|
|
146
|
+
<div>
|
|
147
|
+
<h3 className="mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground">
|
|
148
|
+
{t("system")}
|
|
149
|
+
</h3>
|
|
150
|
+
<SystemControls />
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
<Separator />
|
|
154
|
+
|
|
155
|
+
<div>
|
|
156
|
+
<h3 className="mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground">
|
|
157
|
+
{t("sound")}
|
|
158
|
+
</h3>
|
|
159
|
+
<SoundControls />
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
{/* Right column: settings sections */}
|
|
165
|
+
<div className="border-b p-4 md:border-b-0">
|
|
166
|
+
<div className="grid gap-4">
|
|
167
|
+
<div>
|
|
168
|
+
<h3 className="mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground">
|
|
169
|
+
{t("dialogues")}
|
|
170
|
+
</h3>
|
|
171
|
+
<DialoguesControls />
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<Separator />
|
|
175
|
+
|
|
176
|
+
<div>
|
|
177
|
+
<h3 className="mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground">
|
|
178
|
+
{t("menus")}
|
|
179
|
+
</h3>
|
|
180
|
+
<QuickMenus />
|
|
181
|
+
</div>
|
|
182
|
+
|
|
183
|
+
<Separator />
|
|
184
|
+
|
|
185
|
+
<div>
|
|
186
|
+
<h3 className="mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground">
|
|
187
|
+
{t("about")}
|
|
188
|
+
</h3>
|
|
189
|
+
<About />
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
</ScrollArea>
|
|
195
|
+
</div>
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export function SettingsDialogue() {
|
|
200
|
+
const open = useSearchParamState<boolean>("settings");
|
|
201
|
+
const setOpen = useSetSearchParamState<boolean>("settings");
|
|
202
|
+
const setSettingsTab = useSetSearchParamState<string>("settings_tab");
|
|
203
|
+
const { t } = useTranslation(["ui"]);
|
|
204
|
+
|
|
205
|
+
return (
|
|
206
|
+
<Dialog
|
|
207
|
+
open={open ?? false}
|
|
208
|
+
onOpenChange={(isOpen) => {
|
|
209
|
+
setOpen(isOpen || undefined);
|
|
210
|
+
if (!isOpen) {
|
|
211
|
+
setSettingsTab(undefined);
|
|
212
|
+
}
|
|
213
|
+
}}
|
|
214
|
+
>
|
|
215
|
+
<FullscreenDialogContent title={t("settings")}>
|
|
216
|
+
<Settings />
|
|
217
|
+
</FullscreenDialogContent>
|
|
218
|
+
</Dialog>
|
|
219
|
+
);
|
|
220
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Input } from "@/components/ui/input";
|
|
2
|
+
import { Kbd, KbdGroup } from "@/components/ui/kbd";
|
|
3
|
+
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
4
|
+
import { cn } from "@/lib/utils";
|
|
5
|
+
import { type HotkeyRegistrationView, useHotkeyRegistrations } from "@tanstack/react-hotkeys";
|
|
6
|
+
import { Search } from "lucide-react";
|
|
7
|
+
import { useMemo, useState } from "react";
|
|
8
|
+
import { useTranslation } from "react-i18next";
|
|
9
|
+
|
|
10
|
+
function splitHotkey(hotkey: string) {
|
|
11
|
+
return hotkey.split("+").filter(Boolean);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function isRegistrationEnabled(registration: HotkeyRegistrationView) {
|
|
15
|
+
return registration.options.enabled !== false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Renders the controls list section used inside Settings subpages.
|
|
20
|
+
* Uses `useHotkeyRegistrations` (reads the store) but never calls `useHotkeys`,
|
|
21
|
+
* so there is no write→read→re-render loop.
|
|
22
|
+
*/
|
|
23
|
+
export function ControlsListSettingsPage() {
|
|
24
|
+
const { hotkeys } = useHotkeyRegistrations();
|
|
25
|
+
const [searchString, setSearchString] = useState("");
|
|
26
|
+
const { t } = useTranslation(["ui"]);
|
|
27
|
+
|
|
28
|
+
const normalizedSearch = searchString.trim().toLowerCase();
|
|
29
|
+
const hotkeyRows = useMemo(() => {
|
|
30
|
+
return hotkeys
|
|
31
|
+
.filter((registration) => {
|
|
32
|
+
if (!normalizedSearch) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
const name = registration.options.meta?.name?.toLowerCase() ?? "";
|
|
36
|
+
const description = registration.options.meta?.description?.toLowerCase() ?? "";
|
|
37
|
+
const value = registration.hotkey.toLowerCase();
|
|
38
|
+
return (
|
|
39
|
+
name.includes(normalizedSearch) ||
|
|
40
|
+
description.includes(normalizedSearch) ||
|
|
41
|
+
value.includes(normalizedSearch)
|
|
42
|
+
);
|
|
43
|
+
})
|
|
44
|
+
.sort((a, b) => {
|
|
45
|
+
const aName = a.options.meta?.name ?? a.hotkey;
|
|
46
|
+
const bName = b.options.meta?.name ?? b.hotkey;
|
|
47
|
+
return aName.localeCompare(bName);
|
|
48
|
+
});
|
|
49
|
+
}, [hotkeys, normalizedSearch]);
|
|
50
|
+
|
|
51
|
+
const toolbar = (
|
|
52
|
+
<div className="relative w-72 max-w-[50vw]">
|
|
53
|
+
<Search className="pointer-events-none absolute top-1/2 left-2 size-4 -translate-y-1/2 text-muted-foreground" />
|
|
54
|
+
<Input
|
|
55
|
+
className="pl-8"
|
|
56
|
+
placeholder={t("search")}
|
|
57
|
+
value={searchString}
|
|
58
|
+
onChange={(e) => setSearchString(e.target.value)}
|
|
59
|
+
aria-label={t("search")}
|
|
60
|
+
/>
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<>
|
|
66
|
+
<div className="border-b p-4">{toolbar}</div>
|
|
67
|
+
<ScrollArea className="flex-1 min-h-0">
|
|
68
|
+
<div className="p-4 space-y-2">
|
|
69
|
+
{hotkeyRows.map((registration) => {
|
|
70
|
+
const label = registration.options.meta?.name ?? registration.hotkey;
|
|
71
|
+
const description =
|
|
72
|
+
registration.options.meta?.description ??
|
|
73
|
+
t("hotkeys_menu_no_description");
|
|
74
|
+
const enabled = isRegistrationEnabled(registration);
|
|
75
|
+
return (
|
|
76
|
+
<div
|
|
77
|
+
key={registration.id}
|
|
78
|
+
className="flex flex-col gap-3 rounded-lg border bg-card/80 p-3 sm:flex-row sm:items-center"
|
|
79
|
+
>
|
|
80
|
+
<div className="flex-1 space-y-1">
|
|
81
|
+
<p className="font-medium">{label}</p>
|
|
82
|
+
<p className="text-sm text-muted-foreground">{description}</p>
|
|
83
|
+
</div>
|
|
84
|
+
<div className="flex flex-wrap items-center gap-1.5 sm:justify-end">
|
|
85
|
+
<KbdGroup>
|
|
86
|
+
{splitHotkey(registration.hotkey).map((part) => (
|
|
87
|
+
<Kbd key={`${registration.id}-${part}`}>{part}</Kbd>
|
|
88
|
+
))}
|
|
89
|
+
</KbdGroup>
|
|
90
|
+
<span
|
|
91
|
+
className={cn(
|
|
92
|
+
"rounded-full px-2 py-0.5 text-xs font-medium border",
|
|
93
|
+
enabled
|
|
94
|
+
? "border-green-500/30 bg-green-500/10 text-green-700 dark:text-green-400"
|
|
95
|
+
: "border-muted-foreground/30 bg-muted text-muted-foreground",
|
|
96
|
+
)}
|
|
97
|
+
>
|
|
98
|
+
{enabled
|
|
99
|
+
? t("hotkeys_menu_active")
|
|
100
|
+
: t("hotkeys_menu_inactive")}
|
|
101
|
+
</span>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
);
|
|
105
|
+
})}
|
|
106
|
+
{hotkeyRows.length === 0 && (
|
|
107
|
+
<p className="text-sm text-muted-foreground">
|
|
108
|
+
{t("hotkeys_menu_no_results")}
|
|
109
|
+
</p>
|
|
110
|
+
)}
|
|
111
|
+
</div>
|
|
112
|
+
</ScrollArea>
|
|
113
|
+
</>
|
|
114
|
+
);
|
|
115
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
|
|
2
|
+
import { Input } from "@/components/ui/input";
|
|
3
|
+
import {
|
|
4
|
+
Item,
|
|
5
|
+
ItemContent,
|
|
6
|
+
ItemFooter,
|
|
7
|
+
ItemGroup,
|
|
8
|
+
ItemMedia,
|
|
9
|
+
ItemTitle,
|
|
10
|
+
} from "@/components/ui/item";
|
|
11
|
+
import { Kbd } from "@/components/ui/kbd";
|
|
12
|
+
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
13
|
+
import { useQueryNarrativeHistory } from "@/lib/query/interface-query";
|
|
14
|
+
import { cn } from "@/lib/utils";
|
|
15
|
+
import { useDebouncedValue } from "@tanstack/react-pacer";
|
|
16
|
+
import { Check, Search } from "lucide-react";
|
|
17
|
+
import { useState } from "react";
|
|
18
|
+
import { useTranslation } from "react-i18next";
|
|
19
|
+
import Markdown from "react-markdown";
|
|
20
|
+
import rehypeRaw from "rehype-raw";
|
|
21
|
+
import remarkGfm from "remark-gfm";
|
|
22
|
+
|
|
23
|
+
export function HistoryList({ searchString }: { searchString?: string }) {
|
|
24
|
+
const { data = [] } = useQueryNarrativeHistory({ searchString });
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<ItemGroup>
|
|
28
|
+
{data.map((item, index) => {
|
|
29
|
+
const key = `${item.character ?? "unknown"}-${item.text}-${index}`;
|
|
30
|
+
return (
|
|
31
|
+
<Item key={key} variant="outline">
|
|
32
|
+
{item.character && (
|
|
33
|
+
<ItemMedia variant="image">
|
|
34
|
+
<Avatar size="sm">
|
|
35
|
+
<AvatarImage src={item.icon} />
|
|
36
|
+
<AvatarFallback>
|
|
37
|
+
{item.character?.slice(0, 1).toUpperCase() ?? "?"}
|
|
38
|
+
</AvatarFallback>
|
|
39
|
+
</Avatar>
|
|
40
|
+
</ItemMedia>
|
|
41
|
+
)}
|
|
42
|
+
<ItemContent
|
|
43
|
+
className={!item.character ? "items-center text-center" : undefined}
|
|
44
|
+
>
|
|
45
|
+
{item.character && <ItemTitle>{item.character}</ItemTitle>}
|
|
46
|
+
<Markdown
|
|
47
|
+
remarkPlugins={[remarkGfm]}
|
|
48
|
+
rehypePlugins={[rehypeRaw]}
|
|
49
|
+
components={{
|
|
50
|
+
p: ({ children, id }) => (
|
|
51
|
+
<p key={id} className="m-0 text-sm text-muted-foreground">
|
|
52
|
+
{children}
|
|
53
|
+
</p>
|
|
54
|
+
),
|
|
55
|
+
}}
|
|
56
|
+
>
|
|
57
|
+
{item.text}
|
|
58
|
+
</Markdown>
|
|
59
|
+
</ItemContent>
|
|
60
|
+
{(item.choices?.some((c) => !c.hidden) || item.inputValue) && (
|
|
61
|
+
<ItemFooter className="flex-wrap justify-start gap-1.5">
|
|
62
|
+
{item.choices?.map((choice) => {
|
|
63
|
+
const choiceKey = `${choice.text}-${choice.isResponse ? "1" : "0"}-${choice.hidden ? "1" : "0"}`;
|
|
64
|
+
if (choice.hidden) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
if (choice.isResponse) {
|
|
68
|
+
return (
|
|
69
|
+
<Kbd
|
|
70
|
+
key={`choices-success-${choiceKey}`}
|
|
71
|
+
className={cn(
|
|
72
|
+
"h-auto border px-2 py-1",
|
|
73
|
+
"border-green-500/30 bg-green-500/10 text-green-700 dark:text-green-400",
|
|
74
|
+
)}
|
|
75
|
+
>
|
|
76
|
+
{choice.text}
|
|
77
|
+
<Check className="size-3" />
|
|
78
|
+
</Kbd>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
return (
|
|
82
|
+
<Kbd
|
|
83
|
+
key={`choices-${choiceKey}`}
|
|
84
|
+
className={cn(
|
|
85
|
+
"h-auto border px-2 py-1",
|
|
86
|
+
"border-primary/30 bg-primary/10 text-primary",
|
|
87
|
+
)}
|
|
88
|
+
>
|
|
89
|
+
{choice.text}
|
|
90
|
+
</Kbd>
|
|
91
|
+
);
|
|
92
|
+
})}
|
|
93
|
+
{item.inputValue && (
|
|
94
|
+
<Kbd className="h-auto px-2 py-1">
|
|
95
|
+
{item.inputValue.toString()}
|
|
96
|
+
</Kbd>
|
|
97
|
+
)}
|
|
98
|
+
</ItemFooter>
|
|
99
|
+
)}
|
|
100
|
+
</Item>
|
|
101
|
+
);
|
|
102
|
+
})}
|
|
103
|
+
</ItemGroup>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function HistoryListSettingsPage() {
|
|
108
|
+
const [searchString, setSearchString] = useState("");
|
|
109
|
+
const [debouncedSearchString] = useDebouncedValue(searchString, { wait: 120 });
|
|
110
|
+
const { t } = useTranslation(["ui"]);
|
|
111
|
+
|
|
112
|
+
const toolbar = (
|
|
113
|
+
<div className="relative w-60 max-w-[40vw]">
|
|
114
|
+
<Search className="pointer-events-none absolute top-1/2 left-2 size-4 -translate-y-1/2 text-muted-foreground" />
|
|
115
|
+
<Input
|
|
116
|
+
className="pl-8"
|
|
117
|
+
placeholder={t("search")}
|
|
118
|
+
value={searchString}
|
|
119
|
+
onChange={(e) => setSearchString(e.target.value)}
|
|
120
|
+
aria-label={t("search")}
|
|
121
|
+
/>
|
|
122
|
+
</div>
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
return (
|
|
126
|
+
<>
|
|
127
|
+
<div className="border-b p-4">{toolbar}</div>
|
|
128
|
+
<ScrollArea className="flex-1 min-h-0">
|
|
129
|
+
<div className="p-4 px-2 sm:px-12 md:px-14 lg:px-22 xl:px-28">
|
|
130
|
+
<HistoryList searchString={debouncedSearchString} />
|
|
131
|
+
</div>
|
|
132
|
+
</ScrollArea>
|
|
133
|
+
</>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { GameSaveMenu } from "@/components/menus/save-menu";
|
|
2
|
+
import { Button } from "@/components/ui/button";
|
|
3
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
|
4
|
+
import { useGameProps } from "@/lib/hooks/props-hooks";
|
|
5
|
+
import { downloadGameSave, loadGameSaveFromFile } from "@/lib/utils/save-utility";
|
|
6
|
+
import type { FileRouteTypes } from "@/routeTree.gen";
|
|
7
|
+
import { useLocation } from "@tanstack/react-router";
|
|
8
|
+
import { Download, FolderOpen } from "lucide-react";
|
|
9
|
+
import { useTranslation } from "react-i18next";
|
|
10
|
+
import { toast } from "sonner";
|
|
11
|
+
|
|
12
|
+
export function SaveLoadSettingsPage() {
|
|
13
|
+
const { t } = useTranslation(["ui"]);
|
|
14
|
+
const gameProps = useGameProps();
|
|
15
|
+
const location = useLocation();
|
|
16
|
+
|
|
17
|
+
const toolbar = (
|
|
18
|
+
<TooltipProvider>
|
|
19
|
+
<div className="flex items-center gap-1">
|
|
20
|
+
<Tooltip>
|
|
21
|
+
<TooltipTrigger render={<span />}>
|
|
22
|
+
<Button
|
|
23
|
+
variant="ghost"
|
|
24
|
+
size="icon-lg"
|
|
25
|
+
onClick={() =>
|
|
26
|
+
loadGameSaveFromFile((err) => {
|
|
27
|
+
if (err) {
|
|
28
|
+
toast.error(t("allert_error_occurred"));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
gameProps.invalidateInterfaceData();
|
|
32
|
+
toast.success(t("success_load"));
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
aria-label={t("load_from_file")}
|
|
36
|
+
>
|
|
37
|
+
<FolderOpen className="size-6" />
|
|
38
|
+
</Button>
|
|
39
|
+
</TooltipTrigger>
|
|
40
|
+
<TooltipContent>{t("load_from_file")}</TooltipContent>
|
|
41
|
+
</Tooltip>
|
|
42
|
+
<Tooltip>
|
|
43
|
+
<TooltipTrigger render={<span />}>
|
|
44
|
+
<Button
|
|
45
|
+
variant="ghost"
|
|
46
|
+
size="icon-lg"
|
|
47
|
+
onClick={() => downloadGameSave()}
|
|
48
|
+
disabled={(location.pathname as FileRouteTypes["fullPaths"]) === "/"}
|
|
49
|
+
aria-label={t("save_to_file")}
|
|
50
|
+
>
|
|
51
|
+
<Download className="size-6" />
|
|
52
|
+
</Button>
|
|
53
|
+
</TooltipTrigger>
|
|
54
|
+
<TooltipContent>{t("save_to_file")}</TooltipContent>
|
|
55
|
+
</Tooltip>
|
|
56
|
+
</div>
|
|
57
|
+
</TooltipProvider>
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<div className="flex min-h-0 flex-1 flex-col">
|
|
62
|
+
<div className="border-b p-4">{toolbar}</div>
|
|
63
|
+
<GameSaveMenu />
|
|
64
|
+
</div>
|
|
65
|
+
);
|
|
66
|
+
}
|