闭社主体 forked from https://github.com/tootsuite/mastodon
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.

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