fix: reload subscription state after event (#727)

* fix: reload subscription state after event

* chore: yarn.lock

* chore: lint

* fix: hook exhaustive deps
This commit is contained in:
Mo
2021-11-09 19:33:10 -06:00
committed by GitHub
parent 8c3271bcb3
commit 73b91e5964
3 changed files with 21 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ import { NoSubscription } from './NoSubscription';
import { Text } from '@/preferences/components';
import { observer } from 'mobx-react-lite';
import { FunctionComponent } from 'preact';
import { ApplicationEvent } from '@standardnotes/snjs';
type Props = {
application: WebApplication;
@@ -58,6 +59,20 @@ export const Subscription: FunctionComponent<Props> = observer(({
}
}, [getSubscription, getSubscriptions]);
useEffect(() => {
const removeUserRoleObserver = application.addEventObserver(
async () => {
await getSubscription();
await getSubscriptions();
},
ApplicationEvent.UserRolesChanged
);
return () => {
removeUserRoleObserver();
};
}, [application, getSubscription, getSubscriptions]);
useEffect(() => {
if (application.hasAccount()) {
getSubscriptionInfo();
@@ -77,7 +92,7 @@ export const Subscription: FunctionComponent<Props> = observer(({
) : loading ? (
<Text>Loading subscription information...</Text>
) : userSubscription && userSubscription.endsAt > now ? (
<SubscriptionInformation subscriptionState={subscriptionState} application={application}/>
<SubscriptionInformation subscriptionState={subscriptionState} application={application} />
) : (
<NoSubscription application={application} />
)}

View File

@@ -72,7 +72,7 @@
"@reach/listbox": "^0.16.2",
"@standardnotes/features": "1.8.1",
"@standardnotes/sncrypto-web": "1.5.3",
"@standardnotes/snjs": "2.17.2",
"@standardnotes/snjs": "2.17.4",
"mobx": "^6.3.5",
"mobx-react-lite": "^3.2.1",
"preact": "^10.5.15",

View File

@@ -2192,10 +2192,10 @@
buffer "^6.0.3"
libsodium-wrappers "^0.7.9"
"@standardnotes/snjs@2.17.2":
version "2.17.2"
resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.17.2.tgz#69a54769291495fe0f4062892a7defaf6b22c0ed"
integrity sha512-JSvCwfcDqphWiGSUD5rAbQSMBAd0nmuzeCTnEU2Ee916/nxpNXuiovPPx2xbnxh1hNgBa6cY4nbUsw6szuhCMA==
"@standardnotes/snjs@2.17.4":
version "2.17.4"
resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.17.4.tgz#ebf9d59a297ee7d87db1631e8850ba53dd9e7bea"
integrity sha512-ucxhSG8scDZd+JguK0bPLNwSg99w+jpYnCM+RZpd6GTkVjHBy3DEFnM06KrDzubLAtbKE8b7I50DOI+5C4p2rg==
dependencies:
"@standardnotes/auth" "^3.8.1"
"@standardnotes/common" "^1.2.1"