decred.org/dcrdex@v1.0.3/client/webserver/site/src/css/market.scss (about) 1 @import "mixins"; 2 3 div[data-handler=markets] { 4 .ordertable-wrap { 5 width: 100%; 6 7 &:first-child { 8 @include border-bottom; 9 } 10 11 &:last-child { 12 @include border-top; 13 } 14 15 tbody#sellRows { 16 @include border-top; 17 } 18 } 19 20 .orderbook { 21 min-width: 225px; 22 23 & > div:first-child { // buy orders 24 order: 3; 25 } 26 27 & > div:nth-child(2) { // header 28 order: 1; 29 } 30 31 & > div:last-child { // sell orders 32 order: 2; 33 } 34 } 35 36 .order-panel { 37 min-width: 375px; 38 39 #orderForm { 40 input[type=number] { 41 height: 30px; 42 border-radius: 0; 43 font-size: 14px; 44 } 45 46 input:focus { 47 outline: none; 48 } 49 50 span.unitbox { 51 position: absolute; 52 font-size: 14px; 53 font-weight: bold; 54 right: 5px; 55 top: 48%; // Looks better than 50 for some reason. 56 transform: translateY(-50%); 57 white-space: nowrap; 58 } 59 60 button { 61 padding: 5px 25px; 62 border: 1px solid #78787877; 63 border-radius: 3px; 64 background-color: var(--section-bg); 65 color: var(--market-btn-color); 66 67 &:disabled { 68 opacity: 0.4; 69 } 70 } 71 72 button:hover, 73 button.selected { 74 color: var(--market-btn-selected-color); 75 } 76 77 button.submit { 78 color: var(--market-btn-selected-color); 79 } 80 81 button.selected, 82 button.submit { 83 &.buygreen-bg { 84 background-color: var(--market-buygreen-bg); 85 } 86 87 &.sellred-bg { 88 background-color: var(--market-sellred-bg); 89 } 90 } 91 92 #orderPreview, 93 .h21 { 94 height: 21px; 95 } 96 } 97 98 .ico-unlocked { 99 color: $success; 100 } 101 102 .ico-disconnected { 103 color: var(--text-warning); 104 } 105 } 106 107 .market-chart { 108 @extend .flex-center; 109 110 flex-grow: 1; 111 position: relative; 112 min-width: 100px; // Letting it go to zero can be problematic, causing some major cpu during chart calcs 113 min-height: 250px; 114 115 canvas { 116 position: absolute; 117 left: 0; 118 top: 0; 119 user-select: none; 120 } 121 } 122 123 #unreadyOrdersMsg { 124 color: $danger; 125 } 126 127 .unready-user-order { 128 background-color: #6e0909; 129 } 130 131 .user-order { 132 &:not(:last-child) { 133 border-bottom-style: none !important; 134 } 135 136 &:last-child .order-details { 137 border-bottom-style: none !important; 138 padding-bottom: 0; 139 } 140 141 .user-order-header { 142 @extend .flex-center; 143 144 padding: 5px 10px 5px 20px; 145 font-size: 14px; 146 position: relative; 147 // border: 1px solid grey; 148 149 .side-indicator { 150 position: absolute; 151 left: 0; 152 top: 0; 153 bottom: 0; 154 width: 8px; 155 156 &.buy { 157 background-color: var(--buy-color); 158 } 159 160 &.sell { 161 background-color: var(--market-sell-color); 162 } 163 164 &.inactive { 165 opacity: 0.5; 166 } 167 } 168 169 .active-indicator { 170 height: 8px; 171 border-radius: 4px; 172 173 &.active { 174 margin: 0 5px; 175 width: 8px; 176 background-color: var(--buy-color); 177 } 178 } 179 } 180 181 .order-details { 182 margin-bottom: 25px; 183 padding: 0 10px 10px; 184 display: grid; 185 grid-template-columns: 1fr 1fr 1fr 1fr; 186 row-gap: 10px; 187 column-gap: 5px; 188 line-height: 1; 189 190 .user-order-datum { 191 flex-grow: 1; 192 display: flex; 193 flex-direction: column; 194 align-items: flex-start; 195 196 & > span:first-child { 197 font-size: 12px; 198 font-family: $demi-sans; 199 color: grey; 200 margin-bottom: 2px; 201 } 202 203 & > span:nth-child(2) { 204 font-size: 14px; 205 } 206 207 &.full-span { 208 grid-column: 1 / -1; 209 } 210 } 211 } 212 } 213 214 .markettab { 215 height: 30px; 216 border-style: none; 217 background-color: var(--section-bg); 218 219 &.selected { 220 background-color: var(--market-markettab-selected-bg); 221 } 222 } 223 224 .numorders { 225 background-color: var(--market-numorders-bg); 226 padding: 1px 2px; 227 } 228 229 #leftMarketDock { 230 position: absolute; 231 display: flex; 232 top: 0; 233 left: 0; 234 z-index: 2; 235 min-height: -webkit-fill-available; // for webkit browsers 236 background-color: var(--section-bg); 237 238 &.default, 239 &.stashed { 240 display: none; 241 } 242 243 #searchBoxV1 { 244 height: 55px; 245 } 246 247 &.stashed { 248 display: none; 249 } 250 251 #marketSearchV1:focus { 252 border: none; 253 outline: none; 254 } 255 256 #marketSearchV1 { 257 @extend .fill-abs; 258 259 width: 100%; // firefox needs, for some reason 260 z-index: 2; 261 background-color: transparent; 262 font-size: 25px; 263 text-align: center; 264 font-family: $demi-sans; 265 font-variant: small-caps; 266 border: none; 267 268 & + .ico-search { 269 z-index: 1; 270 position: absolute; 271 left: 50%; 272 top: 50%; 273 transform: translateX(-50%) translateY(-50%); 274 opacity: 0.25; 275 } 276 277 &:hover + .ico-search { 278 opacity: 0.5; 279 } 280 281 &:not(:placeholder-shown) + .ico-search, 282 &:focus + .ico-search { 283 display: none; 284 } 285 } 286 287 #marketListV1 { 288 height: 100%; 289 min-width: 275px; 290 291 & > div { 292 .dexname { 293 max-width: 60px; 294 overflow: hidden; 295 text-overflow: ellipsis; 296 } 297 298 &.selected { 299 background-color: #7773; 300 } 301 } 302 } 303 } 304 305 #mainContent { 306 display: flex; 307 flex-direction: column; 308 align-items: center; 309 310 & > div, 311 & > section { 312 min-height: 500px; 313 display: flex; 314 315 &:first-child { // order book 316 max-height: 1000px; 317 order: 3; 318 } 319 320 &:nth-child(2) { // charts 321 order: 1; 322 } 323 324 &:last-child { // order form, wallets, user orders 325 order: 2; 326 } 327 } 328 } 329 330 #epochLine, 331 #durBttnBox { 332 position: absolute; 333 left: 65px; 334 top: 5px; 335 background-color: var(--section-bg); 336 z-index: 1; 337 } 338 339 #durBttnBox { 340 .candle-dur-bttn { 341 background-color: var(--section-bg); 342 padding: 2px 4px; 343 font-size: 14px; 344 line-height: 1; 345 margin: 0 2px; 346 347 &:hover { 348 background-color: #7777; 349 } 350 351 &:hover, 352 &.selected { 353 border-color: var(--text-warning); 354 color: var(--text-warning); 355 } 356 } 357 } 358 359 #epochLine { 360 @extend .flex-center; 361 362 .epoch-line { 363 display: inline-block; 364 border-top: 3px dotted #626262; 365 width: 25px; 366 height: 0; 367 margin-right: 5px; 368 position: relative; 369 top: 1px; 370 } 371 } 372 373 #loaderMsg { 374 color: #777; 375 } 376 377 #bondCreationPending { 378 .title { 379 font-weight: bold; 380 margin-bottom: 5px; 381 color: #9b8c09; 382 } 383 } 384 385 #registrationStatus { 386 .title { 387 font-weight: bold; 388 margin-bottom: 5px; 389 } 390 391 &.waiting { 392 .title { 393 color: #9b8c09; 394 } 395 } 396 397 &.completed { 398 .title { 399 color: $success; 400 } 401 402 #regStatusMessage { 403 display: none; 404 } 405 } 406 407 &.error { 408 .title { 409 color: $danger; 410 } 411 } 412 } 413 414 #approveTokenForm { 415 width: 450px; 416 } 417 418 #verifyForm { 419 .echo-data span { 420 margin: 0 5px; 421 } 422 423 .disclaimer { 424 text-align: justify; 425 } 426 427 header { 428 &.buygreen-bg { 429 background-color: var(--market-buygreen-bg); 430 } 431 432 &.sellred-bg { 433 background-color: var(--market-sellred-bg); 434 } 435 } 436 437 button { 438 &.buygreen-bg { 439 background-color: var(--market-buygreen-bg); 440 } 441 442 &.sellred-bg { 443 background-color: var(--market-sellred-bg); 444 } 445 } 446 447 .loader { 448 height: 40px; 449 } 450 451 .order-opt { 452 opacity: 0.7; 453 454 &:not(.selected) { 455 cursor: pointer; 456 } 457 458 &.selected { 459 opacity: 1; 460 background-color: var(--form-opt-selected-bg); 461 462 div.opt-check { 463 background-color: $success; 464 } 465 } 466 } 467 } 468 469 #vDetailPane { 470 max-width: 425px; 471 472 .indent { 473 border-left: 2px solid var(--border-color); 474 } 475 476 table.fee-breakout { 477 td { 478 text-align: center; 479 padding: 2px 5px; 480 } 481 } 482 } 483 484 485 #marketReopener { 486 display: none; 487 padding: 10px 0; 488 position: absolute; 489 top: 0; 490 left: 0; 491 background-color: var(--section-bg); 492 z-index: 10; 493 } 494 495 #leftHider, 496 #marketReopener { 497 .ico-arrowleft, 498 .ico-arrowright { 499 transform: scaleX(0.5); 500 opacity: 0.5; 501 } 502 503 &:hover .ico-arrowleft, 504 &:hover .ico-arrowright { 505 opacity: 1; 506 } 507 } 508 } 509 510 .market-stats { 511 display: flex; 512 margin: 0 5px; 513 gap: 15px; 514 515 .statgrid { 516 display: grid; 517 grid-template-columns: auto auto auto; 518 } 519 520 &.listopen .ico-arrowdown { 521 display: none; 522 } 523 524 &:not(.listopen) .ico-arrowup { 525 display: none; 526 } 527 } 528 529 #headerSpace .market-stats { 530 display: none; 531 } 532 533 534 #recentMatchesBox { 535 @extend .stylish-overflow; 536 537 max-height: 350px; 538 } 539 540 #recentMatchesTable { 541 th { 542 align-items: center; 543 544 &:hover { 545 opacity: 0.7; 546 } 547 548 .ico-arrowdown { 549 display: inline-block; 550 visibility: hidden; 551 vertical-align: middle; 552 font-size: 10px; 553 margin-left: 5px; 554 } 555 556 &.sorted-dsc { 557 .ico-arrowdown { 558 visibility: visible; 559 } 560 } 561 562 &.sorted-asc { 563 .ico-arrowdown { 564 visibility: visible; 565 transform: rotate(180deg); 566 } 567 } 568 } 569 } 570 571 @include media-breakpoint-up(xl) { 572 #main .market-stats { 573 display: none; 574 border-top: none; 575 } 576 577 #headerSpace .market-stats { 578 display: flex; 579 border-bottom: none !important; 580 } 581 582 div[data-handler=markets] #leftMarketDock { 583 position: relative; 584 585 &.default { 586 display: flex; 587 } 588 } 589 } 590 591 @include media-breakpoint-up(lg) { 592 div[data-handler=markets] { 593 #mainContent { 594 @include fill-abs; 595 596 overflow: hidden; 597 flex-direction: row; 598 align-items: stretch; 599 600 & > section, 601 & > div { 602 min-height: none; 603 display: flex; 604 605 &:nth-child(n) { // need nth-child for specificity 606 min-height: auto; 607 } 608 609 &:first-child { // order book 610 order: 1; 611 } 612 613 &:nth-child(2) { // charts 614 order: 2; 615 } 616 617 &:last-child { // order form, wallets, user orders 618 order: 3; 619 } 620 } 621 } 622 623 .ordertable-wrap { 624 height: calc(50% - 15px); 625 display: flex; 626 627 &.reversible { 628 flex-direction: column-reverse; 629 } 630 631 tbody { 632 display: flex; 633 align-items: stretch; 634 } 635 636 tbody#sellRows { 637 flex-direction: column-reverse; 638 border-top: none; 639 } 640 641 tbody#buyRows { 642 flex-direction: column; 643 } 644 } 645 646 .orderbook { 647 width: auto; 648 649 & > div:first-child { // sell orders 650 order: 1; 651 } 652 653 & > div:nth-child(2) { // header 654 order: 2; 655 } 656 657 & > div:last-child { // buy orders 658 order: 3; 659 } 660 } 661 662 .order-panel { 663 & > div { 664 @include fill-abs; 665 @include stylish-overflow; 666 667 height: 100%; 668 overflow-x: hidden; 669 } 670 } 671 672 #leftMarketDock.stashed + #marketReopener { 673 display: block; 674 } 675 } 676 677 #recentMatchesBox { 678 overflow: visible; 679 max-height: none; 680 border-bottom: none; 681 } 682 683 #candlesLegend, 684 #depthLegend { 685 z-index: 10; 686 position: absolute; 687 top: 0; 688 right: 0; 689 background-color: var(--section-bg); 690 } 691 } 692 693 .user-order-floaty-menu { 694 position: absolute; 695 display: flex; 696 align-items: center; 697 z-index: 5; 698 border-style: none solid solid; 699 border-width: 0 2px 2px 1px; 700 border-color: var(--border-color); 701 background-color: var(--section-bg); 702 cursor: pointer; 703 overflow: hidden; 704 705 & > span, 706 & > a { 707 margin: 0 5px; 708 padding-right: 10px; 709 padding-left: 10px; 710 711 &:hover { 712 background-color: #7775; 713 } 714 } 715 } 716 717 .bot-problems-section { 718 background-color: #f00a; 719 margin-top: 2px; 720 margin-bottom: 2px; 721 padding-left: 2px; 722 border-radius: 5px; 723 }