Skip to content

Commit 13a2f81

Browse files
committed
Switch to dark theme
1 parent 878eb8a commit 13a2f81

14 files changed

+232
-61
lines changed

static/css/mpg.css

Lines changed: 203 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,35 @@
11
:root {
22

3-
--mpg-color-light: #7bcc29;
4-
--mpg-color-regular: #6eb825;
5-
--mpg-color-dark: #5dad1d;
3+
--mpg-background-color: rgb(64, 64, 64);
4+
--mpg-brand-color-darker: hsl(93, 71%, 40%);
5+
--mpg-brand-color-lighter: hsl(90, 67%, 48%);
6+
--mpg-brand-color: hsl(90, 67%, 43%);
7+
--mpg-code-background-color: rgb(51, 51, 51);
8+
--mpg-code-padding: 10px;
9+
--mpg-danger-color: hsl(354, 70%, 54%);
10+
--mpg-info-color: hsl(188, 78%, 41%);
11+
--mpg-json-boolean-color: hsl(351, 94%, 83%);
12+
--mpg-json-key-color: hsl(174, 68%, 56%);
13+
--mpg-json-number-color: hsl(120, 67%, 75%);
14+
--mpg-json-string-color: hsl(39, 84%, 50%);
15+
--mpg-primary-color-darker: hsl(252, 53%, 50%);
16+
--mpg-primary-color: hsl(252, 53%, 55%);
17+
--mpg-secondary-color: hsl(45, 100%, 51%);
18+
--mpg-secondary-color-darker: hsl(45, 100%, 45%);
19+
--mpg-text-color: white;
620

721
}
822

23+
*:focus {
24+
25+
box-shadow: none !important;
26+
27+
}
28+
929
body {
1030

31+
background-color: var(--mpg-background-color);
32+
color: var(--mpg-text-color);
1133
font-family: Arial, sans-serif;
1234

1335
}
@@ -33,14 +55,13 @@ body {
3355
-ms-flex-pack: start;
3456
justify-content: flex-start;
3557

36-
3758
}
3859

3960
}
4061

4162
.bg-dark {
4263

43-
background-color: var(--mpg-color-dark) !important;
64+
background-color: var(--mpg-brand-color-darker) !important;
4465

4566
}
4667

@@ -90,10 +111,8 @@ body {
90111

91112
.navbar-brand, .navbar-nav .nav-link {
92113

93-
top: 15px;
94-
padding-top: 10px;
95-
padding-bottom: 15px;
96-
114+
/* FIXME */
115+
97116
}
98117

99118
.navbar-nav {
@@ -123,9 +142,9 @@ body {
123142
display: block;
124143
position: absolute;
125144
right: 10px;
126-
top: 10px;
145+
top: 14px;
127146

128-
color: white;
147+
color: var(--mpg-text-color);
129148

130149
}
131150

@@ -139,12 +158,15 @@ body {
139158

140159
}
141160

142-
.navbar-nav .nav-link.active {
161+
.navbar-nav .nav-link {
143162

144-
background-color: white;
145-
color: black !important;
163+
opacity: 0.5;
164+
165+
}
166+
167+
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
146168

147-
border-radius: 5px;
169+
opacity: 1;
148170

149171
}
150172

@@ -199,29 +221,83 @@ button, input {
199221

200222
}
201223

224+
.CodeMirror,
225+
.json-container {
226+
227+
background-color: var(--mpg-code-background-color);
228+
font-family: Consolas, monospace;
229+
padding: var(--mpg-code-padding);
230+
231+
}
232+
233+
.CodeMirror .cm-keyword {
234+
235+
color: var(--mpg-json-string-color);
236+
237+
}
238+
239+
.CodeMirror .cm-variable, /* Cf. Relaxed JSON syntax. */
240+
.CodeMirror .cm-property,
241+
.json-container .json-key {
242+
243+
color: var(--mpg-json-key-color);
244+
245+
}
246+
247+
.CodeMirror .cm-string,
248+
.json-container .json-string {
249+
250+
color: var(--mpg-json-string-color);
251+
252+
}
253+
254+
.CodeMirror .cm-number,
255+
.json-container .json-number {
256+
257+
color: var(--mpg-json-number-color);
258+
259+
}
260+
261+
.CodeMirror .cm-atom,
262+
.json-container .json-boolean {
263+
264+
color: var(--mpg-json-boolean-color);
265+
266+
}
267+
202268
.CodeMirror {
203269

204-
width: 100%;
270+
border: none;
271+
color: var(--mpg-text-color);
205272
height: auto;
273+
margin-bottom: 10px;
206274
min-height: 60px;
275+
width: 100%;
207276

208-
margin-bottom: 10px;
209-
border: 1px solid #ddd;
277+
}
210278

211-
font-family: Consolas, monospace;
279+
.CodeMirror .CodeMirror-selected {
280+
281+
background-color: black;
282+
283+
}
284+
285+
li.CodeMirror-hint-active {
286+
287+
background-color: var(--mpg-brand-color);
212288

213289
}
214290

215291
.CodeMirror .mpg-history-pop-button {
216292

293+
background: none;
294+
border: none;
295+
color: var(--mpg-text-color);
217296
position: absolute;
218-
right: 0;
219-
top: 0;
297+
right: 8px;
298+
top: 8px;
220299
z-index: 100;
221300

222-
border: none;
223-
background: none;
224-
225301
}
226302

227303
.CodeMirror .mpg-history-pop-button:focus {
@@ -230,16 +306,16 @@ button, input {
230306

231307
}
232308

233-
.CodeMirror-hints {
309+
.CodeMirror-cursor {
234310

235-
font-family: Consolas, monospace;
236-
font-size: 100%;
311+
border-color: var(--mpg-text-color);
237312

238313
}
239314

240-
.json-container {
315+
.CodeMirror-hints {
241316

242317
font-family: Consolas, monospace;
318+
font-size: 100%;
243319

244320
}
245321

@@ -252,14 +328,13 @@ button, input {
252328

253329
.json-container .json-value[data-document-field-is-updatable="true"]:hover {
254330

255-
cursor: url("../images/edit-icon-32x32.png") 16 16, text;
256-
outline: 1.5px solid #ddd;
331+
cursor: url("../images/pencil-icon.svg") 16 16, text;
257332

258333
}
259334

260-
.json-container .json-string {
335+
.json-container .json-value {
261336

262-
min-width: 50px; /* This hack allows empty string update. */
337+
min-width: 50px; /* This hack allows update of a short or empty value. */
263338

264339
}
265340

@@ -269,6 +344,20 @@ button, input {
269344

270345
}
271346

347+
.mpg-database-link, .mpg-collection-link {
348+
349+
color: var(--mpg-text-color);
350+
351+
}
352+
353+
.mpg-database-link:hover, .mpg-collection-link:hover,
354+
.mpg-database-link.active, .mpg-collection-link.active {
355+
356+
color: var(--mpg-brand-color);
357+
font-weight: bold;
358+
359+
}
360+
272361
#mpg-find-button, #mpg-delete-one-button {
273362

274363
margin-left: 10px;
@@ -277,15 +366,15 @@ button, input {
277366

278367
.btn-success {
279368

280-
background-color: var(--mpg-color-regular);
281-
border-color: var(--mpg-color-regular);
369+
background-color: var(--mpg-brand-color);
370+
border-color: var(--mpg-brand-color);
282371

283372
}
284373

285374
.btn-success:hover, .btn-success:focus {
286375

287-
background-color: var(--mpg-color-dark);
288-
border-color: var(--mpg-color-dark);
376+
background-color: var(--mpg-brand-color-darker);
377+
border-color: var(--mpg-brand-color-darker);
289378

290379
}
291380

@@ -295,6 +384,35 @@ button, input {
295384

296385
}
297386

387+
.btn-primary {
388+
389+
background-color: var(--mpg-primary-color);
390+
border-color: var(--mpg-primary-color);
391+
392+
}
393+
394+
.btn-primary:hover, .btn-primary:focus {
395+
396+
background-color: var(--mpg-primary-color-darker) !important;
397+
border-color: var(--mpg-primary-color-darker) !important;
398+
399+
}
400+
401+
.btn-secondary {
402+
403+
background-color: var(--mpg-secondary-color);
404+
border-color: var(--mpg-secondary-color);
405+
color: black !important;
406+
407+
}
408+
409+
.btn-secondary:hover, .btn-secondary:focus {
410+
411+
background-color: var(--mpg-secondary-color-darker) !important;
412+
border-color: var(--mpg-secondary-color-darker) !important;
413+
414+
}
415+
298416
#mpg-export-button, #mpg-open-create-user-modal-button {
299417

300418
position: relative;
@@ -317,6 +435,31 @@ button, input {
317435

318436
}
319437

438+
.alert {
439+
440+
border: none;
441+
color: var(--mpg-text-color);
442+
443+
}
444+
445+
.alert-danger {
446+
447+
background-color: var(--mpg-danger-color);
448+
449+
}
450+
451+
.alert-info {
452+
453+
background-color: var(--mpg-info-color);
454+
455+
}
456+
457+
.alert-success {
458+
459+
background-color: var(--mpg-brand-color-darker);
460+
461+
}
462+
320463
.alert-dismissible {
321464

322465
width: fit-content;
@@ -339,7 +482,24 @@ button, input {
339482

340483
}
341484

342-
.table td {
485+
#mpg-users-table,
486+
#mpg-indexes-table {
487+
488+
background-color: white;
489+
490+
}
491+
492+
#mpg-users-table thead th,
493+
#mpg-indexes-table thead th {
494+
495+
background-color: var(--mpg-code-background-color);
496+
border: none;
497+
color: var(--mpg-text-color);
498+
499+
}
500+
501+
#mpg-users-table tbody td,
502+
#mpg-indexes-table tbody td {
343503

344504
vertical-align: middle;
345505

@@ -352,6 +512,12 @@ button, input {
352512

353513
}
354514

515+
#mpg-create-user-modal label {
516+
517+
color: black;
518+
519+
}
520+
355521
@media screen and (min-width: 768px) {
356522

357523
#mpg-create-user-modal {

static/images/edit-icon-32x32.png

-512 Bytes
Binary file not shown.

static/images/pencil-icon.svg

Lines changed: 1 addition & 0 deletions
Loading

static/js/jsonview.bundle.mod.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ var JsonView = (function (exports) {
3636
documentFieldName = params.documentFieldName;
3737

3838
// XXX Modification made for MongoDB PHP GUI.
39-
return "\n <div class=\"line\">\n <div class=\"empty-icon\"></div>\n <div class=\"json-key\">".concat(key, "</div>\n <div class=\"json-separator\">:</div>\n <div data-document-id=\"" + documentId + "\" data-document-field-is-updatable=\"" + documentFieldIsUpdatable + "\" data-document-field-name=\"" + documentFieldName + "\" data-document-field-type=\"" + type + "\" class=\"json-value json-").concat(type, "\">").concat(value, "</div>\n </div>\n ");
39+
var title = ( documentFieldIsUpdatable === 'true' ) ? 'Edit value' : '';
40+
return "\n <div class=\"line\">\n <div class=\"empty-icon\"></div>\n <div class=\"json-key\">".concat(key, "</div>\n <div class=\"json-separator\">:</div>\n <div data-document-id=\"" + documentId + "\" data-document-field-is-updatable=\"" + documentFieldIsUpdatable + "\" data-document-field-name=\"" + documentFieldName + "\" data-document-field-type=\"" + type + "\" title=\"" + title + "\" class=\"json-value json-").concat(type, "\">").concat(value, "</div>\n </div>\n ");
4041
}
4142

4243
function hideNodeChildren(node) {

0 commit comments

Comments
 (0)