mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-06 17:11:55 +00:00
Refactor + add message box.
This commit is contained in:
@@ -4,12 +4,12 @@ import { Children } from "../../../types/Preact";
|
||||
import { useIntermediate } from "../Intermediate";
|
||||
import InputBox from "../../../components/ui/InputBox";
|
||||
import Overline from "../../../components/ui/Overline";
|
||||
import UserIcon from "../../../components/common/UserIcon";
|
||||
import { AppContext } from "../../revoltjs/RevoltClient";
|
||||
import { mapMessage, takeError } from "../../revoltjs/util";
|
||||
import Modal, { Action } from "../../../components/ui/Modal";
|
||||
import { Channels, Servers } from "revolt.js/dist/api/objects";
|
||||
import { useContext, useEffect, useState } from "preact/hooks";
|
||||
import { AppContext } from "../../revoltjs/RevoltClient";
|
||||
import { mapMessage, takeError } from "../../revoltjs/util";
|
||||
import UserIcon from "../../../components/common/user/UserIcon";
|
||||
import Message from "../../../components/common/messaging/Message";
|
||||
|
||||
interface Props {
|
||||
|
||||
@@ -4,7 +4,7 @@ import styles from "./UserPicker.module.scss";
|
||||
import { useUsers } from "../../revoltjs/hooks";
|
||||
import Modal from "../../../components/ui/Modal";
|
||||
import { User, Users } from "revolt.js/dist/api/objects";
|
||||
import UserCheckbox from "../../../components/common/UserCheckbox";
|
||||
import UserCheckbox from "../../../components/common/user/UserCheckbox";
|
||||
|
||||
interface Props {
|
||||
omit?: string[];
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
import Modal from "../../../components/ui/Modal";
|
||||
import { decodeTime } from "ulid";
|
||||
import { Localizer, Text } from "preact-i18n";
|
||||
import styles from "./UserProfile.module.scss";
|
||||
import Preloader from "../../../components/ui/Preloader";
|
||||
import Modal from "../../../components/ui/Modal";
|
||||
import { Route } from "revolt.js/dist/api/routes";
|
||||
import { Users } from "revolt.js/dist/api/objects";
|
||||
import { IntermediateContext, useIntermediate } from "../Intermediate";
|
||||
import { Globe, Mail, Edit, UserPlus, Shield } from "@styled-icons/feather";
|
||||
import { useIntermediate } from "../Intermediate";
|
||||
import { Link, useHistory } from "react-router-dom";
|
||||
import { useContext, useEffect, useLayoutEffect, useState } from "preact/hooks";
|
||||
import { decodeTime } from "ulid";
|
||||
import { CashStack } from "@styled-icons/bootstrap";
|
||||
import { AppContext, ClientStatus, StatusContext } from "../../revoltjs/RevoltClient";
|
||||
import { useChannels, useForceUpdate, useUser, useUsers } from "../../revoltjs/hooks";
|
||||
import UserIcon from '../../../components/common/UserIcon';
|
||||
import UserStatus from '../../../components/common/UserStatus';
|
||||
import Preloader from "../../../components/ui/Preloader";
|
||||
import Tooltip from '../../../components/common/Tooltip';
|
||||
import ChannelIcon from '../../../components/common/ChannelIcon';
|
||||
import Markdown from '../../../components/markdown/Markdown';
|
||||
import UserIcon from '../../../components/common/user/UserIcon';
|
||||
import ChannelIcon from '../../../components/common/ChannelIcon';
|
||||
import UserStatus from '../../../components/common/user/UserStatus';
|
||||
import { Mail, Edit, UserPlus, Shield } from "@styled-icons/feather";
|
||||
import { useChannels, useForceUpdate, useUsers } from "../../revoltjs/hooks";
|
||||
import { useContext, useEffect, useLayoutEffect, useState } from "preact/hooks";
|
||||
import { AppContext, ClientStatus, StatusContext } from "../../revoltjs/RevoltClient";
|
||||
|
||||
interface Props {
|
||||
user_id: string;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { ReactNode } from "react";
|
||||
import { useContext } from "preact/hooks";
|
||||
import { Redirect } from "react-router-dom";
|
||||
import { Children } from "../../types/Preact";
|
||||
|
||||
import { OperationsContext } from "./RevoltClient";
|
||||
|
||||
interface Props {
|
||||
auth?: boolean;
|
||||
children: ReactNode | ReactNode[];
|
||||
children: Children;
|
||||
}
|
||||
|
||||
export const CheckAuth = (props: Props) => {
|
||||
|
||||
@@ -11,8 +11,17 @@ export interface HookContext {
|
||||
export function useForceUpdate(context?: HookContext): HookContext {
|
||||
const client = useContext(AppContext);
|
||||
if (context) return context;
|
||||
const [, updateState] = useState({});
|
||||
return { client, forceUpdate: useCallback(() => updateState({}), []) };
|
||||
const H = useState(undefined);
|
||||
var updateState: (_: undefined) => void;
|
||||
if (Array.isArray(H)) {
|
||||
let [, u] = H;
|
||||
updateState = u;
|
||||
} else {
|
||||
console.warn('Failed to construct using useState.');
|
||||
console.warn(H);
|
||||
updateState = ()=>{};
|
||||
}
|
||||
return { client, forceUpdate: useCallback(() => updateState(undefined), []) };
|
||||
}
|
||||
|
||||
function useObject(type: string, id?: string | string[], context?: HookContext) {
|
||||
|
||||
Reference in New Issue
Block a user