import React from 'react' import {ActivityIndicator, StyleSheet, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {IS_INTERNAL} from '#/lib/app-info' import {usePalette} from '#/lib/hooks/usePalette' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types' import {colors, s} from '#/lib/styles' import { usePreferencesQuery, useSetThreadViewPreferencesMutation, } from '#/state/queries/preferences' import {RadioGroup} from '#/view/com/util/forms/RadioGroup' import {ToggleButton} from '#/view/com/util/forms/ToggleButton' import {SimpleViewHeader} from '#/view/com/util/SimpleViewHeader' import {Text} from '#/view/com/util/text/Text' import {ScrollView} from '#/view/com/util/Views' import {ThreadPreferencesScreen} from '#/screens/Settings/ThreadPreferences' import {atoms as a} from '#/alf' import * as Layout from '#/components/Layout' type Props = NativeStackScreenProps export function PreferencesThreads(props: Props) { return IS_INTERNAL ? ( ) : ( ) } function LegacyPreferencesThreads({}: Props) { const pal = usePalette('default') const {_} = useLingui() const {isTabletOrMobile} = useWebMediaQueries() const {data: preferences} = usePreferencesQuery() const {mutate: setThreadViewPrefs, variables} = useSetThreadViewPreferencesMutation() const prioritizeFollowedUsers = Boolean( variables?.prioritizeFollowedUsers ?? preferences?.threadViewPrefs?.prioritizeFollowedUsers, ) const treeViewEnabled = Boolean( variables?.lab_treeViewEnabled ?? preferences?.threadViewPrefs?.lab_treeViewEnabled, ) return ( Thread Preferences Fine-tune the discussion threads. {preferences ? ( Sort Replies Sort replies to the same post by: setThreadViewPrefs({sort: key})} initialSelection={preferences?.threadViewPrefs?.sort} /> Prioritize Your Follows Show replies by people you follow before all other replies. setThreadViewPrefs({ prioritizeFollowedUsers: !prioritizeFollowedUsers, }) } /> {' '} Threaded Mode Set this setting to "Yes" to show replies in a threaded view. This is an experimental feature. setThreadViewPrefs({ lab_treeViewEnabled: !treeViewEnabled, }) } /> ) : ( )} ) } const styles = StyleSheet.create({ container: { flex: 1, }, desktopContainer: { borderLeftWidth: 1, borderRightWidth: 1, }, titleSection: { paddingBottom: 30, }, title: { textAlign: 'center', marginBottom: 5, }, description: { textAlign: 'center', paddingHorizontal: 32, }, cardsContainer: { paddingHorizontal: 20, paddingVertical: 16, }, card: { padding: 16, borderRadius: 10, marginBottom: 20, }, btn: { flexDirection: 'row', alignItems: 'center', justifyContent: 'center', borderRadius: 32, padding: 14, backgroundColor: colors.blue3, }, btnDesktop: { marginHorizontal: 'auto', paddingHorizontal: 80, }, btnContainer: { paddingTop: 20, }, dimmed: { opacity: 0.3, }, })