From 7bed9a52f7f4e7234de48857ce0418409809a4ef Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Tue, 12 Oct 2021 15:33:49 -0300 Subject: [PATCH 1/2] fix: show subscription info for logged in user and avoid making api call if no account --- .../preferences/panes/AccountPreferences.tsx | 1 + .../panes/account/subscription/Subscription.tsx | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/preferences/panes/AccountPreferences.tsx b/app/assets/javascripts/preferences/panes/AccountPreferences.tsx index 90161807a54..706e984c75f 100644 --- a/app/assets/javascripts/preferences/panes/AccountPreferences.tsx +++ b/app/assets/javascripts/preferences/panes/AccountPreferences.tsx @@ -32,6 +32,7 @@ export const AccountPreferences = observer( + ); diff --git a/app/assets/javascripts/preferences/panes/account/subscription/Subscription.tsx b/app/assets/javascripts/preferences/panes/account/subscription/Subscription.tsx index 780af8c8cda..c9d41dfe3ff 100644 --- a/app/assets/javascripts/preferences/panes/account/subscription/Subscription.tsx +++ b/app/assets/javascripts/preferences/panes/account/subscription/Subscription.tsx @@ -21,7 +21,7 @@ export const Subscription: FunctionComponent = observer(({ application, subscriptionState, }: Props) => { - const [loading, setLoading] = useState(true); + const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const { userSubscription } = subscriptionState; @@ -59,8 +59,10 @@ export const Subscription: FunctionComponent = observer(({ }, [getSubscription, getSubscriptions]); useEffect(() => { - getSubscriptionInfo(); - }, [getSubscriptionInfo]); + if (application.hasAccount()) { + getSubscriptionInfo(); + } + }, [application, getSubscriptionInfo]); const now = new Date().getTime(); @@ -71,7 +73,7 @@ export const Subscription: FunctionComponent = observer(({
Subscription {error ? ( - + No subscription information available. ) : loading ? ( Loading subscription information... ) : userSubscription && userSubscription.endsAt > now ? ( From 99b84e3cda388db7bd67864d5e74181b80bceda8 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Wed, 13 Oct 2021 11:23:58 -0300 Subject: [PATCH 2/2] fix: hide some account preferences sections --- .../javascripts/preferences/PreferencesMenu.ts | 12 +++++++++++- .../javascripts/preferences/PreferencesView.tsx | 4 +++- .../preferences/panes/AccountPreferences.tsx | 4 ++-- app/assets/javascripts/views/footer/footer-view.pug | 1 - 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/preferences/PreferencesMenu.ts b/app/assets/javascripts/preferences/PreferencesMenu.ts index d538eb404bc..0e2b02e54ed 100644 --- a/app/assets/javascripts/preferences/PreferencesMenu.ts +++ b/app/assets/javascripts/preferences/PreferencesMenu.ts @@ -37,12 +37,22 @@ const PREFERENCES_MENU_ITEMS: PreferencesMenuItem[] = [ { id: 'help-feedback', label: 'Help & feedback', icon: 'help' }, ]; +const READY_PREFERENCES_MENU_ITEMS: PreferencesMenuItem[] = [ + { id: 'general', label: 'General', icon: 'settings' }, + { id: 'account', label: 'Account', icon: 'user' }, + { id: 'security', label: 'Security', icon: 'security' }, + { id: 'listed', label: 'Listed', icon: 'listed' }, + { id: 'help-feedback', label: 'Help & feedback', icon: 'help' }, +]; + export class PreferencesMenu { private _selectedPane: PreferenceId = 'general'; + private _menu: PreferencesMenuItem[]; constructor( - private readonly _menu: PreferencesMenuItem[] = PREFERENCES_MENU_ITEMS + private readonly _enableUnfinishedFeatures: boolean, ) { + this._menu = this._enableUnfinishedFeatures ? PREFERENCES_MENU_ITEMS : READY_PREFERENCES_MENU_ITEMS; makeAutoObservable( this, { diff --git a/app/assets/javascripts/preferences/PreferencesView.tsx b/app/assets/javascripts/preferences/PreferencesView.tsx index 870348f24ca..561ff44d707 100644 --- a/app/assets/javascripts/preferences/PreferencesView.tsx +++ b/app/assets/javascripts/preferences/PreferencesView.tsx @@ -75,7 +75,9 @@ const PreferencesCanvas: FunctionComponent< export const PreferencesView: FunctionComponent = observer( (props) => { - const menu = useMemo(() => new PreferencesMenu(), []); + const menu = useMemo(() => new PreferencesMenu(props.appState.enableUnfinishedFeatures), [ + props.appState.enableUnfinishedFeatures + ]); useEffect(() => { menu.selectPane(props.appState.preferences.currentPane); diff --git a/app/assets/javascripts/preferences/panes/AccountPreferences.tsx b/app/assets/javascripts/preferences/panes/AccountPreferences.tsx index 706e984c75f..acad1b282fb 100644 --- a/app/assets/javascripts/preferences/panes/AccountPreferences.tsx +++ b/app/assets/javascripts/preferences/panes/AccountPreferences.tsx @@ -22,7 +22,7 @@ export const AccountPreferences = observer( return ( - + {appState.enableUnfinishedFeatures && } ); @@ -32,7 +32,7 @@ export const AccountPreferences = observer( - + {appState.enableUnfinishedFeatures && } ); diff --git a/app/assets/javascripts/views/footer/footer-view.pug b/app/assets/javascripts/views/footer/footer-view.pug index 4e2084a3d15..5b0f57b9d4a 100644 --- a/app/assets/javascripts/views/footer/footer-view.pug +++ b/app/assets/javascripts/views/footer/footer-view.pug @@ -24,7 +24,6 @@ ) .sk-app-bar-item.ml-0-important( ng-click='ctrl.clickPreferences()' - ng-if='ctrl.appState.enableUnfinishedFeatures' ) .w-8.h-full.flex.items-center.justify-center.cursor-pointer .h-5