Skip to content

Commit 385ff2c

Browse files
committed
v.20250616
- better responsive design - better copy buttons
1 parent d8e19cd commit 385ff2c

File tree

3 files changed

+72
-53
lines changed

3 files changed

+72
-53
lines changed

app.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -560,15 +560,17 @@ class SQLMapGenerator {
560560
const command = this.generateCommand();
561561
const copyBtn = document.getElementById('copyBtn');
562562
const copyText = document.getElementById('copyText');
563+
const txt_command_copy_clipboard = 'COPY COMMAND TO CLIPBOARD';
564+
const txt_command_copy_coppied = 'COMMAND COPIED!';
563565

564566
try {
565567
await navigator.clipboard.writeText(command);
566568
copyBtn.classList.add('copying');
567-
copyText.textContent = 'Command Copied!';
569+
copyText.textContent = txt_command_copy_coppied;
568570

569571
setTimeout(() => {
570572
copyBtn.classList.remove('copying');
571-
copyText.textContent = 'COPY COMMAND TO A CLIPBOARD';
573+
copyText.textContent = txt_command_copy_clipboard;
572574
}, 3000);
573575
} catch (err) {
574576
// Fallback for older browsers
@@ -579,9 +581,9 @@ class SQLMapGenerator {
579581
document.execCommand('copy');
580582
document.body.removeChild(textArea);
581583

582-
copyText.textContent = 'Command Copied!';
584+
copyText.textContent = txt_command_copy_coppied;
583585
setTimeout(() => {
584-
copyText.textContent = 'COPY COMMAND TO A CLIPBOARD';
586+
copyText.textContent = txt_command_copy_clipboard;
585587
}, 3000);
586588
}
587589
}
@@ -591,15 +593,17 @@ class SQLMapGenerator {
591593
const command = location.href.replace(location.hash, "") + "#" + serializedCommand;
592594
const copyUrlBtn = document.getElementById('copyUrlBtn');
593595
const copyUrlText = document.getElementById('copyUrlText');
596+
const txt_command_url_clipboard = 'COPY CONFIG URL';
597+
const txt_command_url_coppied = 'URL COPIED!';
594598

595599
try {
596600
await navigator.clipboard.writeText(command);
597601
copyUrlBtn.classList.add('copying');
598-
copyUrlText.textContent = 'Copied!';
602+
copyUrlText.textContent = txt_command_url_coppied;
599603

600604
setTimeout(() => {
601605
copyUrlBtn.classList.remove('copying');
602-
copyUrlText.textContent = 'COPY URL WITH THIS CONFIG';
606+
copyUrlText.textContent = txt_command_url_clipboard;
603607
}, 3000);
604608
location.replace("#" + serializedCommand);
605609

@@ -612,9 +616,9 @@ class SQLMapGenerator {
612616
document.execCommand('copy');
613617
document.body.removeChild(textArea);
614618

615-
copyUrlText.textContent = 'URL Copied!';
619+
copyUrlText.textContent = txt_command_url_coppied;
616620
setTimeout(() => {
617-
copyUrlText.textContent = 'COPY URL WITH THIS CONFIG';
621+
copyUrlText.textContent = txt_command_url_clipboard;
618622
}, 3000);
619623
location.replace("#" + serializedCommand);
620624
}

index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ <h1><a href="?">SQLMap Command Builder</a></h1>
1616
</p>
1717

1818
<p>
19-
<a href="https://github.com/vizzdoom/sqlmap-command-builder" target="_blank">Github Repository v.20250614b</a> for <a target="_blank" href="https://github.com/sqlmapproject/sqlmap/releases">SQLMap 1.9</a><br />
19+
<a href="https://github.com/vizzdoom/sqlmap-command-builder" target="_blank">Github Repository v.20250616</a> for <a target="_blank" href="https://github.com/sqlmapproject/sqlmap/releases">SQLMap 1.9</a><br />
2020
vizzdoom/at/gmail/dot/com
2121
</p>
2222
</header>
@@ -25,10 +25,10 @@ <h1><a href="?">SQLMap Command Builder</a></h1>
2525
<section class="command-section">
2626
<div class="command-header">
2727
<button id="copyBtn" class="btn btn--primary">
28-
<span id="copyText">COPY COMMAND TO A CLIPBOARD</span>
28+
<span id="copyText">COPY COMMAND TO CLIPBOARD</span>
2929
</button>
3030
<button id="copyUrlBtn" class="btn btn--primary">
31-
<span id="copyUrlText">COPY URL WITH THIS CONFIG</span>
31+
<span id="copyUrlText">COPY CONFIG URL</span>
3232
</button>
3333
</div>
3434
<div class="command-output">
@@ -90,7 +90,7 @@ <h3>Templates</h3>
9090
</div>
9191
<!-- -g -->
9292
<div class="form-group" title="Process Google dork results as target URLs" for="googleDork">
93-
<label class="form-label">GOOGLE DORK AS TARGET SELECTION (-g)</label>
93+
<label class="form-label">GOOGLE DORK FOR TARGETS (-g)</label>
9494
<input type="text" id="googleDork" class="form-control" placeholder="inurl:php?id=">
9595
</div>
9696
<!-- -m -->
@@ -105,7 +105,7 @@ <h3>Templates</h3>
105105
</div>
106106
<!-- --scope -->
107107
<div class="form-group" title="Rather than using all hosts parsed from provided logs with option -l, you can specify valid Python regular expression to be used for filtering desired ones.">
108-
<label class="form-label" for="burpFileScope">SCOPE FOR BURP PROXY FILE (--scope)</label>
108+
<label class="form-label" for="burpFileScope">SCOPE FOR BURP PROXY FILE</label>
109109
<input type="text" id="burpFileScope" class="form-control" placeholder="(www)?\.target\.(com|net|org)">
110110
</div>
111111
</div>

style.css

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@
9696
--ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
9797

9898
/* Layout */
99-
--container-s: 450px;
99+
100+
--container-s: 375px;
100101
--container-m: 900px;
101-
--container-l: 1100px;
102+
--container-l: 1200px;
102103
}
103104

104105
/*****************\
@@ -109,18 +110,19 @@
109110
.container {
110111
width: 100%;
111112
margin: 0 auto;
112-
padding: var(--space-m);
113-
max-width: var(--container-s);
113+
padding: var(--space-s);
114+
min-width: var(--container-s);
114115
}
115116
@media (min-width: 600px) {
116117
.container {
117118
max-width: var(--container-m);
118119
padding: var(--space-xl);
119120
}
120121
}
121-
@media (min-width: 100px) {
122+
@media (min-width: 1100px) {
122123
.container {
123124
max-width: var(--container-l);
125+
padding: var(--space-2xl);
124126
}
125127
}
126128

@@ -134,18 +136,64 @@
134136
gap: var(--space-xs);
135137
background-color: rgba(15, 15, 15, 1);
136138
}
137-
@media (min-width: 625px) {
139+
@media (min-width: 600px) {
138140
.tabs {
139141
grid-template-columns: 1fr 1fr 1fr 1fr;
140142
}
141143
}
142-
@media (min-width: 950px) {
144+
@media (min-width: 1100px) {
143145
.tabs {
144146
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
145147
}
146148
}
147149

148150

151+
.btn {
152+
display: inline-flex;
153+
align-items: center;
154+
justify-content: center;
155+
padding: var(--space-s) var(--space-s);
156+
font-size: var(--font-size-xs);
157+
width: 135px;
158+
max-width: 135px;
159+
height: 55px;
160+
border-radius: var(--radius-base);
161+
line-height: 1.4;
162+
cursor: pointer;
163+
transition: all var(--duration-normal) var(--ease-standard);
164+
border: none;
165+
text-decoration: none;
166+
position: relative;
167+
}
168+
@media (min-width: 600px) {
169+
.btn {
170+
padding: var(--space-m) var(--space-l);
171+
width: 240px;
172+
max-width: 240px;
173+
height: 40px;
174+
}
175+
}
176+
177+
178+
/* FORM GRID */
179+
.form-grid {
180+
display: grid;
181+
grid-template-columns: 1fr;
182+
gap: var(--space-xl);
183+
}
184+
@media (min-width: 600px) {
185+
.form-grid {
186+
grid-template-columns: 1fr 1fr;
187+
gap: var(--space-xl);
188+
}
189+
}
190+
@media (min-width: 1100px) {
191+
.form-grid {
192+
grid-template-columns: 1fr 1fr 1fr 1fr;
193+
gap: var(--space-xl);
194+
}
195+
}
196+
149197
/********************************** */
150198

151199
.tab-btn:hover {
@@ -178,24 +226,6 @@
178226
border-bottom: 2px solid transparent;
179227
}
180228

181-
/* FORM GRID */
182-
.form-grid {
183-
display: grid;
184-
grid-template-columns: 1fr;
185-
gap: var(--space-xl);
186-
}
187-
@media (min-width: 625px) {
188-
.form-grid {
189-
grid-template-columns: 1fr 1fr;
190-
gap: var(--space-xl);
191-
}
192-
}
193-
@media (min-width: 950px) {
194-
.form-grid {
195-
grid-template-columns: 1fr 1fr 1fr;
196-
gap: var(--space-xl);
197-
}
198-
}
199229

200230

201231

@@ -341,21 +371,6 @@ pre code {
341371
}
342372

343373
/* Buttons */
344-
.btn {
345-
display: inline-flex;
346-
align-items: center;
347-
justify-content: center;
348-
padding: var(--space-m) var(--space-m);
349-
border-radius: var(--radius-base);
350-
font-size: var(--font-size-xs);
351-
line-height: 1.5;
352-
cursor: pointer;
353-
transition: all var(--duration-normal) var(--ease-standard);
354-
border: none;
355-
text-decoration: none;
356-
position: relative;
357-
}
358-
359374
.btn:focus-visible {
360375
outline: none;
361376
box-shadow: var(--focus-ring);

0 commit comments

Comments
 (0)