mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-07 01:15:28 +00:00
feat: implement useClient from client controller
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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>;
|
||||
});
|
||||
Reference in New Issue
Block a user