about summary refs log tree commit diff
path: root/src/storage/schema.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/storage/schema.ts')
-rw-r--r--src/storage/schema.ts25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/storage/schema.ts b/src/storage/schema.ts
index a3f2336cf..d562d9fae 100644
--- a/src/storage/schema.ts
+++ b/src/storage/schema.ts
@@ -7,11 +7,32 @@ export type Device = {
   fontScale: '-2' | '-1' | '0' | '1' | '2'
   fontFamily: 'system' | 'theme'
   lastNuxDialog: string | undefined
+
+  /**
+   * Geolocation config, fetched from the IP service. This previously did
+   * double duty as the "status" for geolocation state, but that has since
+   * moved here to the client.
+   */
   geolocation?: {
     countryCode: string | undefined
-    isAgeRestrictedGeo: boolean | undefined
-    isAgeBlockedGeo: boolean | undefined
+    regionCode: string | undefined
+    ageRestrictedGeos: {
+      countryCode: string
+      regionCode: string | undefined
+    }[]
+    ageBlockedGeos: {
+      countryCode: string
+      regionCode: string | undefined
+    }[]
+  }
+  /**
+   * The GPS-based geolocation, if the user has granted permission.
+   */
+  deviceGeolocation?: {
+    countryCode: string | undefined
+    regionCode: string | undefined
   }
+
   trendingBetaEnabled: boolean
   devMode: boolean
   demoMode: boolean