The code powering m.abunchtell.com https://m.abunchtell.com
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

885 wiersze
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-bottom: 40px;
  159. flex-wrap: wrap;
  160. align-items: center;
  161. justify-content: space-between;
  162. &-actions {
  163. display: inline-flex;
  164. & > * {
  165. margin-left: 5px;
  166. }
  167. }
  168. @media screen and (max-width: $no-columns-breakpoint) {
  169. border-bottom: 0;
  170. padding-bottom: 0;
  171. }
  172. }
  173. h2 {
  174. color: $secondary-text-color;
  175. font-size: 24px;
  176. line-height: 28px;
  177. font-weight: 400;
  178. @media screen and (max-width: $no-columns-breakpoint) {
  179. font-weight: 700;
  180. }
  181. }
  182. h3 {
  183. color: $secondary-text-color;
  184. font-size: 20px;
  185. line-height: 28px;
  186. font-weight: 400;
  187. margin-bottom: 30px;
  188. }
  189. h4 {
  190. text-transform: uppercase;
  191. font-size: 13px;
  192. font-weight: 700;
  193. color: $darker-text-color;
  194. padding-bottom: 8px;
  195. margin-bottom: 8px;
  196. border-bottom: 1px solid lighten($ui-base-color, 8%);
  197. }
  198. h6 {
  199. font-size: 16px;
  200. color: $secondary-text-color;
  201. line-height: 28px;
  202. font-weight: 500;
  203. }
  204. .fields-group h6 {
  205. color: $primary-text-color;
  206. font-weight: 500;
  207. }
  208. .directory__tag > a,
  209. .directory__tag > div {
  210. box-shadow: none;
  211. }
  212. .directory__tag .table-action-link .fa {
  213. color: inherit;
  214. }
  215. .directory__tag h4 {
  216. font-size: 18px;
  217. font-weight: 700;
  218. color: $primary-text-color;
  219. text-transform: none;
  220. padding-bottom: 0;
  221. margin-bottom: 0;
  222. border-bottom: 0;
  223. }
  224. & > p {
  225. font-size: 14px;
  226. line-height: 21px;
  227. color: $secondary-text-color;
  228. margin-bottom: 20px;
  229. strong {
  230. color: $primary-text-color;
  231. font-weight: 500;
  232. @each $lang in $cjk-langs {
  233. &:lang(#{$lang}) {
  234. font-weight: 700;
  235. }
  236. }
  237. }
  238. }
  239. hr {
  240. width: 100%;
  241. height: 0;
  242. border: 0;
  243. border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
  244. margin: 20px 0;
  245. &.spacer {
  246. height: 1px;
  247. border: 0;
  248. }
  249. }
  250. }
  251. @media screen and (max-width: $no-columns-breakpoint) {
  252. display: block;
  253. .sidebar-wrapper {
  254. min-height: 0;
  255. }
  256. .sidebar {
  257. width: 100%;
  258. padding: 0;
  259. height: auto;
  260. &__toggle {
  261. display: flex;
  262. }
  263. & > ul {
  264. display: none;
  265. }
  266. ul a,
  267. ul ul a {
  268. border-radius: 0;
  269. border-bottom: 1px solid lighten($ui-base-color, 4%);
  270. transition: none;
  271. &:hover {
  272. transition: none;
  273. }
  274. }
  275. ul ul {
  276. border-radius: 0;
  277. }
  278. ul .simple-navigation-active-leaf a {
  279. border-bottom-color: $ui-highlight-color;
  280. }
  281. }
  282. }
  283. }
  284. hr.spacer {
  285. width: 100%;
  286. border: 0;
  287. margin: 20px 0;
  288. height: 1px;
  289. }
  290. body,
  291. .admin-wrapper .content {
  292. .muted-hint {
  293. color: $darker-text-color;
  294. a {
  295. color: $highlight-text-color;
  296. }
  297. }
  298. .positive-hint {
  299. color: $valid-value-color;
  300. font-weight: 500;
  301. }
  302. .negative-hint {
  303. color: $error-value-color;
  304. font-weight: 500;
  305. }
  306. .neutral-hint {
  307. color: $dark-text-color;
  308. font-weight: 500;
  309. }
  310. .warning-hint {
  311. color: $gold-star;
  312. font-weight: 500;
  313. }
  314. }
  315. .filters {
  316. display: flex;
  317. flex-wrap: wrap;
  318. .filter-subset {
  319. flex: 0 0 auto;
  320. margin: 0 40px 20px 0;
  321. &:last-child {
  322. margin-bottom: 30px;
  323. }
  324. ul {
  325. margin-top: 5px;
  326. list-style: none;
  327. li {
  328. display: inline-block;
  329. margin-right: 5px;
  330. }
  331. }
  332. strong {
  333. font-weight: 500;
  334. text-transform: uppercase;
  335. font-size: 12px;
  336. @each $lang in $cjk-langs {
  337. &:lang(#{$lang}) {
  338. font-weight: 700;
  339. }
  340. }
  341. }
  342. a {
  343. display: inline-block;
  344. color: $darker-text-color;
  345. text-decoration: none;
  346. text-transform: uppercase;
  347. font-size: 12px;
  348. font-weight: 500;
  349. border-bottom: 2px solid $ui-base-color;
  350. &:hover {
  351. color: $primary-text-color;
  352. border-bottom: 2px solid lighten($ui-base-color, 5%);
  353. }
  354. &.selected {
  355. color: $highlight-text-color;
  356. border-bottom: 2px solid $ui-highlight-color;
  357. }
  358. }
  359. }
  360. }
  361. .report-accounts {
  362. display: flex;
  363. flex-wrap: wrap;
  364. margin-bottom: 20px;
  365. }
  366. .report-accounts__item {
  367. display: flex;
  368. flex: 250px;
  369. flex-direction: column;
  370. margin: 0 5px;
  371. & > strong {
  372. display: block;
  373. margin: 0 0 10px -5px;
  374. font-weight: 500;
  375. font-size: 14px;
  376. line-height: 18px;
  377. color: $secondary-text-color;
  378. @each $lang in $cjk-langs {
  379. &:lang(#{$lang}) {
  380. font-weight: 700;
  381. }
  382. }
  383. }
  384. .account-card {
  385. flex: 1 1 auto;
  386. }
  387. }
  388. .report-status,
  389. .account-status {
  390. display: flex;
  391. margin-bottom: 10px;
  392. .activity-stream {
  393. flex: 2 0 0;
  394. margin-right: 20px;
  395. max-width: calc(100% - 60px);
  396. .entry {
  397. border-radius: 4px;
  398. }
  399. }
  400. }
  401. .report-status__actions,
  402. .account-status__actions {
  403. flex: 0 0 auto;
  404. display: flex;
  405. flex-direction: column;
  406. .icon-button {
  407. font-size: 24px;
  408. width: 24px;
  409. text-align: center;
  410. margin-bottom: 10px;
  411. }
  412. }
  413. .simple_form.new_report_note,
  414. .simple_form.new_account_moderation_note {
  415. max-width: 100%;
  416. }
  417. .batch-form-box {
  418. display: flex;
  419. flex-wrap: wrap;
  420. margin-bottom: 5px;
  421. #form_status_batch_action {
  422. margin: 0 5px 5px 0;
  423. font-size: 14px;
  424. }
  425. input.button {
  426. margin: 0 5px 5px 0;
  427. }
  428. .media-spoiler-toggle-buttons {
  429. margin-left: auto;
  430. .button {
  431. overflow: visible;
  432. margin: 0 0 5px 5px;
  433. float: right;
  434. }
  435. }
  436. }
  437. .back-link {
  438. margin-bottom: 10px;
  439. font-size: 14px;
  440. a {
  441. color: $highlight-text-color;
  442. text-decoration: none;
  443. &:hover {
  444. text-decoration: underline;
  445. }
  446. }
  447. }
  448. .spacer {
  449. flex: 1 1 auto;
  450. }
  451. .log-entry {
  452. margin-bottom: 20px;
  453. line-height: 20px;
  454. &__header {
  455. display: flex;
  456. justify-content: flex-start;
  457. align-items: center;
  458. padding: 10px;
  459. background: $ui-base-color;
  460. color: $darker-text-color;
  461. border-radius: 4px 4px 0 0;
  462. font-size: 14px;
  463. position: relative;
  464. }
  465. &__avatar {
  466. margin-right: 10px;
  467. .avatar {
  468. display: block;
  469. margin: 0;
  470. border-radius: 50%;
  471. width: 40px;
  472. height: 40px;
  473. }
  474. }
  475. &__content {
  476. max-width: calc(100% - 90px);
  477. }
  478. &__title {
  479. word-wrap: break-word;
  480. }
  481. &__timestamp {
  482. color: $dark-text-color;
  483. }
  484. &__extras {
  485. background: lighten($ui-base-color, 6%);
  486. border-radius: 0 0 4px 4px;
  487. padding: 10px;
  488. color: $darker-text-color;
  489. font-family: $font-monospace, monospace;
  490. font-size: 12px;
  491. word-wrap: break-word;
  492. min-height: 20px;
  493. }
  494. &__icon {
  495. font-size: 28px;
  496. margin-right: 10px;
  497. color: $dark-text-color;
  498. }
  499. &__icon__overlay {
  500. position: absolute;
  501. top: 10px;
  502. right: 10px;
  503. width: 10px;
  504. height: 10px;
  505. border-radius: 50%;
  506. &.positive {
  507. background: $success-green;
  508. }
  509. &.negative {
  510. background: lighten($error-red, 12%);
  511. }
  512. &.neutral {
  513. background: $ui-highlight-color;
  514. }
  515. }
  516. a,
  517. .username,
  518. .target {
  519. color: $secondary-text-color;
  520. text-decoration: none;
  521. font-weight: 500;
  522. }
  523. .diff-old {
  524. color: lighten($error-red, 12%);
  525. }
  526. .diff-neutral {
  527. color: $secondary-text-color;
  528. }
  529. .diff-new {
  530. color: $success-green;
  531. }
  532. }
  533. a.name-tag,
  534. .name-tag,
  535. a.inline-name-tag,
  536. .inline-name-tag {
  537. text-decoration: none;
  538. color: $secondary-text-color;
  539. .username {
  540. font-weight: 500;
  541. }
  542. &.suspended {
  543. .username {
  544. text-decoration: line-through;
  545. color: lighten($error-red, 12%);
  546. }
  547. .avatar {
  548. filter: grayscale(100%);
  549. opacity: 0.8;
  550. }
  551. }
  552. }
  553. a.name-tag,
  554. .name-tag {
  555. display: flex;
  556. align-items: center;
  557. .avatar {
  558. display: block;
  559. margin: 0;
  560. margin-right: 5px;
  561. border-radius: 50%;
  562. }
  563. &.suspended {
  564. .avatar {
  565. filter: grayscale(100%);
  566. opacity: 0.8;
  567. }
  568. }
  569. }
  570. .speech-bubble {
  571. margin-bottom: 20px;
  572. border-left: 4px solid $ui-highlight-color;
  573. &.positive {
  574. border-left-color: $success-green;
  575. }
  576. &.negative {
  577. border-left-color: lighten($error-red, 12%);
  578. }
  579. &.warning {
  580. border-left-color: $gold-star;
  581. }
  582. &__bubble {
  583. padding: 16px;
  584. padding-left: 14px;
  585. font-size: 15px;
  586. line-height: 20px;
  587. border-radius: 4px 4px 4px 0;
  588. position: relative;
  589. font-weight: 500;
  590. a {
  591. color: $darker-text-color;
  592. }
  593. }
  594. &__owner {
  595. padding: 8px;
  596. padding-left: 12px;
  597. }
  598. time {
  599. color: $dark-text-color;
  600. }
  601. }
  602. .report-card {
  603. background: $ui-base-color;
  604. border-radius: 4px;
  605. margin-bottom: 20px;
  606. &__profile {
  607. display: flex;
  608. justify-content: space-between;
  609. align-items: center;
  610. padding: 15px;
  611. .account {
  612. padding: 0;
  613. border: 0;
  614. &__avatar-wrapper {
  615. margin-left: 0;
  616. }
  617. }
  618. &__stats {
  619. flex: 0 0 auto;
  620. font-weight: 500;
  621. color: $darker-text-color;
  622. text-transform: uppercase;
  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. }