The code powering m.abunchtell.com https://m.abunchtell.com
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

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