logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git

user_card.scss (5989B)


  1. .user-card {
  2. position: relative;
  3. z-index: 1;
  4. &:hover {
  5. --_still-image-img-visibility: visible;
  6. --_still-image-canvas-visibility: hidden;
  7. --_still-image-label-visibility: hidden;
  8. }
  9. .panel-heading {
  10. padding: 0.5em 0;
  11. text-align: center;
  12. box-shadow: none;
  13. background: transparent;
  14. flex-direction: column;
  15. align-items: stretch;
  16. // create new stacking context
  17. position: relative;
  18. }
  19. .background-image {
  20. position: absolute;
  21. top: 0;
  22. left: 0;
  23. right: 0;
  24. bottom: 0;
  25. mask:
  26. linear-gradient(to top, white, transparent) bottom no-repeat,
  27. linear-gradient(to top, white, white);
  28. // Autoprefixer seem to ignore this one, and also syntax is different
  29. mask-composite: xor;
  30. mask-composite: exclude;
  31. background-size: cover;
  32. mask-size: 100% 60%;
  33. border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);
  34. border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);
  35. border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);
  36. border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);
  37. background-color: var(--profileBg);
  38. z-index: -2;
  39. &.hide-bio {
  40. mask-size: 100% 40px;
  41. }
  42. }
  43. &-bio {
  44. text-align: center;
  45. display: block;
  46. line-height: 1.3;
  47. padding: 1em;
  48. margin: 0;
  49. img {
  50. object-fit: contain;
  51. vertical-align: middle;
  52. max-width: 100%;
  53. max-height: 400px;
  54. }
  55. }
  56. &.-rounded-t {
  57. border-top-left-radius: var(--roundness);
  58. border-top-right-radius: var(--roundness);
  59. --__roundnessTop: var(--roundness);
  60. --__roundnessBottom: 0;
  61. }
  62. &.-rounded {
  63. border-radius: var(--roundness);
  64. --__roundnessTop: var(--roundness);
  65. --__roundnessBottom: var(--roundness);
  66. }
  67. &.-popover {
  68. border-radius: var(--roundness);
  69. --__roundnessTop: var(--roundness);
  70. --__roundnessBottom: var(--roundness);
  71. }
  72. &.-bordered {
  73. border-width: 1px;
  74. border-style: solid;
  75. border-color: var(--border);
  76. }
  77. }
  78. .user-info {
  79. padding: 0 26px;
  80. .container {
  81. min-width: 0;
  82. padding: 16px 0 6px;
  83. display: flex;
  84. align-items: flex-start;
  85. max-height: 56px;
  86. > * {
  87. min-width: 0;
  88. }
  89. > a {
  90. vertical-align: middle;
  91. display: flex;
  92. }
  93. .Avatar {
  94. --_avatarShadowBox: var(--avatarShadow);
  95. --_avatarShadowFilter: var(--avatarShadowFilter);
  96. --_avatarShadowInset: var(--avatarShadowInset);
  97. width: 56px;
  98. height: 56px;
  99. object-fit: cover;
  100. }
  101. }
  102. &-avatar {
  103. position: relative;
  104. cursor: pointer;
  105. &.-overlay {
  106. position: absolute;
  107. left: 0;
  108. top: 0;
  109. right: 0;
  110. bottom: 0;
  111. background-color: rgb(0 0 0 / 30%);
  112. display: flex;
  113. justify-content: center;
  114. align-items: center;
  115. border-radius: var(--roundness);
  116. opacity: 0;
  117. transition: opacity 0.2s ease;
  118. svg {
  119. color: #fff;
  120. }
  121. }
  122. &:hover &.-overlay {
  123. opacity: 1;
  124. }
  125. }
  126. .external-link-button,
  127. .edit-profile-button {
  128. cursor: pointer;
  129. width: 2.5em;
  130. text-align: center;
  131. margin: -0.5em 0;
  132. padding: 0.5em 0;
  133. &:not(:hover) .icon {
  134. color: var(--lightText);
  135. }
  136. }
  137. .bottom-line {
  138. font-weight: light;
  139. font-size: 1.1em;
  140. align-items: baseline;
  141. .lock-icon {
  142. margin-left: 0.5em;
  143. }
  144. .user-screen-name {
  145. color: var(--text);
  146. min-width: 1px;
  147. flex: 0 1 auto;
  148. text-overflow: ellipsis;
  149. overflow: hidden;
  150. }
  151. .dailyAvg {
  152. min-width: 1px;
  153. flex: 0 0 auto;
  154. margin-left: 1em;
  155. font-size: 0.7em;
  156. color: var(--text);
  157. }
  158. .user-role {
  159. flex: none;
  160. }
  161. }
  162. .user-summary {
  163. display: block;
  164. margin-left: 0.6em;
  165. text-align: left;
  166. text-overflow: ellipsis;
  167. white-space: nowrap;
  168. flex: 1 1 0;
  169. // This is so that text doesn't get overlapped by avatar's shadow if it has
  170. // big one
  171. z-index: 1;
  172. line-height: 2em;
  173. --emoji-size: 1.7em;
  174. .top-line,
  175. .bottom-line {
  176. display: flex;
  177. }
  178. }
  179. .user-name {
  180. text-overflow: ellipsis;
  181. overflow: hidden;
  182. flex: 1 1 auto;
  183. margin-right: 1em;
  184. font-size: 1.1em;
  185. }
  186. .user-meta {
  187. margin-bottom: 0.15em;
  188. display: flex;
  189. align-items: baseline;
  190. line-height: 22px;
  191. flex-wrap: wrap;
  192. .following {
  193. flex: 1 0 auto;
  194. margin: 0;
  195. margin-bottom: 0.25em;
  196. text-align: left;
  197. }
  198. .highlighter {
  199. flex: 0 1 auto;
  200. display: flex;
  201. flex-wrap: wrap;
  202. margin-right: -0.5em;
  203. align-self: start;
  204. .userHighlightCl {
  205. padding: 2px 10px;
  206. flex: 1 0 auto;
  207. }
  208. .userHighlightSel {
  209. padding-top: 0;
  210. padding-bottom: 0;
  211. flex: 1 0 auto;
  212. }
  213. .userHighlightText {
  214. width: 70px;
  215. flex: 1 0 auto;
  216. }
  217. .userHighlightCl,
  218. .userHighlightText,
  219. .userHighlightSel {
  220. vertical-align: top;
  221. margin-right: 0.5em;
  222. margin-bottom: 0.25em;
  223. }
  224. }
  225. }
  226. .user-interactions {
  227. position: relative;
  228. display: flex;
  229. flex-flow: row wrap;
  230. margin-right: -0.75em;
  231. > * {
  232. margin: 0 0.75em 0.6em 0;
  233. white-space: nowrap;
  234. min-width: 95px;
  235. }
  236. button {
  237. margin: 0;
  238. }
  239. }
  240. .user-note {
  241. margin: 0 0.75em 0.6em 0;
  242. }
  243. }
  244. .sidebar .edit-profile-button {
  245. display: none;
  246. }
  247. .user-counts {
  248. display: flex;
  249. line-height: 16px;
  250. padding: 0.5em 1.5em 0;
  251. text-align: center;
  252. justify-content: space-between;
  253. flex-wrap: wrap;
  254. }
  255. .user-count {
  256. flex: 1 0 auto;
  257. padding: 0.5em 0;
  258. margin: 0 0.5em;
  259. h5 {
  260. font-size: 1em;
  261. font-weight: bolder;
  262. margin: 0 0 0.25em;
  263. }
  264. /* stylelint-disable-next-line no-descending-specificity */
  265. a {
  266. text-decoration: none;
  267. }
  268. }
  269. .mute-expiry {
  270. display: flex;
  271. flex-direction: row;
  272. }