You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

576 lines
10 KiB

  1. .card {
  2. background-color: lighten($ui-base-color, 4%);
  3. background-size: cover;
  4. background-position: center;
  5. border-radius: 4px 4px 0 0;
  6. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  7. overflow: hidden;
  8. position: relative;
  9. display: flex;
  10. &::after {
  11. background: rgba(darken($ui-base-color, 8%), 0.5);
  12. display: block;
  13. content: "";
  14. position: absolute;
  15. left: 0;
  16. top: 0;
  17. width: 100%;
  18. height: 100%;
  19. z-index: 1;
  20. }
  21. @media screen and (max-width: 740px) {
  22. border-radius: 0;
  23. box-shadow: none;
  24. }
  25. .card__illustration {
  26. padding: 60px 0;
  27. position: relative;
  28. flex: 1 1 auto;
  29. display: flex;
  30. justify-content: center;
  31. align-items: center;
  32. }
  33. .card__bio {
  34. max-width: 260px;
  35. flex: 1 1 auto;
  36. display: flex;
  37. flex-direction: column;
  38. justify-content: space-between;
  39. background: rgba(darken($ui-base-color, 8%), 0.8);
  40. position: relative;
  41. z-index: 2;
  42. }
  43. &.compact {
  44. padding: 30px 0;
  45. border-radius: 4px;
  46. .avatar {
  47. margin-bottom: 0;
  48. img {
  49. object-fit: cover;
  50. }
  51. }
  52. }
  53. .name {
  54. display: block;
  55. font-size: 20px;
  56. line-height: 18px * 1.5;
  57. color: $primary-text-color;
  58. padding: 10px 15px;
  59. padding-bottom: 0;
  60. font-weight: 500;
  61. position: relative;
  62. z-index: 2;
  63. margin-bottom: 15px;
  64. overflow: hidden;
  65. text-overflow: ellipsis;
  66. small {
  67. display: block;
  68. font-size: 14px;
  69. color: $highlight-text-color;
  70. font-weight: 400;
  71. overflow: hidden;
  72. text-overflow: ellipsis;
  73. }
  74. }
  75. .avatar {
  76. width: 120px;
  77. margin: 0 auto;
  78. position: relative;
  79. z-index: 2;
  80. @include avatar-size(120px);
  81. img {
  82. width: 120px;
  83. height: 120px;
  84. display: block;
  85. border-radius: 120px;
  86. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  87. @include avatar-radius();
  88. @include avatar-size(120px);
  89. }
  90. }
  91. .roles {
  92. margin-bottom: 15px;
  93. padding: 0 15px;
  94. }
  95. .details-counters {
  96. margin-top: 30px;
  97. display: flex;
  98. flex-direction: row;
  99. width: 100%;
  100. }
  101. .counter {
  102. width: 33.3%;
  103. box-sizing: border-box;
  104. flex: 0 0 auto;
  105. color: $darker-text-color;
  106. padding: 5px 10px 0;
  107. margin-bottom: 10px;
  108. border-right: 1px solid lighten($ui-base-color, 4%);
  109. cursor: default;
  110. text-align: center;
  111. position: relative;
  112. a {
  113. display: block;
  114. }
  115. &:last-child {
  116. border-right: 0;
  117. }
  118. &::after {
  119. display: block;
  120. content: "";
  121. position: absolute;
  122. bottom: -10px;
  123. left: 0;
  124. width: 100%;
  125. border-bottom: 4px solid $ui-primary-color;
  126. opacity: 0.5;
  127. transition: all 400ms ease;
  128. }
  129. &.active {
  130. &::after {
  131. border-bottom: 4px solid $highlight-text-color;
  132. opacity: 1;
  133. }
  134. }
  135. &:hover {
  136. &::after {
  137. opacity: 1;
  138. transition-duration: 100ms;
  139. }
  140. }
  141. a {
  142. text-decoration: none;
  143. color: inherit;
  144. }
  145. .counter-label {
  146. font-size: 12px;
  147. display: block;
  148. margin-bottom: 5px;
  149. }
  150. .counter-number {
  151. font-weight: 500;
  152. font-size: 18px;
  153. color: $primary-text-color;
  154. font-family: 'mastodon-font-display', sans-serif;
  155. }
  156. }
  157. .bio {
  158. font-size: 14px;
  159. line-height: 18px;
  160. padding: 0 15px;
  161. text-align: center;
  162. color: $secondary-text-color;
  163. }
  164. @media screen and (max-width: 480px) {
  165. display: block;
  166. .card__bio {
  167. max-width: none;
  168. }
  169. .name,
  170. .roles {
  171. text-align: center;
  172. margin-bottom: 5px;
  173. }
  174. .bio {
  175. margin-bottom: 15px;
  176. }
  177. }
  178. }
  179. .card,
  180. .account-grid-card {
  181. .controls {
  182. position: absolute;
  183. top: 15px;
  184. left: 15px;
  185. z-index: 2;
  186. .icon-button {
  187. color: rgba($white, 0.8);
  188. text-decoration: none;
  189. font-size: 13px;
  190. line-height: 13px;
  191. font-weight: 500;
  192. .fa {
  193. font-weight: 400;
  194. margin-right: 5px;
  195. }
  196. &:hover,
  197. &:active,
  198. &:focus {
  199. color: $white;
  200. }
  201. }
  202. }
  203. }
  204. .account-grid-card .controls {
  205. left: auto;
  206. right: 15px;
  207. }
  208. .pagination {
  209. padding: 30px 0;
  210. text-align: center;
  211. overflow: hidden;
  212. a,
  213. .current,
  214. .newer,
  215. .older,
  216. .page,
  217. .gap {
  218. font-size: 14px;
  219. color: $primary-text-color;
  220. font-weight: 500;
  221. display: inline-block;
  222. padding: 6px 10px;
  223. text-decoration: none;
  224. }
  225. .current {
  226. background: $simple-background-color;
  227. border-radius: 100px;
  228. color: $inverted-text-color;
  229. cursor: default;
  230. margin: 0 10px;
  231. }
  232. .gap {
  233. cursor: default;
  234. }
  235. .older,
  236. .newer {
  237. text-transform: uppercase;
  238. color: $secondary-text-color;
  239. }
  240. .older {
  241. float: left;
  242. padding-left: 0;
  243. .fa {
  244. display: inline-block;
  245. margin-right: 5px;
  246. }
  247. }
  248. .newer {
  249. float: right;
  250. padding-right: 0;
  251. .fa {
  252. display: inline-block;
  253. margin-left: 5px;
  254. }
  255. }
  256. .disabled {
  257. cursor: default;
  258. color: lighten($inverted-text-color, 10%);
  259. }
  260. @media screen and (max-width: 700px) {
  261. padding: 30px 20px;
  262. .page {
  263. display: none;
  264. }
  265. .newer,
  266. .older {
  267. display: inline-block;
  268. }
  269. }
  270. }
  271. .accounts-grid {
  272. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  273. background: darken($simple-background-color, 8%);
  274. border-radius: 0 0 4px 4px;
  275. padding: 20px 5px;
  276. padding-bottom: 10px;
  277. overflow: hidden;
  278. display: flex;
  279. flex-wrap: wrap;
  280. z-index: 2;
  281. position: relative;
  282. @media screen and (max-width: 740px) {
  283. border-radius: 0;
  284. box-shadow: none;
  285. }
  286. .account-grid-card {
  287. box-sizing: border-box;
  288. width: 335px;
  289. background: $simple-background-color;
  290. border-radius: 4px;
  291. color: $inverted-text-color;
  292. margin: 0 5px 10px;
  293. position: relative;
  294. @media screen and (max-width: 740px) {
  295. width: calc(100% - 10px);
  296. }
  297. .account-grid-card__header {
  298. overflow: hidden;
  299. height: 100px;
  300. border-radius: 4px 4px 0 0;
  301. background-color: lighten($inverted-text-color, 4%);
  302. background-size: cover;
  303. background-position: center;
  304. position: relative;
  305. &::after {
  306. background: rgba(darken($ui-base-color, 8%), 0.5);
  307. display: block;
  308. content: "";
  309. position: absolute;
  310. left: 0;
  311. top: 0;
  312. width: 100%;
  313. height: 100%;
  314. z-index: 1;
  315. }
  316. }
  317. .account-grid-card__avatar {
  318. box-sizing: border-box;
  319. padding: 15px;
  320. position: absolute;
  321. z-index: 2;
  322. top: 100px - (40px + 2px);
  323. left: -2px;
  324. }
  325. .avatar {
  326. width: 80px;
  327. height: 80px;
  328. @include avatar-size(80px);
  329. img {
  330. display: block;
  331. width: 80px;
  332. height: 80px;
  333. border-radius: 80px;
  334. border: 2px solid $simple-background-color;
  335. background: $simple-background-color;
  336. @include avatar-radius();
  337. @include avatar-size(80px);
  338. }
  339. }
  340. .name {
  341. padding: 15px;
  342. padding-top: 10px;
  343. padding-left: 15px + 80px + 15px;
  344. a {
  345. display: block;
  346. color: $inverted-text-color;
  347. text-decoration: none;
  348. text-overflow: ellipsis;
  349. overflow: hidden;
  350. font-weight: 500;
  351. &:hover {
  352. .display_name {
  353. text-decoration: underline;
  354. }
  355. }
  356. }
  357. }
  358. .display_name {
  359. font-size: 16px;
  360. display: block;
  361. text-overflow: ellipsis;
  362. overflow: hidden;
  363. }
  364. .username {
  365. color: $lighter-text-color;
  366. font-size: 14px;
  367. font-weight: 400;
  368. }
  369. .account__header__content {
  370. padding: 10px 15px;
  371. padding-top: 15px;
  372. color: $lighter-text-color;
  373. word-wrap: break-word;
  374. overflow: hidden;
  375. text-overflow: ellipsis;
  376. height: 5.5em;
  377. }
  378. }
  379. }
  380. .nothing-here {
  381. width: 100%;
  382. display: block;
  383. color: $light-text-color;
  384. font-size: 14px;
  385. font-weight: 500;
  386. text-align: center;
  387. padding: 60px 0;
  388. padding-top: 55px;
  389. margin: 0 auto;
  390. cursor: default;
  391. }
  392. .account-card {
  393. padding: 14px 10px;
  394. background: $simple-background-color;
  395. border-radius: 4px;
  396. text-align: left;
  397. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  398. .detailed-status__display-name {
  399. display: block;
  400. overflow: hidden;
  401. margin-bottom: 15px;
  402. &:last-child {
  403. margin-bottom: 0;
  404. }
  405. & > div {
  406. float: left;
  407. margin-right: 10px;
  408. width: 48px;
  409. height: 48px;
  410. @include avatar-size(48px);
  411. }
  412. .avatar {
  413. display: block;
  414. border-radius: 4px;
  415. @include avatar-radius();
  416. }
  417. .display-name {
  418. display: block;
  419. max-width: 100%;
  420. overflow: hidden;
  421. white-space: nowrap;
  422. text-overflow: ellipsis;
  423. cursor: default;
  424. strong {
  425. font-weight: 500;
  426. color: $ui-base-color;
  427. @each $lang in $cjk-langs {
  428. &:lang(#{$lang}) {
  429. font-weight: 700;
  430. }
  431. }
  432. }
  433. span {
  434. font-size: 14px;
  435. color: $light-text-color;
  436. }
  437. }
  438. &:hover {
  439. .display-name {
  440. strong {
  441. text-decoration: none;
  442. }
  443. }
  444. }
  445. }
  446. .account__header__content {
  447. font-size: 14px;
  448. color: $inverted-text-color;
  449. }
  450. }
  451. .activity-stream-tabs {
  452. background: $simple-background-color;
  453. border-bottom: 1px solid $ui-secondary-color;
  454. position: relative;
  455. z-index: 2;
  456. a {
  457. display: inline-block;
  458. padding: 15px;
  459. text-decoration: none;
  460. color: $highlight-text-color;
  461. text-transform: uppercase;
  462. font-weight: 500;
  463. &:hover,
  464. &:active,
  465. &:focus {
  466. color: lighten($highlight-text-color, 8%);
  467. }
  468. &.active {
  469. color: $inverted-text-color;
  470. cursor: default;
  471. }
  472. }
  473. }
  474. .account-role {
  475. display: inline-block;
  476. padding: 4px 6px;
  477. cursor: default;
  478. border-radius: 3px;
  479. font-size: 12px;
  480. line-height: 12px;
  481. font-weight: 500;
  482. color: $ui-secondary-color;
  483. background-color: rgba($ui-secondary-color, 0.1);
  484. border: 1px solid rgba($ui-secondary-color, 0.5);
  485. &.moderator {
  486. color: $success-green;
  487. background-color: rgba($success-green, 0.1);
  488. border-color: rgba($success-green, 0.5);
  489. }
  490. &.admin {
  491. color: lighten($error-red, 12%);
  492. background-color: rgba(lighten($error-red, 12%), 0.1);
  493. border-color: rgba(lighten($error-red, 12%), 0.5);
  494. }
  495. }
  496. @import 'metadata';