Files
discord-decomp/modules/rpc/server/commands/setOrientationLockState.tsx
T
2026-11-01 12:12:55 +02:00

38 lines
1.7 KiB
TypeScript

// Metro module 13550 (f13551).
import { OrientationLockState } from "../../../activities/Constants";
import { RPCErrors, RPCCommands } from "../../../../_bundle/Module505";
import createRpcJoiSchemaObject from "../../helpers/createRpcJoiSchemaObject";
import Dispatcher from "../../../../Dispatcher";
import RPCError from "../../RPCError";
const r19 = {};
r19[RPCCommands.SET_ORIENTATION_LOCK_STATE] = {
validation: (a0) => createRpcJoiSchemaObject(a0).required().keys({
lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).required(),
picture_in_picture_lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).allow(null).optional(),
grid_lock_state: a0.number().valid(OrientationLockState.UNLOCKED, OrientationLockState.PORTRAIT, OrientationLockState.LANDSCAPE).allow(null).optional()
}),
handler: ({ socket, args }) => {
const { lock_state, picture_in_picture_lock_state, grid_lock_state } = args;
const id = socket.application.id;
if (id == null) {
throw new RPCError({
errorCode: RPCErrors.INVALID_COMMAND
}, "No application.");
}
Dispatcher.dispatch({
type: "FRAME_SET_ORIENTATION_LOCK_STATE",
applicationId: id,
lockState: lock_state,
pictureInPictureLockState: picture_in_picture_lock_state
});
Dispatcher.dispatch({
type: "EMBEDDED_ACTIVITY_SET_ORIENTATION_LOCK_STATE",
applicationId: id,
lockState: lock_state,
pictureInPictureLockState: picture_in_picture_lock_state,
gridLockState: grid_lock_state
});
}
};
export default r19;