Compare commits
31 Commits
aa441af736
...
5c79a93c36
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5c79a93c36 | ||
![]() |
6b5125d73f | ||
![]() |
212d2dbd2a | ||
![]() |
09b5e7b72d | ||
![]() |
17d078e639 | ||
![]() |
dab3344b15 | ||
![]() |
564ee7d020 | ||
![]() |
acd7977c3f | ||
![]() |
75423f6818 | ||
![]() |
84ceb7d7b1 | ||
![]() |
1b9b8d6296 | ||
![]() |
51d00cdcbe | ||
![]() |
e9e68814c1 | ||
![]() |
bd604e4a7a | ||
![]() |
c75e01f50f | ||
![]() |
01fa86347b | ||
![]() |
af58f0351c | ||
![]() |
6e52480e05 | ||
![]() |
d2125632a0 | ||
![]() |
4bed7b236e | ||
![]() |
7a54fbd193 | ||
![]() |
d0e54a9d75 | ||
![]() |
7990265348 | ||
![]() |
52de4d1c19 | ||
![]() |
a861074949 | ||
![]() |
b080052f6f | ||
![]() |
b0a360aef6 | ||
![]() |
6f2a312cce | ||
![]() |
45f0e5f29f | ||
![]() |
4be36de9f8 | ||
![]() |
8692f3f582 |
@ -51,6 +51,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "Use normal font weight in dropdown menus"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "Enabled"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "Experiments"
|
||||
},
|
||||
@ -68,6 +71,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (disabled)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "Fast blocking (skips confirm dialog)"
|
||||
},
|
||||
@ -101,12 +107,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "Hide all"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "Hide people who follow me"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "Hide people I follow"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "Bookmark button under tweets"
|
||||
},
|
||||
@ -359,6 +359,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "Restore Quote Tweets link under Tweets"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "Restore Tweet source label"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "Retweets"
|
||||
},
|
||||
@ -372,7 +375,7 @@
|
||||
"message": "Number of followers"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "Show people with over $AMOUNT$ followers",
|
||||
"message": "Show accounts with over $AMOUNT$ followers",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1",
|
||||
@ -380,12 +383,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "Show \"verified\" accounts"
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "Show under focused tweets"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "Show verified Business accounts"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "Show accounts which follow me"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "Show accounts I follow"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "Show verified Government accounts"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "Show \"Relevant people\" when viewing a tweet"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "Usar grosor normal de fuentes en desplegables"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "Habilitado"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "Experimentos"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (deshabilitado)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "Bloqueo rápido (no muestra menú de confirmación)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "Ocultar todo"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "Ocultar personas que me siguen"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "Ocultar personas que sigo"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "Botón de guardados debajo de los tweets"
|
||||
},
|
||||
@ -353,6 +353,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "Restaurar el enlace de Tweets citados debajo Tweets"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "Restaurar etiqueta de fuente del Tweet"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "Retweets"
|
||||
},
|
||||
@ -366,19 +369,28 @@
|
||||
"message": "Número de seguidores"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "Mostrar personas con más de $AMOUNT$ seguidores",
|
||||
"message": "Mostrar cuentas con más de $AMOUNT$ seguidores",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "Mostrar cuentas \"verificadas\""
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "Mostrar debajo de los tweets destacados"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "Mostrar cuentas de empresa verificadas"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "Mostrar cuentas que me siguen"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "Mostrar cuentas que sigo"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "Mostrar cuentas gubernamentales verificadas"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "Mostrar \"Personas relevantes\" al ver un tweet"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "Utiliser une taille de police normale dans les menus déroulants"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "Activé"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "Fonctionnalités expérimentales"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (désactivé)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "Blocage rapide (ignore la boîte de dialogue de confirmation)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "Masquer tous les paramètres"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "Masquer les personnes qui me suivent"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "Masquer les personnes que je suis"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "Bouton de signet sous les tweets"
|
||||
},
|
||||
@ -353,6 +353,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "Restaurer les liens des Tweets cités sous les Tweets"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "Restaurer l'étiquette de source du Tweet"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "Retweets"
|
||||
},
|
||||
@ -366,19 +369,28 @@
|
||||
"message": "Nombre d'abonnés"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "Afficher les personnes avec plus de $AMOUNT$ abonnés",
|
||||
"message": "Afficher les comptes ayant plus de $AMOUNT$ abonnés",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "Afficher les comptes \"certifiés\""
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "Afficher sous les tweets mis en avant"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "Afficher les comptes professionnels vérifiés"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "Afficher les comptes qui me suivent"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "Afficher les comptes que je suis"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "Afficher les comptes gouvernementaux vérifiés"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "Afficher \"Personnes pertinentes\" lors de l'affichage d'un tweet"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "Usa il peso normale per il font dei menu a tendina"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "Abilitato"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "Esperimenti"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (disabilitato)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "Blocco rapido (salta la conferma)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "Nascondi tutte"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "Nascondi i miei seguaci"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "Nascondi i miei seguiti"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "Tasto segnalibro sotto i tweet"
|
||||
},
|
||||
@ -353,6 +353,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "Ripristina link dei tweet di citazione sotto ai tweet"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "Ripristina etichetta della fonte del Tweet"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "Retweet"
|
||||
},
|
||||
@ -366,7 +369,7 @@
|
||||
"message": "Numero di seguaci"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "Mostra persone con più di $AMOUNT$ seguaci",
|
||||
"message": "Mostra account con più di $AMOUNT$ follower",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1",
|
||||
@ -374,12 +377,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "Mostra account \"verificati\""
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "Mostra sotto ai tweet selezionati"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "Mostra account aziendali verificati"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "Mostra account che mi seguono"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "Mostra account che seguo"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "Mostra account governativi verificati"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "Mostra \"Persone rilevanti\" quando visualizzi un tweet"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "ドロップダウンメニューを通常のフォントの太さにする"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "有効"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "実験的機能"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (無効)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "即ブロック(確認画面をスキップする)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "すべて非表示"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "私をフォローしている人を非表示にします"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "フォローしている人を非表示にする"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "ツイート下部のブックマークボタン"
|
||||
},
|
||||
@ -150,7 +150,7 @@
|
||||
"message": "タイムライン内のインラインプロンプトを非表示にする"
|
||||
},
|
||||
"hideJobsLabel": {
|
||||
"message": "募集を隠す"
|
||||
"message": "募集を非表示にする"
|
||||
},
|
||||
"hideLikeMetricsLabel": {
|
||||
"message": "いいね件数"
|
||||
@ -222,7 +222,7 @@
|
||||
"message": "スペースを作成"
|
||||
},
|
||||
"hideSubscriptionsLabel": {
|
||||
"message": "サブスクリプションを非表示"
|
||||
"message": "サブスクリプションを非表示にする"
|
||||
},
|
||||
"hideSuggestedFollowsLabel": {
|
||||
"message": "おすすめのフォローを非表示"
|
||||
@ -345,13 +345,16 @@
|
||||
"message": "X のブランド変更を置き換える"
|
||||
},
|
||||
"restoreLinkHeadlinesLabel": {
|
||||
"message": "外部リンクの下に見出しを復元"
|
||||
"message": "外部リンクの下に見出しを復元する"
|
||||
},
|
||||
"restoreOtherInteractionLinksLabel": {
|
||||
"message": "ツイートの下の他のリンクを復元する"
|
||||
},
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "ツイートの下にある「引用ツイート」リンクを復元し"
|
||||
"message": "ツイートの下にある「引用ツイート」リンクを復元する"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "ツイートのソースラベルを復元"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "リツイート"
|
||||
@ -366,19 +369,28 @@
|
||||
"message": "フォロワー数"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "$AMOUNT$ 人以上のフォロワーを表示する",
|
||||
"message": "フォロワー数が$AMOUNT$人を超えるアカウントを表示",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "「認証済み」アカウントを表示"
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "フォーカスされたツイートの下に表示"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "認証済みビジネスアカウントを表示"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "自分をフォローしているアカウントを表示"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "フォロー中のアカウントを表示"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "認証済み政府機関アカウントを表示"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "ツイート閲覧時に「おすすめユーザー」を表示する"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "드롭다운 메뉴에서 일반 글꼴 두께 사용"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "활성화됨"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "실험"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (비활성화됨)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "빠른 차단 (확인 대화상자 생략)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "모두 숨기기"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "나를 팔로우하는 사람 숨기기"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "내가 팔로우한 사람 숨기기"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "트윗 아래 북마크 버튼 숨기기"
|
||||
},
|
||||
@ -353,6 +353,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "트윗 아래의 \"트윗 인용\" 링크 복원"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "트윗 출처 라벨 복원"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "리트윗"
|
||||
},
|
||||
@ -366,19 +369,28 @@
|
||||
"message": "팔로워 수"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "$AMOUNT$명 이상의 팔로워 보기",
|
||||
"message": "팔로워 수가 $AMOUNT$명을 초과하는 계정 표시",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "\"인증됨\" 계정 표시"
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "집중된 트윗 아래에 표시"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "인증된 비즈니스 계정 표시"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "나를 팔로우하는 계정 표시"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "내가 팔로우하는 계정 표시"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "인증된 정부 계정 표시"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "트윗 보기 시 \"연관된 사람\" 표시"
|
||||
},
|
||||
|
@ -50,6 +50,9 @@
|
||||
"dropdownMenuFontWeightLabel": {
|
||||
"message": "在下拉菜单中使用正常的字体大小"
|
||||
},
|
||||
"enabled": {
|
||||
"message": "已启用"
|
||||
},
|
||||
"experimentsOptionsLabel": {
|
||||
"message": "试验"
|
||||
},
|
||||
@ -65,6 +68,9 @@
|
||||
"extensionName": {
|
||||
"message": "Control Panel for Twitter"
|
||||
},
|
||||
"extensionNameDisabled": {
|
||||
"message": "Control Panel for Twitter (已禁用)"
|
||||
},
|
||||
"fastBlockLabel": {
|
||||
"message": "快速屏蔽(跳过确认对话框)"
|
||||
},
|
||||
@ -98,12 +104,6 @@
|
||||
"hideAllMetricsLabel": {
|
||||
"message": "全部隐藏"
|
||||
},
|
||||
"hideBlueReplyFollowedByLabel": {
|
||||
"message": "隐藏关注我的人"
|
||||
},
|
||||
"hideBlueReplyFollowingLabel": {
|
||||
"message": "隐藏我关注的人"
|
||||
},
|
||||
"hideBookmarkButtonLabel": {
|
||||
"message": "推文下方的书签按钮"
|
||||
},
|
||||
@ -362,6 +362,9 @@
|
||||
"restoreQuoteTweetsLinkLabel": {
|
||||
"message": "恢复推文下的“引用推文”链接"
|
||||
},
|
||||
"restoreTweetSourceLabel": {
|
||||
"message": "恢复推文来源标签"
|
||||
},
|
||||
"retweetsLabel": {
|
||||
"message": "转发"
|
||||
},
|
||||
@ -375,19 +378,28 @@
|
||||
"message": "粉丝数"
|
||||
},
|
||||
"showBlueReplyFollowersCountLabel": {
|
||||
"message": "显示拥有超过 $AMOUNT$ 个粉丝的人",
|
||||
"message": "显示粉丝数超过$AMOUNT$的账户",
|
||||
"placeholders": {
|
||||
"amount": {
|
||||
"content": "$1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"showBlueReplyVerifiedAccountsLabel": {
|
||||
"message": "显示\"已验证\"账号"
|
||||
},
|
||||
"showBookmarkButtonUnderFocusedTweetsLabel": {
|
||||
"message": "在焦点推文下显示"
|
||||
},
|
||||
"showPremiumReplyBusinessLabel": {
|
||||
"message": "显示已验证的企业账户"
|
||||
},
|
||||
"showPremiumReplyFollowedByLabel": {
|
||||
"message": "显示关注我的账户"
|
||||
},
|
||||
"showPremiumReplyFollowingLabel": {
|
||||
"message": "显示我关注的账户"
|
||||
},
|
||||
"showPremiumReplyGovernmentLabel": {
|
||||
"message": "显示已验证的政府账户"
|
||||
},
|
||||
"showRelevantPeopleLabel": {
|
||||
"message": "查看推文时显示\"相关人员\""
|
||||
},
|
||||
|
45
background.js
Normal file
@ -0,0 +1,45 @@
|
||||
const isSafari = location.protocol.startsWith('safari-web-extension:')
|
||||
|
||||
const enabledIcons = {
|
||||
16: 'icons/icon16.png',
|
||||
32: 'icons/icon32.png',
|
||||
48: 'icons/icon48.png',
|
||||
64: 'icons/icon64.png',
|
||||
96: 'icons/icon96.png',
|
||||
128: 'icons/icon128.png',
|
||||
}
|
||||
|
||||
const disabledIcons = {
|
||||
16: 'icons/icon16-disabled.png',
|
||||
32: 'icons/icon32-disabled.png',
|
||||
48: 'icons/icon48-disabled.png',
|
||||
64: 'icons/icon64-disabled.png',
|
||||
96: 'icons/icon96-disabled.png',
|
||||
128: 'icons/icon128-disabled.png',
|
||||
}
|
||||
|
||||
function updateToolbarIcon(enabled) {
|
||||
let title = chrome.i18n.getMessage(enabled ? 'extensionName' : 'extensionNameDisabled')
|
||||
if (chrome.runtime.getManifest().manifest_version == 3) {
|
||||
chrome.action.setTitle({title})
|
||||
if (!isSafari) {
|
||||
chrome.action.setIcon({path: enabled ? enabledIcons : disabledIcons})
|
||||
} else {
|
||||
chrome.action.setBadgeText({text: enabled ? '' : '⏻'})
|
||||
}
|
||||
} else {
|
||||
chrome.browserAction.setTitle({title})
|
||||
chrome.browserAction.setIcon({path: enabled ? enabledIcons : disabledIcons})
|
||||
}
|
||||
}
|
||||
|
||||
// Update browser action icon to reflect enabled state
|
||||
chrome.storage.local.get({enabled: true}, ({enabled}) => {
|
||||
updateToolbarIcon(enabled)
|
||||
})
|
||||
|
||||
chrome.storage.local.onChanged.addListener((changes) => {
|
||||
if (changes.enabled) {
|
||||
updateToolbarIcon(changes.enabled.newValue)
|
||||
}
|
||||
})
|
38
content.js
@ -1,6 +1,38 @@
|
||||
/** @type {HTMLScriptElement} */
|
||||
let $settings
|
||||
|
||||
const isSafari = navigator.userAgent.includes('Safari/') && !/Chrom(e|ium)\//.test(navigator.userAgent)
|
||||
const twitterBlue = 'rgb(29, 155, 240)'
|
||||
const twitterLogoPath = 'M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z'
|
||||
const xLogoPath = 'M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'
|
||||
|
||||
if (localStorage.cpftEnabled != 'false' && localStorage.cpftReplaceLogo != 'false') {
|
||||
if (!isSafari) {
|
||||
let $style = document.createElement('style')
|
||||
$style.id = 'cpftLoading'
|
||||
$style.textContent = `
|
||||
svg path[d="${xLogoPath}"] {
|
||||
fill: ${twitterBlue};
|
||||
d: path("${twitterLogoPath}");
|
||||
}
|
||||
`
|
||||
document.documentElement.append($style)
|
||||
} else {
|
||||
let startTime = Date.now()
|
||||
new MutationObserver((_, observer) => {
|
||||
let $logoPath = document.querySelector(`svg path[d="${xLogoPath}"]`)
|
||||
if ($logoPath) {
|
||||
$logoPath.setAttribute('d', twitterLogoPath)
|
||||
$logoPath.setAttribute('fill', twitterBlue)
|
||||
observer.disconnect()
|
||||
}
|
||||
else if (Date.now() - startTime > 1000) {
|
||||
observer.disconnect()
|
||||
}
|
||||
}).observe(document.documentElement, {childList: true, subtree: true})
|
||||
}
|
||||
}
|
||||
|
||||
// Get initial config and inject it and the main script into the Twitter page
|
||||
chrome.storage.local.get((/** @type {Partial<import("./types").Config>} */ storedConfig) => {
|
||||
// Update deprecated config values
|
||||
@ -11,7 +43,7 @@ chrome.storage.local.get((/** @type {Partial<import("./types").Config>} */ store
|
||||
|
||||
$settings = document.createElement('script')
|
||||
$settings.type = 'text/json'
|
||||
$settings.id = 'tnt_settings'
|
||||
$settings.id = 'cpftSettings'
|
||||
document.documentElement.appendChild($settings)
|
||||
$settings.innerText = JSON.stringify(storedConfig)
|
||||
|
||||
@ -27,6 +59,8 @@ chrome.storage.local.get((/** @type {Partial<import("./types").Config>} */ store
|
||||
|
||||
// Inject config changes from options pages into the settings <script>
|
||||
function onConfigChange(changes) {
|
||||
if (changes.enabled) localStorage.cpftEnabled = changes.enabled.newValue
|
||||
if (changes.replaceLogo) localStorage.cpftReplaceLogo = changes.replaceLogo.newValue
|
||||
let configChanges = Object.fromEntries(
|
||||
Object.entries(changes).map(([key, {newValue}]) => [key, newValue])
|
||||
)
|
||||
@ -36,7 +70,7 @@ function onConfigChange(changes) {
|
||||
// Store config changes sent from the injected script
|
||||
window.addEventListener('message', (event) => {
|
||||
if (event.source !== window) return
|
||||
if (event.data.type === 'tntConfigChange' && event.data.changes) {
|
||||
if (event.data.type === 'cpftConfigChange' && event.data.changes) {
|
||||
chrome.storage.onChanged.removeListener(onConfigChange)
|
||||
chrome.storage.local.set(event.data.changes, () => {
|
||||
chrome.storage.onChanged.addListener(onConfigChange)
|
||||
|
BIN
icons/icon128-disabled.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
icons/icon16-disabled.png
Normal file
After Width: | Height: | Size: 318 B |
BIN
icons/icon32-disabled.png
Normal file
After Width: | Height: | Size: 616 B |
BIN
icons/icon48-disabled.png
Normal file
After Width: | Height: | Size: 938 B |
BIN
icons/icon64-disabled.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
icons/icon96-disabled.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
@ -1,7 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"checkJs": true,
|
||||
"target": "es2020"
|
||||
"module": "NodeNext",
|
||||
"moduleDetection": "force",
|
||||
"moduleResolution": "nodenext",
|
||||
"target": "ES2022"
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"name": "__MSG_extensionName__",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://soitis.dev/control-panel-for-twitter",
|
||||
"version": "4.10.1",
|
||||
"version": "4.12.2",
|
||||
"icons": {
|
||||
"16": "icons/icon16.png",
|
||||
"32": "icons/icon32.png",
|
||||
@ -13,6 +13,13 @@
|
||||
"96": "icons/icon96.png",
|
||||
"128": "icons/icon128.png"
|
||||
},
|
||||
"background": {
|
||||
"scripts": [
|
||||
"background.js"
|
||||
],
|
||||
"persistent": false,
|
||||
"type": "module"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": [
|
||||
|
@ -4,7 +4,7 @@
|
||||
"name": "__MSG_extensionName__",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://soitis.dev/control-panel-for-twitter",
|
||||
"version": "4.10.1",
|
||||
"version": "4.12.2",
|
||||
"icons": {
|
||||
"16": "icons/icon16.png",
|
||||
"32": "icons/icon32.png",
|
||||
@ -13,6 +13,10 @@
|
||||
"96": "icons/icon96.png",
|
||||
"128": "icons/icon128.png"
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background.js",
|
||||
"type": "module"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": [
|
||||
|
BIN
options-icon.png
Normal file
After Width: | Height: | Size: 662 B |
28
options.css
@ -30,7 +30,7 @@ body:not(.hidingBookmarkButton) .hidingBookmarkButton,
|
||||
body:not(.hidingExploreNav) .hidingExploreNav,
|
||||
body:not(.hidingMetrics) .hidingMetrics,
|
||||
body:not(.hidingQuotesFrom) #hideQuotesFromDetails,
|
||||
body:not(.hidingSidebarContent) .hidingSidebarContent,
|
||||
body:not(.hidingSuggestedFollows) .hidingSuggestedFollows,
|
||||
body:not(.hidingTwitterBlueReplies) .hidingTwitterBlueReplies,
|
||||
body:not(.iOS.safari) .toggle,
|
||||
body:not(.mutingQuotes) #mutedQuotesDetails,
|
||||
@ -41,6 +41,30 @@ body:not(.uninvertedFollowButtons) .uninvertedFollowButtons {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
height: 1.25rem;
|
||||
}
|
||||
|
||||
body.macOS.safari .icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body.iOS.safari .icon {
|
||||
height: 1.75rem;
|
||||
}
|
||||
|
||||
body.disabled .icon {
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
body.disabled form > section ~ section {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
body.disabled:not(.safari) form > section {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
label:not([for]) {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@ -194,7 +218,7 @@ body.macOS.safari form > section:not(:first-of-type) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
/* Add colons to option group labels */
|
||||
body.macOS.safari section.group > label:not(.checkbox)::after {
|
||||
body.macOS.safari form > section.group > label:not(.checkbox)::after {
|
||||
content: ":";
|
||||
}
|
||||
body.macOS.safari form > section.group > label {
|
||||
|
64
options.html
@ -8,6 +8,16 @@
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<section class="group">
|
||||
<label class="checkbox" style="align-items: center;">
|
||||
<span style="display: flex; align-items: center; gap: .5em;">
|
||||
<img src="options-icon.png" class="icon">
|
||||
<span id="enabled">Enabled</span>
|
||||
</span>
|
||||
<input type="checkbox" name="enabled">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="group labelled">
|
||||
<label id="homeTimelineOptionsLabel">
|
||||
Home timeline
|
||||
@ -221,6 +231,13 @@
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox">
|
||||
<label>
|
||||
<span id="restoreTweetSourceLabel">Restore Tweet source label</span>
|
||||
<input type="checkbox" name="restoreTweetSource">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox">
|
||||
<label>
|
||||
<span id="restoreLinkHeadlinesLabel">Restore headlines under external links</span>
|
||||
@ -270,21 +287,35 @@
|
||||
</label>
|
||||
<section class="checkbox hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="hideBlueReplyFollowingLabel">Hide people I follow</span>
|
||||
<input type="checkbox" name="hideBlueReplyFollowing">
|
||||
<span id="showPremiumReplyFollowingLabel">Show accounts I follow</span>
|
||||
<input type="checkbox" name="showPremiumReplyFollowing">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="hideBlueReplyFollowedByLabel">Hide people who follow me</span>
|
||||
<input type="checkbox" name="hideBlueReplyFollowedBy">
|
||||
<span id="showPremiumReplyFollowedByLabel">Show accounts which follow me</span>
|
||||
<input type="checkbox" name="showPremiumReplyFollowedBy">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="showPremiumReplyBusinessLabel">Show verified Business accounts</span>
|
||||
<input type="checkbox" name="showPremiumReplyBusiness">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="showPremiumReplyGovernmentLabel">Show verified Government accounts</span>
|
||||
<input type="checkbox" name="showPremiumReplyGovernment">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox group hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="showBlueReplyFollowersCountLabel">Show people with over 1 million followers</span>
|
||||
<span id="showBlueReplyFollowersCountLabel">Show accounts with over 1 million followers</span>
|
||||
<input type="checkbox" name="showBlueReplyFollowersCount">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
@ -300,13 +331,6 @@
|
||||
</label>
|
||||
</section>
|
||||
</section>
|
||||
<section class="checkbox hidingTwitterBlueReplies">
|
||||
<label>
|
||||
<span id="showBlueReplyVerifiedAccountsLabel">Show "verified" accounts</span>
|
||||
<input type="checkbox" name="showBlueReplyVerifiedAccounts">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
</section>
|
||||
<section class="checkbox">
|
||||
<label>
|
||||
@ -420,13 +444,6 @@
|
||||
<input type="checkbox" name="hideSidebarContent">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
<section class="checkbox hidingSidebarContent">
|
||||
<label>
|
||||
<span id="showRelevantPeopleLabel">Show "Relevant people" when viewing a tweet</span>
|
||||
<input type="checkbox" name="showRelevantPeople">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox showingSidebarContent">
|
||||
<label>
|
||||
<span id="hideLiveBroadcastsLabel">Hide Live broadcasts</span>
|
||||
@ -448,6 +465,13 @@
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
<section class="checkbox hidingSuggestedFollows">
|
||||
<label>
|
||||
<span id="showRelevantPeopleLabel">Show "Relevant people" when viewing a tweet</span>
|
||||
<input type="checkbox" name="showRelevantPeople">
|
||||
<span class="toggle"></span>
|
||||
</label>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@ -769,7 +793,7 @@
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<div id="version">v4.10.1<span id="debugCountdown"></span></div>
|
||||
<div id="version">v4.12.2<span id="debugCountdown"></span></div>
|
||||
</form>
|
||||
<script src="options.js"></script>
|
||||
</body>
|
||||
|
38
options.js
@ -1,5 +1,16 @@
|
||||
document.title = chrome.i18n.getMessage(`extensionName`)
|
||||
|
||||
for (let optionValue of [
|
||||
'1000',
|
||||
'10000',
|
||||
'100000',
|
||||
'1000000',
|
||||
]) {
|
||||
for (let $option of document.querySelectorAll(`option[value="${optionValue}"]`)) {
|
||||
$option.textContent = formatFollowerCount(Number(optionValue))
|
||||
}
|
||||
}
|
||||
|
||||
for (let optionValue of [
|
||||
'badges',
|
||||
'comfortable',
|
||||
@ -35,6 +46,7 @@ for (let translationId of [
|
||||
'disabledHomeTimelineRedirectOption_messages',
|
||||
'dontUseChirpFontLabel',
|
||||
'dropdownMenuFontWeightLabel',
|
||||
'enabled',
|
||||
'experimentsOptionsLabel',
|
||||
'exportConfigLabel',
|
||||
'fastBlockLabel',
|
||||
@ -47,8 +59,6 @@ for (let translationId of [
|
||||
'hideAccountSwitcherLabel',
|
||||
'hideAdsNavLabel',
|
||||
'hideAllMetricsLabel',
|
||||
'hideBlueReplyFollowedByLabel',
|
||||
'hideBlueReplyFollowingLabel',
|
||||
'hideBookmarkButtonLabel',
|
||||
'hideBookmarkMetricsLabel',
|
||||
'hideComposeTweetLabel',
|
||||
@ -110,12 +120,16 @@ for (let translationId of [
|
||||
'restoreLinkHeadlinesLabel',
|
||||
'restoreOtherInteractionLinksLabel',
|
||||
'restoreQuoteTweetsLinkLabel',
|
||||
'restoreTweetSourceLabel',
|
||||
'retweetsLabel',
|
||||
'sidebarLabel',
|
||||
'showBlueReplyFollowersCountAmountLabel',
|
||||
'showBlueReplyVerifiedAccountsLabel',
|
||||
'showBookmarkButtonUnderFocusedTweetsLabel',
|
||||
'showPremiumReplyBusinessLabel',
|
||||
'showPremiumReplyFollowedByLabel',
|
||||
'showPremiumReplyFollowingLabel',
|
||||
'showPremiumReplyGovernmentLabel',
|
||||
'showRelevantPeopleLabel',
|
||||
'sidebarLabel',
|
||||
'sortRepliesLabel',
|
||||
'tweakNewLayoutInfo',
|
||||
'tweakNewLayoutLabel',
|
||||
@ -164,6 +178,7 @@ if (navigator.userAgent.includes('Safari/') && !/Chrom(e|ium)\//.test(navigator.
|
||||
//#region Default config
|
||||
/** @type {import("./types").Config} */
|
||||
const defaultConfig = {
|
||||
enabled: true,
|
||||
debug: false,
|
||||
debugLogTimelineStats: false,
|
||||
// Default based on the platform if the main script hasn't run on Twitter yet
|
||||
@ -180,8 +195,6 @@ const defaultConfig = {
|
||||
fastBlock: true,
|
||||
followButtonStyle: 'monochrome',
|
||||
hideAdsNav: true,
|
||||
hideBlueReplyFollowedBy: false,
|
||||
hideBlueReplyFollowing: false,
|
||||
hideBookmarkButton: false,
|
||||
hideBookmarkMetrics: true,
|
||||
hideBookmarksNav: false,
|
||||
@ -226,11 +239,15 @@ const defaultConfig = {
|
||||
restoreLinkHeadlines: true,
|
||||
restoreOtherInteractionLinks: false,
|
||||
restoreQuoteTweetsLink: true,
|
||||
restoreTweetSource: true,
|
||||
retweets: 'separate',
|
||||
showBlueReplyFollowersCountAmount: '1000000',
|
||||
showBlueReplyFollowersCount: false,
|
||||
showBlueReplyVerifiedAccounts: false,
|
||||
showBlueReplyFollowersCountAmount: '1000000',
|
||||
showBookmarkButtonUnderFocusedTweets: true,
|
||||
showPremiumReplyBusiness: true,
|
||||
showPremiumReplyFollowedBy: true,
|
||||
showPremiumReplyFollowing: true,
|
||||
showPremiumReplyGovernment: true,
|
||||
sortReplies: 'relevant',
|
||||
tweakNewLayout: false,
|
||||
tweakQuoteTweetsPage: true,
|
||||
@ -293,7 +310,7 @@ let $showBlueReplyFollowersCountLabel = /** @type {HTMLElement} */ (document.que
|
||||
//#region Utility functions
|
||||
function exportConfig() {
|
||||
let $a = document.createElement('a')
|
||||
$a.download = 'control-panel-for-twitter-v4.10.1.config.txt'
|
||||
$a.download = 'control-panel-for-twitter-v4.12.2.config.txt'
|
||||
$a.href = URL.createObjectURL(new Blob([
|
||||
JSON.stringify(optionsConfig, null, 2)
|
||||
], {type: 'text/plain'}))
|
||||
@ -450,6 +467,7 @@ function updateCheckboxGroups() {
|
||||
function updateDisplay() {
|
||||
$body.classList.toggle('debugging', optionsConfig.debug)
|
||||
$body.classList.toggle('chronological', optionsConfig.alwaysUseLatestTweets)
|
||||
$body.classList.toggle('disabled', !optionsConfig.enabled)
|
||||
$body.classList.toggle('disabledHomeTimeline', optionsConfig.disableHomeTimeline)
|
||||
$body.classList.toggle('fullWidthContent', optionsConfig.fullWidthContent)
|
||||
$body.classList.toggle('hidingBookmarkButton', optionsConfig.hideBookmarkButton)
|
||||
@ -457,7 +475,7 @@ function updateDisplay() {
|
||||
$body.classList.toggle('hidingMetrics', optionsConfig.hideMetrics)
|
||||
$body.classList.toggle('hidingNotifications', optionsConfig.hideNotifications == 'hide')
|
||||
$body.classList.toggle('hidingQuotesFrom', shouldDisplayHideQuotesFrom())
|
||||
$body.classList.toggle('hidingSidebarContent', optionsConfig.hideSidebarContent)
|
||||
$body.classList.toggle('hidingSuggestedFollows', optionsConfig.hideSidebarContent || optionsConfig.hideSuggestedFollows)
|
||||
$body.classList.toggle('hidingTwitterBlueReplies', optionsConfig.hideTwitterBlueReplies)
|
||||
$body.classList.toggle('mutingQuotes', shouldDisplayMutedQuotes())
|
||||
$body.classList.toggle('showingBlueReplyFollowersCount', optionsConfig.showBlueReplyFollowersCount)
|
||||
|
@ -67,6 +67,10 @@
|
||||
FB38F986298CF4DA00F9AA54 /* script.js in Resources */ = {isa = PBXBuildFile; fileRef = FB38F984298CF4DA00F9AA54 /* script.js */; };
|
||||
FB5703372983C50800E44D21 /* _locales in Resources */ = {isa = PBXBuildFile; fileRef = FB5703362983C50800E44D21 /* _locales */; };
|
||||
FB5703382983C50800E44D21 /* _locales in Resources */ = {isa = PBXBuildFile; fileRef = FB5703362983C50800E44D21 /* _locales */; };
|
||||
FBB23FE32DE93E27007886FC /* background.js in Resources */ = {isa = PBXBuildFile; fileRef = FBB23FE22DE93E27007886FC /* background.js */; };
|
||||
FBB23FE42DE93E27007886FC /* background.js in Resources */ = {isa = PBXBuildFile; fileRef = FBB23FE22DE93E27007886FC /* background.js */; };
|
||||
FBB23FE62DE96642007886FC /* options-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = FBB23FE52DE96642007886FC /* options-icon.png */; };
|
||||
FBB23FE72DE96642007886FC /* options-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = FBB23FE52DE96642007886FC /* options-icon.png */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -153,6 +157,8 @@
|
||||
A598E1D8297B46C300BF2F25 /* options.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; name = options.css; path = ../../../options.css; sourceTree = "<group>"; };
|
||||
FB38F984298CF4DA00F9AA54 /* script.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = script.js; path = ../../../script.js; sourceTree = "<group>"; };
|
||||
FB5703362983C50800E44D21 /* _locales */ = {isa = PBXFileReference; lastKnownFileType = folder; name = _locales; path = ../../../_locales; sourceTree = "<group>"; };
|
||||
FBB23FE22DE93E27007886FC /* background.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = background.js; path = ../../../background.js; sourceTree = "<group>"; };
|
||||
FBB23FE52DE96642007886FC /* options-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "options-icon.png"; path = "../../../options-icon.png"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -234,6 +240,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FB5703362983C50800E44D21 /* _locales */,
|
||||
FBB23FE22DE93E27007886FC /* background.js */,
|
||||
A598E1D5297B467D00BF2F25 /* browser_action.html */,
|
||||
A598E1AA297B441300BF2F25 /* content.js */,
|
||||
A598E1BB297B444700BF2F25 /* icon48.png */,
|
||||
@ -245,6 +252,7 @@
|
||||
A598E1D8297B46C300BF2F25 /* options.css */,
|
||||
A598E1A9297B441300BF2F25 /* options.html */,
|
||||
A598E1AB297B441300BF2F25 /* options.js */,
|
||||
FBB23FE52DE96642007886FC /* options-icon.png */,
|
||||
FB38F984298CF4DA00F9AA54 /* script.js */,
|
||||
A598E1BD297B444700BF2F25 /* toolbar-icon16.png */,
|
||||
A598E1BA297B444700BF2F25 /* toolbar-icon19.png */,
|
||||
@ -389,7 +397,7 @@
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = 1;
|
||||
LastSwiftUpdateCheck = 1420;
|
||||
LastUpgradeCheck = 1620;
|
||||
LastUpgradeCheck = 1630;
|
||||
TargetAttributes = {
|
||||
A598E14A297B3E9300BF2F25 = {
|
||||
CreatedOnToolsVersion = 14.2;
|
||||
@ -459,9 +467,11 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A598E1CB297B444700BF2F25 /* toolbar-icon19.png in Resources */,
|
||||
FBB23FE72DE96642007886FC /* options-icon.png in Resources */,
|
||||
A598E1C7297B444700BF2F25 /* icon256.png in Resources */,
|
||||
A598E1D9297B46C300BF2F25 /* options.css in Resources */,
|
||||
FB5703372983C50800E44D21 /* _locales in Resources */,
|
||||
FBB23FE42DE93E27007886FC /* background.js in Resources */,
|
||||
A598E1B0297B441300BF2F25 /* content.js in Resources */,
|
||||
A598E1CF297B444700BF2F25 /* toolbar-icon32.png in Resources */,
|
||||
FB38F985298CF4DA00F9AA54 /* script.js in Resources */,
|
||||
@ -485,9 +495,11 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A598E1CC297B444700BF2F25 /* toolbar-icon19.png in Resources */,
|
||||
FBB23FE62DE96642007886FC /* options-icon.png in Resources */,
|
||||
A598E1C8297B444700BF2F25 /* icon256.png in Resources */,
|
||||
A598E1DA297B46C300BF2F25 /* options.css in Resources */,
|
||||
FB5703382983C50800E44D21 /* _locales in Resources */,
|
||||
FBB23FE32DE93E27007886FC /* background.js in Resources */,
|
||||
A598E1B1297B441300BF2F25 /* content.js in Resources */,
|
||||
A598E1D0297B444700BF2F25 /* toolbar-icon32.png in Resources */,
|
||||
FB38F986298CF4DA00F9AA54 /* script.js in Resources */,
|
||||
@ -628,9 +640,10 @@
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 89;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
@ -648,7 +661,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MARKETING_VERSION = 4.10.1;
|
||||
MARKETING_VERSION = 4.12.2;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
@ -690,9 +703,10 @@
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 89;
|
||||
CURRENT_PROJECT_VERSION = 94;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
@ -704,7 +718,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MARKETING_VERSION = 4.10.1;
|
||||
MARKETING_VERSION = 4.12.2;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
@ -716,7 +730,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "iOS (Extension)/Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter Extension";
|
||||
@ -745,7 +758,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "iOS (Extension)/Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter Extension";
|
||||
@ -778,7 +790,6 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "iOS (App)/Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter";
|
||||
@ -816,7 +827,6 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "iOS (App)/Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter";
|
||||
@ -854,7 +864,6 @@
|
||||
CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Tweak New Twitter.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "macOS (Extension)/Info.plist";
|
||||
@ -885,7 +894,6 @@
|
||||
CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Tweak New Twitter.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "macOS (Extension)/Info.plist";
|
||||
@ -919,7 +927,6 @@
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter";
|
||||
@ -954,7 +961,6 @@
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 2RDKJDLNY8;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Control Panel for Twitter";
|
||||
|
@ -4,7 +4,7 @@
|
||||
"name": "__MSG_extensionName__",
|
||||
"description": "__MSG_extensionDescriptionShort__",
|
||||
"homepage_url": "https://soitis.dev/control-panel-for-twitter",
|
||||
"version": "4.10.1",
|
||||
"version": "4.12.2",
|
||||
"icons": {
|
||||
"48": "icon48.png",
|
||||
"96": "icon96.png",
|
||||
@ -12,6 +12,10 @@
|
||||
"256": "icon256.png",
|
||||
"512": "icon512.png"
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background.js",
|
||||
"type": "module"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": [
|
||||
|
@ -74,6 +74,7 @@ ${messages.xFixesLabel}
|
||||
• ${messages.replaceLogoLabel}
|
||||
• ${messages.hideViewsLabel}
|
||||
• ${messages.hideVerifiedNotificationsTabLabel}
|
||||
• ${messages.restoreTweetSourceLabel}
|
||||
• ${messages.restoreLinkHeadlinesLabel}
|
||||
• ${messages.restoreQuoteTweetsLinkLabel}
|
||||
• ${messages.restoreOtherInteractionLinksLabel}
|
||||
|
28
types.d.ts
vendored
@ -1,4 +1,5 @@
|
||||
export type Config = {
|
||||
enabled: boolean
|
||||
debug: boolean
|
||||
debugLogTimelineStats: boolean
|
||||
version?: 'desktop' | 'mobile'
|
||||
@ -15,8 +16,6 @@ export type Config = {
|
||||
fastBlock: boolean
|
||||
followButtonStyle: 'monochrome' | 'themed'
|
||||
hideAdsNav: boolean
|
||||
hideBlueReplyFollowedBy: boolean
|
||||
hideBlueReplyFollowing: boolean
|
||||
hideBookmarkButton: boolean
|
||||
hideBookmarkMetrics: boolean
|
||||
hideBookmarksNav: boolean
|
||||
@ -66,11 +65,15 @@ export type Config = {
|
||||
restoreLinkHeadlines: boolean
|
||||
restoreQuoteTweetsLink: boolean
|
||||
restoreOtherInteractionLinks: boolean
|
||||
restoreTweetSource: boolean
|
||||
retweets: SharedTweetsConfig
|
||||
showBlueReplyFollowersCountAmount: string
|
||||
showBlueReplyFollowersCount: boolean
|
||||
showBlueReplyVerifiedAccounts: boolean
|
||||
showBlueReplyFollowersCountAmount: string
|
||||
showBookmarkButtonUnderFocusedTweets: boolean
|
||||
showPremiumReplyBusiness: boolean
|
||||
showPremiumReplyFollowedBy: boolean
|
||||
showPremiumReplyFollowing: boolean
|
||||
showPremiumReplyGovernment: boolean
|
||||
sortReplies: 'relevant' | 'recent' | 'liked'
|
||||
tweakNewLayout: boolean
|
||||
tweakQuoteTweetsPage: boolean
|
||||
@ -144,9 +147,9 @@ export type LocaleKey =
|
||||
| 'VIEW'
|
||||
| 'WHATS_HAPPENING'
|
||||
|
||||
export type NamedMutationObserver = MutationObserver & {name?: string}
|
||||
export type NamedMutationObserver = MutationObserver & {name: string}
|
||||
|
||||
export type Disconnectable = NamedMutationObserver|{disconnect(): void}
|
||||
export type Disconnectable = {name: string, disconnect(): void}
|
||||
|
||||
export type QuotedTweet = {
|
||||
quotedBy: string
|
||||
@ -171,10 +174,11 @@ export type TweetType =
|
||||
export type TimelineItemType =
|
||||
| TweetType
|
||||
| 'BLUE_REPLY'
|
||||
| 'VERIFIED_ORG_REPLY'
|
||||
| 'BUSINESS_REPLY'
|
||||
| 'DISCOVER_MORE_HEADING'
|
||||
| 'DISCOVER_MORE_TWEET'
|
||||
| 'FOCUSED_TWEET'
|
||||
| 'GOVERNMENT_REPLY'
|
||||
| 'HEADING'
|
||||
| 'INLINE_PROMPT'
|
||||
| 'SHOW_MORE'
|
||||
@ -193,7 +197,13 @@ export type TimelineOptions = {
|
||||
}
|
||||
|
||||
export type IndividualTweetTimelineOptions = {
|
||||
observers: Disconnectable[]
|
||||
observers: Map<string, Disconnectable>
|
||||
seen: WeakMap<Element, IndividualTweetDetails>
|
||||
}
|
||||
|
||||
export type IndividualTweetDetails = {
|
||||
itemType: TimelineItemType,
|
||||
hidden: boolean | null,
|
||||
}
|
||||
|
||||
export type UserInfo = {
|
||||
@ -204,4 +214,4 @@ export type UserInfo = {
|
||||
|
||||
export type UserInfoObject = {[index: string]: UserInfo}
|
||||
|
||||
export type VerifiedType = 'BLUE' | 'VERIFIED_ORG'
|
||||
export type VerifiedType = 'BLUE' | 'BUSINESS' | 'GOVERNMENT'
|
||||
|