Skip to content
Snippets Groups Projects
ConnectionStatus.tsx 1.04 KiB
Newer Older
insert's avatar
insert committed
import { Text } from "preact-i18n";
import { useContext } from "preact/hooks";
insert's avatar
insert committed

import {
    ClientStatus,
    StatusContext,
insert's avatar
insert committed
} from "../../../context/revoltjs/RevoltClient";

import Banner from "../../ui/Banner";
insert's avatar
insert committed

export default function ConnectionStatus() {
    const status = useContext(StatusContext);
insert's avatar
insert committed

    if (status === ClientStatus.OFFLINE) {
        return (
            <Banner>
                <Text id="app.special.status.offline" />
            </Banner>
        );
    } else if (status === ClientStatus.DISCONNECTED) {
        return (
            <Banner>
                <Text id="app.special.status.disconnected" />
            </Banner>
        );
    } else if (status === ClientStatus.CONNECTING) {
        return (
            <Banner>
                <Text id="app.special.status.connecting" />
            </Banner>
        );
    } else if (status === ClientStatus.RECONNECTING) {
        return (
            <Banner>
                <Text id="app.special.status.reconnecting" />
            </Banner>
        );
    }
    return null;
insert's avatar
insert committed
}