Skip to content

Commit b00b1ed

Browse files
feat: add color accessibility mode (#1202)
1 parent 75ce5b6 commit b00b1ed

File tree

11 files changed

+48
-20
lines changed

11 files changed

+48
-20
lines changed

src/_locales/en/messages.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
"settingsShowReleaseNotes": {
124124
"message": "Show release notes after updates"
125125
},
126+
"settingsEnableColorAccessibilityMode": {
127+
"message": "Enable color accessibility mode"
128+
},
126129
"settingsPleaseReload": {
127130
"message": "Please reload Twitter after changing settings."
128131
},
@@ -186,4 +189,4 @@
186189
"exitWithoutOpening": {
187190
"message": "Close without opening"
188191
}
189-
}
192+
}

src/_locales/ja/messages.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
"settingsShowReleaseNotes": {
124124
"message": "アップデート後にリリースノートを表示"
125125
},
126+
"settingsEnableColorAccessibilityMode": {
127+
"message": "カラーアクセシビリティモードを有効化"
128+
},
126129
"settingsPleaseReload": {
127130
"message": "設定を変更したらTwitterを再読み込みしてください。"
128131
},
@@ -186,4 +189,4 @@
186189
"exitWithoutOpening": {
187190
"message": "開かずに終了"
188191
}
189-
}
192+
}

src/_locales/ko/messages.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
"settingsShowReleaseNotes": {
124124
"message": "업데이트 후 릴리즈 노트 표시"
125125
},
126+
"settingsEnableColorAccessibilityMode": {
127+
"message": "컬러 접근성 모드 활성화"
128+
},
126129
"settingsPleaseReload": {
127130
"message": "설정을 변경한 후 Twitter를 다시 로드해주세요"
128131
},
@@ -186,4 +189,4 @@
186189
"exitWithoutOpening": {
187190
"message": "열지 않고 종료"
188191
}
189-
}
192+
}

src/_locales/zh_TW/messages.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@
126126
"message": "更新後顯示發行說明",
127127
"description": "This field was translated by machine translation."
128128
},
129+
"settingsEnableColorAccessibilityMode": {
130+
"message": "啟用色彩無障礙模式",
131+
"description": "This field was translated by machine translation."
132+
},
129133
"settingsPleaseReload": {
130134
"message": "如更改過設定,請重新載入 Twitter/X"
131135
},
@@ -191,4 +195,4 @@
191195
"exitWithoutOpening": {
192196
"message": "不需要並關閉"
193197
}
194-
}
198+
}

src/css/style.css

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
body[data-color-scheme="light"] {
2-
--sb-background-green: #70d28b;
3-
--sb-background-red: #f99f9f;
2+
--sb-background-green: #a4dda8;
3+
--sb-background-red: #f6afaf;
44
}
55

66
body[data-color-scheme="dark"] {
7-
--sb-background-green: #0c411a;
8-
--sb-background-red: #702d27;
7+
--sb-background-green: #184223;
8+
--sb-background-red: #5d2420;
9+
}
10+
11+
body[data-color-accessibility-mode][data-color-scheme="light"] {
12+
--sb-background-green: #c3d2ee;
13+
--sb-background-red: #f4b892;
14+
}
15+
16+
body[data-color-accessibility-mode][data-color-scheme="dark"] {
17+
--sb-background-green: #22487d;
18+
--sb-background-red: #772929;
919
}
1020

1121
.shadowban-scanner-tombstone-necromancer {

src/ts/browserAction/settingsItems.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ const SETTINGS_ITEMS = [
7676
settingsName: "showReleaseNotes",
7777
translationKey: "settingsShowReleaseNotes",
7878
type: "checkbox"
79+
},
80+
{
81+
settingsName: "enableColorAccessibilityMode",
82+
translationKey: "settingsEnableColorAccessibilityMode",
83+
type: "checkbox"
7984
}
8085
],
8186
type: "group"

src/ts/common/settings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { storage } from "webextension-polyfill";
77
*/
88
const DEFAULT_SETTINGS = {
99
alwaysDetailedView: false,
10+
enableColorAccessibilityMode: false,
1011
enableCompactMode: false,
1112
enableForOtherUsersProfiles: true,
1213
enableForOtherUsersTweets: true,

src/ts/components/sbsMessage.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ class SbsMessage extends LitElement {
5050
font-family: sans-serif;
5151
}
5252
53-
:host {
54-
--message-background-color-red: rgb(255, 0, 0, 0.2);
55-
--message-background-color-green: rgb(0, 255, 0, 0.2);
56-
}
57-
5853
a {
5954
color: inherit;
6055
}
@@ -118,7 +113,7 @@ class SbsMessage extends LitElement {
118113
.shadowban-scanner-message md-filled-button {
119114
margin-top: 0.5em;
120115
width: 100%;
121-
--md-filled-button-container-color: rgb(255, 255, 255, 0.25);
116+
--md-filled-button-container-color: rgb(255, 255, 255, 0.2);
122117
--md-ripple-hover-color: white;
123118
--md-ripple-pressed-color: white;
124119
--_container-shadow-color: rgba(0, 0, 0, 0.3);

src/ts/contentScript.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ import { isSettings } from "../types/common/settings.guard";
88
const main = async (): Promise<void> => {
99
const settings = await storage.local.get(DEFAULT_SETTINGS);
1010

11-
if (
12-
["pro.twitter.com", "pro.x.com"].includes(location.hostname) &&
13-
isSettings(settings) &&
14-
!settings.enableOnXPro
15-
) {
16-
return;
11+
if (isSettings(settings)) {
12+
if (["pro.twitter.com", "pro.x.com"].includes(location.hostname) && !settings.enableOnXPro) {
13+
return;
14+
}
15+
16+
if (settings.enableColorAccessibilityMode) {
17+
document.body.setAttribute("data-color-accessibility-mode", "true");
18+
}
1719
}
1820

1921
const translator = new Translator(

src/types/common/settings.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export interface Settings {
88
showNotesInMessages: boolean;
99
showTweetButton: boolean;
1010
enableCompactMode: boolean;
11+
enableColorAccessibilityMode: boolean;
1112
enableOnXPro: boolean;
1213
showReleaseNotes: boolean;
1314
}

0 commit comments

Comments
 (0)