1export interface DailyControllerStateInput {2 date: string;3 today: string;4 selectedStackIndex: number;5 playableStackIndex: number;6 visibleMaxStack: number;7}89export interface DailyControllerState {10 selectedStack: number;11 playableStack: number;12 visibleMaxStack: number;13}1415export function buildInitialDailyControllerState(16 input: DailyControllerStateInput,17): DailyControllerState {18 if (input.date === input.today) {19 const topStack = Math.max(20 input.selectedStackIndex,21 input.playableStackIndex,22 );23 return {24 selectedStack: topStack,25 playableStack: input.playableStackIndex,26 visibleMaxStack: Math.max(input.visibleMaxStack, topStack),27 };28 }2930 return {31 selectedStack: input.selectedStackIndex,32 playableStack: input.playableStackIndex,33 visibleMaxStack: input.visibleMaxStack,34 };35}