MCPcopy Create free account
hub / github.com/dailydotdev/apps / useBoot

Function useBoot

packages/shared/src/hooks/useBoot.ts:41–154  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

39 });
40
41export const useBoot = (): UseBoot => {
42 const router = useRouter();
43 const client = useQueryClient();
44 const getBootData = () => client.getQueryData<Boot>(BOOT_QUERY_KEY);
45
46 const addSquad = (squad: Squad) => {
47 const bootData = getBootData();
48 const currentSquads = bootData?.squads || [];
49 const squadExists = currentSquads.some((item) => item.id === squad.id);
50
51 if (squadExists) {
52 return;
53 }
54
55 const squads = sortSquads([...currentSquads, squad]);
56 client.setQueryData<Boot>(BOOT_QUERY_KEY, { ...bootData, squads });
57 };
58
59 const deleteSquad = (squadId: string) => {
60 const bootData = getBootData();
61 const squads = bootData.squads?.filter((squad) => squad.id !== squadId);
62 client.setQueryData<Boot>(BOOT_QUERY_KEY, { ...bootData, squads });
63 };
64
65 const updateSquad = (squad: Squad) => {
66 const bootData = getBootData();
67 const squads = bootData.squads?.map((bootSquad) =>
68 squad.id !== bootSquad.id ? bootSquad : squad,
69 );
70 client.setQueryData<Boot>(BOOT_QUERY_KEY, {
71 ...bootData,
72 squads: sortSquads(squads ?? []),
73 });
74 };
75
76 const getMarketingCta = (
77 variant: MarketingCtaVariant,
78 ): MarketingCta | null => {
79 const bootData = getBootData();
80
81 if (
82 !bootData?.marketingCta ||
83 bootData?.marketingCta?.variant !== variant
84 ) {
85 return null;
86 }
87
88 if (
89 isMarketingCtaTarget(
90 bootData?.marketingCta?.targets,
91 bootData?.isAndroidApp,
92 ) === false
93 ) {
94 return null;
95 }
96
97 return bootData?.marketingCta;
98 };

Callers 15

FeedFunction · 0.90
PlusIOSFunction · 0.90
PlusExtensionFunction · 0.90
PlusMarketingModalFunction · 0.90
PlusMobileDrawerFunction · 0.90
PlusWebappFunction · 0.90
BootPopupsFunction · 0.90
PlusMobileEntryBannerFunction · 0.90
MarketingCtaBriefingFunction · 0.90
MarketingCtaYearInReviewFunction · 0.90
MarketingCtaModalFunction · 0.90
MarketingCtaListFunction · 0.90

Calls 1

useRouterFunction · 0.50

Tested by

no test coverage detected