index.module.scss 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. @use "@pythnetwork/component-library/theme";
  2. @use "../Root/index.module.scss" as root;
  3. .publishers {
  4. @include theme.max-width;
  5. .header {
  6. @include theme.h3;
  7. color: theme.color("heading");
  8. font-weight: theme.font-weight("semibold");
  9. margin: theme.spacing(6) 0;
  10. }
  11. .body {
  12. display: flex;
  13. flex-flow: row nowrap;
  14. gap: theme.spacing(12);
  15. align-items: flex-start;
  16. .stats {
  17. display: grid;
  18. grid-template-columns: repeat(2, minmax(0, 1fr));
  19. gap: theme.spacing(4);
  20. align-items: center;
  21. width: 40%;
  22. position: sticky;
  23. top: root.$header-height;
  24. .oisCard {
  25. grid-column: span 2 / span 2;
  26. .oisPool {
  27. width: 100%;
  28. height: theme.spacing(72);
  29. overflow: hidden;
  30. display: grid;
  31. place-content: center;
  32. position: relative;
  33. .oisPoolChart {
  34. position: relative;
  35. top: theme.spacing(8);
  36. .bar {
  37. fill: theme.color("button", "primary", "background", "normal");
  38. }
  39. .background {
  40. fill: theme.color("button", "disabled", "background");
  41. }
  42. }
  43. .legend {
  44. text-align: center;
  45. position: absolute;
  46. top: theme.spacing(30);
  47. display: flex;
  48. width: 100%;
  49. flex-flow: column nowrap;
  50. align-items: center;
  51. gap: theme.spacing(1.5);
  52. .title {
  53. font-size: theme.font-size("sm");
  54. font-weight: theme.font-weight("normal");
  55. color: theme.color("heading");
  56. margin: 0;
  57. }
  58. .poolUsed {
  59. margin: 0;
  60. color: theme.color("heading");
  61. @include theme.h3;
  62. }
  63. .poolTotal {
  64. margin: 0;
  65. color: theme.color("muted");
  66. font-size: theme.font-size("sm");
  67. font-weight: theme.font-weight("normal");
  68. }
  69. }
  70. }
  71. .oisStats {
  72. display: grid;
  73. grid-template-columns: repeat(2, minmax(0, 1fr));
  74. gap: theme.spacing(1);
  75. }
  76. }
  77. }
  78. .publishersCard {
  79. width: 60%;
  80. }
  81. }
  82. }
  83. .ranking,
  84. .rankingLoader {
  85. height: theme.spacing(6);
  86. border-radius: theme.border-radius("md");
  87. width: 100%;
  88. }
  89. .ranking {
  90. display: inline-block;
  91. text-align: center;
  92. font-size: theme.font-size("sm");
  93. font-weight: theme.font-weight("medium");
  94. line-height: theme.spacing(6);
  95. color: light-dark(
  96. theme.pallette-color("steel", 800),
  97. theme.pallette-color("steel", 300)
  98. );
  99. background: light-dark(
  100. theme.pallette-color("steel", 200),
  101. theme.pallette-color("steel", 700)
  102. );
  103. }
  104. .publisherName {
  105. display: flex;
  106. flex-flow: row nowrap;
  107. gap: theme.spacing(4);
  108. align-items: center;
  109. .publisherIcon {
  110. width: theme.spacing(9);
  111. height: theme.spacing(9);
  112. }
  113. &.publisherNamePlaceholder .publisherIcon {
  114. border-radius: theme.border-radius("full");
  115. }
  116. .nameAndKey {
  117. display: flex;
  118. flex-flow: column nowrap;
  119. gap: theme.spacing(1);
  120. align-items: flex-start;
  121. .publisherKey {
  122. color: theme.color("link", "normal");
  123. font-weight: theme.font-weight("medium");
  124. font-size: theme.font-size("xxs");
  125. }
  126. }
  127. .name {
  128. color: theme.color("heading");
  129. }
  130. &[data-is-undisclosed] {
  131. .undisclosedIconWrapper {
  132. background: theme.color("button", "disabled", "background");
  133. border-radius: theme.border-radius("full");
  134. display: grid;
  135. place-content: center;
  136. .undisclosedIcon {
  137. width: theme.spacing(4);
  138. height: theme.spacing(4);
  139. color: theme.color("button", "disabled", "foreground");
  140. }
  141. }
  142. }
  143. }