You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
903 B
26 lines
903 B
import {ClientActionPB} from "../proto/action";
|
|
import {SendableAction} from "../actions/ClientAction";
|
|
import {packHexColor} from "../util/ColorUtils";
|
|
import {storageCoordsToPb} from "./MapToPb";
|
|
import {USER_ACTIVE_COLOR} from "../actions/UserAction";
|
|
import {CELL_COLOR} from "../actions/CellAction";
|
|
|
|
export function sendableActionToPB(action: SendableAction): ClientActionPB {
|
|
switch (action.type) {
|
|
case CELL_COLOR:
|
|
return {
|
|
cellSetColor: {
|
|
at: storageCoordsToPb(action.at),
|
|
color: packHexColor(action.color),
|
|
},
|
|
userSetActiveColor: undefined,
|
|
}
|
|
case USER_ACTIVE_COLOR:
|
|
return {
|
|
userSetActiveColor: {
|
|
color: packHexColor(action.color)
|
|
},
|
|
cellSetColor: undefined,
|
|
}
|
|
}
|
|
} |