|
1 | 1 | /* Variable definitions */ |
2 | | -:root { |
| 2 | +:root, |
| 3 | +#djDebug[data-theme="light"] { |
3 | 4 | /* Font families are the same as in Django admin/css/base.css */ |
4 | 5 | --djdt-font-family-primary: "Segoe UI", system-ui, Roboto, "Helvetica Neue", |
5 | 6 | Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", |
|
9 | 10 | "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", |
10 | 11 | monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", |
11 | 12 | "Noto Color Emoji"; |
| 13 | + |
| 14 | + color-scheme: light; |
| 15 | + --djdt-font-color: black; |
| 16 | + --djdt-background-color: white; |
| 17 | + --djdt-panel-content-background-color: #eee; |
| 18 | + --djdt-panel-content-table-background-color: var(--djdt-background-color); |
| 19 | + --djdt-panel-title-background-color: #ffc; |
| 20 | + --djdt-djdt-panel-content-table-strip-background-color: #f5f5f5; |
| 21 | + --djdt--highlighted-background-color: lightgrey; |
| 22 | + --djdt-toggle-template-background-color: #bbb; |
| 23 | + |
| 24 | + --djdt-sql-font-color: #333; |
| 25 | + --djdt-pre-text-color: #555; |
| 26 | + --djdt-path-and-locals: #777; |
| 27 | + --djdt-stack-span-color: black; |
| 28 | + --djdt-template-highlight-color: #333; |
| 29 | + |
| 30 | + --djdt-table-border-color: #ccc; |
| 31 | + --djdt-button-border-color: var(--djdt-table-border-color); |
| 32 | + --djdt-pre-border-color: var(--djdt-table-border-color); |
| 33 | + --djdt-raw-border-color: var(--djdt-table-border-color); |
| 34 | +} |
| 35 | + |
| 36 | +@media (prefers-color-scheme: dark) { |
| 37 | + :root { |
| 38 | + color-scheme: dark; |
| 39 | + --djdt-font-color: #8393a7; |
| 40 | + --djdt-background-color: #1e293bff; |
| 41 | + --djdt-panel-content-background-color: #0f1729ff; |
| 42 | + --djdt-panel-title-background-color: #242432; |
| 43 | + --djdt-djdt-panel-content-table-strip-background-color: #324154ff; |
| 44 | + --djdt--highlighted-background-color: #2c2a7dff; |
| 45 | + --djdt-toggle-template-background-color: #282755; |
| 46 | + |
| 47 | + --djdt-sql-font-color: var(--djdt-font-color); |
| 48 | + --djdt-pre-text-color: var(--djdt-font-color); |
| 49 | + --djdt-path-and-locals: #65758cff; |
| 50 | + --djdt-stack-span-color: #7c8fa4; |
| 51 | + --djdt-template-highlight-color: var(--djdt-stack-span-color); |
| 52 | + |
| 53 | + --djdt-table-border-color: #324154ff; |
| 54 | + --djdt-button-border-color: var(--djdt-table-border-color); |
| 55 | + --djdt-pre-border-color: var(--djdt-table-border-color); |
| 56 | + --djdt-raw-border-color: var(--djdt-table-border-color); |
| 57 | + } |
| 58 | +} |
| 59 | + |
| 60 | +#djDebug[data-theme="dark"] { |
| 61 | + color-scheme: dark; |
| 62 | + --djdt-font-color: #8393a7; |
| 63 | + --djdt-background-color: #1e293bff; |
| 64 | + --djdt-panel-content-background-color: #0f1729ff; |
| 65 | + --djdt-panel-title-background-color: #242432; |
| 66 | + --djdt-djdt-panel-content-table-strip-background-color: #324154ff; |
| 67 | + --djdt--highlighted-background-color: #2c2a7dff; |
| 68 | + --djdt-toggle-template-background-color: #282755; |
| 69 | + |
| 70 | + --djdt-sql-font-color: var(--djdt-font-color); |
| 71 | + --djdt-pre-text-color: var(--djdt-font-color); |
| 72 | + --djdt-path-and-locals: #65758cff; |
| 73 | + --djdt-stack-span-color: #7c8fa4; |
| 74 | + --djdt-template-highlight-color: var(--djdt-stack-span-color); |
| 75 | + |
| 76 | + --djdt-table-border-color: #324154ff; |
| 77 | + --djdt-button-border-color: var(--djdt-table-border-color); |
| 78 | + --djdt-pre-border-color: var(--djdt-table-border-color); |
| 79 | + --djdt-raw-border-color: var(--djdt-table-border-color); |
12 | 80 | } |
13 | 81 |
|
14 | 82 | /* Debug Toolbar CSS Reset, adapted from Eric Meyer's CSS Reset */ |
15 | 83 | #djDebug { |
16 | | - color: #000; |
17 | | - background: #fff; |
| 84 | + color: var(--djdt-font-color); |
| 85 | + background: var(--djdt-background-color); |
18 | 86 | } |
19 | 87 | #djDebug, |
20 | 88 | #djDebug div, |
|
87 | 155 | outline: 0; |
88 | 156 | font-size: 12px; |
89 | 157 | line-height: 1.5em; |
90 | | - color: #000; |
| 158 | + color: var(--djdt-font-color); |
91 | 159 | vertical-align: baseline; |
92 | 160 | background-color: transparent; |
93 | 161 | font-family: var(--djdt-font-family-primary); |
|
100 | 168 | #djDebug button { |
101 | 169 | background-color: #eee; |
102 | 170 | background-image: linear-gradient(to bottom, #eee, #cccccc); |
103 | | - border: 1px solid #ccc; |
| 171 | + border: 1px solid var(--djdt-button-border-color); |
104 | 172 | border-bottom: 1px solid #bbb; |
105 | 173 | border-radius: 3px; |
106 | 174 | color: #333; |
|
268 | 336 |
|
269 | 337 | #djDebug pre { |
270 | 338 | white-space: pre-wrap; |
271 | | - color: #555; |
272 | | - border: 1px solid #ccc; |
| 339 | + color: var(--djdt-pre-text-color); |
| 340 | + border: 1px solid var(--djdt-pre-border-color); |
273 | 341 | border-collapse: collapse; |
274 | | - background-color: #fff; |
| 342 | + background-color: var(--djdt-background-color); |
275 | 343 | padding: 2px 3px; |
276 | 344 | margin-bottom: 3px; |
277 | 345 | } |
|
283 | 351 | right: 220px; |
284 | 352 | bottom: 0; |
285 | 353 | left: 0px; |
286 | | - background-color: #eee; |
| 354 | + background-color: var(--djdt-panel-content-background-color); |
287 | 355 | color: #666; |
288 | 356 | z-index: 100000000; |
289 | 357 | } |
|
294 | 362 |
|
295 | 363 | #djDebug .djDebugPanelTitle { |
296 | 364 | position: absolute; |
297 | | - background-color: #ffc; |
| 365 | + background-color: var(--djdt-panel-title-background-color); |
298 | 366 | color: #666; |
299 | 367 | padding-left: 20px; |
300 | 368 | top: 0; |
|
357 | 425 | } |
358 | 426 |
|
359 | 427 | #djDebug .djdt-panelContent table { |
360 | | - border: 1px solid #ccc; |
| 428 | + border: 1px solid var(--djdt-table-border-color); |
361 | 429 | border-collapse: collapse; |
362 | 430 | width: 100%; |
363 | | - background-color: #fff; |
| 431 | + background-color: var(--djdt-panel-content-table-background-color); |
364 | 432 | display: table; |
365 | 433 | margin-top: 0.8em; |
366 | 434 | overflow: auto; |
367 | 435 | } |
368 | 436 | #djDebug .djdt-panelContent tbody > tr:nth-child(odd):not(.djdt-highlighted) { |
369 | | - background-color: #f5f5f5; |
| 437 | + background-color: var(--djdt-panel-content-table-strip-background-color); |
370 | 438 | } |
371 | 439 | #djDebug .djdt-panelContent tbody td, |
372 | 440 | #djDebug .djdt-panelContent tbody th { |
|
392 | 460 | } |
393 | 461 |
|
394 | 462 | #djDebug .djTemplateContext { |
395 | | - background-color: #fff; |
| 463 | + background-color: var(--djdt-background-color); |
396 | 464 | } |
397 | 465 |
|
398 | 466 | #djDebug .djdt-panelContent .djDebugClose { |
|
433 | 501 |
|
434 | 502 | #djDebug a.toggleTemplate { |
435 | 503 | padding: 4px; |
436 | | - background-color: #bbb; |
| 504 | + background-color: var(--djdt-toggle-template-background-color); |
437 | 505 | border-radius: 3px; |
438 | 506 | } |
439 | 507 |
|
|
445 | 513 | } |
446 | 514 |
|
447 | 515 | #djDebug .djDebugCollapsed { |
448 | | - color: #333; |
| 516 | + color: var(--djdt-sql-font-color); |
449 | 517 | } |
450 | 518 |
|
451 | 519 | #djDebug .djDebugUncollapsed { |
452 | | - color: #333; |
| 520 | + color: var(--djdt-sql-font-color); |
453 | 521 | } |
454 | 522 |
|
455 | 523 | #djDebug .djUnselected { |
|
483 | 551 | } |
484 | 552 |
|
485 | 553 | #djDebug .highlight { |
486 | | - color: #000; |
| 554 | + color: var(--djdt-font-color); |
487 | 555 | } |
488 | 556 | #djDebug .highlight .err { |
489 | | - color: #000; |
| 557 | + color: var(--djdt-font-color); |
490 | 558 | } /* Error */ |
491 | 559 | #djDebug .highlight .g { |
492 | | - color: #000; |
| 560 | + color: var(--djdt-font-color); |
493 | 561 | } /* Generic */ |
494 | 562 | #djDebug .highlight .k { |
495 | | - color: #000; |
| 563 | + color: var(--djdt-font-color); |
496 | 564 | font-weight: bold; |
497 | 565 | } /* Keyword */ |
498 | 566 | #djDebug .highlight .o { |
499 | | - color: #000; |
| 567 | + color: var(--djdt-font-color); |
500 | 568 | } /* Operator */ |
501 | 569 | #djDebug .highlight .n { |
502 | | - color: #000; |
| 570 | + color: var(--djdt-font-color); |
503 | 571 | } /* Name */ |
504 | 572 | #djDebug .highlight .mi { |
505 | | - color: #000; |
| 573 | + color: var(--djdt-font-color); |
506 | 574 | font-weight: bold; |
507 | 575 | } /* Literal.Number.Integer */ |
508 | 576 | #djDebug .highlight .l { |
509 | | - color: #000; |
| 577 | + color: var(--djdt-font-color); |
510 | 578 | } /* Literal */ |
511 | 579 | #djDebug .highlight .x { |
512 | | - color: #000; |
| 580 | + color: var(--djdt-font-color); |
513 | 581 | } /* Other */ |
514 | 582 | #djDebug .highlight .p { |
515 | | - color: #000; |
| 583 | + color: var(--djdt-font-color); |
516 | 584 | } /* Punctuation */ |
517 | 585 | #djDebug .highlight .m { |
518 | | - color: #000; |
| 586 | + color: var(--djdt-font-color); |
519 | 587 | font-weight: bold; |
520 | 588 | } /* Literal.Number */ |
521 | 589 | #djDebug .highlight .s { |
522 | | - color: #333; |
| 590 | + color: var(--djdt-template-highlight-color); |
523 | 591 | } /* Literal.String */ |
524 | 592 | #djDebug .highlight .w { |
525 | 593 | color: #888888; |
526 | 594 | } /* Text.Whitespace */ |
527 | 595 | #djDebug .highlight .il { |
528 | | - color: #000; |
| 596 | + color: var(--djdt-font-color); |
529 | 597 | font-weight: bold; |
530 | 598 | } /* Literal.Number.Integer.Long */ |
531 | 599 | #djDebug .highlight .na { |
532 | | - color: #333; |
| 600 | + color: var(--djdt-template-highlight-color); |
533 | 601 | } /* Name.Attribute */ |
534 | 602 | #djDebug .highlight .nt { |
535 | | - color: #000; |
| 603 | + color: var(--djdt-font-color); |
536 | 604 | font-weight: bold; |
537 | 605 | } /* Name.Tag */ |
538 | 606 | #djDebug .highlight .nv { |
539 | | - color: #333; |
| 607 | + color: var(--djdt-template-highlight-color); |
540 | 608 | } /* Name.Variable */ |
541 | 609 | #djDebug .highlight .s2 { |
542 | | - color: #333; |
| 610 | + color: var(--djdt-template-highlight-color); |
543 | 611 | } /* Literal.String.Double */ |
544 | 612 | #djDebug .highlight .cp { |
545 | | - color: #333; |
| 613 | + color: var(--djdt-template-highlight-color); |
546 | 614 | } /* Comment.Preproc */ |
547 | 615 |
|
548 | 616 | #djDebug svg.djDebugLineChart { |
|
595 | 663 | } |
596 | 664 |
|
597 | 665 | #djDebug .djdt-stack span { |
598 | | - color: #000; |
| 666 | + color: var(--djdt-stack-span-color); |
599 | 667 | font-weight: bold; |
600 | 668 | } |
601 | 669 | #djDebug .djdt-stack span.djdt-path, |
602 | 670 | #djDebug .djdt-stack pre.djdt-locals, |
603 | 671 | #djDebug .djdt-stack pre.djdt-locals span { |
604 | | - color: #777; |
| 672 | + color: var(--djdt-path-and-locals); |
605 | 673 | font-weight: normal; |
606 | 674 | } |
607 | 675 | #djDebug .djdt-stack span.djdt-code { |
|
612 | 680 | } |
613 | 681 | #djDebug .djdt-raw { |
614 | 682 | background-color: #fff; |
615 | | - border: 1px solid #ccc; |
| 683 | + border: 1px solid var(--djdt-raw-border-color); |
616 | 684 | margin-top: 0.8em; |
617 | 685 | padding: 5px; |
618 | 686 | white-space: pre-wrap; |
|
631 | 699 | max-height: 100%; |
632 | 700 | } |
633 | 701 | #djDebug .djdt-highlighted { |
634 | | - background-color: lightgrey; |
| 702 | + background-color: var(--djdt--highlighted-background-color); |
635 | 703 | } |
636 | 704 | #djDebug tr.djdt-highlighted.djdt-profile-row { |
637 | 705 | background-color: #ffc; |
|
654 | 722 | .djdt-hidden { |
655 | 723 | display: none; |
656 | 724 | } |
| 725 | + |
| 726 | +#djDebug #djDebugToolbar a#djToggleThemeButton { |
| 727 | + display: flex; |
| 728 | + align-items: center; |
| 729 | + cursor: pointer; |
| 730 | +} |
| 731 | +#djToggleThemeButton > svg { |
| 732 | + margin-left: auto; |
| 733 | +} |
| 734 | +#djDebug[data-theme="light"] #djToggleThemeButton svg.theme-light, |
| 735 | +#djDebug[data-theme="dark"] #djToggleThemeButton svg.theme-dark, |
| 736 | +#djDebug[data-theme="auto"] #djToggleThemeButton svg.theme-auto { |
| 737 | + display: block; |
| 738 | +} |
0 commit comments