-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpopup.html
More file actions
203 lines (196 loc) · 5.15 KB
/
Copy pathpopup.html
File metadata and controls
203 lines (196 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body {
width: 400px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: #212121;
color: white;
padding: 15px;
}
h2 {
margin-top: 0;
font-size: 18px;
border-bottom: 1px solid #333;
padding-bottom: 10px;
}
.section {
margin-bottom: 20px;
background: #2a2a2a;
padding: 12px;
border-radius: 8px;
}
.section-title {
font-weight: bold;
margin-bottom: 10px;
color: #3ea6ff;
font-size: 14px;
}
label {
display: flex;
align-items: center;
margin-bottom: 8px;
cursor: pointer;
font-size: 13px;
}
input[type="checkbox"] {
margin-right: 10px;
accent-color: #3ea6ff;
}
input[type="text"] {
width: 95%;
padding: 8px;
background: #121212;
border: 1px solid #333;
color: white;
border-radius: 4px;
margin-bottom: 8px;
}
.hint {
font-size: 11px;
color: #888;
margin-top: 5px;
font-style: italic;
}
button {
width: 100%;
padding: 10px;
background: #3ea6ff;
border: none;
color: black;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
margin-top: 5px;
}
button:hover {
background: #65b8ff;
}
#status {
text-align: center;
margin-top: 10px;
font-size: 12px;
color: #0f0;
display: none;
}
.tag-container {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.tag {
background: #3ea6ff;
color: black;
padding: 4px 10px;
border-radius: 12px;
font-size: 12px;
display: flex;
align-items: center;
gap: 6px;
}
.tag button {
width: auto;
padding: 0 4px;
margin: 0;
background: transparent;
font-size: 14px;
cursor: pointer;
}
.tag button:hover {
background: transparent;
color: #ff4444;
}
.mode-selector {
display: flex;
gap: 10px;
margin-bottom: 10px;
}
.mode-btn {
flex: 1;
padding: 8px;
background: #333;
border: 1px solid #444;
color: white;
border-radius: 4px;
cursor: pointer;
font-size: 12px;
}
.mode-btn.active {
background: #3ea6ff;
color: black;
border-color: #3ea6ff;
}
.preset-chips {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.preset-chip {
background: #333;
border: 1px solid #444;
padding: 4px 10px;
border-radius: 12px;
font-size: 12px;
cursor: pointer;
transition: all 0.2s;
}
.preset-chip:hover {
background: #444;
border-color: #3ea6ff;
}
.preset-chip.added {
background: #ff4444;
border-color: #ff4444;
color: white;
}
</style>
</head>
<body>
<h2>TubeFilter Pro - Dev/Student Mode</h2>
<!-- FILTER MODE -->
<div class="section">
<div class="section-title">Filter Mode</div>
<div class="mode-selector">
<button class="mode-btn active" id="modeHide">Hide Selected</button>
<button class="mode-btn" id="modeShow">Show Only Selected</button>
</div>
<div class="hint" id="modeHint">Hide the chips you select below</div>
</div>
<!-- COMMON CHIPS TO HIDE -->
<div class="section">
<div class="section-title">Common Chips to Hide (Click to Add)</div>
<div class="preset-chips" id="presetChips">
<!-- Populated by JS -->
</div>
<div class="hint">Click chips to quickly add them to your hide list</div>
</div>
<!-- CUSTOM CHIPS -->
<div class="section">
<div class="section-title">Custom Filter Chips to Hide</div>
<input type="text" id="customChipInput" placeholder="Type chip name and press Enter (e.g., 'Gaming', 'Music')">
<div class="tag-container" id="customChipsList">
<!-- Custom chips appear here -->
</div>
<div class="hint">Add ANY YouTube filter chip name you want to hide</div>
</div>
<!-- VIDEO BLOCKING -->
<div class="section">
<div class="section-title">Block Videos with Keywords</div>
<input type="text" id="blockKeywords" placeholder="shorts, vlog, prank, music video...">
<div class="hint">Separate with commas. Videos with these words in title will be hidden</div>
</div>
<!-- VIDEO WHITELIST -->
<div class="section">
<div class="section-title">Show Only Videos with Keywords (Optional)</div>
<input type="text" id="whitelistKeywords" placeholder="tutorial, programming, python, javascript, study...">
<div class="hint">Leave empty to show all (except blocked). Add keywords to ONLY see relevant content</div>
</div>
<button id="saveBtn">Save Settings</button>
<div id="status">Settings Saved! Refresh YouTube to apply.</div>
<script src="popup.js"></script>
</body>
</html>