Skip to content

Commit 5069622

Browse files
committed
feat: add advStatus to user preferences and update related components
1 parent ec044c3 commit 5069622

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

src/App.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,14 @@ const intersectionCallback = (entries: IntersectionObserverEntry[]) => {
2525

2626
export const App = () => {
2727
const [showOnboarding, setShowOnboarding] = useState(true)
28-
const { onboardingCompleted, maxVisibleCards, isDNDModeActive, DNDDuration, setDNDDuration } =
29-
useUserPreferences()
28+
const {
29+
onboardingCompleted,
30+
maxVisibleCards,
31+
setAdvStatus,
32+
isDNDModeActive,
33+
DNDDuration,
34+
setDNDDuration,
35+
} = useUserPreferences()
3036

3137
useLayoutEffect(() => {
3238
document.documentElement.style.setProperty('--max-visible-cards', maxVisibleCards.toString())
@@ -38,6 +44,7 @@ export const App = () => {
3844
setupIdentification()
3945
const adVerifier = async () => {
4046
const status = await verifyAdvStatus()
47+
setAdvStatus(status)
4148
identifyAdvBlocked(status)
4249
}
4350
adVerifier()

src/features/MarketingBanner/components/MarketingBanner.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { Campaign, MarketingConfig } from '../types'
1919
export const MarketingBanner = () => {
2020
const { setCampaignClosed, closedCampaigns } = useMarketingConfigStore()
2121
const { isConnected } = useAuth()
22-
const { userSelectedTags, cards, firstSeenDate } = useUserPreferences()
22+
const { userSelectedTags, cards, firstSeenDate, advStatus } = useUserPreferences()
2323
const [availableCampaigns, setAvailableCampaigns] = useState<Campaign[]>([])
2424
const { data: marketingConfig } = useGetMarketingConfig({
2525
config: {
@@ -28,6 +28,7 @@ export const MarketingBanner = () => {
2828
},
2929
})
3030
const isMobile = useMediaQuery({ maxWidth: 767 })
31+
3132
const userAtttributes = useMemo(() => {
3233
return {
3334
platform: isWebOrExtensionVersion(),
@@ -38,10 +39,11 @@ export const MarketingBanner = () => {
3839
userTags: userSelectedTags.map((tag) => tag.label),
3940
cards: cards.map((card) => card.name),
4041
firstSeenDate,
42+
adv: advStatus,
4143
isConnected,
4244
usageInDays: diffBetweenTwoDatesInDays(firstSeenDate, Date.now()),
4345
}
44-
}, [userSelectedTags, firstSeenDate, cards])
46+
}, [userSelectedTags, firstSeenDate, cards, advStatus])
4547

4648
useEffect(() => {
4749
if (marketingConfig && marketingConfig.version === 1) {

src/stores/preferences.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export type UserPreferencesState = {
2828
cardsSettings: Record<string, CardSettingsType>
2929
firstSeenDate: number
3030
userCustomCards: SupportedCardType[]
31+
advStatus: boolean
3132
DNDDuration: DNDDuration
3233
}
3334

@@ -48,6 +49,7 @@ type UserPreferencesStoreActions = {
4849
isDNDModeActive: () => boolean
4950
addSearchEngine: (searchEngine: SearchEngineType) => void
5051
removeSearchEngine: (searchEngineUrl: string) => void
52+
setAdvStatus: (status: boolean) => void
5153
}
5254

5355
const defaultStorage: StateStorage = {
@@ -174,6 +176,7 @@ export const useUserPreferences = create(
174176
],
175177
userCustomCards: [],
176178
DNDDuration: 'never',
179+
advStatus: false,
177180
setSearchEngine: (searchEngine: string) => set({ searchEngine: searchEngine }),
178181
setListingMode: (listingMode: ListingMode) => set({ listingMode: listingMode }),
179182
setTheme: (theme: Theme) => set({ theme: theme }),
@@ -234,6 +237,7 @@ export const useUserPreferences = create(
234237
searchEngines: state.searchEngines.filter((se) => se.url !== searchEngineUrl),
235238
}
236239
}),
240+
setAdvStatus: (status) => set({ advStatus: status }),
237241
}),
238242
{
239243
name: 'preferences_storage',

0 commit comments

Comments
 (0)