forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import type zod from 'zod'
2
3import {type BaseNux} from '#/state/queries/nuxs/types'
4
5export enum Nux {
6 NeueTypography = 'NeueTypography',
7 ExploreInterestsCard = 'ExploreInterestsCard',
8 InitialVerificationAnnouncement = 'InitialVerificationAnnouncement',
9 ActivitySubscriptions = 'ActivitySubscriptions',
10 AgeAssuranceDismissibleNotice = 'AgeAssuranceDismissibleNotice',
11 AgeAssuranceDismissibleFeedBanner = 'AgeAssuranceDismissibleFeedBanner',
12 BookmarksAnnouncement = 'BookmarksAnnouncement',
13 FindContactsAnnouncement = 'FindContactsAnnouncement',
14 FindContactsDismissibleBanner = 'FindContactsDismissibleBanner',
15 LiveNowBetaDialog = 'LiveNowBetaDialog',
16 LiveNowBetaNudge = 'LiveNowBetaNudge',
17
18 /*
19 * Blocking announcements. New IDs are required for each new announcement.
20 */
21 PolicyUpdate202508 = 'PolicyUpdate202508',
22}
23
24export const nuxNames = new Set(Object.values(Nux))
25
26export type AppNux = BaseNux<
27 | {
28 id: Nux.NeueTypography
29 data: undefined
30 }
31 | {
32 id: Nux.ExploreInterestsCard
33 data: undefined
34 }
35 | {
36 id: Nux.InitialVerificationAnnouncement
37 data: undefined
38 }
39 | {
40 id: Nux.ActivitySubscriptions
41 data: undefined
42 }
43 | {
44 id: Nux.AgeAssuranceDismissibleNotice
45 data: undefined
46 }
47 | {
48 id: Nux.AgeAssuranceDismissibleFeedBanner
49 data: undefined
50 }
51 | {
52 id: Nux.PolicyUpdate202508
53 data: undefined
54 }
55 | {
56 id: Nux.BookmarksAnnouncement
57 data: undefined
58 }
59 | {
60 id: Nux.FindContactsAnnouncement
61 data: undefined
62 }
63 | {
64 id: Nux.FindContactsDismissibleBanner
65 data: undefined
66 }
67 | {
68 id: Nux.LiveNowBetaDialog
69 data: undefined
70 }
71 | {
72 id: Nux.LiveNowBetaNudge
73 data: undefined
74 }
75>
76
77export const NuxSchemas: Record<Nux, zod.ZodObject<any> | undefined> = {
78 [Nux.NeueTypography]: undefined,
79 [Nux.ExploreInterestsCard]: undefined,
80 [Nux.InitialVerificationAnnouncement]: undefined,
81 [Nux.ActivitySubscriptions]: undefined,
82 [Nux.AgeAssuranceDismissibleNotice]: undefined,
83 [Nux.AgeAssuranceDismissibleFeedBanner]: undefined,
84 [Nux.PolicyUpdate202508]: undefined,
85 [Nux.BookmarksAnnouncement]: undefined,
86 [Nux.FindContactsAnnouncement]: undefined,
87 [Nux.FindContactsDismissibleBanner]: undefined,
88 [Nux.LiveNowBetaDialog]: undefined,
89 [Nux.LiveNowBetaNudge]: undefined,
90}