22 lines
659 B
TypeScript
22 lines
659 B
TypeScript
import { Chat, UserMySelf } from "lingchair-client-protocol"
|
|
|
|
export interface SharedState {
|
|
favouriteChats: Chat[]
|
|
currentSelectedChatId: string
|
|
}
|
|
|
|
type Action =
|
|
| { type: 'update_favourite_chat', data: Chat[] }
|
|
| { type: 'update_selected_chat_id', data: string }
|
|
|
|
export default function MainSharedReducer(state: SharedState, action: Action): SharedState {
|
|
switch (action.type) {
|
|
case 'update_favourite_chat':
|
|
return { ...state, favouriteChats: action.data }
|
|
case 'update_selected_chat_id':
|
|
return { ...state, currentSelectedChatId: action.data }
|
|
default:
|
|
return state
|
|
}
|
|
}
|