|
539 | 539 | .execution-stats { |
540 | 540 | display: grid; |
541 | 541 | grid-template-columns: repeat(4, 1fr); |
542 | | - gap: 0.2rem; |
543 | | - margin-bottom: 0.3rem; |
| 542 | + gap: 0.15rem; |
| 543 | + margin-bottom: 0.2rem; |
544 | 544 | } |
545 | 545 |
|
546 | 546 | .stat-card { |
547 | 547 | background: rgba(255, 255, 255, 0.7); |
548 | 548 | border: 1px solid rgba(0, 0, 0, 0.1); |
549 | 549 | border-radius: 6px; |
550 | | - padding: 0.2rem; |
| 550 | + padding: 0.15rem; |
551 | 551 | text-align: center; |
552 | 552 | transition: all 0.3s ease; |
553 | 553 | position: relative; |
|
575 | 575 | } |
576 | 576 |
|
577 | 577 | .stat-value { |
578 | | - font-size: 0.85rem; |
| 578 | + font-size: 0.75rem; |
579 | 579 | font-weight: bold; |
580 | 580 | color: var(--accent-blue); |
581 | | - margin-bottom: 0.05rem; |
| 581 | + margin-bottom: 0.03rem; |
582 | 582 | transition: all 0.3s ease; |
583 | 583 | } |
584 | 584 |
|
|
593 | 593 | } |
594 | 594 |
|
595 | 595 | .stat-label { |
596 | | - font-size: 0.6rem; |
| 596 | + font-size: 0.55rem; |
597 | 597 | color: var(--ink-medium); |
598 | 598 | text-transform: uppercase; |
599 | 599 | letter-spacing: 0.5px; |
600 | 600 | line-height: 1.1; |
601 | 601 | } |
602 | 602 |
|
603 | 603 | .algorithm-steps { |
604 | | - margin: 0.3rem 0; |
605 | | - flex: 1; |
| 604 | + margin: 0.2rem 0; |
| 605 | + flex: 0 0 auto; |
606 | 606 | min-height: 0; |
| 607 | + max-height: 80px; |
| 608 | + overflow: hidden; |
| 609 | + display: flex; |
| 610 | + flex-direction: column; |
607 | 611 | } |
608 | 612 |
|
609 | 613 | .steps-container { |
610 | 614 | background: rgba(255, 255, 255, 0.5); |
611 | 615 | border: 1px solid rgba(0, 0, 0, 0.1); |
612 | 616 | border-radius: 6px; |
613 | | - padding: 0.3rem; |
614 | | - min-height: 120px; |
615 | | - max-height: 200px; |
| 617 | + padding: 0.15rem; |
| 618 | + min-height: 50px; |
| 619 | + max-height: 60px; |
616 | 620 | overflow-y: auto; |
617 | | - font-size: 0.7rem; |
618 | | - line-height: 1.2; |
| 621 | + font-size: 0.58rem; |
| 622 | + line-height: 1.0; |
| 623 | + flex: 1; |
619 | 624 | } |
620 | 625 |
|
621 | 626 | .execution-step { |
622 | 627 | display: flex; |
623 | 628 | align-items: center; |
624 | | - padding: 0.15rem 0.2rem; |
625 | | - margin: 0.05rem 0; |
| 629 | + padding: 0.08rem 0.1rem; |
| 630 | + margin: 0.01rem 0; |
626 | 631 | background: rgba(255, 255, 255, 0.8); |
627 | | - border-radius: 3px; |
| 632 | + border-radius: 2px; |
628 | 633 | border-left: 2px solid var(--accent-blue); |
629 | 634 | animation: stepAppear 0.5s ease-out; |
630 | | - font-size: 0.65rem; |
631 | | - line-height: 1.1; |
632 | | - min-height: 18px; |
| 635 | + font-size: 0.55rem; |
| 636 | + line-height: 1.0; |
| 637 | + min-height: 14px; |
633 | 638 | transition: all 0.3s ease; |
634 | 639 | } |
635 | 640 |
|
|
696 | 701 | } |
697 | 702 |
|
698 | 703 | .step-time { |
699 | | - font-size: 0.5rem; |
| 704 | + font-size: 0.45rem; |
700 | 705 | color: var(--ink-light); |
701 | | - margin-left: 0.2rem; |
| 706 | + margin-left: 0.15rem; |
702 | 707 | flex-shrink: 0; |
703 | 708 | white-space: nowrap; |
704 | 709 | } |
705 | 710 |
|
706 | 711 | .skip-list-visualization { |
707 | | - margin: 0.3rem 0; |
708 | | - flex: 1; |
| 712 | + margin: 0.2rem 0; |
| 713 | + flex: 3; |
709 | 714 | min-height: 0; |
| 715 | + overflow: hidden; |
| 716 | + display: flex; |
| 717 | + flex-direction: column; |
710 | 718 | } |
711 | 719 |
|
712 | 720 | .skip-list-container { |
|
988 | 996 |
|
989 | 997 | /* Data Structure Specific Visualizations */ |
990 | 998 | .data-structure-viz { |
991 | | - margin: 0.3rem 0; |
| 999 | + margin: 0.2rem 0; |
992 | 1000 | flex: 1; |
993 | 1001 | min-height: 0; |
994 | 1002 | } |
|
997 | 1005 | background: rgba(255, 255, 255, 0.5); |
998 | 1006 | border: 1px solid rgba(0, 0, 0, 0.1); |
999 | 1007 | border-radius: 6px; |
1000 | | - padding: 0.3rem; |
1001 | | - min-height: 60px; |
1002 | | - max-height: 120px; |
| 1008 | + padding: 0.4rem; |
| 1009 | + min-height: 100px; |
| 1010 | + max-height: 200px; |
1003 | 1011 | overflow: auto; |
1004 | 1012 | } |
1005 | 1013 |
|
@@ -1632,7 +1640,14 @@ <h3>📈 Recent Trades |
1632 | 1640 | ].sort((a, b) => a - b); |
1633 | 1641 |
|
1634 | 1642 | if (allPrices.length === 0) { |
| 1643 | + // If no prices, clear the data structure and show empty state |
| 1644 | + this.skipListNodes = []; |
| 1645 | + this.btreeNodes = []; |
| 1646 | + this.hashmapBuckets = []; |
| 1647 | + this.sortedArray = []; |
| 1648 | + this.rbTreeNodes = []; |
1635 | 1649 | this._generatingDataStructure = false; |
| 1650 | + this.updateDataStructureDisplay(); |
1636 | 1651 | return; |
1637 | 1652 | } |
1638 | 1653 |
|
@@ -1876,11 +1891,6 @@ <h3>📈 Recent Trades |
1876 | 1891 | this.generateDataStructureFromOrderbook(); |
1877 | 1892 | } |
1878 | 1893 |
|
1879 | | - generateSkipListFromOrderbook() { |
1880 | | - // Use the new unified method |
1881 | | - this.generateDataStructureFromOrderbook(); |
1882 | | - } |
1883 | | - |
1884 | 1894 | updateSkipListDisplay() { |
1885 | 1895 | // Use the new unified method |
1886 | 1896 | this.updateDataStructureDisplay(); |
|
0 commit comments