Skip to content

Commit 8ce5dcf

Browse files
committed
MP-100 fix traits refresh
1 parent 17ec00e commit 8ce5dcf

File tree

5 files changed

+8
-30
lines changed

5 files changed

+8
-30
lines changed

src/apps/accounts/src/settings/tabs/AccountSettingsTabs.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Dispatch, FC, SetStateAction, useMemo, useState } from 'react'
22
import { useLocation } from 'react-router-dom'
3+
import { KeyedMutator } from 'swr'
34

45
import { useMemberTraits, UserProfile, UserTraits } from '~/libs/core'
56
import { PageTitle, TabsNavbar, TabsNavItem } from '~/libs/ui'
@@ -24,13 +25,15 @@ const AccountSettingsTabs: FC<AccountSettingsTabsProps> = (props: AccountSetting
2425
const [activeTab, setActiveTab]: [string, Dispatch<SetStateAction<string>>]
2526
= useState<string>(activeTabHash)
2627

27-
const { data: memberTraits }: {
28-
data: UserTraits[] | undefined
28+
const { data: memberTraits, mutate: mutateTraits }: {
29+
data: UserTraits[] | undefined,
30+
mutate: KeyedMutator<any>
2931
} = useMemberTraits(props.profile.handle)
3032

3133
function handleTabChange(tabId: string): void {
3234
setActiveTab(tabId)
3335
window.location.hash = getHashFromTabId(tabId)
36+
mutateTraits() // mutate member traits to refresh the data
3437
}
3538

3639
return (

src/apps/accounts/src/settings/tabs/tools/devices/Devices.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
/* eslint-disable complexity */
22
import { Dispatch, FC, MutableRefObject, SetStateAction, useEffect, useRef, useState } from 'react'
33
import { bind, compact, isEmpty, reject, uniqBy } from 'lodash'
4-
import { KeyedMutator } from 'swr'
54
import { toast } from 'react-toastify'
65
import classNames from 'classnames'
76

87
import {
98
createMemberTraitsAsync,
109
updateMemberTraitsAsync,
1110
useMemberDevicesLookup,
12-
useMemberTraits,
1311
UserProfile,
1412
UserTrait,
1513
} from '~/libs/core'
@@ -64,8 +62,6 @@ const Devices: FC<DevicesProps> = (props: DevicesProps) => {
6462
const [itemToRemove, setItemToRemove]: [UserTrait | undefined, Dispatch<SetStateAction<UserTrait | undefined>>]
6563
= useState<UserTrait | undefined>()
6664

67-
const { mutate: mutateTraits }: { mutate: KeyedMutator<any> } = useMemberTraits(props.profile.handle)
68-
6965
const [selectedDeviceType, setSelectedDeviceType]: [
7066
string | undefined,
7167
Dispatch<SetStateAction<string | undefined>>
@@ -174,7 +170,6 @@ const Devices: FC<DevicesProps> = (props: DevicesProps) => {
174170
.then(() => {
175171
toast.success('Device deleted successfully')
176172
setDeviceTypesData(updatedDeviceTypesData)
177-
mutateTraits()
178173
})
179174
.catch(() => {
180175
toast.error('Error deleting Device')
@@ -280,7 +275,6 @@ const Devices: FC<DevicesProps> = (props: DevicesProps) => {
280275
...updatedDeviceTypesData || [],
281276
deviceUpdate,
282277
])
283-
mutateTraits()
284278
})
285279
.catch(() => {
286280
toast.error('Error updating Device')
@@ -309,7 +303,6 @@ const Devices: FC<DevicesProps> = (props: DevicesProps) => {
309303
...deviceTypesData || [],
310304
deviceUpdate,
311305
])
312-
mutateTraits()
313306
})
314307
.catch(() => {
315308
toast.error('Error adding new Device')

src/apps/accounts/src/settings/tabs/tools/service-provider/ServiceProvider.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Dispatch, FC, MutableRefObject, SetStateAction, useEffect, useRef, useState } from 'react'
22
import { bind, isEmpty, reject, trim } from 'lodash'
33
import { toast } from 'react-toastify'
4-
import { KeyedMutator } from 'swr'
54
import classNames from 'classnames'
65

7-
import { createMemberTraitsAsync, updateMemberTraitsAsync, useMemberTraits, UserProfile, UserTrait } from '~/libs/core'
6+
import { createMemberTraitsAsync, updateMemberTraitsAsync, UserProfile, UserTrait } from '~/libs/core'
87
import { Button, Collapsible, ConfirmModal, IconOutline, InputSelect, InputText } from '~/libs/ui'
98
import {
109
FinancialInstitutionIcon,
@@ -65,8 +64,6 @@ const ServiceProvider: FC<ServiceProviderProps> = (props: ServiceProviderProps)
6564
const [itemToRemove, setItemToRemove]: [UserTrait | undefined, Dispatch<SetStateAction<UserTrait | undefined>>]
6665
= useState<UserTrait | undefined>()
6766

68-
const { mutate: mutateTraits }: { mutate: KeyedMutator<any> } = useMemberTraits(props.profile.handle)
69-
7067
useEffect(() => {
7168
setServiceProviderTypesData(props.serviceProviderTrait?.traits.data)
7269
}, [props.serviceProviderTrait])
@@ -158,7 +155,6 @@ const ServiceProvider: FC<ServiceProviderProps> = (props: ServiceProviderProps)
158155
...updatedServiceProviderTypesData || [],
159156
serviceProviderTypeUpdate,
160157
])
161-
mutateTraits()
162158
})
163159
.catch(() => {
164160
toast.error('Error updating Service Provider')
@@ -187,7 +183,6 @@ const ServiceProvider: FC<ServiceProviderProps> = (props: ServiceProviderProps)
187183
...serviceProviderTypesData || [],
188184
serviceProviderTypeUpdate,
189185
])
190-
mutateTraits()
191186
})
192187
.catch(() => {
193188
toast.error('Error adding new Service Provider')
@@ -227,7 +222,6 @@ const ServiceProvider: FC<ServiceProviderProps> = (props: ServiceProviderProps)
227222
.then(() => {
228223
toast.success('Service Provider deleted successfully')
229224
setServiceProviderTypesData(updatedServiceProviderTypesData)
230-
mutateTraits()
231225
})
232226
.catch(() => {
233227
toast.error('Error deleting Service Provider')

src/apps/accounts/src/settings/tabs/tools/software/Software.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Dispatch, FC, MutableRefObject, SetStateAction, useEffect, useRef, useState } from 'react'
22
import { bind, isEmpty, reject, trim } from 'lodash'
33
import { toast } from 'react-toastify'
4-
import { KeyedMutator } from 'swr'
54
import classNames from 'classnames'
65

7-
import { createMemberTraitsAsync, updateMemberTraitsAsync, useMemberTraits, UserProfile, UserTrait } from '~/libs/core'
6+
import { createMemberTraitsAsync, updateMemberTraitsAsync, UserProfile, UserTrait } from '~/libs/core'
87
import { Button, Collapsible, ConfirmModal, IconOutline, InputSelect, InputText } from '~/libs/ui'
98
import { SettingSection, SoftwareIcon } from '~/apps/accounts/src/lib'
109

@@ -58,8 +57,6 @@ const Software: FC<SoftwareProps> = (props: SoftwareProps) => {
5857
const [itemToRemove, setItemToRemove]: [UserTrait | undefined, Dispatch<SetStateAction<UserTrait | undefined>>]
5958
= useState<UserTrait | undefined>()
6059

61-
const { mutate: mutateTraits }: { mutate: KeyedMutator<any> } = useMemberTraits(props.profile.handle)
62-
6360
useEffect(() => {
6461
setSoftwareTypesData(props.softwareTrait?.traits.data)
6562
}, [props.softwareTrait])
@@ -147,7 +144,6 @@ const Software: FC<SoftwareProps> = (props: SoftwareProps) => {
147144
...updatedSoftwareTypesData || [],
148145
softwareTypeUpdate,
149146
])
150-
mutateTraits()
151147
})
152148
.catch(() => {
153149
toast.error('Error updating software')
@@ -176,7 +172,6 @@ const Software: FC<SoftwareProps> = (props: SoftwareProps) => {
176172
...softwareTypesData || [],
177173
softwareTypeUpdate,
178174
])
179-
mutateTraits()
180175
})
181176
.catch(() => {
182177
toast.error('Error adding new software')
@@ -216,7 +211,6 @@ const Software: FC<SoftwareProps> = (props: SoftwareProps) => {
216211
.then(() => {
217212
toast.success('Software deleted successfully')
218213
setSoftwareTypesData(updatedSoftwareTypesData)
219-
mutateTraits()
220214
})
221215
.catch(() => {
222216
toast.error('Error deleting software')

src/apps/accounts/src/settings/tabs/tools/subscriptions/Subscriptions.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Dispatch, FC, MutableRefObject, SetStateAction, useEffect, useRef, useState } from 'react'
22
import { bind, isEmpty, reject, trim } from 'lodash'
33
import { toast } from 'react-toastify'
4-
import { KeyedMutator } from 'swr'
54
import classNames from 'classnames'
65

7-
import { createMemberTraitsAsync, updateMemberTraitsAsync, useMemberTraits, UserProfile, UserTrait } from '~/libs/core'
6+
import { createMemberTraitsAsync, updateMemberTraitsAsync, UserProfile, UserTrait } from '~/libs/core'
87
import { Button, Collapsible, ConfirmModal, IconOutline, InputText } from '~/libs/ui'
98
import { SettingSection, SubscriptionsIcon } from '~/apps/accounts/src/lib'
109

@@ -51,8 +50,6 @@ const Subscriptions: FC<SubscriptionsProps> = (props: SubscriptionsProps) => {
5150
const [itemToRemove, setItemToRemove]: [UserTrait | undefined, Dispatch<SetStateAction<UserTrait | undefined>>]
5251
= useState<UserTrait | undefined>()
5352

54-
const { mutate: mutateTraits }: { mutate: KeyedMutator<any> } = useMemberTraits(props.profile.handle)
55-
5653
useEffect(() => {
5754
setSubscriptionsTypesData(props.subscriptionsTrait?.traits.data)
5855
}, [props.subscriptionsTrait])
@@ -132,7 +129,6 @@ const Subscriptions: FC<SubscriptionsProps> = (props: SubscriptionsProps) => {
132129
...updatedSubscriptionsTypesData || [],
133130
softwareTypeUpdate,
134131
])
135-
mutateTraits()
136132
})
137133
.catch(() => {
138134
toast.error('Error updating subscription')
@@ -161,7 +157,6 @@ const Subscriptions: FC<SubscriptionsProps> = (props: SubscriptionsProps) => {
161157
...subscriptionsTypesData || [],
162158
softwareTypeUpdate,
163159
])
164-
mutateTraits()
165160
})
166161
.catch(() => {
167162
toast.error('Error adding new subscription')
@@ -201,7 +196,6 @@ const Subscriptions: FC<SubscriptionsProps> = (props: SubscriptionsProps) => {
201196
.then(() => {
202197
toast.success('Subscription deleted successfully')
203198
setSubscriptionsTypesData(updatedSubscriptionsTypesData)
204-
mutateTraits()
205199
})
206200
.catch(() => {
207201
toast.error('Error deleting subscription')

0 commit comments

Comments
 (0)