// SPDX-License-Identifier: AGPL-3.0-or-later import { MiddleClickAutoscrollControl, SmoothScrollingControl, StayInteractiveUnfocusedControl, TextSelectionControl, VideoSeekThumbnailsControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls'; import { DownloadButtonControl, FavoritesControl, HelpCenterButtonControl, HideKeyboardHintsControl, KeepNekoStillControl, ShowNekoControl, VoiceChannelJoinBehaviorControl, WindowsFluxerSansControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls'; import { AutoSendGifsControl, ConvertEmoticonsAdvancedControl, ExpressionAutocompleteControl, HideMutedChannelsByDefaultControl, InputButtonsControl, KeepAttachmentsOnEmptyEditAdvancedControl, MediaButtonsControl, MessageActionBarControl, PreuploadMessageAttachmentsControl, ReverseImageSearchControl, SaveGifFavoritesControl, ScrollToBottomOnSendControl, SearchEnginesControl, SequentialFileSendControl, SkipMarkAllAsReadControl, StripTrackingControl, TranslatorsControl, TrustAllDomainsControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedChatControls'; import {DeveloperModeControl} from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedClientDeveloperControls'; import { AutomaticUpdatesControl, HardwareAccelerationControl, NativeTitleBarControl, SourceMapsControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls'; import { ExpressionCloneShortcutsControl, UnreadBadgeCustomizationControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedExperimentalControls'; import { ScreenShareAv1OptInControl, ScreenShareCodecControl, ScreenShareEncoderControls, ScreenShareHevcOptInControl, ScreenSharePreviewBehaviorControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls'; import { ConnectionVolumeControlsControl, NewDeviceAlertsControl, } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVoiceControls'; import type {SearchableSettingItem} from '@app/features/user/components/settings_utils/SettingsSectionRegistry'; import {observer} from 'mobx-react-lite'; export const DIRECT_CONTROL_ITEM_IDS = new Set([ 'advanced-windows-fluxer-sans', 'accessibility-text-selection', 'accessibility-video-seek-thumbnails', 'accessibility-smooth-scrolling', 'accessibility-middle-click-autoscroll', 'appearance-show-neko', 'appearance-keep-neko-still', 'appearance-hide-keyboard-hints', 'appearance-voice-channel-join-behavior', 'appearance-enable-favorites', 'appearance-show-help-center-button', 'appearance-show-download-button', 'chat-settings-auto-send-gifs', 'chat-settings-save-gif-favorites', 'chat-settings-message-action-bar', 'chat-settings-media-buttons', 'chat-settings-strip-tracking', 'chat-settings-trust-domains', 'chat-settings-search-engines', 'chat-settings-translators', 'chat-settings-reverse-image-search', 'chat-settings-expression-autocomplete', 'chat-settings-input-buttons', 'chat-settings-convert-emoticons', 'chat-settings-keep-attachments-on-empty-edit', 'chat-settings-preupload-attachments', 'chat-settings-sequential-file-send', 'chat-settings-scroll-to-bottom-on-send', 'chat-settings-skip-mark-all-as-read-confirmation', 'chat-settings-hide-muted-channels', 'voice-video-new-device-alerts', 'voice-video-connection-volume-controls', 'voice-video-screen-share-codec', 'voice-video-screen-share-av1-opt-in', 'voice-video-screen-share-hevc-opt-in', 'voice-video-screen-share-preview-behavior', 'voice-video-screen-share-encoder-controls', 'advanced-unread-badge-customization', 'advanced-expression-clone-shortcuts', 'client-developer-mode', 'accessibility-stay-interactive-unfocused', 'advanced-native-title-bar', 'advanced-hardware-acceleration', 'advanced-automatic-updates', 'desktop-source-maps', ]); export const FULL_WIDTH_CONTROL_ITEM_IDS = new Set([ 'appearance-voice-channel-join-behavior', 'voice-video-screen-share-preview-behavior', ]); export const COMPACT_SWITCH_CONTROL_ITEM_IDS = new Set([ 'advanced-windows-fluxer-sans', 'accessibility-text-selection', 'accessibility-video-seek-thumbnails', 'accessibility-smooth-scrolling', 'accessibility-middle-click-autoscroll', 'appearance-show-neko', 'appearance-keep-neko-still', 'appearance-hide-keyboard-hints', 'appearance-enable-favorites', 'appearance-show-help-center-button', 'appearance-show-download-button', 'chat-settings-auto-send-gifs', 'chat-settings-save-gif-favorites', 'chat-settings-strip-tracking', 'chat-settings-trust-domains', 'chat-settings-convert-emoticons', 'chat-settings-keep-attachments-on-empty-edit', 'chat-settings-preupload-attachments', 'chat-settings-sequential-file-send', 'chat-settings-scroll-to-bottom-on-send', 'chat-settings-skip-mark-all-as-read-confirmation', 'chat-settings-hide-muted-channels', 'voice-video-new-device-alerts', 'voice-video-connection-volume-controls', 'voice-video-screen-share-av1-opt-in', 'voice-video-screen-share-hevc-opt-in', 'advanced-unread-badge-customization', 'advanced-expression-clone-shortcuts', 'client-developer-mode', 'accessibility-stay-interactive-unfocused', 'advanced-native-title-bar', 'advanced-hardware-acceleration', 'advanced-automatic-updates', 'desktop-source-maps', ]); export const AdvancedSettingControl = observer(({item}: {item: SearchableSettingItem}) => { switch (item.id) { case 'advanced-windows-fluxer-sans': return ( ); case 'accessibility-text-selection': return ( ); case 'accessibility-video-seek-thumbnails': return ( ); case 'accessibility-smooth-scrolling': return ( ); case 'accessibility-middle-click-autoscroll': return ( ); case 'appearance-show-neko': return ( ); case 'appearance-keep-neko-still': return ( ); case 'appearance-hide-keyboard-hints': return ( ); case 'appearance-voice-channel-join-behavior': return ( ); case 'appearance-enable-favorites': return ( ); case 'appearance-show-help-center-button': return ( ); case 'appearance-show-download-button': return ( ); case 'chat-settings-auto-send-gifs': return ( ); case 'chat-settings-save-gif-favorites': return ( ); case 'chat-settings-message-action-bar': return ( ); case 'chat-settings-media-buttons': return ( ); case 'chat-settings-strip-tracking': return ( ); case 'chat-settings-trust-domains': return ( ); case 'chat-settings-search-engines': return ( ); case 'chat-settings-translators': return ( ); case 'chat-settings-reverse-image-search': return ( ); case 'chat-settings-expression-autocomplete': return ( ); case 'chat-settings-input-buttons': return ( ); case 'chat-settings-convert-emoticons': return ( ); case 'chat-settings-keep-attachments-on-empty-edit': return ( ); case 'chat-settings-preupload-attachments': return ( ); case 'chat-settings-sequential-file-send': return ( ); case 'chat-settings-scroll-to-bottom-on-send': return ( ); case 'chat-settings-skip-mark-all-as-read-confirmation': return ( ); case 'chat-settings-hide-muted-channels': return ( ); case 'voice-video-new-device-alerts': return ( ); case 'voice-video-connection-volume-controls': return ( ); case 'voice-video-screen-share-codec': return ( ); case 'voice-video-screen-share-av1-opt-in': return ( ); case 'voice-video-screen-share-hevc-opt-in': return ( ); case 'voice-video-screen-share-preview-behavior': return ( ); case 'voice-video-screen-share-encoder-controls': return ( ); case 'advanced-unread-badge-customization': return ( ); case 'advanced-expression-clone-shortcuts': return ( ); case 'client-developer-mode': return ( ); case 'accessibility-stay-interactive-unfocused': return ( ); case 'desktop-source-maps': return ( ); case 'advanced-native-title-bar': return ( ); case 'advanced-hardware-acceleration': return ( ); case 'advanced-automatic-updates': return ( ); default: return null; } });