Skip to content

Commit bf436dd

Browse files
committed
v3.1.0 - Theme system, about page, and accessibility improvements
CSS variable architecture with 3 themes (dark, light, midnight) across all 11 UI pages. Theme cycle button in popup, selector cards in settings. Sync loader prevents flash of wrong theme on page load. About page with project info and privacy statement. Improved button text contrast for WCAG compliance.
1 parent 8c84772 commit bf436dd

29 files changed

Lines changed: 1720 additions & 1042 deletions

README.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# De-Slop
22

3-
![De-Slop Logo](De-Slop.png)
3+
<p align="center">
4+
<img src="De-Slop.png" alt="De-Slop Logo" width="200">
5+
</p>
46

5-
![De-Slop Banner](assets/Deslop.jpeg)
7+
A Chrome extension that detects and removes AI-generated "slop" from web pages. 600+ patterns across 11 languages, 8 analysis tools, zero API calls. Runs entirely in your browser.
68

7-
A Chrome extension that automatically detects and removes AI-generated "slop" content from web pages. Runs entirely locally with no external API calls or data collection.
9+
---
810

911
## Features
1012

@@ -16,7 +18,7 @@ A Chrome extension that automatically detects and removes AI-generated "slop" co
1618
- **Configurable sensitivity** (1-5 slider)
1719
- **Detection Only Mode** - highlight slop instead of removing it, with hover tooltips
1820
- **Custom pattern editor** - add your own slop patterns with custom weights
19-
- **Detection-only mode** - highlight slop without removing it
21+
- **Three themes** - Dark, Light, and Midnight (OLED true black), synced across all pages
2022

2123
### Analysis Tools
2224
- **Slop Checker** - paste text and see what gets flagged with real-time highlighting and suggestions
@@ -43,8 +45,6 @@ When on LinkedIn.com, additional features activate:
4345
- **Improvement suggestions** - better alternatives for sloppy phrases
4446
- **Export/import** custom pattern sets
4547

46-
![Main Sidebar Interface](assets/Sidebar.png)
47-
4848
## Installation
4949

5050
### From Chrome Web Store
@@ -105,21 +105,23 @@ The widest net:
105105
3. Adjust sensitivity slider
106106
4. View blocked slop count
107107

108+
<img src="assets/Sidebar.png" alt="Main Sidebar Interface" width="380">
109+
108110
### Interactive Checker
109111
1. Click `[ IS MY POST SLOP? ]`
110112
2. Paste your text
111113
3. See highlighted matches with explanations
112114
4. Toggle markdown rendering if needed
113115

114-
![Slop Detector Tool](assets/Slop-Detector.png)
116+
<img src="assets/Slop-Detector.png" alt="Slop Detector Tool" width="600">
115117

116118
### Slop Machine
117119
1. Click `[ SLOP MACHINE ]`
118120
2. Spin for random slop/better alternatives
119121
3. Or browse the full searchable index
120122
4. Filter by category (AI, Corporate, Marketing, Stop Words)
121123

122-
![Slop Machine Interface](assets/Slop-Machine.png)
124+
<img src="assets/Slop-Machine.png" alt="Slop Machine Interface" width="600">
123125

124126
### Pattern Customization
125127
1. Click `[ CUSTOMIZE PATTERNS ]`
@@ -128,7 +130,7 @@ The widest net:
128130
4. Export/import pattern sets
129131
5. Changes save automatically
130132

131-
![Pattern Customization](assets/Patterns.png)
133+
<img src="assets/Patterns.png" alt="Pattern Customization" width="600">
132134

133135
### LinkedIn Fixer
134136
When on LinkedIn, additional toggles appear:
@@ -157,6 +159,8 @@ When on LinkedIn, additional toggles appear:
157159
DeSlop/
158160
├── src/
159161
│ ├── manifest.json # Extension configuration (Manifest V3)
162+
│ ├── theme.css # CSS variable definitions (dark/light/midnight)
163+
│ ├── theme-loader.js # Sync theme loader (prevents flash)
160164
│ ├── background.js # Service worker
161165
│ ├── content.js # Main detection engine
162166
│ ├── content.css # Styles for hiding/highlighting slop
@@ -178,6 +182,7 @@ DeSlop/
178182
│ ├── slop-machine.* # Gamified learning tool
179183
│ ├── test.* # Multi-language pattern tester
180184
│ ├── settings.* # Pattern customization UI
185+
│ ├── about.* # Project info and attribution
181186
│ ├── linkedin-fixer.js # LinkedIn-specific enhancements
182187
│ ├── rules.json # Ad blocking rules
183188
│ └── icons/ # Extension icons
@@ -189,12 +194,11 @@ DeSlop/
189194

190195
## Privacy
191196

192-
De-Slop:
193-
- ✓ Runs entirely locally - no data sent to servers
194-
- ✓ Stores settings in Chrome sync storage
195-
- ✓ No analytics or tracking
196-
- ✓ No external API calls
197-
- ✓ Open source - inspect the code
197+
- Runs entirely locally - no data sent to servers
198+
- Stores settings in Chrome sync storage
199+
- No analytics or tracking
200+
- No external API calls
201+
- Open source - inspect the code
198202

199203
## Permissions
200204

@@ -214,6 +218,16 @@ De-Slop:
214218

215219
## Version History
216220

221+
**v3.1.0** - Theme System & About Page
222+
- Three-theme system: Dark (default), Light, and Midnight (OLED true black)
223+
- CSS variable architecture across all 11 UI pages (~35 design tokens)
224+
- Theme cycle button in popup header, theme selector cards in settings
225+
- Sync theme loader prevents flash of wrong theme on page load
226+
- Theme persists across pages and browser restarts via chrome.storage.sync
227+
- About page with project info, feature summary, and privacy statement
228+
- Improved button contrast for WCAG accessibility
229+
- Removed stale release files
230+
217231
**v3.0.0** - Multi-language & Tools Suite
218232
- 11-language pattern system (en, es, fr, de, it, pt, sv, pl, ja, ko, zh)
219233
- Full i18n with localized UI
@@ -253,5 +267,4 @@ See LICENSE file for full license text.
253267

254268
## Credits
255269

256-
Made by Kief Studio (https://kief.studio)
257-
Developed by HxHippy
270+
Made by [Kief Studio](https://kief.studio) | Developed by HxHippy

src/about.css

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
* {
2+
margin: 0;
3+
padding: 0;
4+
box-sizing: border-box;
5+
}
6+
7+
body {
8+
font-family: 'Courier New', 'Courier', monospace, 'Noto Sans CJK SC', 'Microsoft YaHei', 'Meiryo', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
9+
background: var(--bg-body);
10+
color: var(--text-primary);
11+
padding: 20px;
12+
min-height: 100vh;
13+
}
14+
15+
.container {
16+
max-width: 900px;
17+
margin: 0 auto;
18+
background: var(--bg-surface);
19+
border: 2px solid var(--border-default);
20+
border-radius: 4px;
21+
padding: 40px;
22+
}
23+
24+
header {
25+
text-align: center;
26+
margin-bottom: 32px;
27+
padding-bottom: 24px;
28+
border-bottom: 2px solid var(--border-strong);
29+
}
30+
31+
h1 {
32+
font-size: 42px;
33+
color: var(--text-heading);
34+
margin-bottom: 8px;
35+
font-weight: normal;
36+
letter-spacing: 6px;
37+
}
38+
39+
.tagline {
40+
font-size: 14px;
41+
color: var(--text-tertiary);
42+
letter-spacing: 2px;
43+
margin-bottom: 4px;
44+
}
45+
46+
.subtitle {
47+
font-size: 12px;
48+
color: var(--text-disabled);
49+
letter-spacing: 1px;
50+
margin-top: 8px;
51+
}
52+
53+
/* Sections */
54+
.about-section {
55+
margin-bottom: 32px;
56+
padding-bottom: 24px;
57+
border-bottom: 1px solid var(--border-muted);
58+
}
59+
60+
.about-section:last-of-type {
61+
border-bottom: none;
62+
margin-bottom: 0;
63+
padding-bottom: 0;
64+
}
65+
66+
.about-section h2 {
67+
font-size: 14px;
68+
color: var(--accent-primary);
69+
letter-spacing: 2px;
70+
margin-bottom: 16px;
71+
font-weight: bold;
72+
}
73+
74+
.about-section p {
75+
font-size: 13px;
76+
color: var(--text-secondary);
77+
line-height: 1.8;
78+
margin-bottom: 12px;
79+
}
80+
81+
.about-section p:last-child {
82+
margin-bottom: 0;
83+
}
84+
85+
/* Stat Grid */
86+
.stat-grid {
87+
display: grid;
88+
grid-template-columns: repeat(4, 1fr);
89+
gap: 16px;
90+
}
91+
92+
.stat-box {
93+
background: var(--bg-container);
94+
border: 1px solid var(--border-default);
95+
border-radius: 4px;
96+
padding: 20px 16px;
97+
text-align: center;
98+
display: flex;
99+
flex-direction: column;
100+
gap: 8px;
101+
}
102+
103+
.stat-number {
104+
font-size: 32px;
105+
font-weight: bold;
106+
color: var(--accent-primary);
107+
font-family: 'Courier New', monospace;
108+
}
109+
110+
.stat-desc {
111+
font-size: 11px;
112+
color: var(--text-tertiary);
113+
letter-spacing: 1px;
114+
}
115+
116+
/* Feature Grid */
117+
.feature-grid {
118+
display: grid;
119+
grid-template-columns: 1fr 1fr;
120+
gap: 12px;
121+
}
122+
123+
.feature-item {
124+
background: var(--bg-container);
125+
border: 1px solid var(--border-muted);
126+
border-radius: 4px;
127+
padding: 14px 16px;
128+
display: flex;
129+
flex-direction: column;
130+
gap: 4px;
131+
}
132+
133+
.feature-name {
134+
font-size: 13px;
135+
color: var(--text-primary);
136+
font-weight: bold;
137+
letter-spacing: 1px;
138+
}
139+
140+
.feature-desc {
141+
font-size: 11px;
142+
color: var(--text-muted);
143+
line-height: 1.4;
144+
}
145+
146+
/* Privacy List */
147+
.privacy-list {
148+
list-style: none;
149+
padding: 0;
150+
}
151+
152+
.privacy-list li {
153+
font-size: 13px;
154+
color: var(--text-secondary);
155+
padding: 10px 0;
156+
border-bottom: 1px solid var(--border-subtle);
157+
line-height: 1.6;
158+
}
159+
160+
.privacy-list li:last-child {
161+
border-bottom: none;
162+
}
163+
164+
.privacy-ok {
165+
color: var(--accent-success);
166+
font-weight: bold;
167+
margin-right: 8px;
168+
font-size: 12px;
169+
}
170+
171+
/* Credit */
172+
.about-credit p {
173+
font-size: 14px;
174+
}
175+
176+
.about-credit a {
177+
color: var(--accent-primary);
178+
text-decoration: none;
179+
letter-spacing: 1px;
180+
}
181+
182+
.about-credit a:hover {
183+
text-decoration: underline;
184+
}
185+
186+
/* Buttons */
187+
.btn {
188+
padding: 12px 24px;
189+
border: 1px solid var(--border-strong);
190+
border-radius: 3px;
191+
font-size: 12px;
192+
font-family: 'Courier New', monospace;
193+
letter-spacing: 1px;
194+
cursor: pointer;
195+
transition: all 0.2s;
196+
}
197+
198+
.btn-link {
199+
background: transparent;
200+
color: var(--text-muted);
201+
border: 1px solid var(--border-default);
202+
padding: 8px 16px;
203+
font-size: 11px;
204+
}
205+
206+
.btn-link:hover {
207+
color: var(--text-secondary);
208+
border-color: var(--border-strong);
209+
}
210+
211+
/* Footer */
212+
footer {
213+
margin-top: 32px;
214+
padding-top: 16px;
215+
border-top: 1px solid var(--border-default);
216+
text-align: center;
217+
display: flex;
218+
justify-content: space-between;
219+
align-items: center;
220+
}
221+
222+
.version {
223+
font-size: 10px;
224+
color: var(--text-disabled);
225+
letter-spacing: 1px;
226+
}
227+
228+
@media (max-width: 700px) {
229+
.stat-grid {
230+
grid-template-columns: repeat(2, 1fr);
231+
}
232+
233+
.feature-grid {
234+
grid-template-columns: 1fr;
235+
}
236+
237+
.container {
238+
padding: 24px;
239+
}
240+
}

0 commit comments

Comments
 (0)