control-panel-for-twitter/types.d.ts
Jonny Buchanan f8258fbcd9 Renamed the Hide "Discover more" tweets option to Hide "Discover" suggestions
Added hiding Discover new Lists suggestions in the Lists page when this option is enabled

Fixes #350
2025-02-19 04:16:43 +10:00

201 lines
5.2 KiB
TypeScript

export type Config = {
debug: boolean
debugLogTimelineStats: boolean
version?: 'desktop' | 'mobile'
// Shared
addAddMutedWordMenuItem: boolean
// XXX This is now more like "use the Following tab by default"
alwaysUseLatestTweets: boolean
defaultToLatestSearch: boolean
disableHomeTimeline: boolean
disabledHomeTimelineRedirect: 'notifications' | 'messages'
disableTweetTextFormatting: boolean
dontUseChirpFont: boolean
dropdownMenuFontWeight: boolean
fastBlock: boolean
followButtonStyle: 'monochrome' | 'themed'
hideAdsNav: boolean
hideBlueReplyFollowedBy: boolean
hideBlueReplyFollowing: boolean
hideBookmarkButton: boolean
hideBookmarkMetrics: boolean
hideBookmarksNav: boolean
hideCommunitiesNav: boolean
hideComposeTweet: boolean
hideExplorePageContents: boolean
hideFollowingMetrics: boolean
hideForYouTimeline: boolean
hideGrokNav: boolean
hideInlinePrompts: boolean
hideJobsNav: boolean
hideLikeMetrics: boolean
hideListsNav: boolean
hideMetrics: boolean
hideMonetizationNav: boolean
// XXX This now controls hiding all "Discover" suggestions
hideMoreTweets: boolean
hideNotifications: 'ignore' | 'badges' | 'hide'
hideProfileRetweets: boolean
hideQuoteTweetMetrics: boolean
hideQuotesFrom: string[]
hideReplyMetrics: boolean
hideRetweetMetrics: boolean
hideSeeNewTweets: boolean
hideShareTweetButton: boolean
hideSpacesNav: boolean
hideSubscriptions: boolean
hideTimelineTweetBox: boolean
hideTotalTweetsMetrics: boolean
hideTweetAnalyticsLinks: boolean
hideTwitterBlueReplies: boolean
hideTwitterBlueUpsells: boolean
hideUnavailableQuoteTweets: boolean
// XXX This now also controls hiding Verified Followers
hideVerifiedNotificationsTab: boolean
hideViews: boolean
hideWhoToFollowEtc: boolean
listRetweets: 'ignore' | 'hide'
mutableQuoteTweets: boolean
mutedQuotes: QuotedTweet[]
quoteTweets: SharedTweetsConfig
redirectToTwitter: boolean
reducedInteractionMode: boolean
// XXX This now controls all replacement of X brand changes
replaceLogo: boolean
restoreLinkHeadlines: boolean
restoreQuoteTweetsLink: boolean
restoreOtherInteractionLinks: boolean
retweets: SharedTweetsConfig
showBlueReplyFollowersCountAmount: string
showBlueReplyFollowersCount: boolean
showBlueReplyVerifiedAccounts: boolean
showBookmarkButtonUnderFocusedTweets: boolean
sortReplies: 'relevant' | 'recent' | 'liked'
tweakNewLayout: boolean
tweakQuoteTweetsPage: boolean
twitterBlueChecks: 'ignore' | 'replace' | 'hide'
unblurSensitiveContent: boolean
uninvertFollowButtons: boolean
// Experiments
customCss: string
// Desktop only
fullWidthContent: boolean
fullWidthMedia: boolean
hideAccountSwitcher: boolean
hideExploreNav: boolean
hideExploreNavWithSidebar: boolean
hideMessagesDrawer: boolean
hideProNav: boolean
hideSidebarContent: boolean
hideToggleNavigation: boolean
navBaseFontSize: boolean
navDensity: 'default' | 'comfortable' | 'compact'
showRelevantPeople: boolean
// Mobile only
hideMessagesBottomNavItem: boolean
}
export type Locale = {
[key in LocaleKey]?: string
}
export type LocaleKey =
| 'ADD_ANOTHER_TWEET'
| 'ADD_MUTED_WORD'
| 'GROK_ACTIONS'
| 'HOME'
| 'LIKES'
| 'MOST_RELEVANT'
| 'MUTE_THIS_CONVERSATION'
| 'POST_ALL'
| 'POST_UNAVAILABLE'
| 'PROFILE_SUMMARY'
| 'QUOTE'
| 'QUOTES'
| 'QUOTE_TWEET'
| 'QUOTE_TWEETS'
| 'REPOST'
| 'REPOSTS'
| 'RETWEET'
| 'RETWEETED_BY'
| 'RETWEETS'
| 'SHARED'
| 'SHARED_TWEETS'
| 'SHOW'
| 'SHOW_MORE_REPLIES'
| 'SORT_REPLIES_BY'
| 'TURN_OFF_QUOTE_TWEETS'
| 'TURN_OFF_RETWEETS'
| 'TURN_ON_RETWEETS'
| 'TWEET'
| 'TWEETS'
| 'TWEET_ALL'
| 'TWEET_INTERACTIONS'
| 'TWEET_YOUR_REPLY'
| 'TWITTER'
| 'UNDO_RETWEET'
| 'VIEW'
| 'WHATS_HAPPENING'
export type NamedMutationObserver = MutationObserver & {name?: string}
export type Disconnectable = NamedMutationObserver|{disconnect(): void}
export type QuotedTweet = {
quotedBy: string
user: string
time: string
text?: string
}
export type SharedTweetsConfig = 'separate' | 'hide' | 'ignore'
export type TweetType =
| 'PINNED_TWEET'
| 'PROMOTED_TWEET'
| 'QUOTE_TWEET'
| 'RETWEET'
| 'RETWEETED_QUOTE_TWEET'
| 'TWEET'
| 'UNAVAILABLE'
| 'UNAVAILABLE_QUOTE_TWEET'
| 'UNAVAILABLE_RETWEET'
export type TimelineItemType =
| TweetType
| 'BLUE_REPLY'
| 'VERIFIED_ORG_REPLY'
| 'DISCOVER_MORE_HEADING'
| 'DISCOVER_MORE_TWEET'
| 'FOCUSED_TWEET'
| 'HEADING'
| 'INLINE_PROMPT'
| 'SHOW_MORE'
| 'SUBSEQUENT_ITEM'
| 'UNAVAILABLE'
export type TimelineOptions = {
classifyTweets?: boolean
hideHeadings?: boolean
isTabbed?: boolean
isUserTimeline?: boolean
onTabChanged?: () => void
onTimelineAppeared?: () => void
tabbedTimelineContainerSelector?: string
timelineSelector?: string
}
export type IndividualTweetTimelineOptions = {
observers: Disconnectable[]
}
export type UserInfo = {
following: boolean
followedBy: boolean
followersCount: number
}
export type UserInfoObject = {[index: string]: UserInfo}
export type VerifiedType = 'BLUE' | 'VERIFIED_ORG'