5180 fichiers 38.5 Mo 0 téléchargements 370 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / room / widgets / wired-link / WiredLinkWidgetView.tsx
WiredLinkWidgetView.tsx 1.9 Ko Télécharger le fichier
import { FC, useEffect } from 'react';
import { localizeWithFallback, NotificationAlertType } from '../../../../api';
import { WIRED_LINK_FALLBACKS } from '../../../../api/wired/WiredLink';
import { NativeTextTree } from '../../../../common/native-text/NativeTextTree';
import { useNotification } from '../../../../hooks';
import { useWiredLinkEvents, useWiredLinkStore } from '../../../../hooks/rooms/widgets/useWiredLinkState';
import { WiredLinkConnectionsView } from './WiredLinkConnectionsView';
import { WiredLinkView } from './WiredLinkView';

/**
 * The WIRED Link windows (AIR WiredLinkController): listens for the link packets so the server can open the
 * window when the owner uses their Link, then shows the networks and, on "Manage", a network's connections.
 */
export const WiredLinkWidgetView: FC<{}> = () =>
{
    useWiredLinkEvents();

    const isOpen = useWiredLinkStore(state => state.isOpen);
    const hasConnections = useWiredLinkStore(state => (state.connections !== null));
    const showReceiveLocalInfo = useWiredLinkStore(state => state.showReceiveLocalInfo);
    const { simpleAlert } = useNotification();

    // AIR WiredLinkView.showReceiveLocalInfo: receiving locally without a network is explained once.
    useEffect(() =>
    {
        if(!showReceiveLocalInfo) return;

        useWiredLinkStore.getState().setShowReceiveLocalInfo(false);
        simpleAlert(
            localizeWithFallback('wiredlink.receive.local.info', WIRED_LINK_FALLBACKS['wiredlink.receive.local.info']).replace(/\\n/g, '\n'),
            NotificationAlertType.DEFAULT,
            null,
            null,
            localizeWithFallback('wiredlink.receive.local.title', 'Receive own messages'));
    }, [ showReceiveLocalInfo, simpleAlert ]);

    return (
        <NativeTextTree>
            <>
                { isOpen && <WiredLinkView /> }
                { isOpen && hasConnections && <WiredLinkConnectionsView /> }
            </>
        </NativeTextTree>
    );
};
15Sujets
1Dépôts
20Membres
3En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser