Files
nirvana-v3/packages/legacy/controller/recoil.tsx
T
2022-05-12 15:24:36 -05:00

59 lines
1.2 KiB
TypeScript

import { atom } from "recoil";
export const $searchQuery = atom<string>({
key: "SEARCH_QUERY",
default: "",
});
export const $jwtToken = atom<string>({
key: "JWT_TOKEN",
default: null,
});
// conversation id
export const $selectedConversation = atom<string>({
key: "SELECTED_CONVERSATION",
default: null,
});
// new convo page trigger
export const $newConvoPage = atom<boolean>({
key: "NEW_CONVO_PAGE",
default: false,
});
// number of active lines
export const $numberActiveLines = atom<number>({
key: "NUMBER_ACTIVE_LINES",
default: 0,
});
// max number of active streams
export const $maxNumberActiveStreams = atom<number>({
key: "MAX_NUMBER_ACTIVE_STREAMS",
default: 0,
});
// ============
type DesktopMode = "flowState" | "overlayOnly" | "terminal";
export const $desktopMode = atom<DesktopMode>({
key: "DESKTOP_MODE",
default: "terminal",
});
export const $selectedLineId = atom<string>({
key: "SELECTED_LINE_ID",
default: null,
});
interface MediaSettings {
mode: "audio" | "video" | "screen";
isMuted: boolean;
}
export const $mediaSettings = atom<MediaSettings>({
key: "MEDIA_SETTINGS",
default: { isMuted: false, mode: "audio" },
});