···11import assert from 'assert'
22import {
33 Kysely,
44- KyselyPlugin,
44+ type KyselyPlugin,
55 Migrator,
66- PluginTransformQueryArgs,
77- PluginTransformResultArgs,
66+ type PluginTransformQueryArgs,
77+ type PluginTransformResultArgs,
88 PostgresDialect,
99- QueryResult,
1010- RootOperationNode,
1111- UnknownRow,
99+ type QueryResult,
1010+ type RootOperationNode,
1111+ type UnknownRow,
1212} from 'kysely'
1313import {default as Pg} from 'pg'
14141515import {dbLogger as log} from '../logger.js'
1616import {default as migrations} from './migrations/index.js'
1717import {DbMigrationProvider} from './migrations/provider.js'
1818-import {DbSchema} from './schema.js'
1818+import {type DbSchema} from './schema.js'
19192020export class Database {
2121 migrator: Migrator
2222 destroyed = false
23232424- constructor(public db: Kysely<DbSchema>, public cfg: PgConfig) {
2424+ constructor(
2525+ public db: Kysely<DbSchema>,
2626+ public cfg: PgConfig,
2727+ ) {
2528 this.migrator = new Migrator({
2629 db,
2730 migrationTableSchema: cfg.schema,
+7-4
bskylink/src/index.ts
···11import events from 'node:events'
22-import http from 'node:http'
22+import type http from 'node:http'
3344import cors from 'cors'
55import express from 'express'
66-import {createHttpTerminator, HttpTerminator} from 'http-terminator'
66+import {createHttpTerminator, type HttpTerminator} from 'http-terminator'
7788-import {Config} from './config.js'
88+import {type Config} from './config.js'
99import {AppContext} from './context.js'
1010import {default as routes, errorHandler} from './routes/index.js'
1111···1717 public server?: http.Server
1818 private terminator?: HttpTerminator
19192020- constructor(public app: express.Application, public ctx: AppContext) {}
2020+ constructor(
2121+ public app: express.Application,
2222+ public ctx: AppContext,
2323+ ) {}
21242225 static async create(cfg: Config): Promise<LinkService> {
2326 let app = express()
+7-4
bskyogcard/src/index.ts
···11import events from 'node:events'
22-import http from 'node:http'
22+import type http from 'node:http'
3344import express from 'express'
55-import {createHttpTerminator, HttpTerminator} from 'http-terminator'
55+import {createHttpTerminator, type HttpTerminator} from 'http-terminator'
6677-import {Config} from './config.js'
77+import {type Config} from './config.js'
88import {AppContext} from './context.js'
99import {default as routes, errorHandler} from './routes/index.js'
1010···1515 public server?: http.Server
1616 private terminator?: HttpTerminator
17171818- constructor(public app: express.Application, public ctx: AppContext) {}
1818+ constructor(
1919+ public app: express.Application,
2020+ public ctx: AppContext,
2121+ ) {}
19222023 static async create(cfg: Config): Promise<CardService> {
2124 let app = express()
···128128 label={_(msg`Message options`)}
129129 contentLabel={_(
130130 msg`Message from @${
131131- sender?.handle ?? // should always be defined
132132- 'unknown'
131131+ sender?.handle ?? 'unknown' // should always be defined
133132 }: ${message.text}`,
134133 )}>
135134 {children}
+24
src/components/hooks/useOnGesture/index.ts
···11+import {useEffect} from 'react'
22+33+import {
44+ type GlobalGestureEvents,
55+ useGlobalGestureEvents,
66+} from '#/state/global-gesture-events'
77+88+/**
99+ * Listen for global gesture events. Callback should be wrapped with
1010+ * `useCallback` or otherwise memoized to avoid unnecessary re-renders.
1111+ */
1212+export function useOnGesture(
1313+ onGestureCallback: (e: GlobalGestureEvents['begin']) => void,
1414+) {
1515+ const ctx = useGlobalGestureEvents()
1616+ useEffect(() => {
1717+ ctx.register()
1818+ ctx.events.on('begin', onGestureCallback)
1919+ return () => {
2020+ ctx.unregister()
2121+ ctx.events.off('begin', onGestureCallback)
2222+ }
2323+ }, [ctx, onGestureCallback])
2424+}
···11import React from 'react'
22-import {StyleProp, View, ViewStyle} from 'react-native'
33-import {ModerationUI} from '@atproto/api'
22+import {type StyleProp, View, type ViewStyle} from 'react-native'
33+import {type ModerationUI} from '@atproto/api'
44import {msg, Trans} from '@lingui/macro'
55import {useLingui} from '@lingui/react'
66···148148 modui.noOverride
149149 ? _(msg`Learn more about the moderation applied to this content`)
150150 : override
151151- ? _(msg`Hides the content`)
152152- : _(msg`Shows the content`)
151151+ ? _(msg`Hides the content`)
152152+ : _(msg`Shows the content`)
153153 }>
154154 {state => (
155155 <View
···11import React from 'react'
22import {
33 BSKY_LABELER_DID,
44- ModerationCause,
55- ModerationCauseSource,
44+ type ModerationCause,
55+ type ModerationCauseSource,
66} from '@atproto/api'
77import {msg} from '@lingui/macro'
88import {useLingui} from '@lingui/react'
···1212import {useSession} from '#/state/session'
1313import {CircleBanSign_Stroke2_Corner0_Rounded as CircleBanSign} from '#/components/icons/CircleBanSign'
1414import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
1515-import {Props as SVGIconProps} from '#/components/icons/common'
1515+import {type Props as SVGIconProps} from '#/components/icons/common'
1616import {EyeSlash_Stroke2_Corner0_Rounded as EyeSlash} from '#/components/icons/EyeSlash'
1717import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
1818-import {AppModerationCause} from '#/components/Pills'
1818+import {type AppModerationCause} from '#/components/Pills'
1919import {useGlobalLabelStrings} from './useGlobalLabelStrings'
2020import {getDefinition, getLabelStrings} from './useLabelInfo'
2121···153153 def.identifier === '!no-unauthenticated'
154154 ? EyeSlash
155155 : def.severity === 'alert'
156156- ? Warning
157157- : CircleInfo,
156156+ ? Warning
157157+ : CircleInfo,
158158 name: strings.name,
159159 description: strings.description,
160160 source,
+55-55
src/locale/locales/en/messages.po
···456456msgid "<0>{0}</0> is included in your starter pack"
457457msgstr ""
458458459459-#: src/components/WhoCanReply.tsx:296
459459+#: src/components/WhoCanReply.tsx:302
460460msgid "<0>{0}</0> members"
461461msgstr ""
462462···866866msgid "An error occurred while compressing the video."
867867msgstr ""
868868869869-#: src/state/queries/explore-feed-previews.tsx:184
869869+#: src/state/queries/explore-feed-previews.tsx:173
870870msgid "An error occurred while fetching the feed."
871871msgstr ""
872872···939939msgid "an unknown labeler"
940940msgstr ""
941941942942-#: src/components/WhoCanReply.tsx:317
942942+#: src/components/WhoCanReply.tsx:323
943943msgid "and"
944944msgstr ""
945945···10661066msgid "Are you sure you want to delete the app password \"{0}\"?"
10671067msgstr ""
1068106810691069-#: src/components/dms/MessageContextMenu.tsx:189
10691069+#: src/components/dms/MessageContextMenu.tsx:188
10701070msgid "Are you sure you want to delete this message? The message will be deleted for you, but not for the other participant."
10711071msgstr ""
10721072···11281128msgid "At least 3 characters"
11291129msgstr ""
1130113011311131-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:40
11311131+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:48
11321132msgctxt "Name of app icon variant"
11331133msgid "Aurora"
11341134msgstr ""
···13021302msgid "Bluesky cannot confirm the authenticity of the claimed date."
13031303msgstr ""
1304130413051305-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:129
13051305+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:165
13061306msgctxt "Name of app icon variant"
13071307msgid "Bluesky Classic™"
13081308msgstr ""
···20962096msgid "Copy link to starter pack"
20972097msgstr ""
2098209820992099-#: src/components/dms/MessageContextMenu.tsx:150
21002100-#: src/components/dms/MessageContextMenu.tsx:153
20992099+#: src/components/dms/MessageContextMenu.tsx:149
21002100+#: src/components/dms/MessageContextMenu.tsx:152
21012101msgid "Copy message text"
21022102msgstr ""
21032103···21452145msgid "Could not process your video"
21462146msgstr ""
2147214721482148-#: src/state/queries/notifications/settings.ts:50
21482148+#: src/state/queries/notifications/settings.ts:49
21492149msgid "Could not update notification settings"
21502150msgstr ""
21512151···22472247msgid "Dark"
22482248msgstr ""
2249224922502250-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:24
22502250+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:28
22512251msgctxt "Name of app icon variant"
22522252msgid "Dark"
22532253msgstr ""
···22862286msgid "Default icons"
22872287msgstr ""
2288228822892289-#: src/components/dms/MessageContextMenu.tsx:191
22892289+#: src/components/dms/MessageContextMenu.tsx:190
22902290#: src/components/PostControls/PostMenu/PostMenuItems.tsx:701
22912291#: src/screens/Messages/components/ChatStatusInfo.tsx:55
22922292#: src/screens/Settings/AppPasswords.tsx:212
···23342334msgid "Delete Conversation"
23352335msgstr ""
2336233623372337-#: src/components/dms/MessageContextMenu.tsx:164
23372337+#: src/components/dms/MessageContextMenu.tsx:163
23382338msgid "Delete for me"
23392339msgstr ""
23402340···23422342msgid "Delete list"
23432343msgstr ""
2344234423452345-#: src/components/dms/MessageContextMenu.tsx:187
23452345+#: src/components/dms/MessageContextMenu.tsx:186
23462346msgid "Delete message"
23472347msgstr ""
2348234823492349-#: src/components/dms/MessageContextMenu.tsx:162
23492349+#: src/components/dms/MessageContextMenu.tsx:161
23502350msgid "Delete message for me"
23512351msgstr ""
23522352···24332433msgid "Developer options"
24342434msgstr ""
2435243524362436-#: src/components/WhoCanReply.tsx:179
24362436+#: src/components/WhoCanReply.tsx:185
24372437msgid "Dialog: adjust who can interact with this post"
24382438msgstr ""
24392439···27592759msgid "Edit User List"
27602760msgstr ""
2761276127622762-#: src/components/WhoCanReply.tsx:91
27622762+#: src/components/WhoCanReply.tsx:97
27632763msgid "Edit who can reply"
27642764msgstr ""
27652765···29842984msgid "Everybody"
29852985msgstr ""
2986298629872987-#: src/components/WhoCanReply.tsx:71
29872987+#: src/components/WhoCanReply.tsx:77
29882988msgid "Everybody can reply"
29892989msgstr ""
2990299029912991-#: src/components/WhoCanReply.tsx:222
29912991+#: src/components/WhoCanReply.tsx:228
29922992msgid "Everybody can reply to this post."
29932993msgstr ""
29942994···34093409msgid "Fitness"
34103410msgstr ""
3411341134123412-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:117
34123412+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:149
34133413msgctxt "Name of app icon variant"
34143414msgid "Flat Black"
34153415msgstr ""
3416341634173417-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:93
34173417+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:117
34183418msgctxt "Name of app icon variant"
34193419msgid "Flat Blue"
34203420msgstr ""
3421342134223422-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:105
34223422+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:133
34233423msgctxt "Name of app icon variant"
34243424msgid "Flat White"
34253425msgstr ""
···39203920msgid "Hides the content"
39213921msgstr ""
3922392239233923-#: src/view/com/posts/PostFeedErrorMessage.tsx:117
39233923+#: src/view/com/posts/PostFeedErrorMessage.tsx:121
39243924msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
39253925msgstr ""
3926392639273927-#: src/view/com/posts/PostFeedErrorMessage.tsx:105
39273927+#: src/view/com/posts/PostFeedErrorMessage.tsx:109
39283928msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue."
39293929msgstr ""
3930393039313931-#: src/view/com/posts/PostFeedErrorMessage.tsx:111
39313931+#: src/view/com/posts/PostFeedErrorMessage.tsx:115
39323932msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue."
39333933msgstr ""
3934393439353935-#: src/view/com/posts/PostFeedErrorMessage.tsx:108
39353935+#: src/view/com/posts/PostFeedErrorMessage.tsx:112
39363936msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue."
39373937msgstr ""
3938393839393939-#: src/view/com/posts/PostFeedErrorMessage.tsx:102
39393939+#: src/view/com/posts/PostFeedErrorMessage.tsx:106
39403940msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
39413941msgstr ""
39423942···46804680msgid "Mention notifications"
46814681msgstr ""
4682468246834683-#: src/components/WhoCanReply.tsx:263
46834683+#: src/components/WhoCanReply.tsx:269
46844684msgid "mentioned users"
46854685msgstr ""
46864686···47164716msgid "Message from @{0}: {1}"
47174717msgstr ""
4718471847194719-#: src/view/com/posts/PostFeedErrorMessage.tsx:201
47194719+#: src/view/com/posts/PostFeedErrorMessage.tsx:205
47204720msgid "Message from server: {0}"
47214721msgstr ""
47224722···47374737msgid "Messages"
47384738msgstr ""
4739473947404740-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:81
47404740+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:101
47414741msgctxt "Name of app icon variant"
47424742msgid "Midnight"
47434743msgstr ""
···51935193msgid "No one"
51945194msgstr ""
5195519551965196-#: src/components/WhoCanReply.tsx:246
51965196+#: src/components/WhoCanReply.tsx:252
51975197msgid "No one but the author can quote this post."
51985198msgstr ""
51995199···54195419msgid "Only .jpg and .png files are supported"
54205420msgstr ""
5421542154225422-#: src/components/WhoCanReply.tsx:226
54225422+#: src/components/WhoCanReply.tsx:232
54235423msgid "Only {0} can reply."
54245424msgstr ""
54255425···60576057msgid "Posts can be muted based on their text, their tags, or both. We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
60586058msgstr ""
6059605960606060-#: src/view/com/posts/PostFeedErrorMessage.tsx:68
60606060+#: src/view/com/posts/PostFeedErrorMessage.tsx:72
60616061msgid "Posts hidden"
60626062msgstr ""
60636063···63616361#: src/screens/Settings/Settings.tsx:556
63626362#: src/view/com/feeds/FeedSourceCard.tsx:322
63636363#: src/view/com/modals/UserAddRemoveLists.tsx:235
63646364-#: src/view/com/posts/PostFeedErrorMessage.tsx:213
63646364+#: src/view/com/posts/PostFeedErrorMessage.tsx:217
63656365msgid "Remove"
63666366msgstr ""
63676367···6398639863996399#: src/view/com/posts/FeedShutdownMsg.tsx:116
64006400#: src/view/com/posts/FeedShutdownMsg.tsx:120
64016401-#: src/view/com/posts/PostFeedErrorMessage.tsx:169
64016401+#: src/view/com/posts/PostFeedErrorMessage.tsx:173
64026402msgid "Remove feed"
64036403msgstr ""
6404640464056405-#: src/view/com/posts/PostFeedErrorMessage.tsx:210
64056405+#: src/view/com/posts/PostFeedErrorMessage.tsx:214
64066406msgid "Remove feed?"
64076407msgstr ""
64086408···64556455msgid "Remove subtitle file"
64566456msgstr ""
6457645764586458-#: src/view/com/posts/PostFeedErrorMessage.tsx:211
64586458+#: src/view/com/posts/PostFeedErrorMessage.tsx:215
64596459msgid "Remove this feed from your saved feeds"
64606460msgstr ""
64616461···65176517msgid "Replies"
65186518msgstr ""
6519651965206520-#: src/components/WhoCanReply.tsx:73
65206520+#: src/components/WhoCanReply.tsx:79
65216521msgid "Replies disabled"
65226522msgstr ""
6523652365246524-#: src/components/WhoCanReply.tsx:224
65246524+#: src/components/WhoCanReply.tsx:230
65256525msgid "Replies to this post are disabled."
65266526msgstr ""
65276527···65936593msgid "Reply was successfully hidden"
65946594msgstr ""
6595659565966596-#: src/components/dms/MessageContextMenu.tsx:172
65966596+#: src/components/dms/MessageContextMenu.tsx:171
65976597#: src/components/dms/MessagesListBlockedFooter.tsx:85
65986598#: src/components/dms/MessagesListBlockedFooter.tsx:92
65996599msgid "Report"
···66276627msgid "Report list"
66286628msgstr ""
6629662966306630-#: src/components/dms/MessageContextMenu.tsx:170
66306630+#: src/components/dms/MessageContextMenu.tsx:169
66316631msgid "Report message"
66326632msgstr ""
66336633···76467646msgid "Some other feeds you might like"
76477647msgstr ""
7648764876497649-#: src/components/WhoCanReply.tsx:74
76497649+#: src/components/WhoCanReply.tsx:80
76507650msgid "Some people can reply"
76517651msgstr ""
76527652···78717871msgid "Suggestive"
78727872msgstr ""
7873787378747874-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:60
78747874+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:72
78757875msgctxt "Name of app icon variant"
78767876msgid "Sunrise"
78777877msgstr ""
7878787878797879-#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:70
78797879+#: src/screens/Settings/AppIconSettings/useAppIconSets.ts:86
78807880msgctxt "Name of app icon variant"
78817881msgid "Sunset"
78827882msgstr ""
···81658165msgstr ""
8166816681678167#: src/screens/Search/Explore.tsx:990
81688168-#: src/view/com/posts/PostFeed.tsx:657
81688168+#: src/view/com/posts/PostFeed.tsx:656
81698169msgid "There was an issue fetching posts. Tap here to try again."
81708170msgstr ""
81718171···81868186msgid "There was an issue fetching your service info"
81878187msgstr ""
8188818881898189-#: src/view/com/posts/PostFeedErrorMessage.tsx:145
81898189+#: src/view/com/posts/PostFeedErrorMessage.tsx:149
81908190msgid "There was an issue removing this feed. Please check your internet connection and try again."
81918191msgstr ""
81928192···82958295msgid "This content is not available because one of the users involved has blocked the other."
82968296msgstr ""
8297829782988298-#: src/view/com/posts/PostFeedErrorMessage.tsx:114
82988298+#: src/view/com/posts/PostFeedErrorMessage.tsx:118
82998299msgid "This content is not viewable without a Bluesky account."
83008300msgstr ""
83018301···83198319msgid "This feature is not available while using an App Password. Please sign in with your main password."
83208320msgstr ""
8321832183228322-#: src/view/com/posts/PostFeedErrorMessage.tsx:120
83228322+#: src/view/com/posts/PostFeedErrorMessage.tsx:124
83238323msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
83248324msgstr ""
83258325···83878387msgid "This post claims to have been created on <0>{0}</0>, but was first seen by Bluesky on <1>{1}</1>."
83888388msgstr ""
8389838983908390-#: src/components/WhoCanReply.tsx:217
83908390+#: src/components/WhoCanReply.tsx:223
83918391msgid "This post has an unknown type of threadgate on it. Your app may be out of date."
83928392msgstr ""
83938393···85588558msgid "Topic"
85598559msgstr ""
8560856085618561-#: src/components/dms/MessageContextMenu.tsx:143
85628562-#: src/components/dms/MessageContextMenu.tsx:145
85618561+#: src/components/dms/MessageContextMenu.tsx:142
85628562+#: src/components/dms/MessageContextMenu.tsx:144
85638563#: src/components/PostControls/PostMenu/PostMenuItems.tsx:444
85648564#: src/components/PostControls/PostMenu/PostMenuItems.tsx:446
85658565#: src/screens/PostThread/components/ThreadItemAnchor.tsx:567
···89848984msgid "Username or email address"
89858985msgstr ""
8986898689878987-#: src/components/WhoCanReply.tsx:280
89878987+#: src/components/WhoCanReply.tsx:286
89888988msgid "users followed by <0>@{0}</0>"
89898989msgstr ""
8990899089918991-#: src/components/WhoCanReply.tsx:267
89918991+#: src/components/WhoCanReply.tsx:273
89928992msgid "users following <0>@{0}</0>"
89938993msgstr ""
89948994···91889188#: src/components/ProfileHoverCard/index.web.tsx:464
91899189#: src/components/ProfileHoverCard/index.web.tsx:484
91909190#: src/components/ProfileHoverCard/index.web.tsx:511
91919191-#: src/view/com/posts/PostFeedErrorMessage.tsx:175
91919191+#: src/view/com/posts/PostFeedErrorMessage.tsx:179
91929192#: src/view/com/util/PostMeta.tsx:91
91939193#: src/view/com/util/PostMeta.tsx:126
91949194msgid "View profile"
···94169416msgid "Which languages would you like to see in your algorithmic feeds?"
94179417msgstr ""
9418941894199419-#: src/components/WhoCanReply.tsx:183
94199419+#: src/components/WhoCanReply.tsx:189
94209420msgid "Who can interact with this post?"
94219421msgstr ""
9422942294239423-#: src/components/WhoCanReply.tsx:91
94239423+#: src/components/WhoCanReply.tsx:97
94249424msgid "Who can reply"
94259425msgstr ""
94269426
···11+export function GlobalGestureEventsProvider(_props: {
22+ children: React.ReactNode
33+}) {
44+ throw new Error('GlobalGestureEventsProvider is not supported on web.')
55+}
66+77+export function useGlobalGestureEvents() {
88+ throw new Error('useGlobalGestureEvents is not supported on web.')
99+}
···11import {useCallback, useEffect, useState} from 'react'
22import {MMKV} from 'react-native-mmkv'
3344-import {Account, Device} from '#/storage/schema'
44+import {type Account, type Device} from '#/storage/schema'
5566export * from '#/storage/schema'
77···8383 }
8484}
85858686-type StorageSchema<T extends Storage<any, any>> = T extends Storage<
8787- any,
8888- infer U
8989->
9090- ? U
9191- : never
9292-type StorageScopes<T extends Storage<any, any>> = T extends Storage<
9393- infer S,
9494- any
9595->
9696- ? S
9797- : never
8686+type StorageSchema<T extends Storage<any, any>> =
8787+ T extends Storage<any, infer U> ? U : never
8888+type StorageScopes<T extends Storage<any, any>> =
8989+ T extends Storage<infer S, any> ? S : never
98909991/**
10092 * Hook to use a storage instance. Acts like a useState hook, but persists the
···11import React, {useCallback, useEffect, useState} from 'react'
22import {
33 Image,
44- ImageStyle,
44+ type ImageStyle,
55 Pressable,
66 StyleSheet,
77 TouchableOpacity,
88 TouchableWithoutFeedback,
99 View,
1010- ViewStyle,
1010+ type ViewStyle,
1111} from 'react-native'
1212import {
1313 FontAwesomeIcon,
1414- FontAwesomeIconStyle,
1414+ type FontAwesomeIconStyle,
1515} from '@fortawesome/react-native-fontawesome'
1616import {msg} from '@lingui/macro'
1717import {useLingui} from '@lingui/react'
···2121import {colors, s} from '#/lib/styles'
2222import {useLightbox, useLightboxControls} from '#/state/lightbox'
2323import {Text} from '../util/text/Text'
2424-import {ImageSource} from './ImageViewing/@types'
2424+import {type ImageSource} from './ImageViewing/@types'
2525import ImageDefaultHeader from './ImageViewing/components/ImageDefaultHeader'
26262727export function Lightbox() {
···121121 img.type === 'circle-avi'
122122 ? '50%'
123123 : img.type === 'rect-avi'
124124- ? '10%'
125125- : 0,
124124+ ? '10%'
125125+ : 0,
126126 } as ImageStyle
127127 }
128128 alt={img.alt}
+2-2
src/view/com/post-thread/PostThreadItem.tsx
···630630 showChildReplyLine && !isThreadedChild
631631 ? 0
632632 : isThreadedChildAdjacentBot
633633- ? 4
634634- : 8,
633633+ ? 4
634634+ : 8,
635635 },
636636 ]}>
637637 {/* If we are in threaded mode, the avatar is rendered in PostMeta */}
+8-4
src/view/com/posts/PostFeedErrorMessage.tsx
···11import React from 'react'
22import {View} from 'react-native'
33-import {AppBskyActorDefs, AppBskyFeedGetAuthorFeed, AtUri} from '@atproto/api'
33+import {
44+ type AppBskyActorDefs,
55+ AppBskyFeedGetAuthorFeed,
66+ AtUri,
77+} from '@atproto/api'
48import {msg as msgLingui, Trans} from '@lingui/macro'
59import {useLingui} from '@lingui/react'
610import {useNavigation} from '@react-navigation/native'
711812import {usePalette} from '#/lib/hooks/usePalette'
99-import {NavigationProp} from '#/lib/routes/types'
1313+import {type NavigationProp} from '#/lib/routes/types'
1014import {cleanError} from '#/lib/strings/errors'
1115import {logger} from '#/logger'
1212-import {FeedDescriptor} from '#/state/queries/post-feed'
1616+import {type FeedDescriptor} from '#/state/queries/post-feed'
1317import {useRemoveFeedMutation} from '#/state/queries/preferences'
1418import * as Prompt from '#/components/Prompt'
1519import {EmptyState} from '../util/EmptyState'
···119123 [KnownError.FeedTooManyRequests]: _l(
120124 msgLingui`This feed is currently receiving high traffic and is temporarily unavailable. Please try again later.`,
121125 ),
122122- }[knownError]),
126126+ })[knownError],
123127 [_l, knownError],
124128 )
125129 const [_, uri] = feedDesc.split('|')
+6-6
src/view/com/profile/ProfileMenu.tsx
···495495 msg`The account will be able to interact with you after unblocking.`,
496496 )
497497 : profile.associated?.labeler
498498- ? _(
499499- msg`Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you.`,
500500- )
501501- : _(
502502- msg`Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you.`,
503503- )
498498+ ? _(
499499+ msg`Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you.`,
500500+ )
501501+ : _(
502502+ msg`Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you.`,
503503+ )
504504 }
505505 onConfirm={blockAccount}
506506 confirmButtonCta={
+8-3
src/view/com/util/List.web.tsx
···11import React, {isValidElement, memo, startTransition, useRef} from 'react'
22-import {FlatListProps, StyleSheet, View, ViewProps} from 'react-native'
33-import {ReanimatedScrollEvent} from 'react-native-reanimated/lib/typescript/hook/commonTypes'
22+import {
33+ type FlatListProps,
44+ StyleSheet,
55+ View,
66+ type ViewProps,
77+} from 'react-native'
88+import {type ReanimatedScrollEvent} from 'react-native-reanimated/lib/typescript/hook/commonTypes'
49510import {batchedUpdates} from '#/lib/batchedUpdates'
611import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
···205210 behavior: animated ? 'smooth' : 'instant',
206211 })
207212 },
208208- } as any), // TODO: Better types.
213213+ }) as any, // TODO: Better types.
209214 [getScrollableNode],
210215 )
211216