diff --git a/components/settings/index/settingsSearchIndex.ts b/components/settings/index/settingsSearchIndex.ts index 91d15f7c5..22e9953ee 100644 --- a/components/settings/index/settingsSearchIndex.ts +++ b/components/settings/index/settingsSearchIndex.ts @@ -8,32 +8,259 @@ export interface SearchableOption { /** * Internal options of sub-pages, for deep search ("index + internal settings"). - * SEED LIST — expand by auditing each sub-page component. Every titleKey/ - * parentTitleKey MUST be a real existing i18n key. + * Populated from a per-sub-page audit of every user-facing ListItem/dropdown row. + * Every titleKey/parentTitleKey MUST be a real existing i18n key. */ export const SETTINGS_SEARCH_INDEX: SearchableOption[] = [ + // --- Playback & Controls ------------------------------------------------- + // MediaToggles { titleKey: "home.settings.media_controls.forward_skip_length", parentRoute: "/settings/playback-controls/page", parentTitleKey: "home.settings.playback_controls.title", - keywords: ["skip", "forward"], + keywords: ["skip", "forward", "seconds"], }, { titleKey: "home.settings.media_controls.rewind_length", parentRoute: "/settings/playback-controls/page", parentTitleKey: "home.settings.playback_controls.title", - keywords: ["rewind"], + keywords: ["rewind", "back", "seconds"], + }, + // GestureControls + { + titleKey: "home.settings.gesture_controls.horizontal_swipe_skip", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["gesture", "swipe", "skip", "seek"], + }, + { + titleKey: "home.settings.gesture_controls.left_side_brightness", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["gesture", "swipe", "brightness", "left"], + }, + { + titleKey: "home.settings.gesture_controls.right_side_volume", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["gesture", "swipe", "volume", "right"], + }, + { + titleKey: "home.settings.gesture_controls.hide_volume_slider", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["volume", "slider", "hide", "gesture"], + }, + { + titleKey: "home.settings.gesture_controls.hide_brightness_slider", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["brightness", "slider", "hide", "gesture"], + }, + // PlaybackControlsSettings (home.settings.other.*) + { + titleKey: "home.settings.other.video_orientation", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["orientation", "rotate", "landscape", "portrait"], + }, + { + titleKey: "home.settings.other.safe_area_in_controls", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["safe", "area", "notch", "controls", "inset"], + }, + { + titleKey: "home.settings.other.default_quality", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["quality", "bitrate", "resolution"], + }, + { + titleKey: "home.settings.other.default_playback_speed", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["playback", "speed", "rate"], + }, + { + titleKey: "home.settings.other.disable_haptic_feedback", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["haptic", "vibration", "feedback"], + }, + { + titleKey: "home.settings.other.auto_play_next_episode", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["autoplay", "auto", "next", "episode"], + }, + { + titleKey: "home.settings.other.max_auto_play_episode_count", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["autoplay", "auto", "episode", "count", "limit"], + }, + // MpvBufferSettings + { + titleKey: "home.settings.buffer.cache_mode", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["cache", "buffer", "mode"], + }, + { + titleKey: "home.settings.buffer.buffer_duration", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["buffer", "duration", "cache", "seconds"], + }, + { + titleKey: "home.settings.buffer.max_cache_size", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["buffer", "cache", "size", "memory"], + }, + // MpvVoSettings (Android only) + { + titleKey: "home.settings.vo_driver.vo_mode", + parentRoute: "/settings/playback-controls/page", + parentTitleKey: "home.settings.playback_controls.title", + keywords: ["video", "output", "driver", "gpu", "mpv"], + platforms: ["android"], + }, + + // --- Audio & Subtitles --------------------------------------------------- + // AudioToggles + { + titleKey: "home.settings.audio.set_audio_track", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["audio", "track", "remember", "previous"], + }, + { + titleKey: "home.settings.audio.audio_language", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["audio", "language", "default"], + }, + { + titleKey: "home.settings.audio.transcode_mode.title", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["audio", "transcode", "surround", "stereo", "passthrough"], + }, + // SubtitleToggles + { + titleKey: "home.settings.subtitles.subtitle_language", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["subtitle", "caption", "language", "default"], + }, + { + titleKey: "home.settings.subtitles.subtitle_mode", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["subtitle", "caption", "mode", "forced"], + }, + { + titleKey: "home.settings.subtitles.set_subtitle_track", + parentRoute: "/settings/audio-subtitles/page", + parentTitleKey: "home.settings.audio_subtitles.title", + keywords: ["subtitle", "caption", "track", "remember", "previous"], }, { titleKey: "home.settings.subtitles.subtitle_size", parentRoute: "/settings/audio-subtitles/page", parentTitleKey: "home.settings.audio_subtitles.title", - keywords: ["subtitle", "size"], + keywords: ["subtitle", "size", "caption", "scale", "font"], + }, + + // --- Music --------------------------------------------------------------- + { + titleKey: "home.settings.music.prefer_downloaded", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "downloaded", "offline", "local"], }, { - titleKey: "home.settings.gesture_controls.gesture_controls_title", - parentRoute: "/settings/playback-controls/page", - parentTitleKey: "home.settings.playback_controls.title", - keywords: ["gesture", "swipe", "brightness", "volume"], + titleKey: "home.settings.music.lookahead_enabled", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "lookahead", "cache", "prefetch"], + }, + { + titleKey: "home.settings.music.lookahead_count", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "lookahead", "cache", "count", "tracks"], + }, + { + titleKey: "home.settings.music.max_cache_size", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "cache", "size", "storage"], + }, + { + titleKey: "home.settings.storage.clear_music_cache", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "cache", "clear", "storage"], + }, + { + titleKey: "home.settings.storage.delete_all_downloaded_songs", + parentRoute: "/settings/music/page", + parentTitleKey: "home.settings.music.title", + keywords: ["music", "downloaded", "delete", "songs", "storage"], + }, + + // --- Appearance ---------------------------------------------------------- + { + titleKey: "home.settings.other.show_custom_menu_links", + parentRoute: "/settings/appearance/page", + parentTitleKey: "home.settings.appearance.title", + keywords: ["menu", "links", "custom", "navigation"], + }, + { + titleKey: "home.settings.appearance.merge_next_up_continue_watching", + parentRoute: "/settings/appearance/page", + parentTitleKey: "home.settings.appearance.title", + keywords: ["continue", "watching", "next", "up", "merge", "home"], + }, + { + titleKey: "home.settings.other.hide_libraries", + parentRoute: "/settings/appearance/page", + parentTitleKey: "home.settings.appearance.title", + keywords: ["hide", "libraries", "library", "home"], + }, + { + titleKey: "home.settings.appearance.hide_remote_session_button", + parentRoute: "/settings/appearance/page", + parentTitleKey: "home.settings.appearance.title", + keywords: ["remote", "session", "button", "hide", "cast"], + }, + + // --- Network ------------------------------------------------------------- + { + titleKey: "home.settings.network.remote_url", + parentRoute: "/settings/network/page", + parentTitleKey: "home.settings.network.title", + keywords: ["remote", "url", "server", "address"], + }, + { + titleKey: "home.settings.network.active_url", + parentRoute: "/settings/network/page", + parentTitleKey: "home.settings.network.title", + keywords: ["active", "url", "server", "connection"], + }, + { + titleKey: "home.settings.network.auto_switch_enabled", + parentRoute: "/settings/network/page", + parentTitleKey: "home.settings.network.title", + keywords: ["auto", "switch", "local", "wifi", "network"], + }, + { + titleKey: "home.settings.network.local_url", + parentRoute: "/settings/network/page", + parentTitleKey: "home.settings.network.title", + keywords: ["local", "url", "lan", "server", "address"], }, ];