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 activitySubscriptionsNudged?: boolean
51 threadgateNudged?: boolean
52
53 /**
54 * Policy update overlays. New IDs are required for each new announcement.
55 */
56 policyUpdateDebugOverride?: boolean
57 [PolicyUpdate202508]?: boolean
58}
59
60export type Account = {
61 searchTermHistory?: string[]
62 searchAccountHistory?: string[]
63
64 /**
65 * The ISO date string of when this account's birthdate was last updated on
66 * this device.
67 */
68 birthdateLastUpdatedAt?: string
69
70 lastSelectedHomeFeed?: string
71}