Reviewed-on: #397 Co-authored-by: miteruzo <miteruzo@naver.com> Co-committed-by: miteruzo <miteruzo@naver.com>
このコミットはPull リクエスト #397 でマージされました.
このコミットが含まれているのは:
@@ -24,6 +24,11 @@ import { recoverCandidatePosts } from '@/lib/gekanatorCandidateRecovery'
|
||||
import { isQuestionHardFilteredAfterAnswers,
|
||||
monthForCondition } from '@/lib/gekanatorQuestionFilters'
|
||||
import { gekanatorKeys } from '@/lib/queryKeys'
|
||||
import {
|
||||
getClientGekanatorBackgroundMotion,
|
||||
setClientGekanatorBackgroundMotion,
|
||||
} from '@/lib/settings'
|
||||
import { useClientBehaviourSettings } from '@/lib/useClientBehaviourSettings'
|
||||
import { cn } from '@/lib/utils'
|
||||
|
||||
import type { FC } from 'react'
|
||||
@@ -185,7 +190,6 @@ const softenedAnswerWeight = .35
|
||||
const confidenceTemperature = 6
|
||||
const gameStorageKey = 'gekanator:game:v1'
|
||||
const recentGamesStorageKey = 'gekanator:recent-games:v1'
|
||||
const backgroundMotionStorageKey = 'gekanator:background-motion:v1'
|
||||
const maxStoredRecentGames = 12
|
||||
const specialOriginalMonthDayLabels: Record<string, string> = {
|
||||
'1-1': '元日',
|
||||
@@ -429,18 +433,13 @@ const storeRecentGameSummary = (
|
||||
|
||||
|
||||
const loadBackgroundMotionMode = (): BackgroundMotionMode => {
|
||||
const fallbackMode = 'on'
|
||||
try
|
||||
{
|
||||
const raw = localStorage.getItem (backgroundMotionStorageKey)
|
||||
if (raw === 'off' || raw === 'calm' || raw === 'on')
|
||||
return raw
|
||||
|
||||
return fallbackMode
|
||||
return getClientGekanatorBackgroundMotion ()
|
||||
}
|
||||
catch
|
||||
{
|
||||
return fallbackMode
|
||||
return 'on'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3679,6 +3678,8 @@ const expectedAnswerFor = (
|
||||
|
||||
|
||||
const GekanatorPage: FC<{ user: User | null }> = ({ user }) => {
|
||||
const behaviourSettings = useClientBehaviourSettings ()
|
||||
const animationMode = behaviourSettings.animation ?? 'normal'
|
||||
const storedGame = useMemo (loadStoredGame, [])
|
||||
const hasStoredRestore = storedGame != null && isStoredPhase (storedGame.phase)
|
||||
const queryClient = useQueryClient ()
|
||||
@@ -3916,7 +3917,7 @@ const GekanatorPage: FC<{ user: User | null }> = ({ user }) => {
|
||||
useEffect (() => {
|
||||
try
|
||||
{
|
||||
localStorage.setItem (backgroundMotionStorageKey, backgroundMotionMode)
|
||||
setClientGekanatorBackgroundMotion (backgroundMotionMode)
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -4071,9 +4072,12 @@ const GekanatorPage: FC<{ user: User | null }> = ({ user }) => {
|
||||
return reviewGuessedPostId === reviewCorrectPostId
|
||||
}) ()
|
||||
const effectiveBackgroundMotionMode = (() => {
|
||||
if (animationMode === 'off')
|
||||
return 'off'
|
||||
|
||||
if (backgroundMotionMode === 'off')
|
||||
return 'off'
|
||||
if (prefersReducedMotion)
|
||||
if (animationMode === 'reduced' || prefersReducedMotion)
|
||||
return 'calm'
|
||||
|
||||
return backgroundMotionMode
|
||||
|
||||
新しい課題から参照
ユーザをブロックする