Deprecate prioritizeFollowedUsers
This commit is contained in:
@@ -14,7 +14,6 @@ import {
|
||||
import {atoms as a, useTheme} from '#/alf'
|
||||
import * as Toggle from '#/components/forms/Toggle'
|
||||
import {Bubbles_Stroke2_Corner2_Rounded as BubblesIcon} from '#/components/icons/Bubble'
|
||||
import {PersonGroup_Stroke2_Corner2_Rounded as PersonGroupIcon} from '#/components/icons/Person'
|
||||
import {Tree_Stroke2_Corner0_Rounded as TreeIcon} from '#/components/icons/Tree'
|
||||
import * as Layout from '#/components/Layout'
|
||||
import {Text} from '#/components/Typography'
|
||||
@@ -24,14 +23,7 @@ type Props = NativeStackScreenProps<CommonNavigatorParams, 'PreferencesThreads'>
|
||||
export function ThreadPreferencesScreen({}: Props) {
|
||||
const t = useTheme()
|
||||
const {_} = useLingui()
|
||||
const {
|
||||
sort,
|
||||
setSort,
|
||||
view,
|
||||
setView,
|
||||
prioritizeFollowedUsers,
|
||||
setPrioritizeFollowedUsers,
|
||||
} = useThreadPreferences({save: true})
|
||||
const {sort, setSort, view, setView} = useThreadPreferences({save: true})
|
||||
|
||||
return (
|
||||
<Layout.Screen testID="threadPreferencesScreen">
|
||||
@@ -88,27 +80,6 @@ export function ThreadPreferencesScreen({}: Props) {
|
||||
</View>
|
||||
</SettingsList.Group>
|
||||
|
||||
<SettingsList.Group contentContainerStyle={{minHeight: 0}}>
|
||||
<SettingsList.ItemIcon icon={PersonGroupIcon} />
|
||||
<SettingsList.ItemText>
|
||||
<Trans>Prioritize your Follows</Trans>
|
||||
</SettingsList.ItemText>
|
||||
<Toggle.Item
|
||||
type="checkbox"
|
||||
name="prioritize-follows"
|
||||
label={_(msg`Prioritize your Follows`)}
|
||||
value={prioritizeFollowedUsers}
|
||||
onChange={value => setPrioritizeFollowedUsers(value)}
|
||||
style={[a.w_full, a.gap_md]}>
|
||||
<Toggle.LabelText style={[a.flex_1]}>
|
||||
<Trans>
|
||||
Show replies by people you follow before all other replies
|
||||
</Trans>
|
||||
</Toggle.LabelText>
|
||||
<Toggle.Platform />
|
||||
</Toggle.Item>
|
||||
</SettingsList.Group>
|
||||
|
||||
<SettingsList.Group>
|
||||
<SettingsList.ItemIcon icon={TreeIcon} />
|
||||
<SettingsList.ItemText>
|
||||
|
||||
@@ -16,7 +16,6 @@ export const DEFAULT_HOME_FEED_PREFS: UsePreferencesQueryResponse['feedViewPrefs
|
||||
|
||||
export const DEFAULT_THREAD_VIEW_PREFS: ThreadViewPreferences = {
|
||||
sort: 'hotness',
|
||||
prioritizeFollowedUsers: true,
|
||||
lab_treeViewEnabled: false,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import {
|
||||
type BskyFeedViewPreference,
|
||||
type BskyPreferences,
|
||||
type BskyThreadViewPreference,
|
||||
} from '@atproto/api'
|
||||
import {type BskyFeedViewPreference, type BskyPreferences} from '@atproto/api'
|
||||
|
||||
export type UsePreferencesQueryResponse = Omit<
|
||||
BskyPreferences,
|
||||
@@ -18,10 +14,7 @@ export type UsePreferencesQueryResponse = Omit<
|
||||
userAge: number | undefined
|
||||
}
|
||||
|
||||
export type ThreadViewPreferences = Pick<
|
||||
BskyThreadViewPreference,
|
||||
'prioritizeFollowedUsers'
|
||||
> & {
|
||||
export type ThreadViewPreferences = {
|
||||
sort: 'hotness' | 'oldest' | 'newest' | 'most-likes' | 'random' | string
|
||||
lab_treeViewEnabled?: boolean
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@ export type ThreadPreferences = {
|
||||
setSort: (sort: string) => void
|
||||
view: ThreadViewOption
|
||||
setView: (view: ThreadViewOption) => void
|
||||
prioritizeFollowedUsers: boolean
|
||||
setPrioritizeFollowedUsers: (prioritize: boolean) => void
|
||||
}
|
||||
|
||||
export function useThreadPreferences({
|
||||
@@ -43,9 +41,6 @@ export function useThreadPreferences({
|
||||
treeViewEnabled: !!serverPrefs?.lab_treeViewEnabled,
|
||||
}),
|
||||
)
|
||||
const [prioritizeFollowedUsers, setPrioritizeFollowedUsers] = useState(
|
||||
!!serverPrefs?.prioritizeFollowedUsers,
|
||||
)
|
||||
|
||||
/**
|
||||
* If we get a server update, update local state
|
||||
@@ -59,7 +54,6 @@ export function useThreadPreferences({
|
||||
* Update
|
||||
*/
|
||||
setSort(normalizeSort(serverPrefs.sort))
|
||||
setPrioritizeFollowedUsers(serverPrefs.prioritizeFollowedUsers)
|
||||
setView(
|
||||
normalizeView({
|
||||
treeViewEnabled: !!serverPrefs.lab_treeViewEnabled,
|
||||
@@ -70,7 +64,6 @@ export function useThreadPreferences({
|
||||
logger.metric('thread:preferences:load', {
|
||||
sort: serverPrefs.sort,
|
||||
view: serverPrefs.lab_treeViewEnabled ? 'tree' : 'linear',
|
||||
prioritizeFollowedUsers: serverPrefs.prioritizeFollowedUsers,
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -86,7 +79,6 @@ export function useThreadPreferences({
|
||||
logger.metric('thread:preferences:update', {
|
||||
sort: prefs.sort,
|
||||
view: prefs.lab_treeViewEnabled ? 'tree' : 'linear',
|
||||
prioritizeFollowedUsers: prefs.prioritizeFollowedUsers,
|
||||
})
|
||||
} catch (e) {
|
||||
logger.error('useThreadPreferences failed to save', {
|
||||
@@ -101,7 +93,6 @@ export function useThreadPreferences({
|
||||
if (save && userUpdatedPrefs.current) {
|
||||
savePrefs({
|
||||
sort,
|
||||
prioritizeFollowedUsers,
|
||||
lab_treeViewEnabled: view === 'tree',
|
||||
})
|
||||
userUpdatedPrefs.current = false
|
||||
@@ -121,13 +112,6 @@ export function useThreadPreferences({
|
||||
},
|
||||
[setView],
|
||||
)
|
||||
const setPrioritizeFollowedUsersWrapped = useCallback(
|
||||
(next: boolean) => {
|
||||
userUpdatedPrefs.current = true
|
||||
setPrioritizeFollowedUsers(next)
|
||||
},
|
||||
[setPrioritizeFollowedUsers],
|
||||
)
|
||||
|
||||
return useMemo(
|
||||
() => ({
|
||||
@@ -137,19 +121,8 @@ export function useThreadPreferences({
|
||||
setSort: setSortWrapped,
|
||||
view,
|
||||
setView: setViewWrapped,
|
||||
prioritizeFollowedUsers,
|
||||
setPrioritizeFollowedUsers: setPrioritizeFollowedUsersWrapped,
|
||||
}),
|
||||
[
|
||||
isLoaded,
|
||||
isSaving,
|
||||
sort,
|
||||
setSortWrapped,
|
||||
view,
|
||||
setViewWrapped,
|
||||
prioritizeFollowedUsers,
|
||||
setPrioritizeFollowedUsersWrapped,
|
||||
],
|
||||
[isLoaded, isSaving, sort, setSortWrapped, view, setViewWrapped],
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@ export function usePostThread({anchor}: {anchor?: string}) {
|
||||
setSort: baseSetSort,
|
||||
view,
|
||||
setView: baseSetView,
|
||||
prioritizeFollowedUsers,
|
||||
} = useThreadPreferences()
|
||||
const below = useMemo(() => {
|
||||
return view === 'linear'
|
||||
@@ -63,11 +62,9 @@ export function usePostThread({anchor}: {anchor?: string}) {
|
||||
anchor,
|
||||
sort,
|
||||
view,
|
||||
prioritizeFollowedUsers,
|
||||
})
|
||||
const postThreadOtherQueryKey = createPostThreadOtherQueryKey({
|
||||
anchor,
|
||||
prioritizeFollowedUsers,
|
||||
})
|
||||
|
||||
const query = useQuery<UsePostThreadQueryResult>({
|
||||
@@ -79,7 +76,6 @@ export function usePostThread({anchor}: {anchor?: string}) {
|
||||
branchingFactor: view === 'linear' ? LINEAR_VIEW_BF : TREE_VIEW_BF,
|
||||
below,
|
||||
sort: sort,
|
||||
prioritizeFollowedUsers: prioritizeFollowedUsers,
|
||||
})
|
||||
|
||||
/*
|
||||
@@ -167,7 +163,6 @@ export function usePostThread({anchor}: {anchor?: string}) {
|
||||
async queryFn() {
|
||||
const {data} = await agent.app.bsky.unspecced.getPostThreadOtherV2({
|
||||
anchor: anchor!,
|
||||
prioritizeFollowedUsers,
|
||||
})
|
||||
return data
|
||||
},
|
||||
|
||||
@@ -25,7 +25,7 @@ export const createPostThreadOtherQueryKey = (
|
||||
|
||||
export type PostThreadParams = Pick<
|
||||
AppBskyUnspeccedGetPostThreadV2.QueryParams,
|
||||
'sort' | 'prioritizeFollowedUsers'
|
||||
'sort'
|
||||
> & {
|
||||
anchor?: string
|
||||
view: 'tree' | 'linear'
|
||||
|
||||
Reference in New Issue
Block a user