lrytv sunset nag
This commit is contained in:
parent
ddb4c051ee
commit
2a19f9f63c
2 changed files with 36 additions and 0 deletions
|
@ -48,9 +48,11 @@ const NagDegradedPerformance = lazyImport(() =>
|
||||||
import('web/component/nag-degraded-performance' /* webpackChunkName: "secondary" */)
|
import('web/component/nag-degraded-performance' /* webpackChunkName: "secondary" */)
|
||||||
);
|
);
|
||||||
const NagNoUser = lazyImport(() => import('web/component/nag-no-user' /* webpackChunkName: "nag-no-user" */));
|
const NagNoUser = lazyImport(() => import('web/component/nag-no-user' /* webpackChunkName: "nag-no-user" */));
|
||||||
|
const NagSunset = lazyImport(() => import('web/component/nag-sunset' /* webpackChunkName: "nag-no-user" */));
|
||||||
const YoutubeWelcome = lazyImport(() =>
|
const YoutubeWelcome = lazyImport(() =>
|
||||||
import('web/component/youtubeReferralWelcome' /* webpackChunkName: "secondary" */)
|
import('web/component/youtubeReferralWelcome' /* webpackChunkName: "secondary" */)
|
||||||
);
|
);
|
||||||
|
|
||||||
// @endif
|
// @endif
|
||||||
|
|
||||||
const SyncFatalError = lazyImport(() => import('component/syncFatalError' /* webpackChunkName: "syncFatalError" */));
|
const SyncFatalError = lazyImport(() => import('component/syncFatalError' /* webpackChunkName: "syncFatalError" */));
|
||||||
|
@ -162,12 +164,14 @@ function App(props: Props) {
|
||||||
const [upgradeNagClosed, setUpgradeNagClosed] = useState(false);
|
const [upgradeNagClosed, setUpgradeNagClosed] = useState(false);
|
||||||
const [resolvedSubscriptions, setResolvedSubscriptions] = useState(false);
|
const [resolvedSubscriptions, setResolvedSubscriptions] = useState(false);
|
||||||
const [sidebarOpen] = usePersistedState('sidebar', true);
|
const [sidebarOpen] = usePersistedState('sidebar', true);
|
||||||
|
const [seenSunsestMessage, setSeenSunsetMessage] = usePersistedState('lbrytv-sunset', false);
|
||||||
const showUpgradeButton =
|
const showUpgradeButton =
|
||||||
(autoUpdateDownloaded || (process.platform === 'linux' && isUpgradeAvailable)) && !upgradeNagClosed;
|
(autoUpdateDownloaded || (process.platform === 'linux' && isUpgradeAvailable)) && !upgradeNagClosed;
|
||||||
// referral claiming
|
// referral claiming
|
||||||
const referredRewardAvailable = rewards && rewards.some((reward) => reward.reward_type === REWARDS.TYPE_REFEREE);
|
const referredRewardAvailable = rewards && rewards.some((reward) => reward.reward_type === REWARDS.TYPE_REFEREE);
|
||||||
const urlParams = new URLSearchParams(search);
|
const urlParams = new URLSearchParams(search);
|
||||||
const rawReferrerParam = urlParams.get('r');
|
const rawReferrerParam = urlParams.get('r');
|
||||||
|
const fromLbrytvParam = urlParams.get('sunset');
|
||||||
const sanitizedReferrerParam = rawReferrerParam && rawReferrerParam.replace(':', '#');
|
const sanitizedReferrerParam = rawReferrerParam && rawReferrerParam.replace(':', '#');
|
||||||
const shouldHideNag = pathname.startsWith(`/$/${PAGES.EMBED}`) || pathname.startsWith(`/$/${PAGES.AUTH_VERIFY}`);
|
const shouldHideNag = pathname.startsWith(`/$/${PAGES.EMBED}`) || pathname.startsWith(`/$/${PAGES.AUTH_VERIFY}`);
|
||||||
const userId = user && user.id;
|
const userId = user && user.id;
|
||||||
|
@ -460,6 +464,9 @@ function App(props: Props) {
|
||||||
<YoutubeWelcome />
|
<YoutubeWelcome />
|
||||||
{!SIMPLE_SITE && !shouldHideNag && <OpenInAppLink uri={uri} />}
|
{!SIMPLE_SITE && !shouldHideNag && <OpenInAppLink uri={uri} />}
|
||||||
{!shouldHideNag && <NagContinueFirstRun />}
|
{!shouldHideNag && <NagContinueFirstRun />}
|
||||||
|
{!SIMPLE_SITE && fromLbrytvParam && !seenSunsestMessage && !shouldHideNag && (
|
||||||
|
<NagSunset email={hasVerifiedEmail} onClose={() => setSeenSunsetMessage(true)} />
|
||||||
|
)}
|
||||||
{(lbryTvApiStatus === STATUS_DEGRADED || lbryTvApiStatus === STATUS_FAILING) && !shouldHideNag && (
|
{(lbryTvApiStatus === STATUS_DEGRADED || lbryTvApiStatus === STATUS_FAILING) && !shouldHideNag && (
|
||||||
<NagDegradedPerformance onClose={() => setLbryTvApiStatus(STATUS_OK)} />
|
<NagDegradedPerformance onClose={() => setLbryTvApiStatus(STATUS_OK)} />
|
||||||
)}
|
)}
|
||||||
|
|
29
web/component/nag-sunset.jsx
Normal file
29
web/component/nag-sunset.jsx
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// @flow
|
||||||
|
import React from 'react';
|
||||||
|
import Nag from 'component/common/nag';
|
||||||
|
import I18nMessage from 'component/i18nMessage';
|
||||||
|
import * as PAGES from 'constants/pages';
|
||||||
|
import { useHistory } from 'react-router';
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
email?: User,
|
||||||
|
onClose: () => void,
|
||||||
|
};
|
||||||
|
export default function NagSunset(props: Props) {
|
||||||
|
const { email, onClose } = props;
|
||||||
|
const { push } = useHistory();
|
||||||
|
|
||||||
|
const handleOnClick = () => {
|
||||||
|
onClose();
|
||||||
|
push(`/$/${PAGES.AUTH_SIGNIN}`);
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<Nag
|
||||||
|
type="helpful"
|
||||||
|
message={<I18nMessage>lbry.tv has been retired. You have been magically transported to odysee.com</I18nMessage>}
|
||||||
|
actionText={__('Sign In')}
|
||||||
|
onClick={!email ? handleOnClick : undefined}
|
||||||
|
onClose={onClose}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in a new issue