闭社主体 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.

718 lines
12 KiB

  1. $no-columns-breakpoint: 600px;
  2. $sidebar-width: 240px;
  3. $content-width: 840px;
  4. .admin-wrapper {
  5. display: flex;
  6. justify-content: center;
  7. height: 100%;
  8. .sidebar-wrapper {
  9. flex: 1 1 $sidebar-width;
  10. height: 100%;
  11. background: $ui-base-color;
  12. display: flex;
  13. justify-content: flex-end;
  14. }
  15. .sidebar {
  16. width: $sidebar-width;
  17. height: 100%;
  18. padding: 0;
  19. overflow-y: auto;
  20. .logo {
  21. display: block;
  22. margin: 40px auto;
  23. width: 100px;
  24. height: 100px;
  25. }
  26. @media screen and (max-width: $no-columns-breakpoint) {
  27. & > a:first-child {
  28. display: none;
  29. }
  30. }
  31. ul {
  32. list-style: none;
  33. border-radius: 4px 0 0 4px;
  34. overflow: hidden;
  35. margin-bottom: 20px;
  36. @media screen and (max-width: $no-columns-breakpoint) {
  37. margin-bottom: 0;
  38. }
  39. a {
  40. display: block;
  41. padding: 15px;
  42. color: $darker-text-color;
  43. text-decoration: none;
  44. transition: all 200ms linear;
  45. transition-property: color, background-color;
  46. border-radius: 4px 0 0 4px;
  47. i.fa {
  48. margin-right: 5px;
  49. }
  50. &:hover {
  51. color: $primary-text-color;
  52. background-color: darken($ui-base-color, 5%);
  53. transition: all 100ms linear;
  54. transition-property: color, background-color;
  55. }
  56. &.selected {
  57. background: darken($ui-base-color, 2%);
  58. border-radius: 4px 0 0;
  59. }
  60. }
  61. ul {
  62. background: darken($ui-base-color, 4%);
  63. border-radius: 0 0 0 4px;
  64. margin: 0;
  65. a {
  66. border: 0;
  67. padding: 15px 35px;
  68. }
  69. }
  70. .simple-navigation-active-leaf a {
  71. color: $primary-text-color;
  72. background-color: $ui-highlight-color;
  73. border-bottom: 0;
  74. border-radius: 0;
  75. &:hover {
  76. background-color: lighten($ui-highlight-color, 5%);
  77. }
  78. }
  79. }
  80. & > ul > .simple-navigation-active-leaf a {
  81. border-radius: 4px 0 0 4px;
  82. }
  83. }
  84. .content-wrapper {
  85. flex: 2 1 $content-width;
  86. overflow: auto;
  87. }
  88. .content {
  89. max-width: $content-width;
  90. padding: 20px 15px;
  91. padding-top: 60px;
  92. padding-left: 25px;
  93. @media screen and (max-width: $no-columns-breakpoint) {
  94. max-width: none;
  95. padding: 15px;
  96. padding-top: 30px;
  97. }
  98. h2 {
  99. color: $secondary-text-color;
  100. font-size: 24px;
  101. line-height: 28px;
  102. font-weight: 400;
  103. padding-bottom: 40px;
  104. border-bottom: 1px solid lighten($ui-base-color, 8%);
  105. margin-bottom: 40px;
  106. }
  107. h3 {
  108. color: $secondary-text-color;
  109. font-size: 20px;
  110. line-height: 28px;
  111. font-weight: 400;
  112. margin-bottom: 30px;
  113. }
  114. h4 {
  115. text-transform: uppercase;
  116. font-size: 13px;
  117. font-weight: 700;
  118. color: $darker-text-color;
  119. padding-bottom: 8px;
  120. margin-bottom: 8px;
  121. border-bottom: 1px solid lighten($ui-base-color, 8%);
  122. }
  123. h6 {
  124. font-size: 16px;
  125. color: $secondary-text-color;
  126. line-height: 28px;
  127. font-weight: 400;
  128. }
  129. .fields-group h6 {
  130. color: $primary-text-color;
  131. font-weight: 500;
  132. }
  133. .directory__tag > a,
  134. .directory__tag > div {
  135. box-shadow: none;
  136. }
  137. .directory__tag .table-action-link .fa {
  138. color: inherit;
  139. }
  140. .directory__tag h4 {
  141. font-size: 18px;
  142. font-weight: 700;
  143. color: $primary-text-color;
  144. text-transform: none;
  145. padding-bottom: 0;
  146. margin-bottom: 0;
  147. border-bottom: 0;
  148. }
  149. & > p {
  150. font-size: 14px;
  151. line-height: 18px;
  152. color: $secondary-text-color;
  153. margin-bottom: 20px;
  154. strong {
  155. color: $primary-text-color;
  156. font-weight: 500;
  157. @each $lang in $cjk-langs {
  158. &:lang(#{$lang}) {
  159. font-weight: 700;
  160. }
  161. }
  162. }
  163. }
  164. hr {
  165. width: 100%;
  166. height: 0;
  167. border: 0;
  168. border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
  169. margin: 20px 0;
  170. &.spacer {
  171. height: 1px;
  172. border: 0;
  173. }
  174. }
  175. }
  176. @media screen and (max-width: $no-columns-breakpoint) {
  177. display: block;
  178. overflow-y: auto;
  179. -webkit-overflow-scrolling: touch;
  180. .sidebar-wrapper,
  181. .content-wrapper {
  182. flex: 0 0 auto;
  183. height: auto;
  184. overflow: initial;
  185. }
  186. .sidebar {
  187. width: 100%;
  188. padding: 0;
  189. height: auto;
  190. }
  191. }
  192. }
  193. hr.spacer {
  194. width: 100%;
  195. border: 0;
  196. margin: 20px 0;
  197. height: 1px;
  198. }
  199. .muted-hint {
  200. color: $darker-text-color;
  201. a {
  202. color: $highlight-text-color;
  203. }
  204. }
  205. .positive-hint {
  206. color: $valid-value-color;
  207. font-weight: 500;
  208. }
  209. .negative-hint {
  210. color: $error-value-color;
  211. font-weight: 500;
  212. }
  213. .neutral-hint {
  214. color: $dark-text-color;
  215. font-weight: 500;
  216. }
  217. .warning-hint {
  218. color: $gold-star;
  219. font-weight: 500;
  220. }
  221. .filters {
  222. display: flex;
  223. flex-wrap: wrap;
  224. .filter-subset {
  225. flex: 0 0 auto;
  226. margin: 0 40px 10px 0;
  227. &:last-child {
  228. margin-bottom: 20px;
  229. }
  230. ul {
  231. margin-top: 5px;
  232. list-style: none;
  233. li {
  234. display: inline-block;
  235. margin-right: 5px;
  236. }
  237. }
  238. strong {
  239. font-weight: 500;
  240. text-transform: uppercase;
  241. font-size: 12px;
  242. @each $lang in $cjk-langs {
  243. &:lang(#{$lang}) {
  244. font-weight: 700;
  245. }
  246. }
  247. }
  248. a {
  249. display: inline-block;
  250. color: $darker-text-color;
  251. text-decoration: none;
  252. text-transform: uppercase;
  253. font-size: 12px;
  254. font-weight: 500;
  255. border-bottom: 2px solid $ui-base-color;
  256. &:hover {
  257. color: $primary-text-color;
  258. border-bottom: 2px solid lighten($ui-base-color, 5%);
  259. }
  260. &.selected {
  261. color: $highlight-text-color;
  262. border-bottom: 2px solid $ui-highlight-color;
  263. }
  264. }
  265. }
  266. }
  267. .report-accounts {
  268. display: flex;
  269. flex-wrap: wrap;
  270. margin-bottom: 20px;
  271. }
  272. .report-accounts__item {
  273. display: flex;
  274. flex: 250px;
  275. flex-direction: column;
  276. margin: 0 5px;
  277. & > strong {
  278. display: block;
  279. margin: 0 0 10px -5px;
  280. font-weight: 500;
  281. font-size: 14px;
  282. line-height: 18px;
  283. color: $secondary-text-color;
  284. @each $lang in $cjk-langs {
  285. &:lang(#{$lang}) {
  286. font-weight: 700;
  287. }
  288. }
  289. }
  290. .account-card {
  291. flex: 1 1 auto;
  292. }
  293. }
  294. .report-status,
  295. .account-status {
  296. display: flex;
  297. margin-bottom: 10px;
  298. .activity-stream {
  299. flex: 2 0 0;
  300. margin-right: 20px;
  301. max-width: calc(100% - 60px);
  302. .entry {
  303. border-radius: 4px;
  304. }
  305. }
  306. }
  307. .report-status__actions,
  308. .account-status__actions {
  309. flex: 0 0 auto;
  310. display: flex;
  311. flex-direction: column;
  312. .icon-button {
  313. font-size: 24px;
  314. width: 24px;
  315. text-align: center;
  316. margin-bottom: 10px;
  317. }
  318. }
  319. .simple_form.new_report_note,
  320. .simple_form.new_account_moderation_note {
  321. max-width: 100%;
  322. }
  323. .batch-form-box {
  324. display: flex;
  325. flex-wrap: wrap;
  326. margin-bottom: 5px;
  327. #form_status_batch_action {
  328. margin: 0 5px 5px 0;
  329. font-size: 14px;
  330. }
  331. input.button {
  332. margin: 0 5px 5px 0;
  333. }
  334. .media-spoiler-toggle-buttons {
  335. margin-left: auto;
  336. .button {
  337. overflow: visible;
  338. margin: 0 0 5px 5px;
  339. float: right;
  340. }
  341. }
  342. }
  343. .back-link {
  344. margin-bottom: 10px;
  345. font-size: 14px;
  346. a {
  347. color: $highlight-text-color;
  348. text-decoration: none;
  349. &:hover {
  350. text-decoration: underline;
  351. }
  352. }
  353. }
  354. .spacer {
  355. flex: 1 1 auto;
  356. }
  357. .log-entry {
  358. margin-bottom: 20px;
  359. line-height: 20px;
  360. &__header {
  361. display: flex;
  362. justify-content: flex-start;
  363. align-items: center;
  364. padding: 10px;
  365. background: $ui-base-color;
  366. color: $darker-text-color;
  367. border-radius: 4px 4px 0 0;
  368. font-size: 14px;
  369. position: relative;
  370. }
  371. &__avatar {
  372. margin-right: 10px;
  373. .avatar {
  374. display: block;
  375. margin: 0;
  376. border-radius: 50%;
  377. width: 40px;
  378. height: 40px;
  379. }
  380. }
  381. &__content {
  382. max-width: calc(100% - 90px);
  383. }
  384. &__title {
  385. word-wrap: break-word;
  386. }
  387. &__timestamp {
  388. color: $dark-text-color;
  389. }
  390. &__extras {
  391. background: lighten($ui-base-color, 6%);
  392. border-radius: 0 0 4px 4px;
  393. padding: 10px;
  394. color: $darker-text-color;
  395. font-family: $font-monospace, monospace;
  396. font-size: 12px;
  397. word-wrap: break-word;
  398. min-height: 20px;
  399. }
  400. &__icon {
  401. font-size: 28px;
  402. margin-right: 10px;
  403. color: $dark-text-color;
  404. }
  405. &__icon__overlay {
  406. position: absolute;
  407. top: 10px;
  408. right: 10px;
  409. width: 10px;
  410. height: 10px;
  411. border-radius: 50%;
  412. &.positive {
  413. background: $success-green;
  414. }
  415. &.negative {
  416. background: lighten($error-red, 12%);
  417. }
  418. &.neutral {
  419. background: $ui-highlight-color;
  420. }
  421. }
  422. a,
  423. .username,
  424. .target {
  425. color: $secondary-text-color;
  426. text-decoration: none;
  427. font-weight: 500;
  428. }
  429. .diff-old {
  430. color: lighten($error-red, 12%);
  431. }
  432. .diff-neutral {
  433. color: $secondary-text-color;
  434. }
  435. .diff-new {
  436. color: $success-green;
  437. }
  438. }
  439. a.name-tag,
  440. .name-tag,
  441. a.inline-name-tag,
  442. .inline-name-tag {
  443. text-decoration: none;
  444. color: $secondary-text-color;
  445. .username {
  446. font-weight: 500;
  447. }
  448. &.suspended {
  449. .username {
  450. text-decoration: line-through;
  451. color: lighten($error-red, 12%);
  452. }
  453. .avatar {
  454. filter: grayscale(100%);
  455. opacity: 0.8;
  456. }
  457. }
  458. }
  459. a.name-tag,
  460. .name-tag {
  461. display: flex;
  462. align-items: center;
  463. .avatar {
  464. display: block;
  465. margin: 0;
  466. margin-right: 5px;
  467. border-radius: 50%;
  468. }
  469. &.suspended {
  470. .avatar {
  471. filter: grayscale(100%);
  472. opacity: 0.8;
  473. }
  474. }
  475. }
  476. .speech-bubble {
  477. margin-bottom: 20px;
  478. border-left: 4px solid $ui-highlight-color;
  479. &.positive {
  480. border-left-color: $success-green;
  481. }
  482. &.negative {
  483. border-left-color: lighten($error-red, 12%);
  484. }
  485. &.warning {
  486. border-left-color: $gold-star;
  487. }
  488. &__bubble {
  489. padding: 16px;
  490. padding-left: 14px;
  491. font-size: 15px;
  492. line-height: 20px;
  493. border-radius: 4px 4px 4px 0;
  494. position: relative;
  495. font-weight: 500;
  496. a {
  497. color: $darker-text-color;
  498. }
  499. }
  500. &__owner {
  501. padding: 8px;
  502. padding-left: 12px;
  503. }
  504. time {
  505. color: $dark-text-color;
  506. }
  507. }
  508. .report-card {
  509. background: $ui-base-color;
  510. border-radius: 4px;
  511. margin-bottom: 20px;
  512. &__profile {
  513. display: flex;
  514. justify-content: space-between;
  515. align-items: center;
  516. padding: 15px;
  517. .account {
  518. padding: 0;
  519. border: 0;
  520. &__avatar-wrapper {
  521. margin-left: 0;
  522. }
  523. }
  524. &__stats {
  525. flex: 0 0 auto;
  526. font-weight: 500;
  527. color: $darker-text-color;
  528. text-transform: uppercase;
  529. text-align: right;
  530. a {
  531. color: inherit;
  532. text-decoration: none;
  533. &:focus,
  534. &:hover,
  535. &:active {
  536. color: lighten($darker-text-color, 8%);
  537. }
  538. }
  539. .red {
  540. color: $error-value-color;
  541. }
  542. }
  543. }
  544. &__summary {
  545. &__item {
  546. display: flex;
  547. justify-content: flex-start;
  548. border-top: 1px solid darken($ui-base-color, 4%);
  549. &:hover {
  550. background: lighten($ui-base-color, 2%);
  551. }
  552. &__reported-by,
  553. &__assigned {
  554. padding: 15px;
  555. flex: 0 0 auto;
  556. box-sizing: border-box;
  557. width: 150px;
  558. color: $darker-text-color;
  559. &,
  560. .username {
  561. white-space: nowrap;
  562. overflow: hidden;
  563. text-overflow: ellipsis;
  564. }
  565. }
  566. &__content {
  567. flex: 1 1 auto;
  568. max-width: calc(100% - 300px);
  569. &__icon {
  570. color: $dark-text-color;
  571. margin-right: 4px;
  572. font-weight: 500;
  573. }
  574. }
  575. &__content a {
  576. display: block;
  577. box-sizing: border-box;
  578. width: 100%;
  579. padding: 15px;
  580. text-decoration: none;
  581. color: $darker-text-color;
  582. }
  583. }
  584. }
  585. }
  586. .one-line {
  587. white-space: nowrap;
  588. overflow: hidden;
  589. text-overflow: ellipsis;
  590. }
  591. .ellipsized-ip {
  592. display: inline-block;
  593. max-width: 120px;
  594. overflow: hidden;
  595. text-overflow: ellipsis;
  596. vertical-align: middle;
  597. }