import React, {useState} from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
import {observer} from 'mobx-react-lite'
import {Slider} from '@miblanchard/react-native-slider'
import {Text} from '../util/text/Text'
import {useStores} from 'state/index'
import {s, colors} from 'lib/styles'
import {usePalette} from 'lib/hooks/usePalette'
import {isWeb, isDesktopWeb} from 'platform/detection'
import {ToggleButton} from 'view/com/util/forms/ToggleButton'
import {ScrollView} from 'view/com/modals/util'
export const snapPoints = ['90%']
function RepliesThresholdInput({enabled}: {enabled: boolean}) {
const store = useStores()
const pal = usePalette('default')
const [value, setValue] = useState(store.preferences.homeFeedRepliesThreshold)
return (
{value === 0
? `Show all replies`
: `Show replies with at least ${value} ${
value > 1 ? `likes` : `like`
}`}
{
const threshold = Math.floor(Array.isArray(v) ? v[0] : v)
setValue(threshold)
store.preferences.setHomeFeedRepliesThreshold(threshold)
}}
minimumValue={0}
maximumValue={25}
containerStyle={isWeb ? undefined : s.flex1}
disabled={!enabled}
thumbTintColor={colors.blue3}
/>
)
}
export const Component = observer(function Component() {
const pal = usePalette('default')
const store = useStores()
return (
Home Feed Preferences
Fine-tune the content you see on your home screen.
Show Replies
Adjust the number of likes a reply must have to be shown in your
feed.
Show Reposts
Set this setting to "No" to hide all reposts from your feed.
Show Quote Posts
Set this setting to "No" to hide all quote posts from your feed.
Reposts will still be visible.
{
store.shell.closeModal()
}}
style={[styles.btn]}
accessibilityRole="button"
accessibilityLabel="Confirm"
accessibilityHint="">
Done
)
})
const styles = StyleSheet.create({
container: {
flex: 1,
paddingBottom: isDesktopWeb ? 0 : 60,
},
titleSection: {
padding: 20,
paddingBottom: 30,
},
title: {
textAlign: 'center',
marginBottom: 5,
},
description: {
textAlign: 'center',
paddingHorizontal: 32,
},
cardsContainer: {
paddingHorizontal: 20,
},
card: {
padding: 16,
borderRadius: 10,
marginBottom: 20,
},
btn: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
borderRadius: 32,
padding: 14,
backgroundColor: colors.blue3,
},
btnContainer: {
paddingTop: 20,
paddingHorizontal: 20,
borderTopWidth: isDesktopWeb ? 0 : 1,
},
dimmed: {
opacity: 0.3,
},
})