settings-and-preferences
Builds S11 settings end to end, from saved fields and defaults to reducer actions, row visibility, row handlers and the effect of each setting (language, digits, audio, vibration, theme, reduce motion, hints). Use when adding or changing a setting or its row. Not for S11 layout (use toybox-screens).
- License 许可
- MIT
- 最近更新
- 2026-11-05
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- settings-and-preferences
- description
- Builds S11 settings end to end, from saved fields and defaults to reducer actions, row visibility, row handlers and the effect of each setting (language, digits, audio, vibration, theme, reduce motion, hints). Use when adding or changing a setting or its row. Not for S11 layout (use toybox-screens).
02 资源文件 444
- 资产文件assets/shared.json1.4 KB
- 参考文档references/rows-and-controls.md9.6 KB
- 参考文档references/settings-model.md22.5 KB
- 脚本scripts/check-lib.mjs44.4 KB
- 脚本scripts/check-settings.mjs21.0 KB
- 脚本scripts/lib/object-literal.mjs3.1 KB
- 脚本scripts/selftest.mjs526 B
- 脚本templates/connect-audio-settings.test.ts3.1 KB
- 脚本templates/connect-audio-settings.ts1.7 KB
- 脚本templates/create-shell-haptics.test.ts1.7 KB
- 脚本templates/create-shell-haptics.ts1.2 KB
- 脚本templates/external-links.test.ts4.1 KB
- 脚本templates/external-links.ts4.3 KB
- 脚本templates/language-change.test.ts2.7 KB
- 脚本templates/language-change.ts2.4 KB
- 其他templates/localized-root.test.tsx2.5 KB
- 其他templates/localized-root.tsx1.8 KB
- 脚本templates/settings-preference-actions.test.ts2.6 KB
- 脚本templates/settings-preference-actions.ts3.7 KB
- 脚本templates/settings-reducer.test.ts4.6 KB
- 脚本templates/settings-reducer.ts3.2 KB
- 脚本templates/settings-resets.test.ts2.1 KB
- 脚本templates/settings-resets.ts1.5 KB
- 脚本templates/settings-rows.android.test.ts2.8 KB
- 脚本templates/settings-rows.test.ts2.2 KB
- 脚本templates/settings-rows.ts3.5 KB
- 脚本templates/settings-selectors.test.ts2.0 KB
- 脚本templates/settings-selectors.ts1.6 KB
- 脚本templates/settings-store.test.ts3.2 KB
- 脚本templates/settings-store.ts1.8 KB
- 其他templates/theme-provider.tsx1.3 KB
- 其他templates/use-hints-during-play.test.tsx768 B
- 脚本templates/use-hints-during-play.ts567 B
- 脚本templates/use-reduce-motion-setting.test.ts1.8 KB
- 脚本templates/use-reduce-motion-setting.ts1.4 KB
- 脚本templates/use-reduce-motion.test.ts1.6 KB
- 脚本templates/use-reduce-motion.ts1.8 KB
- 其他templates/use-settings-context.test.tsx3.4 KB
- 脚本templates/use-settings-context.ts1.3 KB
- 其他templates/use-settings-model.test.tsx3.5 KB
- 脚本templates/use-settings-model.ts3.6 KB
- 其他templates/use-settings-resets.test.tsx2.6 KB
- 脚本templates/use-settings-resets.ts561 B
- 参考文档tests/fixtures/bad-async-storage/EXPECT.txt56 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-async-storage/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/settings-cache.ts184 B
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-async-storage/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-async-storage/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-missing-case/EXPECT.txt39 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-missing-case/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/stores/settings-reducer.ts2.6 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-missing-case/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-missing-case/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-music-on-default/EXPECT.txt55 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-music-on-default/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/services/save/schema/default-save-doc.ts621 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-music-on-default/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-music-on-default/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-no-effect/EXPECT.txt37 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-no-effect/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-no-effect/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-no-effect/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-no-row/EXPECT.txt37 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-no-row/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/screens/settings/settings-preference-actions.ts3.0 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-no-row/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-no-row/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-no-row/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-no-toggle-feedback/EXPECT.txt35 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-no-toggle-feedback/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/screens/settings/use-settings-model.ts3.1 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-no-toggle-feedback/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-no-toggle-feedback/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-publish-before-save-in-dispatch/EXPECT.txt42 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/stores/settings-store.ts1.8 KB
- 脚本tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-publish-before-save-in-dispatch/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-publish-first/EXPECT.txt39 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-publish-first/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-publish-first/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-publish-first/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-publish-from-save-first/EXPECT.txt39 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-publish-from-save-first/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/stores/settings-store.ts1.7 KB
- 脚本tests/fixtures/bad-publish-from-save-first/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-publish-from-save-first/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-reanimated-reduced-motion/EXPECT.txt36 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/app/motion-fade.ts140 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-reanimated-reduced-motion/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-reset-bare-update/EXPECT.txt86 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-reset-bare-update/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-reset-bare-update/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-reset-bare-update/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-reset-settings/EXPECT.txt56 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-reset-settings/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/services/save/reset-progress.ts904 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-reset-settings/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-reset-settings/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-unknown-setting/EXPECT.txt42 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-unknown-setting/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/services/save/schema/save-sections-v1.ts819 B
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-unknown-setting/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-unknown-setting/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/bad-volume-scale/EXPECT.txt39 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/bad-volume-scale/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/bad-volume-scale/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/bad-volume-scale/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 脚本tests/fixtures/good/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/good/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/good/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/good/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/good/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/good/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/good/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/good/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/good/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/good/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/good/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/good/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/good/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/good/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/good/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/good/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/good/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/good/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/good/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/pass-publish-from-save/EXPECT.txt13 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/pass-publish-from-save/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/stores/settings-store.ts1.8 KB
- 脚本tests/fixtures/pass-publish-from-save/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/pass-publish-from-save/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/pass-unrelated-set-above-dispatch/EXPECT.txt13 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/screens/settings/language/language-change.ts1.6 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/screens/settings/settings-preference-actions.ts3.6 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/screens/settings/settings-rows.ts3.5 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/screens/settings/use-settings-context.ts934 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/screens/settings/use-settings-model.ts3.2 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/stores/settings-store.ts1.7 KB
- 脚本tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/pass-unrelated-set-above-dispatch/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/slice/bad-hints-effect-in-s11/EXPECT.txt75 B
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/slice/bad-hints-effect-in-s11/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/slice/bad-hints-effect-in-s11/shell-slice.json91 B
- 参考文档tests/fixtures/slice/bad-slice-settings/EXPECT.txt169 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/slice/bad-slice-settings/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/slice/bad-slice-settings/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/slice/bad-slice-settings/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/slice/bad-slice-settings/shell-slice.json71 B
- 脚本tests/fixtures/slice/good/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/slice/good/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/slice/good/packages/shell/src/game-host/use-hints-during-play.ts321 B
- 脚本tests/fixtures/slice/good/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/slice/good/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/slice/good/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/slice/good/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/slice/good/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/slice/good/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/slice/good/shell-slice.json73 B
- 参考文档tests/fixtures/slice/pass-hints-effect-before-s11/EXPECT.txt45 B
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/app/connect-audio-settings.ts1.7 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/app/create-shell-haptics.ts689 B
- 其他tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/app/localized-root.tsx1.6 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/app/use-reduce-motion.ts918 B
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/services/save/reset-progress.ts874 B
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/services/save/schema/default-save-doc.ts622 B
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/services/save/schema/save-sections-v1.ts794 B
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/stores/settings-reducer.ts2.7 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/stores/settings-resets.ts1.5 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/stores/settings-selectors.ts1.6 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/stores/settings-store.ts1.4 KB
- 脚本tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/stores/use-settings-resets.ts561 B
- 其他tests/fixtures/slice/pass-hints-effect-before-s11/packages/shell/src/theme/theme-provider.tsx1.3 KB
- 参考文档tests/fixtures/slice/pass-hints-effect-before-s11/shell-slice.json73 B
03 SKILL.md 正文
Settings and preferences
Every S11 setting is saved in one place, changed by one action, shown by one row, and applied by code outside the Settings screen, at once and without a Save button; a script proves the chain for every field.
Rules that must hold
- Settings live only in the save document's
settingssection, written through the settings store. The store reduces, callssave.update(sync, one transaction), then publishes; so the screen never shows a value that is not on disk. No AsyncStorage, MMKV, SecureStore or side caches. - Exactly the eleven fields, with the agreed first-launch values:
language: null(System),digits: 'automatic', sound on at 80, music off at 60, vibration on,theme: 'system', colour-blind off,reduceMotion: 'system', hints on. Music stays off by default so it never plays over the player's own music; System values follow the phone. - One pure reducer action per change (
set-language,set-digits,set-sound,set-music,set-vibration,set-theme,set-color-blind,set-reduce-motion,set-hints-during-play,finish-tutorial). Volumes are integer percent, rounded and clamped 0..100 in the reducer. - Every setting has an effect outside the Settings screen, applied immediately: language and digits through
LocalizedRoot, theme and colour-blind throughThemeProvider, reduce motion throughuseReduceMotion, sound and music throughconnectAudioSettings, vibration through the haptics adapter'sisEnabled, hints through the game host. A setting nothing reads is a bug the player can see. - Rows that do not apply are hidden, never greyed: Music without game music, Vibration without haptics (
HapticsPort.isSupported: false on iPad; on Android the adapter decides), Ad privacy choices unless privacy options are required, Remove ads for Premium owners (they see "Premium – active"). A game without music (Line Siege) is compared in visual parity against the no-music S11 and S6 variants, which the capture picks fromparity/game-facts.json; never force the Music rows on to match the base frame. - A direction flip needs the restart dialog. Changing between LTR and RTL languages switches the text at once but the layout only after "Restart now"; the save is untouched either way.
- Resets never touch settings, first-run state or Premium, and each is ONE
updateAndPublishwrite. "Reset all progress" deletes levels, stars, run, daily results and statistics; "Reset statistics" only the stats section; both confirm in S14 first, thenupdateAndPublish(save, stores, { recipe, refreshBackup: true })(settings-resets.ts), so every section store re-reads the save. A baresave.updateleaves Home, Levels and S10 showing old numbers until a restart. - Reduce motion is read only through
useReduceMotion(); the Settings row readsuseReduceMotionSetting()(app/use-reduce-motion-setting.ts). Reanimated'suseReducedMotion()is a load-time constant that ignores the Shell setting.useReduceMotion()is also true during a parity capture (every loop holds still); the row shows the saved choice, never that freeze, and so does the S12 success confetti's hide switch (it hides only for the saved choice). - Rows carry the design's testIDs (
settings.<row>-switch|-row, fromsettings-rows.ts), so tests and the Toybox screen agree. - Every switch plays the toggle feedback once, after its dispatch.
use-settings-model.tspassesonToggled: () => { playUiFeedback(services, 'toggle'); }tocreatePreferenceActions: theui.togglesound with the selection pulse, through the ports (so "Sound off" is already silent and "Vibration off" already still). Sliders play nothing; segments and link rows tap through their press host.
Workflow
- Read references/settings-model.md: product rules, saved fields, defaults, actions, the row table and the effects table.
- When each file lands in a Shell built step by step (the whole table: references/settings-model.md, "When each file lands"): the store layer at Shell step 5 (with state-stores); at Shell step 7, with the composition root and whatever the slice,
app/connect-audio-settings.ts,app/create-shell-haptics.ts,app/localized-root.tsxandconfig/external-links.ts, each with its test (the composition root imports them), together with the sharedtheme/theme-provider.tsx,app/use-reduce-motion.tsandapp/use-reduce-motion-setting.ts(with their tests) if the design-system and hooks work has not copied them yet; screens built before S11 borrow three files, each landing with its test in the commit of the first screen that imports it:settings-preference-actions.ts(+ test) with S5 (the Game screen draws the S6 Pause overlay, so S5, S6 and S7 land together),stores/settings-resets.tsandstores/use-settings-resets.ts(each + test) with S10 Statistics (the resets are a cross-section store write, so they live instores/, besideupdate-and-publish.ts; S10 and S11 import them from there); the rest of step 3 lands with S11, andlanguage-change.ts(+ test) with S2 (its Continue and S11a's rows share the one restart rule,restartDirectionOf; S11 names the System row with itssystemLabel). Store layer: copysettings-reducer.ts(+settings-reducer.test.ts),settings-selectors.ts(+settings-selectors.test.ts),settings-store.ts(+settings-store.test.ts) topackages/shell/src/stores/. Write the test first when changing an action. (state-stores ships the same six files, all synced from the library, so they are byte-identical; copy them once.) - Rows and handlers: copy
settings-rows.ts(+ test, andsettings-rows.android.test.ts, which runs in theunit-androidJest project once the repo has it: the Vibration row follows the real haptics adapter on Android),settings-preference-actions.ts(+ test),use-settings-model.ts(+ test),use-settings-context.ts(+ test;hasMusicisuseGameHost().hasMusic) topackages/shell/src/screens/settings/,settings-resets.tsanduse-settings-resets.ts(each + test) topackages/shell/src/stores/,language-change.ts(+ test) toscreens/settings/language/, andexternal-links.ts(+ test: the store review page, the privacy policy page, the support mail and the licence texts; the one app file allowed to hold URLs) topackages/shell/src/config/. The Settings route isconst model = useSettingsModel(useSettingsContext()); const extras = useSettingsExtras();(toybox-screens ships the extras hook). Read references/rows-and-controls.md for each control's behaviour, accessibility, feedback and copy keys. The S14 reset dialogs calluseSettingsResets()'sonConfirmResetStats/onConfirmResetProgress. - Effects: copy
localized-root.tsx,connect-audio-settings.ts,use-reduce-motion-setting.ts,use-reduce-motion.ts,create-shell-haptics.ts(each with its test) topackages/shell/src/app/,use-hints-during-play.ts(+ test) topackages/shell/src/game-host/, andtheme-provider.tsxtopackages/shell/src/theme/(the two reduce-motion files are the same as react-components-and-hooks ships,theme-provider.tsxthe same as toybox-design-system's: copy once); the composition root callsconnectAudioSettings(stores.settings, audio)and usescreateShellHaptics(stores.settings, clock)asservices.haptics, and the game host gates tips and nudges withuseHintsDuringPlay()(effects table). - The S11 screen layout and testIDs come from the Toybox screen spec; feed it
useSettingsModel(useSettingsContext())(the context readsuseGameHost().hasMusicitself). - Adding or changing a setting: follow "Changing or adding a setting" in references/settings-model.md, including the schema migration and the checker's
FIELDStable. Ask the owner first: it is a product change. - Run the tests (
npx jest packages/shell/src/stores packages/shell/src/screens/settings packages/shell/src/app --ci --selectProjects unit --coverage --collectCoverageFrom='packages/shell/src/screens/settings/**/*.ts' --coverageThreshold='{}'; paths first, because--selectProjectstakes every following word as a project name; onlynpm run test:coveragejudges the thresholds), thennode ${CLAUDE_SKILL_DIR}/scripts/check-settings.mjs .from the repo root (a partial Shell without S11 printsSKIPlines for the S11 rows). Fix everyFAILline and rerun until it printsRESULT: PASS.
Definition of done
- [ ]
SETTINGS_V<n>holds the eleven fields;DEFAULT_SETTINGSholds the agreed values. - [ ] Every settings action has a reducer case and a test; volume clamping has a property test.
- [ ] Each visible row dispatches its action; hidden rows follow
settingsGroupsForand its tests pass. - [ ] Each field has its effect wired and tested (language, digits, theme, colour-blind, reduce motion, sound, music, vibration, hints).
- [ ] Choosing a language of the other direction opens "Restart to apply"; the same direction switches at once.
- [ ] Reset all progress keeps settings, first-run state and Premium; both resets are one
updateAndPublishwrite each, andsettings-resets.test.tspasses. - [ ] Every switch plays the toggle feedback after its dispatch (
use-settings-model.test.tsxhearsui.toggleand feelsselection). - [ ] During a parity capture the Reduce motion row still shows the saved choice (
use-settings-model.test.tsx), whileuseReduceMotion()holds every animation still (use-reduce-motion.test.ts). - [ ]
node ${CLAUDE_SKILL_DIR}/scripts/check-settings.mjs .printsRESULT: PASS
Anti-patterns
- A local
useStatecopy of a setting in the screen. It drifts from the store and skips the save; read the store and dispatch. - A "Save" button or a delayed write. Every change is saved at once; the store already persists before it publishes.
- Reading
settings.reduceMotiondirectly.'system'must resolve against the phone's switch; useuseReduceMotion(). - Passing
soundVolumestraight to the audio port. The save keeps percent; divide by 100 (toAudioSettings). - Greying out rows that do not apply. Hide them (Music, Vibration, Ad privacy choices), as the spec says.
- Resetting settings with progress. Only progress, run, daily, statistics, hints and upsell go.
- Restarting the app for a same-direction language change. Only a direction flip needs the restart.
save.update(resetAllProgress, …)from a dialog handler. The disk is right but the progress and stats stores keep their old sections; useupdateAndPublish(check-settingsreportsreset-publish).- Playing the toggle sound in the row component, or before the dispatch. The row would sound twice (tap and toggle), and "Sound off" would still click; the handler plays it after dispatching.
Files in this skill
| File | What it is | Read/run when |
|---|---|---|
| references/settings-model.md | Rules, saved fields, defaults, actions, row table, effects table, restart, resets, how to add a setting | Workflow step 1 and step 6 |
| references/rows-and-controls.md | Row behaviour, accessibility, S11a list, dialogs, copy keys, tests to write | Workflow step 3 |
| templates/settings-reducer.ts | Pure reducer for every settings action | Workflow step 2 |
| templates/settings-reducer.test.ts | One test per action + volume property | Workflow step 2 |
| templates/settings-selectors.ts | Primitive selectors | Workflow step 2 |
| templates/settings-selectors.test.ts | First-launch values, references, a dispatched change | Workflow step 2 |
| templates/settings-store.ts | Reduce → save.update → set | Workflow step 2 |
| templates/settings-store.test.ts | Persist-then-publish and clamping | Workflow step 2 |
| templates/settings-rows.ts | Groups, rows, visibility, row testIDs | Workflow step 3 |
| templates/settings-rows.test.ts | Visibility rules | Workflow step 3 |
| templates/settings-rows.android.test.ts | The unit-android project: the Vibration row shows exactly when haptics.isSupported, through the real Android haptics adapter and the settings context |
Workflow step 3 (Android step 3 of a port) |
| templates/settings-preference-actions.ts | Row handlers (one action each) | Workflow step 3 |
| templates/settings-preference-actions.test.ts | Handler tests | Workflow step 3 |
| templates/use-settings-model.ts | The S11 screen's data and handlers | Workflow steps 3 and 5 |
| templates/use-settings-model.test.tsx | Language value, previews, live update | Workflow step 3 |
| templates/use-settings-context.ts | Music (from the game host), haptics, consent and Premium facts for the rows | Workflow steps 3 and 5 |
| templates/use-settings-context.test.tsx | Its test: Music from the host, Vibration from haptics | Workflow step 3 |
| templates/external-links.ts | packages/shell/src/config/external-links.ts: the OS hand-off URLs (review page, store page for the S14 update dialog, each chosen by platform: the App Store on iOS, Google Play's market: page with its web fallback on Android, privacy policy, support mail, licence texts) |
Workflow step 3 |
| templates/external-links.test.ts | Its test (checks the URLs by their parts: no URL literal outside that file) | Workflow step 3 |
| templates/settings-resets.ts | The two resets, one updateAndPublish each |
Workflow step 3 |
| templates/settings-resets.test.ts | Stores re-read, backup refreshed, settings and Premium kept | Workflow step 3 |
| templates/use-settings-resets.ts | The reset handlers bound to the app's save and stores (the S14 dialogs call them) | Workflow step 3 |
| templates/use-settings-resets.test.tsx | Its test: each handler resets the app's own save and stores, keeping progress or the settings | Workflow step 3 |
| templates/language-change.ts | set-language plan, restart decision and direction (restartDirectionOf, S2 and S11a), the System row's label (systemLabel, S11 and S11a) |
Workflow step 3 |
| templates/language-change.test.ts | Restart decision, restart direction and System label tests | Workflow step 3 |
| templates/localized-root.tsx | Language and digits effect | Workflow step 4 |
| templates/localized-root.test.tsx | Live language and digit switch | Workflow step 4 |
| templates/connect-audio-settings.ts | Sound and music effect | Workflow step 4 |
| templates/connect-audio-settings.test.ts | Audio effect tests | Workflow step 4 |
| templates/use-reduce-motion.ts | useReduceMotion() for animations (frozen on during a parity capture) |
Workflow step 4 |
| templates/use-reduce-motion.test.ts | Its test: a capture freezes motion, the row stays as saved | Workflow step 4 |
| templates/use-reduce-motion-setting.ts | useReduceMotionSetting() (the Settings row's value, never frozen) and resolveReduceMotion() |
Workflow step 4 |
| templates/use-reduce-motion-setting.test.ts | Resolution tests | Workflow step 4 |
| templates/theme-provider.tsx | Theme and colour-blind effect | Workflow step 4 |
| templates/create-shell-haptics.ts | Vibration effect: the haptics adapter asks the store at every pulse | Workflow step 4 |
| templates/create-shell-haptics.test.ts | Vibration off stops the next pulse | Workflow step 4 |
| templates/use-hints-during-play.ts | Hints effect: the game host's gate for tips and nudges | Workflow step 4 |
| templates/use-hints-during-play.test.tsx | Follows the setting live | Workflow step 4 |
scripts/check-settings.mjs |
Checker for fields, defaults, actions, rows, effects, resets (kept sections, one updateAndPublish), toggle feedback, single writer | Workflow step 7, and at the end |
scripts/lib/object-literal.mjs |
Helper that reads object literals | Never by hand |
scripts/selftest.mjs |
Proves the checker passes the good fixture and catches each planted bug | After changing the checker |
scripts/check-lib.mjs |
Shared script helper, synced from the library (do not edit here) | Never by hand |
assets/shared.json |
Declares the shared files this skill copies in (check-lib.mjs and the six settings store files, which are synced from the library: edit them there, never here) |
When adding a shared file |
tests/fixtures/ |
Good and planted-bad Shell source trees for the self-test, and slice/ (shell-slice.json: the S11 rules skipped outside the slice, strict inside it) |
When adding a rule to the checker |
Related skills
toybox-screens- the S11, S11a and S14 layouts and their testIDs.state-stores- the store pattern anduseShallowin general.save-persistence-and-migrations- the save document, schema versions and resets.i18n-strings-and-catalogs- catalogs,t()and the copy keys.rtl-and-direction-restartForDirectionand the startup direction check.game-audio-and-haptics- the audio and haptics ports the effects drive.premium-purchaseandadmob-ads- the Premium rows and the ad privacy form.
04 同仓库更多 Skills
unit-and-component-tests
Sets up Jest and writes Pocket Arcade test code - three projects, RNTL 14 async via renderWithShell, root SDK mocks, fakes, fast-check, coverage, Stryker. Use when a test needs the Shell wrapper, a mock or a fake, or Jest fails. Not for the red-green loop (tdd-workflow) or goldens (golden-tests).
typescript-and-lint-rules
Enforces Pocket Arcade's strict TypeScript 6 tsconfigs, ESLint 9 flat config, Prettier and size limits. Use when writing or splitting .ts/.tsx or fixing a tsc or lint error. Not for gate wiring (quality-gates), names (naming-conventions) or import zones (architecture-and-boundaries).
demo-skill
Builds a demo. Use when testing the pitfall checker.
demo-skill
Builds a demo. Use when testing the pitfall checker.
troubleshooting-playbook
Diagnoses and fixes Pocket Arcade failures with a catalogue of 300+ known ones (symptom, cause, fix). Use when something errors, crashes, hangs or renders wrong, or an error or log needs explaining. Not for gate setup (quality-gates) or running builds (ios-simulator-build, ios-release-testflight).
toybox-visual-parity
Proves a built Pocket Arcade screen matches its Toybox design screenshot (light/dark, en/fa) and drives the fixes: capture, element gates, sheets, sign-off. Use when any screen is built or changed, or for visual parity, design match, screenshot compare. Not for building screens (toybox-screens).