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 (6118B)


  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. .RichContent {
  175. /* stylelint-disable-next-line declaration-no-important */
  176. --link: var(--text) !important;
  177. }
  178. .top-line,
  179. .bottom-line {
  180. display: flex;
  181. }
  182. }
  183. .user-name {
  184. text-overflow: ellipsis;
  185. overflow: hidden;
  186. flex: 1 1 auto;
  187. margin-right: 1em;
  188. font-size: 1.1em;
  189. }
  190. .user-meta {
  191. margin-bottom: 0.15em;
  192. display: flex;
  193. align-items: baseline;
  194. line-height: 22px;
  195. flex-wrap: wrap;
  196. .following {
  197. flex: 1 0 auto;
  198. margin: 0;
  199. margin-bottom: 0.25em;
  200. text-align: left;
  201. }
  202. .highlighter {
  203. flex: 0 1 auto;
  204. display: flex;
  205. flex-wrap: wrap;
  206. margin-right: -0.5em;
  207. align-self: start;
  208. .userHighlightCl {
  209. padding: 2px 10px;
  210. flex: 1 0 auto;
  211. }
  212. .userHighlightSel {
  213. padding-top: 0;
  214. padding-bottom: 0;
  215. flex: 1 0 auto;
  216. }
  217. .userHighlightText {
  218. width: 70px;
  219. flex: 1 0 auto;
  220. }
  221. .userHighlightCl,
  222. .userHighlightText,
  223. .userHighlightSel {
  224. vertical-align: top;
  225. margin-right: 0.5em;
  226. margin-bottom: 0.25em;
  227. }
  228. }
  229. }
  230. .user-interactions {
  231. position: relative;
  232. display: flex;
  233. flex-flow: row wrap;
  234. margin-right: -0.75em;
  235. > * {
  236. margin: 0 0.75em 0.6em 0;
  237. white-space: nowrap;
  238. min-width: 95px;
  239. }
  240. button {
  241. margin: 0;
  242. }
  243. }
  244. .user-note {
  245. margin: 0 0.75em 0.6em 0;
  246. }
  247. }
  248. .sidebar .edit-profile-button {
  249. display: none;
  250. }
  251. .user-counts {
  252. display: flex;
  253. line-height: 16px;
  254. padding: 0.5em 1.5em 0;
  255. text-align: center;
  256. justify-content: space-between;
  257. flex-wrap: wrap;
  258. }
  259. .user-count {
  260. flex: 1 0 auto;
  261. padding: 0.5em 0;
  262. margin: 0 0.5em;
  263. h5 {
  264. font-size: 1em;
  265. font-weight: bolder;
  266. margin: 0 0 0.25em;
  267. }
  268. /* stylelint-disable-next-line no-descending-specificity */
  269. a {
  270. text-decoration: none;
  271. }
  272. }
  273. .mute-expiry {
  274. display: flex;
  275. flex-direction: row;
  276. }