-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings-modal.html
More file actions
185 lines (168 loc) · 8.52 KB
/
settings-modal.html
File metadata and controls
185 lines (168 loc) · 8.52 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
<!-- Settings Modal -->
<div class="modal settings-modal" id="settingsModal" style="display: none;">
<div class="modal-content modal-large">
<div class="modal-header">
<h2 id="settingsModalTitle">Settings</h2>
<button class="close-btn" id="closeSettingsModal">×</button>
</div>
<div class="modal-body settings-modal-body">
<!-- Tabs -->
<div class="settings-tabs">
<button class="settings-tab active" data-tab="general" id="tabGeneral">General</button>
<button class="settings-tab" data-tab="filters" id="tabFilters">Filters</button>
<button class="settings-tab" data-tab="backup" id="tabBackup">Backup</button>
<button class="settings-tab" data-tab="advanced" id="tabAdvanced">Advanced</button>
</div>
<!-- General Tab -->
<div class="settings-tab-content active" id="tabContentGeneral" data-tab="general">
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingLangLabel">Language</span>
<span class="setting-description" id="settingLangDesc">Select UI language</span>
</div>
<select id="settingsLanguageSelect">
<option value="en">English</option>
<option value="no">Norsk</option>
</select>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingAutofillLabel">AutoFill enabled</span>
<span class="setting-description" id="settingAutofillDesc">Toggle autofill globally</span>
</div>
<label class="toggle-switch">
<input type="checkbox" id="settingsAutofillToggle" checked />
<span class="toggle-slider"></span>
</label>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingScanToastLabel">Scan notification</span>
<span class="setting-description" id="settingScanToastDesc">Show toast with scan status</span>
</div>
<label class="toggle-switch">
<input type="checkbox" id="settingsScanToastToggle" checked />
<span class="toggle-slider"></span>
</label>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingDelayLabel">Autofill delay (ms)</span>
<span class="setting-description" id="settingDelayDesc">Delay filling on slow pages</span>
</div>
<input type="number" id="settingsAutofillDelay" min="0" value="0" />
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingModeLabel">Autofill mode</span>
<span class="setting-description" id="settingModeDesc">Auto on load or after interaction</span>
</div>
<select id="settingsAutofillMode">
<option value="auto">Automatic on load</option>
<option value="interaction">On interaction only</option>
</select>
</div>
</div>
<!-- Filters Tab -->
<div class="settings-tab-content" id="tabContentFilters" data-tab="filters">
<div class="setting-item setting-item-vertical">
<div class="setting-info">
<span class="setting-label" id="settingWhitelistLabel">Whitelist</span>
<span class="setting-description" id="settingWhitelistDesc">One pattern per line. Blank = allow all.</span>
</div>
<textarea id="settingsWhitelistPatterns" rows="3" placeholder="example.com"></textarea>
</div>
<div class="setting-item setting-item-vertical">
<div class="setting-info">
<span class="setting-label" id="settingBlacklistLabel">Blacklist (URL/Host)</span>
<span class="setting-description" id="settingBlacklistDesc">Overrides whitelist. One pattern per line.</span>
</div>
<textarea id="settingsBlacklistPatterns" rows="3" placeholder="*.bank.com"></textarea>
</div>
<div class="setting-item setting-item-vertical">
<div class="setting-info">
<span class="setting-label" id="settingFieldBlacklistLabel">Ignored Fields (ID)</span>
<span class="setting-description" id="settingFieldBlacklistDesc">Avoid autofill for these IDs. Wildcard or regex: prefix.</span>
</div>
<textarea id="settingsFieldBlacklistPatterns" rows="3" placeholder="g-recaptcha-response tracking-* regex:^field\d+$"></textarea>
</div>
</div>
<!-- Backup Tab -->
<div class="settings-tab-content" id="tabContentBackup" data-tab="backup">
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingExportLabel">Export Settings</span>
<span class="setting-description" id="settingExportDesc">Export all settings to a JSON file</span>
</div>
<button id="settingsExportBtn" class="btn btn-secondary">Export</button>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingImportLabel">Import Settings</span>
<span class="setting-description" id="settingImportDesc">Import settings from a JSON file</span>
</div>
<button id="settingsImportBtn" class="btn btn-secondary">Import</button>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingValidateLabel">Validate Rules File</span>
<span class="setting-description" id="settingValidateDesc">Check a CSV backup file for errors before importing</span>
</div>
<button id="settingsValidateBtn" class="btn btn-secondary">Validate</button>
</div>
<hr class="setting-divider" />
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingCloudSyncLabel">Cloud Sync</span>
<span class="setting-description" id="settingCloudSyncDesc">Manual push/pull via storage.sync</span>
</div>
<div class="setting-actions">
<button id="settingsPushSyncBtn" class="btn btn-small btn-secondary">Push</button>
<button id="settingsPullSyncBtn" class="btn btn-small btn-secondary">Pull</button>
</div>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingCloudBackupLabel">Google Drive Backup</span>
<span class="setting-description" id="settingCloudBackupDesc">Backup and restore rules to Google Drive</span>
</div>
<div class="setting-actions">
<button id="settingsCloudBackupBtn" class="btn btn-small btn-secondary">Backup</button>
<button id="settingsCloudRestoreBtn" class="btn btn-small btn-secondary">Restore</button>
</div>
</div>
</div>
<!-- Advanced Tab -->
<div class="settings-tab-content" id="tabContentAdvanced" data-tab="advanced">
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingDebugLabel">Debug mode</span>
<span class="setting-description" id="settingDebugDesc">Detailed logging and visual feedback</span>
</div>
<label class="toggle-switch">
<input type="checkbox" id="settingsDebugToggle" />
<span class="toggle-slider"></span>
</label>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-label" id="settingLogLabel">Local debug log</span>
<span class="setting-description" id="settingLogDesc">Store debug log locally; export when needed</span>
</div>
<div class="setting-actions">
<label class="toggle-switch">
<input type="checkbox" id="settingsLogToggle" />
<span class="toggle-slider"></span>
</label>
<button class="btn btn-small btn-secondary" id="settingsExportLogBtn">Export log</button>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" id="closeSettingsModalBtn">Close</button>
</div>
</div>
</div>
<input type="file" id="settingsFileInput" accept=".json" style="display: none;" />
<input type="file" id="settingsValidateFileInput" accept=".csv" style="display: none;" />