forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {type ID as PolicyUpdate202508} from '#/components/PolicyUpdateOverlay/updates/202508/config'
2import {type Geolocation} from '#/geolocation/types'
3
4/**
5 * Device data that's specific to the device and does not vary based account
6 */
7export type Device = {
8 fontScale: '-2' | '-1' | '0' | '1' | '2'
9 fontFamily: 'system' | 'theme'
10 lastNuxDialog: string | undefined
11
12 /**
13 * Geolocation config, fetched from the IP service. This previously did
14 * double duty as the "status" for geolocation state, but that has since
15 * moved here to the client.
16 *
17 * @deprecated use `mergedGeolocation` instead
18 */
19 geolocation?: {
20 countryCode: string | undefined
21 regionCode: string | undefined
22 ageRestrictedGeos: {
23 countryCode: string
24 regionCode: string | undefined
25 }[]
26 ageBlockedGeos: {
27 countryCode: string
28 regionCode: string | undefined
29 }[]
30 }
31
32 /**
33 * The raw response from the geolocation service, if available. We
34 * cache this here and update it lazily on session start.
35 */
36 geolocationServiceResponse?: Geolocation
37 /**
38 * The GPS-based geolocation, if the user has granted permission.
39 */
40 deviceGeolocation?: Geolocation
41 /**
42 * The merged geolocation, combining `geolocationServiceResponse` and
43 * `deviceGeolocation`, with preference to `deviceGeolocation`.
44 */
45 mergedGeolocation?: Geolocation
46
47 trendingBetaEnabled: boolean
48 devMode: boolean
49 demoMode: boolean
50
51 // deer
52 deerGateCache: string
53 activitySubscriptionsNudged?: boolean
54 threadgateNudged?: boolean
55 customAppViewDid: string | undefined
56
57 /**
58 * Policy update overlays. New IDs are required for each new announcement.
59 */
60 policyUpdateDebugOverride?: boolean
61 [PolicyUpdate202508]?: boolean
62}
63
64export type Account = {
65 searchTermHistory?: string[]
66 searchAccountHistory?: string[]
67
68 /**
69 * The ISO date string of when this account's birthdate was last updated on
70 * this device.
71 */
72 birthdateLastUpdatedAt?: string
73}