feat: implement useClient from client controller

This commit is contained in:
Paul Makles
2022-06-28 19:59:58 +01:00
parent fb466c44ed
commit c142c2e74d
72 changed files with 330 additions and 457 deletions

View File

@@ -19,7 +19,6 @@ import {
openContextMenu,
} from "preact-context-menu";
import { Text } from "preact-i18n";
import { useContext } from "preact/hooks";
import { IconButton, LineDivider } from "@revoltchat/ui";
@@ -28,16 +27,12 @@ import { QueuedMessage } from "../mobx/stores/MessageQueue";
import { NotificationState } from "../mobx/stores/NotificationOptions";
import { Screen, useIntermediate } from "../context/intermediate/Intermediate";
import {
AppContext,
ClientStatus,
StatusContext,
} from "../context/revoltjs/RevoltClient";
import { takeError } from "../context/revoltjs/util";
import CMNotifications from "./contextmenu/CMNotifications";
import Tooltip from "../components/common/Tooltip";
import UserStatus from "../components/common/user/UserStatus";
import { useSession } from "../controllers/client/ClientController";
import { modalController } from "../controllers/modals/ModalController";
import { internalEmit } from "./eventEmitter";
import { getRenderer } from "./renderer/Singleton";
@@ -122,12 +117,12 @@ type Action =
// Tip: This should just be split into separate context menus per logical area.
export default function ContextMenus() {
const { openScreen, writeClipboard } = useIntermediate();
const client = useContext(AppContext);
const session = useSession()!;
const client = session.client!;
const userId = client.user!._id;
const status = useContext(StatusContext);
const isOnline = status === ClientStatus.ONLINE;
const state = useApplicationState();
const history = useHistory();
const isOnline = session.state === "Online";
function contextClick(data?: Action) {
if (typeof data === "undefined") return;

View File

@@ -1,13 +0,0 @@
import { observer } from "mobx-react-lite";
import { useMemo } from "preact/hooks";
import { useApplicationState } from "../mobx/State";
import { AppContext } from "../context/revoltjs/RevoltClient";
export default observer(({ children }: { children: Children }) => {
const config = useApplicationState().config;
const client = useMemo(() => config.createClient(), [config.get()]);
return <AppContext.Provider value={client}>{children}</AppContext.Provider>;
});