diff options
Diffstat (limited to 'frontend/src/redux/actions')
-rw-r--r-- | frontend/src/redux/actions/all.js | 5 | ||||
-rw-r--r-- | frontend/src/redux/actions/all.ts | 5 | ||||
-rw-r--r-- | frontend/src/redux/actions/game.js | 34 | ||||
-rw-r--r-- | frontend/src/redux/actions/game.ts | 32 | ||||
-rw-r--r-- | frontend/src/redux/actions/lobby.js | 34 | ||||
-rw-r--r-- | frontend/src/redux/actions/lobby.ts | 32 | ||||
-rw-r--r-- | frontend/src/redux/actions/user.js | 25 | ||||
-rw-r--r-- | frontend/src/redux/actions/user.ts | 17 |
8 files changed, 86 insertions, 98 deletions
diff --git a/frontend/src/redux/actions/all.js b/frontend/src/redux/actions/all.js deleted file mode 100644 index 12522819..00000000 --- a/frontend/src/redux/actions/all.js +++ /dev/null @@ -1,5 +0,0 @@ -import type { GameAction } from './game'; -import type { LobbyAction } from './lobby'; -import type { PlayerAction } from './user'; - -export type Action = PlayerAction | LobbyAction | GameAction diff --git a/frontend/src/redux/actions/all.ts b/frontend/src/redux/actions/all.ts new file mode 100644 index 00000000..57d2a443 --- /dev/null +++ b/frontend/src/redux/actions/all.ts @@ -0,0 +1,5 @@ +import { GameAction } from './game'; +import { LobbyAction } from './lobby'; +import { PlayerAction } from './user'; + +export type Action = PlayerAction | LobbyAction | GameAction diff --git a/frontend/src/redux/actions/game.js b/frontend/src/redux/actions/game.js deleted file mode 100644 index 434aa8d3..00000000 --- a/frontend/src/redux/actions/game.js +++ /dev/null @@ -1,34 +0,0 @@ -import type { ApiPlayerMove, ApiPlayerTurnInfo, ApiPreparedCard, ApiTable } from '../../api/model'; - -export const types = { - REQUEST_SAY_READY: 'GAME/REQUEST_SAY_READY', - REQUEST_PREPARE_MOVE: 'GAME/REQUEST_PREPARE_MOVE', - PLAYER_READY_RECEIVED: 'GAME/PLAYER_READY_RECEIVED', - TABLE_UPDATE_RECEIVED: 'GAME/TABLE_UPDATE_RECEIVED', - PREPARED_CARD_RECEIVED: 'GAME/PREPARED_CARD_RECEIVED', - TURN_INFO_RECEIVED: 'GAME/TURN_INFO_RECEIVED', -}; - -export type SayReadyAction = { type: 'GAME/REQUEST_SAY_READY' }; -export type PrepareMoveAction = { type: 'GAME/REQUEST_PREPARE_MOVE', move: ApiPlayerMove }; -export type PlayerReadyEvent = { type: 'GAME/PLAYER_READY_RECEIVED', username: string }; -export type TableUpdateEvent = { type: 'GAME/TABLE_UPDATE_RECEIVED', table: ApiTable }; -export type PreparedCardEvent = { type: 'GAME/PREPARED_CARD_RECEIVED', card: ApiPreparedCard }; -export type TurnInfoEvent = { type: 'GAME/TURN_INFO_RECEIVED', turnInfo: ApiPlayerTurnInfo }; - -export type GameAction = - SayReadyAction - | PrepareMoveAction - | PlayerReadyEvent - | TableUpdateEvent - | PreparedCardEvent - | TurnInfoEvent; - -export const actions = { - sayReady: () => ({ type: types.REQUEST_SAY_READY }), - prepareMove: (move: ApiPlayerMove) => ({ type: types.REQUEST_PREPARE_MOVE, move }), - receivePlayerReady: (username: string) => ({ type: types.PLAYER_READY_RECEIVED, username }), - receiveTableUpdate: (table: ApiTable) => ({ type: types.TABLE_UPDATE_RECEIVED, table }), - receivePreparedCard: (card: ApiPreparedCard) => ({ type: types.PREPARED_CARD_RECEIVED, card }), - receiveTurnInfo: (turnInfo: ApiPlayerTurnInfo) => ({ type: types.TURN_INFO_RECEIVED, turnInfo }), -}; diff --git a/frontend/src/redux/actions/game.ts b/frontend/src/redux/actions/game.ts new file mode 100644 index 00000000..b67ea1dc --- /dev/null +++ b/frontend/src/redux/actions/game.ts @@ -0,0 +1,32 @@ +import { ApiPlayerMove, ApiPlayerTurnInfo, ApiPreparedCard, ApiTable } from '../../api/model'; + +export const REQUEST_SAY_READY = 'GAME/REQUEST_SAY_READY'; +export const REQUEST_PREPARE_MOVE = 'GAME/REQUEST_PREPARE_MOVE'; +export const PLAYER_READY_RECEIVED = 'GAME/PLAYER_READY_RECEIVED'; +export const TABLE_UPDATE_RECEIVED = 'GAME/TABLE_UPDATE_RECEIVED'; +export const PREPARED_CARD_RECEIVED = 'GAME/PREPARED_CARD_RECEIVED'; +export const TURN_INFO_RECEIVED = 'GAME/TURN_INFO_RECEIVED'; + +export type SayReadyAction = { type: typeof REQUEST_SAY_READY }; +export type PrepareMoveAction = { type: typeof REQUEST_PREPARE_MOVE, move: ApiPlayerMove }; +export type PlayerReadyEvent = { type: typeof PLAYER_READY_RECEIVED, username: string }; +export type TableUpdateEvent = { type: typeof TABLE_UPDATE_RECEIVED, table: ApiTable }; +export type PreparedCardEvent = { type: typeof PREPARED_CARD_RECEIVED, card: ApiPreparedCard }; +export type TurnInfoEvent = { type: typeof TURN_INFO_RECEIVED, turnInfo: ApiPlayerTurnInfo }; + +export type GameAction = + SayReadyAction + | PrepareMoveAction + | PlayerReadyEvent + | TableUpdateEvent + | PreparedCardEvent + | TurnInfoEvent; + +export const actions = { + sayReady: () => ({ type: REQUEST_SAY_READY }), + prepareMove: (move: ApiPlayerMove) => ({ type: REQUEST_PREPARE_MOVE, move }), + receivePlayerReady: (username: string) => ({ type: PLAYER_READY_RECEIVED, username }), + receiveTableUpdate: (table: ApiTable) => ({ type: TABLE_UPDATE_RECEIVED, table }), + receivePreparedCard: (card: ApiPreparedCard) => ({ type: PREPARED_CARD_RECEIVED, card }), + receiveTurnInfo: (turnInfo: ApiPlayerTurnInfo) => ({ type: TURN_INFO_RECEIVED, turnInfo }), +}; diff --git a/frontend/src/redux/actions/lobby.js b/frontend/src/redux/actions/lobby.js deleted file mode 100644 index 8768ec80..00000000 --- a/frontend/src/redux/actions/lobby.js +++ /dev/null @@ -1,34 +0,0 @@ -import type { ApiLobby } from '../../api/model'; - -export const types = { - UPDATE_GAMES: 'GAMES/UPDATE_GAMES', - REQUEST_CREATE_GAME: 'GAMES/REQUEST_CREATE_GAME', - REQUEST_JOIN_GAME: 'GAMES/REQUEST_JOIN_GAME', - REQUEST_START_GAME: 'GAMES/REQUEST_START_GAME', - ENTER_LOBBY: 'GAMES/ENTER_LOBBY', - ENTER_GAME: 'GAMES/ENTER_GAME', -}; - -export type UpdateGamesAction = { type: 'GAMES/UPDATE_GAMES', games: ApiLobby[]}; -export type RequestCreateGameAction = { type: 'GAMES/REQUEST_CREATE_GAME', gameName: string }; -export type RequestJoinGameAction = { type: 'GAMES/REQUEST_JOIN_GAME', gameId: number }; -export type RequestStartGameAction = { type: 'GAMES/REQUEST_START_GAME' }; -export type EnterLobbyAction = { type: 'GAMES/ENTER_LOBBY', gameId: number }; -export type EnterGameAction = { type: 'GAMES/ENTER_GAME', gameId: number }; - -export type LobbyAction = - | UpdateGamesAction - | RequestCreateGameAction - | RequestJoinGameAction - | RequestStartGameAction - | EnterLobbyAction - | EnterGameAction; - -export const actions = { - updateGames: (games: ApiLobby[]): UpdateGamesAction => ({ type: types.UPDATE_GAMES, games }), - requestJoinGame: (gameId: number): RequestJoinGameAction => ({ type: types.REQUEST_JOIN_GAME, gameId }), - requestCreateGame: (gameName: string): RequestCreateGameAction => ({ type: types.REQUEST_CREATE_GAME, gameName }), - requestStartGame: (): RequestStartGameAction => ({ type: types.REQUEST_START_GAME }), - enterLobby: (gameId: number): EnterLobbyAction => ({ type: types.ENTER_LOBBY, gameId }), - enterGame: (gameId: number): EnterGameAction => ({ type: types.ENTER_GAME, gameId }), -}; diff --git a/frontend/src/redux/actions/lobby.ts b/frontend/src/redux/actions/lobby.ts new file mode 100644 index 00000000..c121b022 --- /dev/null +++ b/frontend/src/redux/actions/lobby.ts @@ -0,0 +1,32 @@ +import { ApiLobby } from '../../api/model'; + +export const UPDATE_GAMES = 'GAMES/UPDATE_GAMES'; +export const REQUEST_CREATE_GAME = 'GAMES/REQUEST_CREATE_GAME'; +export const REQUEST_JOIN_GAME = 'GAMES/REQUEST_JOIN_GAME'; +export const REQUEST_START_GAME = 'GAMES/REQUEST_START_GAME'; +export const ENTER_LOBBY = 'GAMES/ENTER_LOBBY'; +export const ENTER_GAME = 'GAMES/ENTER_GAME'; + +export type UpdateGamesAction = { type: typeof UPDATE_GAMES, games: ApiLobby[]}; +export type RequestCreateGameAction = { type: typeof REQUEST_CREATE_GAME, gameName: string }; +export type RequestJoinGameAction = { type: typeof REQUEST_JOIN_GAME, gameId: number }; +export type RequestStartGameAction = { type: typeof REQUEST_START_GAME }; +export type EnterLobbyAction = { type: typeof ENTER_LOBBY, gameId: number }; +export type EnterGameAction = { type: typeof ENTER_GAME, gameId: number }; + +export type LobbyAction = + | UpdateGamesAction + | RequestCreateGameAction + | RequestJoinGameAction + | RequestStartGameAction + | EnterLobbyAction + | EnterGameAction; + +export const actions = { + updateGames: (games: ApiLobby[]): UpdateGamesAction => ({ type: UPDATE_GAMES, games }), + requestJoinGame: (gameId: number): RequestJoinGameAction => ({ type: REQUEST_JOIN_GAME, gameId }), + requestCreateGame: (gameName: string): RequestCreateGameAction => ({ type: REQUEST_CREATE_GAME, gameName }), + requestStartGame: (): RequestStartGameAction => ({ type: REQUEST_START_GAME }), + enterLobby: (gameId: number): EnterLobbyAction => ({ type: ENTER_LOBBY, gameId }), + enterGame: (gameId: number): EnterGameAction => ({ type: ENTER_GAME, gameId }), +}; diff --git a/frontend/src/redux/actions/user.js b/frontend/src/redux/actions/user.js deleted file mode 100644 index 4406230b..00000000 --- a/frontend/src/redux/actions/user.js +++ /dev/null @@ -1,25 +0,0 @@ -import { Map } from 'immutable'; -import type { ApiPlayer } from '../../api/model'; - -export const types = { - REQUEST_CHOOSE_USERNAME: 'USER/REQUEST_CHOOSE_USERNAME', - SET_CURRENT_PLAYER: 'USER/SET_CURRENT_PLAYER', - UPDATE_PLAYERS: 'USER/UPDATE_PLAYERS', -}; - -export type RequestChooseUsernameAction = { type: types.REQUEST_CHOOSE_USERNAME, username: string }; -export type SetCurrentPlayerAction = { type: types.SET_CURRENT_PLAYER, player: ApiPlayer }; -export type UpdatePlayersAction = { type: types.UPDATE_PLAYERS, players: Map<string, ApiPlayer> }; - -export type PlayerAction = RequestChooseUsernameAction | SetCurrentPlayerAction | UpdatePlayersAction; - -export const actions = { - chooseUsername: (username: string): RequestChooseUsernameAction => ({ - type: types.REQUEST_CHOOSE_USERNAME, - username, - }), - setCurrentPlayer: (player: ApiPlayer): SetCurrentPlayerAction => ({ - type: types.SET_CURRENT_PLAYER, - player: player, - }), -}; diff --git a/frontend/src/redux/actions/user.ts b/frontend/src/redux/actions/user.ts new file mode 100644 index 00000000..29c85707 --- /dev/null +++ b/frontend/src/redux/actions/user.ts @@ -0,0 +1,17 @@ +import { Map } from 'immutable'; +import { ApiPlayer } from '../../api/model'; + +export const REQUEST_CHOOSE_USERNAME = 'USER/REQUEST_CHOOSE_USERNAME'; +export const SET_CURRENT_PLAYER = 'USER/SET_CURRENT_PLAYER'; +export const UPDATE_PLAYERS = 'USER/UPDATE_PLAYERS'; + +export type RequestChooseUsernameAction = { type: typeof REQUEST_CHOOSE_USERNAME, username: string }; +export type SetCurrentPlayerAction = { type: typeof SET_CURRENT_PLAYER, player: ApiPlayer }; +export type UpdatePlayersAction = { type: typeof UPDATE_PLAYERS, players: Map<string, ApiPlayer> }; + +export type PlayerAction = RequestChooseUsernameAction | SetCurrentPlayerAction | UpdatePlayersAction; + +export const actions = { + chooseUsername: (username: string): RequestChooseUsernameAction => ({ type: REQUEST_CHOOSE_USERNAME, username }), + setCurrentPlayer: (player: ApiPlayer): SetCurrentPlayerAction => ({ type: SET_CURRENT_PLAYER, player }), +}; |