import Emoji from '@/components/Emoji' import EmojiPickerDialog from '@/components/EmojiPickerDialog' import { Button } from '@/components/ui/button' import { Label } from '@/components/ui/label' import { Select, SelectContent, SelectItem, SelectTrigger } from '@/components/ui/select' import { Switch } from '@/components/ui/switch' import { MEDIA_AUTO_LOAD_POLICY, NSFW_DISPLAY_POLICY, PROFILE_PICTURE_AUTO_LOAD_POLICY } from '@/constants' import { LocalizedLanguageNames, TLanguage } from '@/i18n' import SecondaryPageLayout from '@/layouts/SecondaryPageLayout' import { isSupportCheckConnectionType } from '@/lib/utils' import { useContentPolicy } from '@/providers/ContentPolicyProvider' import { useUserPreferences } from '@/providers/UserPreferencesProvider' import { TMediaAutoLoadPolicy, TNsfwDisplayPolicy, TProfilePictureAutoLoadPolicy } from '@/types' import { SelectValue } from '@radix-ui/react-select' import { RotateCcw } from 'lucide-react' import { forwardRef, useState } from 'react' import { useTranslation } from 'react-i18next' import DefaultTrustScoreFilter from './DefaultTrustScoreFilter' import MutedWords from './MutedWords' import SettingItem from './SettingItem' const GeneralSettingsPage = forwardRef(({ index }: { index?: number }, ref) => { const { t, i18n } = useTranslation() const [language, setLanguage] = useState(i18n.language as TLanguage) const { autoplay, setAutoplay, videoLoop, setVideoLoop, nsfwDisplayPolicy, setNsfwDisplayPolicy, hideContentMentioningMutedUsers, setHideContentMentioningMutedUsers, mediaAutoLoadPolicy, setMediaAutoLoadPolicy, profilePictureAutoLoadPolicy, setProfilePictureAutoLoadPolicy } = useContentPolicy() const { quickReaction, updateQuickReaction, quickReactionEmoji, updateQuickReactionEmoji } = useUserPreferences() const handleLanguageChange = (value: TLanguage) => { i18n.changeLanguage(value) setLanguage(value) } return (
{quickReaction && (
{ if (!emoji) return updateQuickReactionEmoji(emoji) }} >
)}
) }) GeneralSettingsPage.displayName = 'GeneralSettingsPage' export default GeneralSettingsPage