// Copyright (C) 2017-2023 Smart code 203358507 const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const { useTranslation } = require('react-i18next'); const { default: Icon } = require('@stremio/stremio-icons/react'); const { useServices } = require('stremio/services'); const { Button } = require('stremio/components'); const { default: useFullscreen } = require('stremio/common/useFullscreen'); const useProfile = require('stremio/common/useProfile'); const usePWA = require('stremio/common/usePWA'); const useTorrent = require('stremio/common/useTorrent'); const { withCoreSuspender } = require('stremio/common/CoreSuspender'); const useStreamingServer = require('stremio/common/useStreamingServer'); const styles = require('./styles'); const NavMenuContent = ({ onClick }) => { const { t } = useTranslation(); const { core } = useServices(); const profile = useProfile(); const streamingServer = useStreamingServer(); const { createTorrentFromMagnet } = useTorrent(); const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen(); const [isIOSPWA, isAndroidPWA] = usePWA(); const streamingServerWarningDismissed = React.useMemo(() => { return streamingServer.settings !== null && streamingServer.settings.type === 'Ready' || ( !isNaN(profile.settings.streamingServerWarningDismissed.getTime()) && profile.settings.streamingServerWarningDismissed.getTime() > Date.now() ); }, [profile.settings, streamingServer.settings]); const logoutButtonOnClick = React.useCallback(() => { core.transport.dispatch({ action: 'Ctx', args: { action: 'Logout' } }); }, []); const onPlayMagnetLinkClick = React.useCallback(async () => { try { const clipboardText = await navigator.clipboard.readText(); createTorrentFromMagnet(clipboardText); } catch(e) { console.error(e); } }, []); return (
{profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email}
{ !isIOSPWA && !isAndroidPWA ?
: null }
{ profile.auth !== null ? : null }
); }; NavMenuContent.propTypes = { onClick: PropTypes.func }; const NavMenuContentFallback = () => (
); module.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);