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.

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