create-pixi-vn 1.6.1 → 1.6.2
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/package.json +1 -1
- package/template-nqtr-react-vite-muijoy/README.md +1 -0
- package/template-nqtr-react-vite-muijoy/package.json +28 -25
- package/template-nqtr-react-vite-muijoy/src/App.tsx +9 -1
- package/template-nqtr-react-vite-muijoy/src/AppRoutes.tsx +5 -2
- package/template-nqtr-react-vite-muijoy/src/Home.tsx +3 -3
- package/template-nqtr-react-vite-muijoy/src/assets/manifest.ts +18 -15
- package/template-nqtr-react-vite-muijoy/src/components/MenuButton.tsx +11 -1
- package/template-nqtr-react-vite-muijoy/src/components/ModalDialog.tsx +20 -23
- package/template-nqtr-react-vite-muijoy/src/components/NqtrRoundIconButton.tsx +18 -17
- package/template-nqtr-react-vite-muijoy/src/components/RoundIconButton.tsx +5 -0
- package/template-nqtr-react-vite-muijoy/src/components/VisibilityButton.tsx +46 -0
- package/template-nqtr-react-vite-muijoy/src/hooks/useGameProps.ts +10 -0
- package/template-nqtr-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-nqtr-react-vite-muijoy/src/hooks/useNQTRDetector.tsx +39 -36
- package/template-nqtr-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-nqtr-react-vite-muijoy/src/hooks/useQueryNQTR.ts +13 -48
- package/template-nqtr-react-vite-muijoy/src/hooks/useTimeTracker.ts +48 -0
- package/template-nqtr-react-vite-muijoy/src/index.css +1 -0
- package/template-nqtr-react-vite-muijoy/src/labels/index.ts +5 -0
- package/template-nqtr-react-vite-muijoy/src/labels/sleepNapLabels.ts +33 -17
- package/template-nqtr-react-vite-muijoy/src/labels/startLabel.ts +2 -2
- package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabels.ts +26 -20
- package/template-nqtr-react-vite-muijoy/src/locales/strings_en.json +3 -1
- package/template-nqtr-react-vite-muijoy/src/main.tsx +2 -24
- package/template-nqtr-react-vite-muijoy/src/models/MultiTypeSprite.ts +11 -0
- package/template-nqtr-react-vite-muijoy/src/models/{ImageTimeSlots.ts → TimeSlotsImage.ts} +1 -1
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Activity.ts +22 -16
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Commitment.ts +33 -25
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Location.ts +23 -15
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Map.ts +12 -5
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Quest.ts +4 -7
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Room.ts +18 -11
- package/template-nqtr-react-vite-muijoy/src/models/nqtr/Stage.ts +9 -10
- package/template-nqtr-react-vite-muijoy/src/nqtr.d.ts +26 -18
- package/template-nqtr-react-vite-muijoy/src/pixi-vn.d.ts +19 -0
- package/template-nqtr-react-vite-muijoy/src/{Imports.tsx → providers/RootProvider.tsx} +25 -25
- package/template-nqtr-react-vite-muijoy/src/screens/NarrationScreen.tsx +3 -1
- package/template-nqtr-react-vite-muijoy/src/screens/QuickTools.tsx +71 -91
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MapScreen.tsx +24 -9
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MemoScreen.tsx +3 -4
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/NqtrQuickTools.tsx +0 -3
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickActivities.tsx +57 -53
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickRooms.tsx +7 -10
- package/template-nqtr-react-vite-muijoy/src/screens/nqtr/TimeScreen.tsx +10 -7
- package/template-nqtr-react-vite-muijoy/src/stores/useInterfaceStore.ts +7 -12
- package/template-nqtr-react-vite-muijoy/src/utils/assets-utility.ts +30 -19
- package/template-nqtr-react-vite-muijoy/src/utils/image-utility.ts +13 -0
- package/template-nqtr-react-vite-muijoy/src/utils/nqtr-utility.ts +25 -0
- package/template-nqtr-react-vite-muijoy/src/values/{activity.tsx → activities.tsx} +12 -7
- package/template-nqtr-react-vite-muijoy/src/values/characters.ts +2 -3
- package/template-nqtr-react-vite-muijoy/src/values/index.ts +6 -0
- package/template-nqtr-react-vite-muijoy/src/values/locations.tsx +3 -3
- package/template-nqtr-react-vite-muijoy/src/values/maps.tsx +3 -3
- package/{template-nqtr-react-vite-muijoy-ink/src/values/quests/alice/quests.tsx → template-nqtr-react-vite-muijoy/src/values/quests/aliceQuest.tsx} +17 -15
- package/template-nqtr-react-vite-muijoy/src/values/quests/index.ts +1 -0
- package/template-nqtr-react-vite-muijoy/src/values/rooms.tsx +10 -10
- package/template-nqtr-react-vite-muijoy/src/values/routine.tsx +17 -11
- package/template-nqtr-react-vite-muijoy-ink/README.md +1 -0
- package/template-nqtr-react-vite-muijoy-ink/package.json +27 -25
- package/template-nqtr-react-vite-muijoy-ink/src/App.tsx +10 -1
- package/template-nqtr-react-vite-muijoy-ink/src/AppRoutes.tsx +5 -2
- package/template-nqtr-react-vite-muijoy-ink/src/Home.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-ink/src/assets/manifest.ts +18 -15
- package/template-nqtr-react-vite-muijoy-ink/src/components/NqtrRoundIconButton.tsx +18 -17
- package/template-nqtr-react-vite-muijoy-ink/src/components/RoundIconButton.tsx +5 -0
- package/template-nqtr-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +46 -0
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useGameProps.ts +4 -0
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNQTRDetector.tsx +39 -36
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryNQTR.ts +13 -48
- package/template-nqtr-react-vite-muijoy-ink/src/hooks/useTimeTracker.ts +48 -0
- package/template-nqtr-react-vite-muijoy-ink/src/labels/index.ts +4 -1
- package/template-nqtr-react-vite-muijoy-ink/src/labels/sleepNapLabels.ts +33 -17
- package/template-nqtr-react-vite-muijoy-ink/src/labels/startLabel.ts +2 -2
- package/template-nqtr-react-vite-muijoy-ink/src/labels/variousActionsLabels.ts +1 -1
- package/template-nqtr-react-vite-muijoy-ink/src/locales/strings_en.json +3 -1
- package/template-nqtr-react-vite-muijoy-ink/src/main.tsx +1 -22
- package/template-nqtr-react-vite-muijoy-ink/src/models/MultiTypeSprite.ts +11 -0
- package/{template-nqtr-react-vite-muijoy-tauri/src/models/ImageTimeSlots.ts → template-nqtr-react-vite-muijoy-ink/src/models/TimeSlotsImage.ts} +1 -1
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Activity.ts +22 -16
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Commitment.ts +33 -25
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Location.ts +23 -15
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Map.ts +12 -5
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Quest.ts +4 -7
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Room.ts +18 -11
- package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Stage.ts +9 -10
- package/template-nqtr-react-vite-muijoy-ink/src/nqtr.d.ts +26 -18
- package/template-nqtr-react-vite-muijoy-ink/src/pixi-vn.d.ts +14 -0
- package/{template-nqtr-react-vite-muijoy-tauri/src/Imports.tsx → template-nqtr-react-vite-muijoy-ink/src/providers/RootProvider.tsx} +25 -25
- package/template-nqtr-react-vite-muijoy-ink/src/screens/QuickTools.tsx +71 -91
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MapScreen.tsx +24 -9
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MemoScreen.tsx +3 -4
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/NqtrQuickTools.tsx +0 -3
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickActivities.tsx +57 -60
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickRooms.tsx +7 -10
- package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/TimeScreen.tsx +10 -7
- package/template-nqtr-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +7 -12
- package/template-nqtr-react-vite-muijoy-ink/src/utils/assets-utility.ts +30 -19
- package/template-nqtr-react-vite-muijoy-ink/src/utils/image-utility.ts +13 -0
- package/template-nqtr-react-vite-muijoy-ink/src/utils/nqtr-utility.ts +25 -0
- package/{template-nqtr-react-vite-muijoy-tauri/src/values/activity.tsx → template-nqtr-react-vite-muijoy-ink/src/values/activities.tsx} +1 -1
- package/template-nqtr-react-vite-muijoy-ink/src/values/index.ts +6 -0
- package/template-nqtr-react-vite-muijoy-ink/src/values/locations.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-ink/src/values/maps.tsx +3 -3
- package/{template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/alice/quests.tsx → template-nqtr-react-vite-muijoy-ink/src/values/quests/aliceQuest.tsx} +17 -15
- package/template-nqtr-react-vite-muijoy-ink/src/values/quests/index.ts +1 -0
- package/template-nqtr-react-vite-muijoy-ink/src/values/rooms.tsx +10 -10
- package/template-nqtr-react-vite-muijoy-ink/src/values/routine.tsx +14 -9
- package/template-nqtr-react-vite-muijoy-ink-tauri/README.md +1 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/package.json +27 -25
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/App.tsx +10 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +5 -2
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/Home.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +18 -15
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/NqtrRoundIconButton.tsx +18 -17
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/RoundIconButton.tsx +5 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +46 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +4 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNQTRDetector.tsx +39 -36
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryNQTR.ts +13 -48
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useTimeTracker.ts +48 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/index.ts +4 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/sleepNapLabels.ts +33 -17
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/startLabel.ts +2 -2
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/variousActionsLabels.ts +1 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +3 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/main.tsx +1 -22
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/MultiTypeSprite.ts +11 -0
- package/{template-nqtr-react-vite-muijoy-ink/src/models/ImageTimeSlots.ts → template-nqtr-react-vite-muijoy-ink-tauri/src/models/TimeSlotsImage.ts} +1 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Activity.ts +22 -16
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Commitment.ts +33 -25
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Location.ts +23 -15
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Map.ts +12 -5
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Quest.ts +4 -7
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Room.ts +18 -11
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Stage.ts +9 -10
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/nqtr.d.ts +26 -18
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +14 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/{Imports.tsx → providers/RootProvider.tsx} +25 -25
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +71 -91
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MapScreen.tsx +24 -9
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MemoScreen.tsx +3 -4
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -3
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickActivities.tsx +57 -60
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickRooms.tsx +7 -10
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/TimeScreen.tsx +10 -7
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +7 -12
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +30 -19
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/image-utility.ts +13 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/nqtr-utility.ts +25 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/{activity.tsx → activities.tsx} +1 -1
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/index.ts +6 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/locations.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/maps.tsx +3 -3
- package/{template-nqtr-react-vite-muijoy-tauri/src/values/quests/alice/quests.tsx → template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/aliceQuest.tsx} +17 -15
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/index.ts +1 -0
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/rooms.tsx +10 -10
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/routine.tsx +14 -9
- package/template-nqtr-react-vite-muijoy-tauri/README.md +1 -0
- package/template-nqtr-react-vite-muijoy-tauri/package.json +27 -25
- package/template-nqtr-react-vite-muijoy-tauri/src/App.tsx +9 -1
- package/template-nqtr-react-vite-muijoy-tauri/src/AppRoutes.tsx +5 -2
- package/template-nqtr-react-vite-muijoy-tauri/src/Home.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-tauri/src/assets/manifest.ts +10 -16
- package/template-nqtr-react-vite-muijoy-tauri/src/components/NqtrRoundIconButton.tsx +18 -17
- package/template-nqtr-react-vite-muijoy-tauri/src/components/RoundIconButton.tsx +5 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +46 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +4 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNQTRDetector.tsx +39 -36
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryNQTR.ts +13 -48
- package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useTimeTracker.ts +48 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/labels/index.ts +5 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/labels/sleepNapLabels.ts +33 -17
- package/template-nqtr-react-vite-muijoy-tauri/src/labels/startLabel.ts +2 -2
- package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabels.ts +2 -2
- package/template-nqtr-react-vite-muijoy-tauri/src/locales/strings_en.json +3 -1
- package/template-nqtr-react-vite-muijoy-tauri/src/main.tsx +1 -21
- package/template-nqtr-react-vite-muijoy-tauri/src/models/MultiTypeSprite.ts +11 -0
- package/{template-nqtr-react-vite-muijoy-ink-tauri/src/models/ImageTimeSlots.ts → template-nqtr-react-vite-muijoy-tauri/src/models/TimeSlotsImage.ts} +1 -1
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Activity.ts +22 -16
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Commitment.ts +33 -25
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Location.ts +23 -15
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Map.ts +12 -5
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Quest.ts +4 -7
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Room.ts +18 -11
- package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Stage.ts +9 -10
- package/template-nqtr-react-vite-muijoy-tauri/src/nqtr.d.ts +26 -18
- package/template-nqtr-react-vite-muijoy-tauri/src/pixi-vn.d.ts +14 -0
- package/{template-nqtr-react-vite-muijoy-ink/src/Imports.tsx → template-nqtr-react-vite-muijoy-tauri/src/providers/RootProvider.tsx} +25 -25
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +71 -91
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MapScreen.tsx +21 -6
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MemoScreen.tsx +3 -4
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -3
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickActivities.tsx +57 -60
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickRooms.tsx +7 -10
- package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/TimeScreen.tsx +10 -7
- package/template-nqtr-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +7 -12
- package/template-nqtr-react-vite-muijoy-tauri/src/utils/assets-utility.ts +30 -19
- package/template-nqtr-react-vite-muijoy-tauri/src/utils/image-utility.ts +13 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/utils/nqtr-utility.ts +25 -0
- package/{template-nqtr-react-vite-muijoy-ink/src/values/activity.tsx → template-nqtr-react-vite-muijoy-tauri/src/values/activities.tsx} +1 -1
- package/template-nqtr-react-vite-muijoy-tauri/src/values/index.ts +6 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/values/locations.tsx +3 -3
- package/template-nqtr-react-vite-muijoy-tauri/src/values/maps.tsx +3 -3
- package/{template-nqtr-react-vite-muijoy/src/values/quests/alice/quests.tsx → template-nqtr-react-vite-muijoy-tauri/src/values/quests/aliceQuest.tsx} +17 -15
- package/template-nqtr-react-vite-muijoy-tauri/src/values/quests/index.ts +1 -0
- package/template-nqtr-react-vite-muijoy-tauri/src/values/rooms.tsx +10 -10
- package/template-nqtr-react-vite-muijoy-tauri/src/values/routine.tsx +14 -9
- package/template-react-vite-muijoy/package.json +24 -24
- package/template-react-vite-muijoy/src/App.tsx +1 -1
- package/template-react-vite-muijoy/src/AppRoutes.tsx +4 -2
- package/template-react-vite-muijoy/src/Home.tsx +3 -3
- package/template-react-vite-muijoy/src/components/VisibilityButton.tsx +46 -0
- package/template-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-react-vite-muijoy/src/labels/index.ts +2 -0
- package/template-react-vite-muijoy/src/main.tsx +0 -1
- package/template-react-vite-muijoy/src/providers/RootProvider.tsx +25 -0
- package/template-react-vite-muijoy/src/screens/QuickTools.tsx +71 -91
- package/template-react-vite-muijoy/src/stores/useInterfaceStore.ts +7 -12
- package/template-react-vite-muijoy/src/utils/assets-utility.ts +11 -0
- package/template-react-vite-muijoy/src/values/index.ts +1 -0
- package/template-react-vite-muijoy-ink/README.md +1 -0
- package/template-react-vite-muijoy-ink/package.json +25 -25
- package/template-react-vite-muijoy-ink/src/App.tsx +8 -1
- package/template-react-vite-muijoy-ink/src/AppRoutes.tsx +4 -2
- package/template-react-vite-muijoy-ink/src/Home.tsx +3 -3
- package/template-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +46 -0
- package/template-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-react-vite-muijoy-ink/src/main.tsx +0 -2
- package/template-react-vite-muijoy-ink/src/providers/RootProvider.tsx +25 -0
- package/template-react-vite-muijoy-ink/src/screens/QuickTools.tsx +71 -91
- package/template-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +7 -12
- package/template-react-vite-muijoy-ink/src/utils/assets-utility.ts +11 -0
- package/template-react-vite-muijoy-ink/src/values/index.ts +1 -0
- package/template-react-vite-muijoy-ink-tauri/README.md +1 -0
- package/template-react-vite-muijoy-ink-tauri/package.json +25 -25
- package/template-react-vite-muijoy-ink-tauri/src/App.tsx +8 -1
- package/template-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +4 -2
- package/template-react-vite-muijoy-ink-tauri/src/Home.tsx +3 -3
- package/template-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +46 -0
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/main.tsx +0 -2
- package/template-react-vite-muijoy-ink-tauri/src/providers/RootProvider.tsx +25 -0
- package/template-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +71 -91
- package/template-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +7 -12
- package/template-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +11 -0
- package/template-react-vite-muijoy-ink-tauri/src/values/index.ts +1 -0
- package/template-react-vite-muijoy-tauri/README.md +1 -0
- package/template-react-vite-muijoy-tauri/package.json +24 -24
- package/template-react-vite-muijoy-tauri/src/App.tsx +1 -1
- package/template-react-vite-muijoy-tauri/src/AppRoutes.tsx +4 -2
- package/template-react-vite-muijoy-tauri/src/Home.tsx +3 -3
- package/template-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +46 -0
- package/template-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +1 -15
- package/template-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +6 -0
- package/template-react-vite-muijoy-tauri/src/labels/index.ts +2 -0
- package/template-react-vite-muijoy-tauri/src/main.tsx +0 -1
- package/template-react-vite-muijoy-tauri/src/providers/RootProvider.tsx +25 -0
- package/template-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +71 -91
- package/template-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +7 -12
- package/template-react-vite-muijoy-tauri/src/utils/assets-utility.ts +11 -0
- package/template-react-vite-muijoy-tauri/src/values/index.ts +1 -0
- package/template-nqtr-react-vite-muijoy/src/utils/component-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy/src/utils/time-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-ink/src/utils/component-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-ink/src/utils/time-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/component-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/time-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-tauri/src/utils/component-utility.ts +0 -29
- package/template-nqtr-react-vite-muijoy-tauri/src/utils/time-utility.ts +0 -29
- package/template-react-vite-muijoy/src/Imports.tsx +0 -25
- package/template-react-vite-muijoy/src/utils/component-utility.ts +0 -29
- package/template-react-vite-muijoy-ink/src/Imports.tsx +0 -25
- package/template-react-vite-muijoy-ink/src/utils/component-utility.ts +0 -29
- package/template-react-vite-muijoy-ink-tauri/src/Imports.tsx +0 -25
- package/template-react-vite-muijoy-ink-tauri/src/utils/component-utility.ts +0 -29
- package/template-react-vite-muijoy-tauri/src/Imports.tsx +0 -25
- package/template-react-vite-muijoy-tauri/src/utils/component-utility.ts +0 -29
- /package/template-nqtr-react-vite-muijoy/src/labels/{utility-labels.ts → label-utility.ts} +0 -0
- /package/template-nqtr-react-vite-muijoy-ink/src/labels/{utility-labels.ts → label-utility.ts} +0 -0
- /package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/{utility-labels.ts → label-utility.ts} +0 -0
- /package/template-nqtr-react-vite-muijoy-tauri/src/labels/{utility-labels.ts → label-utility.ts} +0 -0
package/package.json
CHANGED
|
@@ -47,6 +47,7 @@ Core libraries:
|
|
|
47
47
|
You can use the following button to show Tanstack Query interactions with the game. (the button will be automatically hidden when released)
|
|
48
48
|
* [Tailwind CSS](https://tailwindcss.com/): A utility-first CSS framework for rapidly building custom designs.
|
|
49
49
|
* [Tailwind CSS Motion](https://rombo.co/tailwind/): A library that provides a set of utilities for creating animations with Tailwind CSS.
|
|
50
|
+
* [Tailwind CSS Typography](https://tailwindcss.com/docs/typography-plugin): A plugin that provides a set of utilities for styling text.
|
|
50
51
|
|
|
51
52
|
UI libraries:
|
|
52
53
|
|
|
@@ -11,50 +11,53 @@
|
|
|
11
11
|
"preview": "vite preview"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@drincs/nqtr": "^0.
|
|
15
|
-
"@drincs/pixi-vn": "^1.2.
|
|
14
|
+
"@drincs/nqtr": "^0.5.5",
|
|
15
|
+
"@drincs/pixi-vn": "^1.2.22",
|
|
16
16
|
"@emotion/react": "^11.14.0",
|
|
17
|
-
"@emotion/styled": "^11.14.
|
|
18
|
-
"@mui/icons-material": "^7.
|
|
17
|
+
"@emotion/styled": "^11.14.1",
|
|
18
|
+
"@mui/icons-material": "^7.2.0",
|
|
19
19
|
"@mui/joy": "^5.0.0-beta.52",
|
|
20
|
-
"@mui/material": "^7.
|
|
21
|
-
"@tailwindcss/vite": "^4.1.
|
|
22
|
-
"@tanstack/react-query": "^5.
|
|
23
|
-
"i18next": "^25.
|
|
20
|
+
"@mui/material": "^7.2.0",
|
|
21
|
+
"@tailwindcss/vite": "^4.1.11",
|
|
22
|
+
"@tanstack/react-query": "^5.83.0",
|
|
23
|
+
"i18next": "^25.3.2",
|
|
24
24
|
"i18next-chained-backend": "^4.6.2",
|
|
25
25
|
"i18next-resources-to-backend": "^1.2.1",
|
|
26
|
-
"motion": "^12.
|
|
26
|
+
"motion": "^12.23.6",
|
|
27
27
|
"notistack": "^3.0.2",
|
|
28
28
|
"react": "^19.1.0",
|
|
29
29
|
"react-color-palette": "^7.3.0",
|
|
30
30
|
"react-dom": "^19.1.0",
|
|
31
31
|
"react-error-boundary": "^6.0.0",
|
|
32
|
-
"react-i18next": "^15.
|
|
32
|
+
"react-i18next": "^15.6.0",
|
|
33
|
+
"react-lazy-load-image-component": "^1.6.3",
|
|
33
34
|
"react-markdown": "^10.1.0",
|
|
34
35
|
"react-markdown-typewriter": "^1.1.4",
|
|
35
|
-
"react-router-dom": "^7.6.
|
|
36
|
+
"react-router-dom": "^7.6.3",
|
|
36
37
|
"rehype-raw": "^7.0.0",
|
|
37
38
|
"remark-gfm": "^4.0.1",
|
|
38
39
|
"shade-generator": "^1.2.7",
|
|
39
|
-
"tailwindcss": "^4.1.
|
|
40
|
-
"vite-plugin-checker": "^0.
|
|
41
|
-
"zustand": "^5.0.
|
|
40
|
+
"tailwindcss": "^4.1.11",
|
|
41
|
+
"vite-plugin-checker": "^0.10.0",
|
|
42
|
+
"zustand": "^5.0.6"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
|
-
"@
|
|
45
|
-
"@
|
|
46
|
-
"@types/
|
|
47
|
-
"@types/react
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"eslint": "^
|
|
45
|
+
"@tailwindcss/typography": "^0.5.16",
|
|
46
|
+
"@tanstack/react-query-devtools": "^5.83.0",
|
|
47
|
+
"@types/node": "^24.0.14",
|
|
48
|
+
"@types/react": "^19.1.8",
|
|
49
|
+
"@types/react-dom": "^19.1.6",
|
|
50
|
+
"@types/react-lazy-load-image-component": "^1.6.4",
|
|
51
|
+
"@typescript-eslint/eslint-plugin": "^8.37.0",
|
|
52
|
+
"@typescript-eslint/parser": "^8.37.0",
|
|
53
|
+
"@vitejs/plugin-react": "^4.6.0",
|
|
54
|
+
"eslint": "^9.31.0",
|
|
52
55
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
53
56
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
54
|
-
"tailwindcss-motion": "^1.1.
|
|
57
|
+
"tailwindcss-motion": "^1.1.1",
|
|
55
58
|
"typescript": "^5.8.3",
|
|
56
|
-
"vite": "^
|
|
57
|
-
"vite-plugin-pwa": "^1.0.
|
|
59
|
+
"vite": "^7.0.4",
|
|
60
|
+
"vite-plugin-pwa": "^1.0.1"
|
|
58
61
|
},
|
|
59
62
|
"keywords": [
|
|
60
63
|
"game",
|
|
@@ -4,9 +4,17 @@ import { useI18n } from "./i18n";
|
|
|
4
4
|
import LoadingScreen from "./screens/LoadingScreen";
|
|
5
5
|
import { defineAssets } from "./utils/assets-utility";
|
|
6
6
|
import { initializeIndexedDB } from "./utils/indexedDB-utility";
|
|
7
|
+
import { initializeNQTR } from "./utils/nqtr-utility";
|
|
7
8
|
|
|
8
9
|
const Home = lazy(async () => {
|
|
9
|
-
await Promise.all([
|
|
10
|
+
await Promise.all([
|
|
11
|
+
import("./values"),
|
|
12
|
+
import("./labels"),
|
|
13
|
+
initializeIndexedDB(),
|
|
14
|
+
defineAssets(),
|
|
15
|
+
useI18n(),
|
|
16
|
+
initializeNQTR(),
|
|
17
|
+
]);
|
|
10
18
|
return import("./Home");
|
|
11
19
|
});
|
|
12
20
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Route, Routes } from "react-router-dom";
|
|
2
2
|
import NextButton from "./components/NextButton";
|
|
3
|
+
import VisibilityButton from "./components/VisibilityButton";
|
|
3
4
|
import { LOADING_ROUTE, MAIN_MENU_ROUTE, MAP_ROUTE, NARRATION_ROUTE, NAVIGATION_ROUTE } from "./constans";
|
|
4
5
|
import useNQTRDetector from "./hooks/useNQTRDetector";
|
|
5
6
|
import useSkipAutoDetector from "./hooks/useSkipAutoDetector";
|
|
@@ -37,7 +38,8 @@ function NarrationElement() {
|
|
|
37
38
|
<QuickTools />
|
|
38
39
|
<TextInput />
|
|
39
40
|
<NextButton />
|
|
40
|
-
<
|
|
41
|
+
<NarrationDetectors />
|
|
42
|
+
<VisibilityButton />
|
|
41
43
|
</>
|
|
42
44
|
);
|
|
43
45
|
}
|
|
@@ -52,11 +54,12 @@ function NavigationElement() {
|
|
|
52
54
|
<QuickRooms />
|
|
53
55
|
<TimeScreen />
|
|
54
56
|
<NqtrQuickTools />
|
|
57
|
+
<VisibilityButton />
|
|
55
58
|
</>
|
|
56
59
|
);
|
|
57
60
|
}
|
|
58
61
|
|
|
59
|
-
function
|
|
62
|
+
function NarrationDetectors() {
|
|
60
63
|
useSkipAutoDetector();
|
|
61
64
|
return <></>;
|
|
62
65
|
}
|
|
@@ -4,7 +4,7 @@ import Routes from "./AppRoutes";
|
|
|
4
4
|
import useClosePageDetector from "./hooks/useClosePageDetector";
|
|
5
5
|
import useKeyboardDetector from "./hooks/useKeyboardDetector";
|
|
6
6
|
import useEventListener from "./hooks/useKeyDetector";
|
|
7
|
-
import
|
|
7
|
+
import RootProvider from "./providers/RootProvider";
|
|
8
8
|
import GameSaveScreen from "./screens/GameSaveScreen";
|
|
9
9
|
import SaveLoadAlert from "./screens/modals/SaveLoadAlert";
|
|
10
10
|
import OfflineScreen from "./screens/OfflineScreen";
|
|
@@ -41,8 +41,8 @@ function HomeChild() {
|
|
|
41
41
|
|
|
42
42
|
export default function Home() {
|
|
43
43
|
return (
|
|
44
|
-
<
|
|
44
|
+
<RootProvider>
|
|
45
45
|
<HomeChild />
|
|
46
|
-
</
|
|
46
|
+
</RootProvider>
|
|
47
47
|
);
|
|
48
48
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AssetsManifest } from "@drincs/pixi-vn";
|
|
2
2
|
import { MAIN_MENU_ROUTE } from "../constans";
|
|
3
|
-
import { mainMap } from "../values/maps";
|
|
3
|
+
import { mainMap, nightcityMap } from "../values/maps";
|
|
4
4
|
import { aliceRoom, annRoom, bathroom, gymRoom, lounge, mcRoom, terrace } from "../values/rooms";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -41,6 +41,23 @@ const manifest: AssetsManifest = {
|
|
|
41
41
|
alias: "map-3",
|
|
42
42
|
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/images/location/map-3.webp",
|
|
43
43
|
},
|
|
44
|
+
{
|
|
45
|
+
alias: "icon_location_home",
|
|
46
|
+
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/nqtr_interface/home-00.webp",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
alias: "icon_location_gym",
|
|
50
|
+
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/nqtr_interface/gym.webp",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: nightcityMap.id,
|
|
56
|
+
assets: [
|
|
57
|
+
{
|
|
58
|
+
alias: "map-nightcity",
|
|
59
|
+
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/images/location/nightcity.webp",
|
|
60
|
+
},
|
|
44
61
|
],
|
|
45
62
|
},
|
|
46
63
|
// rooms
|
|
@@ -167,20 +184,6 @@ const manifest: AssetsManifest = {
|
|
|
167
184
|
},
|
|
168
185
|
],
|
|
169
186
|
},
|
|
170
|
-
// locations
|
|
171
|
-
{
|
|
172
|
-
name: "locations",
|
|
173
|
-
assets: [
|
|
174
|
-
{
|
|
175
|
-
alias: "icon_location_home",
|
|
176
|
-
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/nqtr_interface/home-00.webp",
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
alias: "icon_location_gym",
|
|
180
|
-
src: "https://raw.githubusercontent.com/DRincs-Productions/NQTR-System/refs/heads/main/game/nqtr_interface/gym.webp",
|
|
181
|
-
},
|
|
182
|
-
],
|
|
183
|
-
},
|
|
184
187
|
// alice
|
|
185
188
|
{
|
|
186
189
|
name: "alice",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Button, ButtonProps, ButtonTypeMap } from "@mui/joy";
|
|
2
|
+
import { motion, Variants } from "motion/react";
|
|
2
3
|
|
|
3
4
|
interface MenuButtonProps
|
|
4
5
|
extends ButtonProps<
|
|
@@ -12,6 +13,14 @@ interface MenuButtonProps
|
|
|
12
13
|
|
|
13
14
|
export default function MenuButton(props: MenuButtonProps) {
|
|
14
15
|
const { sx, transitionDelay, ...rest } = props;
|
|
16
|
+
const itemVariants: Variants = {
|
|
17
|
+
open: {
|
|
18
|
+
opacity: 1,
|
|
19
|
+
x: 0,
|
|
20
|
+
transition: { type: "spring", stiffness: 300, damping: 24, delay: transitionDelay },
|
|
21
|
+
},
|
|
22
|
+
closed: { opacity: 0, x: -50, transition: { duration: 0.2 } },
|
|
23
|
+
};
|
|
15
24
|
|
|
16
25
|
return (
|
|
17
26
|
<Button
|
|
@@ -20,7 +29,8 @@ export default function MenuButton(props: MenuButtonProps) {
|
|
|
20
29
|
fontSize: { xs: "0.75rem", sm: "0.75rem", md: "1rem", lg: "1.25rem", xl: "1.5rem" },
|
|
21
30
|
...sx,
|
|
22
31
|
}}
|
|
23
|
-
|
|
32
|
+
component={motion.div}
|
|
33
|
+
variants={itemVariants}
|
|
24
34
|
{...rest}
|
|
25
35
|
/>
|
|
26
36
|
);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DialogActions, DialogContent, Divider, ModalClose } from "@mui/joy";
|
|
2
2
|
import Modal from "@mui/joy/Modal";
|
|
3
3
|
import { default as ModalDialogJoy, ModalDialogProps } from "@mui/joy/ModalDialog";
|
|
4
|
-
import { AnimatePresence } from "motion/react";
|
|
5
4
|
import { useEffect, useMemo, useState } from "react";
|
|
6
5
|
|
|
7
6
|
export interface ModalDialogCustomProps extends ModalDialogProps {
|
|
@@ -41,31 +40,29 @@ export default function ModalDialogCustom(props: ModalDialogCustomProps) {
|
|
|
41
40
|
);
|
|
42
41
|
|
|
43
42
|
return (
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
<Modal
|
|
44
|
+
keepMounted
|
|
45
|
+
open={internalOpen}
|
|
46
|
+
onClose={() => canBeIgnored && setOpen(false)}
|
|
47
|
+
sx={{
|
|
48
|
+
pointerEvents: open ? "auto" : "none",
|
|
49
|
+
}}
|
|
50
|
+
className={modalVarians}
|
|
51
|
+
>
|
|
52
|
+
<ModalDialogJoy
|
|
49
53
|
sx={{
|
|
50
54
|
pointerEvents: open ? "auto" : "none",
|
|
55
|
+
...sx,
|
|
51
56
|
}}
|
|
52
|
-
className={
|
|
57
|
+
className={modalDialogVarians}
|
|
58
|
+
{...rest}
|
|
53
59
|
>
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
>
|
|
62
|
-
{canBeIgnored && <ModalClose />}
|
|
63
|
-
{head}
|
|
64
|
-
{head && <Divider />}
|
|
65
|
-
<DialogContent>{internalOpen && children}</DialogContent>
|
|
66
|
-
{actions && <DialogActions>{actions}</DialogActions>}
|
|
67
|
-
</ModalDialogJoy>
|
|
68
|
-
</Modal>
|
|
69
|
-
</AnimatePresence>
|
|
60
|
+
{canBeIgnored && <ModalClose />}
|
|
61
|
+
{head}
|
|
62
|
+
{head && <Divider />}
|
|
63
|
+
<DialogContent>{internalOpen && children}</DialogContent>
|
|
64
|
+
{actions && <DialogActions>{actions}</DialogActions>}
|
|
65
|
+
</ModalDialogJoy>
|
|
66
|
+
</Modal>
|
|
70
67
|
);
|
|
71
68
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { OnRunProps } from "@drincs/nqtr";
|
|
2
|
-
import { Assets } from "@drincs/pixi-vn";
|
|
3
2
|
import { useTheme } from "@mui/joy";
|
|
4
3
|
import { isValidElement, ReactElement } from "react";
|
|
4
|
+
import { LazyLoadComponent } from "react-lazy-load-image-component";
|
|
5
5
|
import useGameProps from "../hooks/useGameProps";
|
|
6
|
-
import
|
|
6
|
+
import TimeSlotsImage from "../models/TimeSlotsImage";
|
|
7
7
|
import useNqtrScreenStore from "../stores/useNqtrScreenStore";
|
|
8
|
+
import { getPixiJSAsset } from "../utils/assets-utility";
|
|
8
9
|
import RoundIconButton, { RoundIconButtonProps } from "./RoundIconButton";
|
|
9
10
|
|
|
10
11
|
interface NqtrRoundIconButtonProps extends RoundIconButtonProps {
|
|
@@ -17,7 +18,6 @@ export default function NqtrRoundIconButton(props: NqtrRoundIconButtonProps) {
|
|
|
17
18
|
|
|
18
19
|
return (
|
|
19
20
|
<RoundIconButton
|
|
20
|
-
className='motion-preset-pop'
|
|
21
21
|
sx={{
|
|
22
22
|
"--IconButton-size": { xs: "40px", sm: "60px", md: "80px" },
|
|
23
23
|
border: 3,
|
|
@@ -32,7 +32,7 @@ export default function NqtrRoundIconButton(props: NqtrRoundIconButtonProps) {
|
|
|
32
32
|
|
|
33
33
|
export function NqtrRoundIconButtonConvertor(
|
|
34
34
|
props: NqtrRoundIconButtonProps & {
|
|
35
|
-
image?: string |
|
|
35
|
+
image?: string | TimeSlotsImage | ReactElement | ((props: OnRunProps) => ReactElement);
|
|
36
36
|
}
|
|
37
37
|
) {
|
|
38
38
|
let { image, ...rest } = props;
|
|
@@ -47,26 +47,27 @@ export function NqtrRoundIconButtonConvertor(
|
|
|
47
47
|
return image;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
if (image instanceof
|
|
50
|
+
if (image instanceof TimeSlotsImage) {
|
|
51
51
|
image = image.src;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
if (typeof image == "string") {
|
|
55
55
|
try {
|
|
56
|
-
|
|
57
|
-
image = Assets.resolver.resolve(image).src || image;
|
|
56
|
+
image = getPixiJSAsset(image);
|
|
58
57
|
} catch {}
|
|
59
58
|
return (
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
<LazyLoadComponent>
|
|
60
|
+
<NqtrRoundIconButton
|
|
61
|
+
{...rest}
|
|
62
|
+
sx={{
|
|
63
|
+
backgroundImage: `url(${image})`,
|
|
64
|
+
backgroundSize: "cover",
|
|
65
|
+
backgroundPosition: "center",
|
|
66
|
+
fontSize: { xs: "1rem", sm: "1.5rem", md: "2rem", lg: "2.5rem", xl: "3rem" },
|
|
67
|
+
...rest.sx,
|
|
68
|
+
}}
|
|
69
|
+
/>
|
|
70
|
+
</LazyLoadComponent>
|
|
70
71
|
);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { IconButton, IconButtonProps, Shadow, Tooltip } from "@mui/joy";
|
|
2
|
+
import { useShallow } from "zustand/react/shallow";
|
|
3
|
+
import useInterfaceStore from "../stores/useInterfaceStore";
|
|
2
4
|
|
|
3
5
|
export interface RoundIconButtonProps extends IconButtonProps {
|
|
4
6
|
circumference?: string | {} | number;
|
|
@@ -8,6 +10,7 @@ export interface RoundIconButtonProps extends IconButtonProps {
|
|
|
8
10
|
|
|
9
11
|
export default function RoundIconButton(props: RoundIconButtonProps) {
|
|
10
12
|
const { sx, circumference, ariaLabel, elevation, ...rest } = props;
|
|
13
|
+
const hidden = useInterfaceStore(useShallow((state) => state.hidden));
|
|
11
14
|
|
|
12
15
|
return (
|
|
13
16
|
<Tooltip key={props.key ? "tooltip-" + props.key : undefined} title={ariaLabel}>
|
|
@@ -15,11 +18,13 @@ export default function RoundIconButton(props: RoundIconButtonProps) {
|
|
|
15
18
|
{/* This div is necessary to avoid the tooltip to be cutted */}
|
|
16
19
|
<IconButton
|
|
17
20
|
title={ariaLabel}
|
|
21
|
+
className={hidden ? "motion-scale-out-[0]" : "motion-scale-in-[0]"}
|
|
18
22
|
sx={{
|
|
19
23
|
borderRadius: "50%",
|
|
20
24
|
height: circumference,
|
|
21
25
|
width: circumference,
|
|
22
26
|
boxShadow: elevation ?? undefined,
|
|
27
|
+
pointerEvents: hidden ? "none" : "auto",
|
|
23
28
|
...sx,
|
|
24
29
|
}}
|
|
25
30
|
{...rest}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
|
|
2
|
+
import { IconButton, useTheme } from "@mui/joy";
|
|
3
|
+
import { useEffect, useMemo } from "react";
|
|
4
|
+
import { useShallow } from "zustand/react/shallow";
|
|
5
|
+
import useEventListener from "../hooks/useKeyDetector";
|
|
6
|
+
import useInterfaceStore from "../stores/useInterfaceStore";
|
|
7
|
+
|
|
8
|
+
export default function VisibilityButton() {
|
|
9
|
+
const hidden = useInterfaceStore(useShallow((state) => state.hidden));
|
|
10
|
+
const editHideInterface = useInterfaceStore((state) => state.editHidden);
|
|
11
|
+
const showInterface = useInterfaceStore((state) => state.show);
|
|
12
|
+
const iconVarians = useMemo(() => (hidden ? `motion-preset-pop` : `motion-scale-out-0`), [hidden]);
|
|
13
|
+
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
return () => {
|
|
16
|
+
showInterface();
|
|
17
|
+
};
|
|
18
|
+
}, [showInterface]);
|
|
19
|
+
|
|
20
|
+
useEventListener({
|
|
21
|
+
type: "keyup",
|
|
22
|
+
listener: (event) => {
|
|
23
|
+
if (event.code == "KeyV" && event.altKey) {
|
|
24
|
+
editHideInterface();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<IconButton
|
|
31
|
+
onClick={editHideInterface}
|
|
32
|
+
sx={{
|
|
33
|
+
position: "absolute",
|
|
34
|
+
top: 0,
|
|
35
|
+
right: 0,
|
|
36
|
+
}}
|
|
37
|
+
className={iconVarians}
|
|
38
|
+
>
|
|
39
|
+
<VisibilityOffIcon
|
|
40
|
+
sx={{
|
|
41
|
+
color: useTheme().palette.neutral[500],
|
|
42
|
+
}}
|
|
43
|
+
/>
|
|
44
|
+
</IconButton>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { StepLabelProps } from "@drincs/pixi-vn";
|
|
2
|
+
import { useQueryClient } from "@tanstack/react-query";
|
|
2
3
|
import { useSnackbar } from "notistack";
|
|
3
4
|
import { useTranslation } from "react-i18next";
|
|
4
5
|
import useMyNavigate from "./useMyNavigate";
|
|
6
|
+
import { INTERFACE_DATA_USE_QUEY_KEY } from "./useQueryInterface";
|
|
7
|
+
import useTimeTracker from "./useTimeTracker";
|
|
5
8
|
|
|
6
9
|
export default function useGameProps(): StepLabelProps {
|
|
7
10
|
const navigate = useMyNavigate();
|
|
8
11
|
const { t } = useTranslation(["narration"]);
|
|
9
12
|
const { t: uiTransition } = useTranslation(["ui"]);
|
|
10
13
|
const { enqueueSnackbar } = useSnackbar();
|
|
14
|
+
const queryClient = useQueryClient();
|
|
15
|
+
const { sleep, wait } = useTimeTracker();
|
|
11
16
|
|
|
12
17
|
return {
|
|
13
18
|
navigate,
|
|
14
19
|
t,
|
|
15
20
|
uiTransition,
|
|
16
21
|
notify: enqueueSnackbar,
|
|
22
|
+
invalidateInterfaceData: () => {
|
|
23
|
+
queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
|
|
24
|
+
},
|
|
25
|
+
sleep,
|
|
26
|
+
wait,
|
|
17
27
|
};
|
|
18
28
|
}
|
|
@@ -4,15 +4,12 @@ import { useCallback } from "react";
|
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import { useLocation } from "react-router-dom";
|
|
6
6
|
import useGameSaveScreenStore from "../stores/useGameSaveScreenStore";
|
|
7
|
-
import useInterfaceStore from "../stores/useInterfaceStore";
|
|
8
7
|
import { putSaveIntoIndexDB } from "../utils/save-utility";
|
|
9
8
|
import useEventListener from "./useKeyDetector";
|
|
10
9
|
import useQueryLastSave, { LAST_SAVE_USE_QUEY_KEY } from "./useQueryLastSave";
|
|
11
10
|
import { SAVES_USE_QUEY_KEY } from "./useQuerySaves";
|
|
12
11
|
|
|
13
12
|
export default function useKeyboardDetector() {
|
|
14
|
-
const hideInterface = useInterfaceStore((state) => state.hidden);
|
|
15
|
-
const setHideInterface = useInterfaceStore((state) => state.setHidden);
|
|
16
13
|
const setOpenLoadAlert = useGameSaveScreenStore((state) => state.editLoadAlert);
|
|
17
14
|
const queryClient = useQueryClient();
|
|
18
15
|
const { t } = useTranslation(["ui"]);
|
|
@@ -23,17 +20,6 @@ export default function useKeyboardDetector() {
|
|
|
23
20
|
const onkeydown = useCallback(
|
|
24
21
|
(event: KeyboardEvent) => {
|
|
25
22
|
switch (event.code) {
|
|
26
|
-
case "Enter":
|
|
27
|
-
case "Space":
|
|
28
|
-
if (hideInterface) {
|
|
29
|
-
setHideInterface(false);
|
|
30
|
-
}
|
|
31
|
-
break;
|
|
32
|
-
case "KeyV":
|
|
33
|
-
if (event.altKey) {
|
|
34
|
-
setHideInterface(!hideInterface);
|
|
35
|
-
}
|
|
36
|
-
break;
|
|
37
23
|
case "KeyS":
|
|
38
24
|
if (event.altKey) {
|
|
39
25
|
if (location.pathname === "/") {
|
|
@@ -62,7 +48,7 @@ export default function useKeyboardDetector() {
|
|
|
62
48
|
break;
|
|
63
49
|
}
|
|
64
50
|
},
|
|
65
|
-
[location,
|
|
51
|
+
[location, lastSave, queryClient, t]
|
|
66
52
|
);
|
|
67
53
|
|
|
68
54
|
useEventListener({ type: "keydown", listener: onkeydown });
|
|
@@ -5,6 +5,7 @@ import { useEffect } from "react";
|
|
|
5
5
|
import { CANVAS_UI_LAYER_NAME } from "../constans";
|
|
6
6
|
import { useQueryCurrentRoomId, useQueryRoom, useQueryTime } from "../hooks/useQueryNQTR";
|
|
7
7
|
import useNqtrScreenStore from "../stores/useNqtrScreenStore";
|
|
8
|
+
import { convertMultiTypeSprite } from "../utils/image-utility";
|
|
8
9
|
import useGameProps from "./useGameProps";
|
|
9
10
|
import { INTERFACE_DATA_USE_QUEY_KEY } from "./useQueryInterface";
|
|
10
11
|
|
|
@@ -17,44 +18,46 @@ export default function useNQTRDetector() {
|
|
|
17
18
|
const setDisable = useNqtrScreenStore((state) => state.setDisabled);
|
|
18
19
|
|
|
19
20
|
useEffect(() => {
|
|
20
|
-
const {
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// }
|
|
32
|
-
// let icon = activity.renderIcon({
|
|
33
|
-
// navigate: navigate,
|
|
34
|
-
// t: t,
|
|
35
|
-
// notify: (t(message), variant) => enqueueSnackbar(message, { variant }),
|
|
36
|
-
// });
|
|
37
|
-
// if (icon instanceof CanvasBase) {
|
|
38
|
-
// container.addChild(icon);
|
|
39
|
-
// }
|
|
40
|
-
// });
|
|
21
|
+
const { background } = currentRoom || {};
|
|
22
|
+
if (background) {
|
|
23
|
+
let image = convertMultiTypeSprite(background, gameProps);
|
|
24
|
+
let layer = canvas.getLayer(CANVAS_UI_LAYER_NAME);
|
|
25
|
+
if (layer) {
|
|
26
|
+
if (typeof image === "string") {
|
|
27
|
+
let sprite = new ImageSprite({}, image);
|
|
28
|
+
sprite.load();
|
|
29
|
+
image = sprite;
|
|
30
|
+
}
|
|
31
|
+
layer.addChild(image);
|
|
41
32
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
33
|
+
currentRoom?.activities.forEach(({ sprite }) => {
|
|
34
|
+
if (sprite) {
|
|
35
|
+
let icon = convertMultiTypeSprite(sprite, gameProps);
|
|
36
|
+
if (typeof icon === "string") {
|
|
37
|
+
let sprite = new ImageSprite({}, icon);
|
|
38
|
+
sprite.load();
|
|
39
|
+
icon = sprite;
|
|
40
|
+
}
|
|
41
|
+
layer.addChild(icon);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
currentRoom?.routine.forEach(({ sprite }) => {
|
|
45
|
+
if (sprite) {
|
|
46
|
+
let icon = convertMultiTypeSprite(sprite, gameProps);
|
|
47
|
+
if (typeof icon === "string") {
|
|
48
|
+
let sprite = new ImageSprite({}, icon);
|
|
49
|
+
sprite.load();
|
|
50
|
+
icon = sprite;
|
|
51
|
+
}
|
|
52
|
+
layer.addChild(icon);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
55
57
|
|
|
56
|
-
let
|
|
57
|
-
if (
|
|
58
|
+
let automaticFunctions = navigator.currentRoom?.automaticFunctions || [];
|
|
59
|
+
if (automaticFunctions.length > 0) {
|
|
60
|
+
let automaticFunction = automaticFunctions[0];
|
|
58
61
|
setDisable(true);
|
|
59
62
|
automaticFunction(gameProps).finally(() => {
|
|
60
63
|
queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
|
|
@@ -2,6 +2,7 @@ import { narration, stepHistory, StoredIndexedChoiceInterface } from "@drincs/pi
|
|
|
2
2
|
import { useQueryClient } from "@tanstack/react-query";
|
|
3
3
|
import { useCallback } from "react";
|
|
4
4
|
import { useShallow } from "zustand/react/shallow";
|
|
5
|
+
import useInterfaceStore from "../stores/useInterfaceStore";
|
|
5
6
|
import useStepStore from "../stores/useStepStore";
|
|
6
7
|
import useGameProps from "./useGameProps";
|
|
7
8
|
import { INTERFACE_DATA_USE_QUEY_KEY } from "./useQueryInterface";
|
|
@@ -9,12 +10,17 @@ import { INTERFACE_DATA_USE_QUEY_KEY } from "./useQueryInterface";
|
|
|
9
10
|
export default function useNarrationFunctions() {
|
|
10
11
|
const setNextStepLoading = useStepStore(useShallow((state) => state.setLoading));
|
|
11
12
|
const setBackLoading = useStepStore((state) => state.setBackLoading);
|
|
13
|
+
const hidden = useInterfaceStore(useShallow((state) => state.hidden));
|
|
14
|
+
const setHideInterface = useInterfaceStore((state) => state.setHidden);
|
|
12
15
|
const queryClient = useQueryClient();
|
|
13
16
|
const gameProps = useGameProps();
|
|
14
17
|
|
|
15
18
|
const goNext = useCallback(async () => {
|
|
16
19
|
setNextStepLoading(true);
|
|
17
20
|
try {
|
|
21
|
+
if (hidden) {
|
|
22
|
+
setHideInterface(false);
|
|
23
|
+
}
|
|
18
24
|
if (!narration.canGoNext) {
|
|
19
25
|
setNextStepLoading(false);
|
|
20
26
|
return;
|