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.

1427 lines
24 KiB

  1. .modal-container--preloader {
  2. background: lighten($ui-base-color, 8%);
  3. }
  4. .modal-root {
  5. position: relative;
  6. z-index: 9999;
  7. }
  8. .modal-root__overlay {
  9. position: fixed;
  10. top: 0;
  11. left: 0;
  12. right: 0;
  13. bottom: 0;
  14. background: rgba($base-overlay-background, 0.7);
  15. transition: background 0.5s;
  16. }
  17. .modal-root__container {
  18. position: fixed;
  19. top: 0;
  20. left: 0;
  21. width: 100%;
  22. height: 100%;
  23. box-sizing: border-box;
  24. display: flex;
  25. flex-direction: column;
  26. align-items: center;
  27. justify-content: center;
  28. align-content: space-around;
  29. z-index: 9999;
  30. pointer-events: none;
  31. user-select: none;
  32. }
  33. .modal-root__modal {
  34. pointer-events: auto;
  35. display: flex;
  36. }
  37. .media-modal__zoom-button {
  38. position: absolute;
  39. right: 64px;
  40. top: 8px;
  41. z-index: 100;
  42. pointer-events: auto;
  43. transition: opacity 0.3s linear;
  44. will-change: opacity;
  45. }
  46. .media-modal__zoom-button--hidden {
  47. pointer-events: none;
  48. opacity: 0;
  49. }
  50. .onboarding-modal,
  51. .error-modal,
  52. .embed-modal {
  53. background: $ui-secondary-color;
  54. color: $inverted-text-color;
  55. border-radius: 8px;
  56. overflow: hidden;
  57. display: flex;
  58. flex-direction: column;
  59. }
  60. .onboarding-modal__pager {
  61. height: 80vh;
  62. width: 80vw;
  63. max-width: 520px;
  64. max-height: 470px;
  65. .react-swipeable-view-container > div {
  66. width: 100%;
  67. height: 100%;
  68. box-sizing: border-box;
  69. display: none;
  70. flex-direction: column;
  71. align-items: center;
  72. justify-content: center;
  73. display: flex;
  74. user-select: text;
  75. }
  76. }
  77. .error-modal__body {
  78. height: 80vh;
  79. width: 80vw;
  80. max-width: 520px;
  81. max-height: 420px;
  82. position: relative;
  83. & > div {
  84. position: absolute;
  85. top: 0;
  86. left: 0;
  87. width: 100%;
  88. height: 100%;
  89. box-sizing: border-box;
  90. padding: 25px;
  91. display: none;
  92. flex-direction: column;
  93. align-items: center;
  94. justify-content: center;
  95. display: flex;
  96. opacity: 0;
  97. user-select: text;
  98. }
  99. }
  100. .error-modal__body {
  101. display: flex;
  102. flex-direction: column;
  103. justify-content: center;
  104. align-items: center;
  105. text-align: center;
  106. }
  107. @media screen and (max-width: 550px) {
  108. .onboarding-modal {
  109. width: 100%;
  110. height: 100%;
  111. border-radius: 0;
  112. }
  113. .onboarding-modal__pager {
  114. width: 100%;
  115. height: auto;
  116. max-width: none;
  117. max-height: none;
  118. flex: 1 1 auto;
  119. }
  120. }
  121. .onboarding-modal__paginator,
  122. .error-modal__footer {
  123. flex: 0 0 auto;
  124. background: darken($ui-secondary-color, 8%);
  125. display: flex;
  126. padding: 25px;
  127. & > div {
  128. min-width: 33px;
  129. }
  130. .onboarding-modal__nav,
  131. .error-modal__nav {
  132. color: $lighter-text-color;
  133. border: 0;
  134. font-size: 14px;
  135. font-weight: 500;
  136. padding: 10px 25px;
  137. line-height: inherit;
  138. height: auto;
  139. margin: -10px;
  140. border-radius: 4px;
  141. background-color: transparent;
  142. &:hover,
  143. &:focus,
  144. &:active {
  145. color: darken($lighter-text-color, 4%);
  146. background-color: darken($ui-secondary-color, 16%);
  147. }
  148. &.onboarding-modal__done,
  149. &.onboarding-modal__next {
  150. color: $inverted-text-color;
  151. &:hover,
  152. &:focus,
  153. &:active {
  154. color: lighten($inverted-text-color, 4%);
  155. }
  156. }
  157. }
  158. }
  159. .error-modal__footer {
  160. justify-content: center;
  161. }
  162. .onboarding-modal__dots {
  163. flex: 1 1 auto;
  164. display: flex;
  165. align-items: center;
  166. justify-content: center;
  167. }
  168. .onboarding-modal__dot {
  169. width: 14px;
  170. height: 14px;
  171. border-radius: 14px;
  172. background: darken($ui-secondary-color, 16%);
  173. margin: 0 3px;
  174. cursor: pointer;
  175. &:hover {
  176. background: darken($ui-secondary-color, 18%);
  177. }
  178. &.active {
  179. cursor: default;
  180. background: darken($ui-secondary-color, 24%);
  181. }
  182. }
  183. .onboarding-modal__page__wrapper {
  184. pointer-events: none;
  185. padding: 25px;
  186. padding-bottom: 0;
  187. &.onboarding-modal__page__wrapper--active {
  188. pointer-events: auto;
  189. }
  190. }
  191. .onboarding-modal__page {
  192. cursor: default;
  193. line-height: 21px;
  194. h1 {
  195. font-size: 18px;
  196. font-weight: 500;
  197. color: $inverted-text-color;
  198. margin-bottom: 20px;
  199. }
  200. a {
  201. color: $highlight-text-color;
  202. &:hover,
  203. &:focus,
  204. &:active {
  205. color: lighten($highlight-text-color, 4%);
  206. }
  207. }
  208. .navigation-bar a {
  209. color: inherit;
  210. }
  211. p {
  212. font-size: 16px;
  213. color: $lighter-text-color;
  214. margin-top: 10px;
  215. margin-bottom: 10px;
  216. &:last-child {
  217. margin-bottom: 0;
  218. }
  219. strong {
  220. font-weight: 500;
  221. background: $ui-base-color;
  222. color: $secondary-text-color;
  223. border-radius: 4px;
  224. font-size: 14px;
  225. padding: 3px 6px;
  226. @each $lang in $cjk-langs {
  227. &:lang(#{$lang}) {
  228. font-weight: 700;
  229. }
  230. }
  231. }
  232. }
  233. }
  234. .onboarding-modal__page__wrapper-0 {
  235. background: url('~images/elephant_ui_greeting.svg') no-repeat left bottom /
  236. auto 250px;
  237. height: 100%;
  238. padding: 0;
  239. }
  240. .onboarding-modal__page-one {
  241. &__lead {
  242. padding: 65px;
  243. padding-top: 45px;
  244. padding-bottom: 0;
  245. margin-bottom: 10px;
  246. h1 {
  247. font-size: 26px;
  248. line-height: 36px;
  249. margin-bottom: 8px;
  250. }
  251. p {
  252. margin-bottom: 0;
  253. }
  254. }
  255. &__extra {
  256. padding-right: 65px;
  257. padding-left: 185px;
  258. text-align: center;
  259. }
  260. }
  261. .display-case {
  262. text-align: center;
  263. font-size: 15px;
  264. margin-bottom: 15px;
  265. &__label {
  266. font-weight: 500;
  267. color: $inverted-text-color;
  268. margin-bottom: 5px;
  269. text-transform: uppercase;
  270. font-size: 12px;
  271. }
  272. &__case {
  273. background: $ui-base-color;
  274. color: $secondary-text-color;
  275. font-weight: 500;
  276. padding: 10px;
  277. border-radius: 4px;
  278. }
  279. }
  280. .onboarding-modal__page-two,
  281. .onboarding-modal__page-three,
  282. .onboarding-modal__page-four,
  283. .onboarding-modal__page-five {
  284. p {
  285. text-align: left;
  286. }
  287. .figure {
  288. background: darken($ui-base-color, 8%);
  289. color: $secondary-text-color;
  290. margin-bottom: 20px;
  291. border-radius: 4px;
  292. padding: 10px;
  293. text-align: center;
  294. font-size: 14px;
  295. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.3);
  296. .onboarding-modal__image {
  297. border-radius: 4px;
  298. margin-bottom: 10px;
  299. }
  300. &.non-interactive {
  301. pointer-events: none;
  302. text-align: left;
  303. }
  304. }
  305. }
  306. .onboarding-modal__page-four__columns {
  307. .row {
  308. display: flex;
  309. margin-bottom: 20px;
  310. & > div {
  311. flex: 1 1 0;
  312. margin: 0 10px;
  313. &:first-child {
  314. margin-left: 0;
  315. }
  316. &:last-child {
  317. margin-right: 0;
  318. }
  319. p {
  320. text-align: center;
  321. }
  322. }
  323. &:last-child {
  324. margin-bottom: 0;
  325. }
  326. }
  327. .column-header {
  328. color: $primary-text-color;
  329. }
  330. }
  331. @media screen and (max-width: 320px) and (max-height: 600px) {
  332. .onboarding-modal__page p {
  333. font-size: 14px;
  334. line-height: 20px;
  335. }
  336. .onboarding-modal__page-two .figure,
  337. .onboarding-modal__page-three .figure,
  338. .onboarding-modal__page-four .figure,
  339. .onboarding-modal__page-five .figure {
  340. font-size: 12px;
  341. margin-bottom: 10px;
  342. }
  343. .onboarding-modal__page-four__columns .row {
  344. margin-bottom: 10px;
  345. }
  346. .onboarding-modal__page-four__columns .column-header {
  347. padding: 5px;
  348. font-size: 12px;
  349. }
  350. }
  351. .onboard-sliders {
  352. display: inline-block;
  353. max-width: 30px;
  354. max-height: auto;
  355. margin-left: 10px;
  356. }
  357. .boost-modal,
  358. .confirmation-modal,
  359. .report-modal,
  360. .actions-modal,
  361. .mute-modal,
  362. .block-modal,
  363. .compare-history-modal {
  364. background: lighten($ui-secondary-color, 8%);
  365. color: $inverted-text-color;
  366. border-radius: 8px;
  367. overflow: hidden;
  368. max-width: 90vw;
  369. width: 480px;
  370. position: relative;
  371. flex-direction: column;
  372. .status__relative-time {
  373. color: $dark-text-color;
  374. float: right;
  375. font-size: 14px;
  376. width: auto;
  377. margin: initial;
  378. padding: initial;
  379. }
  380. .status__visibility-icon {
  381. color: $dark-text-color;
  382. font-size: 14px;
  383. padding: 0 4px;
  384. }
  385. .status__display-name {
  386. display: flex;
  387. }
  388. .status__avatar {
  389. height: 48px;
  390. width: 48px;
  391. }
  392. .status__content__spoiler-link {
  393. color: lighten($secondary-text-color, 8%);
  394. }
  395. }
  396. .boost-modal .status-direct {
  397. background-color: inherit;
  398. }
  399. .actions-modal {
  400. .status {
  401. background: $white;
  402. border-bottom-color: $ui-secondary-color;
  403. padding-top: 10px;
  404. padding-bottom: 10px;
  405. }
  406. .dropdown-menu__separator {
  407. border-bottom-color: $ui-secondary-color;
  408. }
  409. }
  410. .boost-modal__container {
  411. overflow-x: scroll;
  412. padding: 10px;
  413. .status {
  414. user-select: text;
  415. border-bottom: 0;
  416. }
  417. }
  418. .boost-modal__action-bar,
  419. .confirmation-modal__action-bar,
  420. .mute-modal__action-bar,
  421. .block-modal__action-bar {
  422. display: flex;
  423. justify-content: space-between;
  424. background: $ui-secondary-color;
  425. padding: 10px;
  426. line-height: 36px;
  427. & > div {
  428. flex: 1 1 auto;
  429. text-align: right;
  430. color: $lighter-text-color;
  431. padding-right: 10px;
  432. }
  433. .button {
  434. flex: 0 0 auto;
  435. }
  436. }
  437. .boost-modal__status-header {
  438. font-size: 15px;
  439. }
  440. .boost-modal__status-time {
  441. float: right;
  442. font-size: 14px;
  443. }
  444. .mute-modal,
  445. .block-modal {
  446. line-height: 24px;
  447. }
  448. .mute-modal .react-toggle,
  449. .block-modal .react-toggle {
  450. vertical-align: middle;
  451. }
  452. .report-modal {
  453. width: 90vw;
  454. max-width: 700px;
  455. }
  456. .report-dialog-modal {
  457. max-width: 90vw;
  458. width: 480px;
  459. height: 80vh;
  460. background: lighten($ui-secondary-color, 8%);
  461. color: $inverted-text-color;
  462. border-radius: 8px;
  463. overflow: hidden;
  464. position: relative;
  465. flex-direction: column;
  466. display: flex;
  467. &__container {
  468. box-sizing: border-box;
  469. border-top: 1px solid $ui-secondary-color;
  470. padding: 20px;
  471. flex-grow: 1;
  472. display: flex;
  473. flex-direction: column;
  474. min-height: 0;
  475. overflow: auto;
  476. }
  477. &__title {
  478. font-size: 28px;
  479. line-height: 33px;
  480. font-weight: 700;
  481. margin-bottom: 15px;
  482. @media screen and (max-height: 800px) {
  483. font-size: 22px;
  484. }
  485. }
  486. &__subtitle {
  487. font-size: 17px;
  488. font-weight: 600;
  489. line-height: 22px;
  490. margin-bottom: 4px;
  491. }
  492. &__lead {
  493. font-size: 17px;
  494. line-height: 22px;
  495. color: lighten($inverted-text-color, 16%);
  496. margin-bottom: 30px;
  497. a {
  498. text-decoration: none;
  499. color: $inverted-text-color;
  500. font-weight: 500;
  501. &:hover {
  502. text-decoration: underline;
  503. }
  504. }
  505. }
  506. &__actions {
  507. margin-top: 30px;
  508. display: flex;
  509. .button {
  510. flex: 1 1 auto;
  511. }
  512. }
  513. &__statuses {
  514. flex-grow: 1;
  515. min-height: 0;
  516. overflow: auto;
  517. }
  518. .status__content a {
  519. color: $highlight-text-color;
  520. }
  521. .status__content,
  522. .status__content p {
  523. color: $inverted-text-color;
  524. }
  525. .status__content__spoiler-link {
  526. color: $primary-text-color;
  527. background: $ui-primary-color;
  528. &:hover {
  529. background: lighten($ui-primary-color, 8%);
  530. }
  531. }
  532. .dialog-option .poll__input {
  533. border-color: $inverted-text-color;
  534. color: $ui-secondary-color;
  535. display: inline-flex;
  536. align-items: center;
  537. justify-content: center;
  538. svg {
  539. width: 8px;
  540. height: auto;
  541. }
  542. &:active,
  543. &:focus,
  544. &:hover {
  545. border-color: lighten($inverted-text-color, 15%);
  546. border-width: 4px;
  547. }
  548. &.active {
  549. border-color: $inverted-text-color;
  550. background: $inverted-text-color;
  551. }
  552. }
  553. .poll__option.dialog-option {
  554. padding: 15px 0;
  555. flex: 0 0 auto;
  556. border-bottom: 1px solid $ui-secondary-color;
  557. &:last-child {
  558. border-bottom: 0;
  559. }
  560. & > .poll__option__text {
  561. font-size: 13px;
  562. color: lighten($inverted-text-color, 16%);
  563. strong {
  564. font-size: 17px;
  565. font-weight: 500;
  566. line-height: 22px;
  567. color: $inverted-text-color;
  568. display: block;
  569. margin-bottom: 4px;
  570. &:last-child {
  571. margin-bottom: 0;
  572. }
  573. }
  574. }
  575. }
  576. .flex-spacer {
  577. background: transparent;
  578. }
  579. &__textarea {
  580. display: block;
  581. box-sizing: border-box;
  582. width: 100%;
  583. margin: 0;
  584. color: $inverted-text-color;
  585. background: $simple-background-color;
  586. padding: 10px;
  587. font-family: inherit;
  588. font-size: 17px;
  589. line-height: 22px;
  590. resize: vertical;
  591. border: 0;
  592. outline: 0;
  593. border-radius: 4px;
  594. margin: 20px 0;
  595. &::placeholder {
  596. color: $dark-text-color;
  597. }
  598. &:focus {
  599. outline: 0;
  600. }
  601. }
  602. &__toggle {
  603. display: flex;
  604. align-items: center;
  605. & > span {
  606. font-size: 17px;
  607. font-weight: 500;
  608. margin-left: 10px;
  609. }
  610. }
  611. .button.button-secondary {
  612. border-color: $inverted-text-color;
  613. color: $inverted-text-color;
  614. flex: 0 0 auto;
  615. &:hover,
  616. &:focus,
  617. &:active {
  618. border-color: lighten($inverted-text-color, 15%);
  619. color: lighten($inverted-text-color, 15%);
  620. }
  621. }
  622. hr {
  623. border: 0;
  624. background: transparent;
  625. margin: 15px 0;
  626. }
  627. .emoji-mart-search {
  628. padding-right: 10px;
  629. }
  630. .emoji-mart-search-icon {
  631. right: 10px + 5px;
  632. }
  633. }
  634. .report-modal__container {
  635. display: flex;
  636. border-top: 1px solid $ui-secondary-color;
  637. @media screen and (max-width: 480px) {
  638. flex-wrap: wrap;
  639. overflow-y: auto;
  640. }
  641. }
  642. .report-modal__statuses,
  643. .report-modal__comment {
  644. box-sizing: border-box;
  645. width: 50%;
  646. @media screen and (max-width: 480px) {
  647. width: 100%;
  648. }
  649. }
  650. .report-modal__statuses,
  651. .focal-point-modal__content {
  652. flex: 1 1 auto;
  653. min-height: 20vh;
  654. max-height: 80vh;
  655. overflow-y: auto;
  656. overflow-x: hidden;
  657. .status__content a {
  658. color: $highlight-text-color;
  659. }
  660. @media screen and (max-width: 480px) {
  661. max-height: 10vh;
  662. }
  663. }
  664. .focal-point-modal__content {
  665. @media screen and (max-width: 480px) {
  666. max-height: 40vh;
  667. }
  668. }
  669. .setting-divider {
  670. background: transparent;
  671. border: 0;
  672. margin: 0;
  673. width: 100%;
  674. height: 1px;
  675. margin-bottom: 29px;
  676. }
  677. .report-modal__comment {
  678. padding: 20px;
  679. border-right: 1px solid $ui-secondary-color;
  680. max-width: 320px;
  681. p {
  682. font-size: 14px;
  683. line-height: 20px;
  684. margin-bottom: 20px;
  685. }
  686. .setting-text {
  687. display: block;
  688. box-sizing: border-box;
  689. width: 100%;
  690. margin: 0;
  691. color: $inverted-text-color;
  692. background: $white;
  693. padding: 10px;
  694. font-family: inherit;
  695. font-size: 14px;
  696. resize: none;
  697. border: 0;
  698. outline: 0;
  699. border-radius: 4px;
  700. border: 1px solid $ui-secondary-color;
  701. min-height: 100px;
  702. max-height: 50vh;
  703. margin-bottom: 10px;
  704. &:focus {
  705. border: 1px solid darken($ui-secondary-color, 8%);
  706. }
  707. &__wrapper {
  708. background: $white;
  709. border: 1px solid $ui-secondary-color;
  710. margin-bottom: 10px;
  711. border-radius: 4px;
  712. .setting-text {
  713. border: 0;
  714. margin-bottom: 0;
  715. border-radius: 0;
  716. &:focus {
  717. border: 0;
  718. }
  719. }
  720. &__modifiers {
  721. color: $inverted-text-color;
  722. font-family: inherit;
  723. font-size: 14px;
  724. background: $white;
  725. }
  726. }
  727. &__toolbar {
  728. display: flex;
  729. justify-content: space-between;
  730. margin-bottom: 20px;
  731. }
  732. }
  733. .setting-text-label {
  734. display: block;
  735. color: $inverted-text-color;
  736. font-size: 14px;
  737. font-weight: 500;
  738. margin-bottom: 10px;
  739. }
  740. .setting-toggle {
  741. margin-top: 20px;
  742. margin-bottom: 24px;
  743. &__label {
  744. color: $inverted-text-color;
  745. font-size: 14px;
  746. }
  747. }
  748. @media screen and (max-width: 480px) {
  749. padding: 10px;
  750. max-width: 100%;
  751. order: 2;
  752. .setting-toggle {
  753. margin-bottom: 4px;
  754. }
  755. }
  756. }
  757. .actions-modal {
  758. .status {
  759. overflow-y: auto;
  760. max-height: 300px;
  761. }
  762. strong {
  763. display: block;
  764. font-weight: 500;
  765. }
  766. max-height: 80vh;
  767. max-width: 80vw;
  768. .actions-modal__item-label {
  769. font-weight: 500;
  770. }
  771. ul {
  772. overflow-y: auto;
  773. flex-shrink: 0;
  774. max-height: 80vh;
  775. &.with-status {
  776. max-height: calc(80vh - 75px);
  777. }
  778. li:empty {
  779. margin: 0;
  780. }
  781. li:not(:empty) {
  782. a {
  783. color: $inverted-text-color;
  784. display: flex;
  785. padding: 12px 16px;
  786. font-size: 15px;
  787. align-items: center;
  788. text-decoration: none;
  789. &,
  790. button {
  791. transition: none;
  792. }
  793. &.active,
  794. &:hover,
  795. &:active,
  796. &:focus {
  797. &,
  798. button {
  799. background: $ui-highlight-color;
  800. color: $primary-text-color;
  801. }
  802. }
  803. & > .react-toggle,
  804. & > .icon,
  805. button:first-child {
  806. margin-right: 10px;
  807. }
  808. }
  809. }
  810. }
  811. }
  812. .confirmation-modal__action-bar,
  813. .mute-modal__action-bar,
  814. .block-modal__action-bar {
  815. .confirmation-modal__secondary-button {
  816. flex-shrink: 1;
  817. }
  818. }
  819. .confirmation-modal__secondary-button,
  820. .confirmation-modal__cancel-button,
  821. .mute-modal__cancel-button,
  822. .block-modal__cancel-button {
  823. background-color: transparent;
  824. color: $lighter-text-color;
  825. font-size: 14px;
  826. font-weight: 500;
  827. &:hover,
  828. &:focus,
  829. &:active {
  830. color: darken($lighter-text-color, 4%);
  831. background-color: transparent;
  832. }
  833. }
  834. .confirmation-modal__do_not_ask_again {
  835. padding-left: 20px;
  836. padding-right: 20px;
  837. padding-bottom: 10px;
  838. font-size: 14px;
  839. label,
  840. input {
  841. vertical-align: middle;
  842. }
  843. }
  844. .confirmation-modal__container,
  845. .mute-modal__container,
  846. .block-modal__container,
  847. .report-modal__target {
  848. padding: 30px;
  849. font-size: 16px;
  850. strong {
  851. font-weight: 500;
  852. @each $lang in $cjk-langs {
  853. &:lang(#{$lang}) {
  854. font-weight: 700;
  855. }
  856. }
  857. }
  858. select {
  859. appearance: none;
  860. box-sizing: border-box;
  861. font-size: 14px;
  862. color: $inverted-text-color;
  863. display: inline-block;
  864. width: auto;
  865. outline: 0;
  866. font-family: inherit;
  867. background: $simple-background-color
  868. url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(darken($simple-background-color, 14%))}'/></svg>")
  869. no-repeat right 8px center / auto 16px;
  870. border: 1px solid darken($simple-background-color, 14%);
  871. border-radius: 4px;
  872. padding: 6px 10px;
  873. padding-right: 30px;
  874. }
  875. }
  876. .confirmation-modal__container,
  877. .report-modal__target {
  878. text-align: center;
  879. }
  880. .block-modal,
  881. .mute-modal {
  882. &__explanation {
  883. margin-top: 20px;
  884. }
  885. .setting-toggle {
  886. margin-top: 20px;
  887. margin-bottom: 24px;
  888. display: flex;
  889. align-items: center;
  890. &__label {
  891. color: $inverted-text-color;
  892. margin: 0;
  893. margin-left: 8px;
  894. }
  895. }
  896. }
  897. .report-modal__target {
  898. padding: 15px;
  899. .report-modal__close {
  900. position: absolute;
  901. top: 10px;
  902. right: 10px;
  903. }
  904. }
  905. .compare-history-modal {
  906. .report-modal__target {
  907. border-bottom: 1px solid $ui-secondary-color;
  908. }
  909. &__container {
  910. padding: 30px;
  911. pointer-events: all;
  912. overflow-y: auto;
  913. }
  914. .status__content {
  915. color: $inverted-text-color;
  916. font-size: 19px;
  917. line-height: 24px;
  918. .emojione {
  919. width: 24px;
  920. height: 24px;
  921. margin: -1px 0 0;
  922. }
  923. a {
  924. color: $highlight-text-color;
  925. }
  926. hr {
  927. height: 0.25rem;
  928. padding: 0;
  929. background-color: $ui-secondary-color;
  930. border: 0;
  931. margin: 20px 0;
  932. }
  933. }
  934. .media-gallery,
  935. .audio-player,
  936. .video-player {
  937. margin-top: 15px;
  938. }
  939. }
  940. .embed-modal {
  941. width: auto;
  942. max-width: 80vw;
  943. max-height: 80vh;
  944. h4 {
  945. padding: 30px;
  946. font-weight: 500;
  947. font-size: 16px;
  948. text-align: center;
  949. }
  950. .embed-modal__container {
  951. padding: 10px;
  952. .hint {
  953. margin-bottom: 15px;
  954. }
  955. .embed-modal__html {
  956. outline: 0;
  957. box-sizing: border-box;
  958. display: block;
  959. width: 100%;
  960. border: 0;
  961. padding: 10px;
  962. font-family: 'mastodon-font-monospace', monospace;
  963. background: $ui-base-color;
  964. color: $primary-text-color;
  965. font-size: 14px;
  966. margin: 0;
  967. margin-bottom: 15px;
  968. border-radius: 4px;
  969. &::-moz-focus-inner {
  970. border: 0;
  971. }
  972. &::-moz-focus-inner,
  973. &:focus,
  974. &:active {
  975. outline: 0 !important;
  976. }
  977. &:focus {
  978. background: lighten($ui-base-color, 4%);
  979. }
  980. @media screen and (max-width: 600px) {
  981. font-size: 16px;
  982. }
  983. }
  984. .embed-modal__iframe {
  985. width: 400px;
  986. max-width: 100%;
  987. overflow: hidden;
  988. border: 0;
  989. border-radius: 4px;
  990. }
  991. }
  992. }
  993. .focal-point {
  994. position: relative;
  995. cursor: move;
  996. overflow: hidden;
  997. height: 100%;
  998. display: flex;
  999. justify-content: center;
  1000. align-items: center;
  1001. background: $base-shadow-color;
  1002. img,
  1003. video,
  1004. canvas {
  1005. display: block;
  1006. max-height: 80vh;
  1007. width: 100%;
  1008. height: auto;
  1009. margin: 0;
  1010. object-fit: contain;
  1011. background: $base-shadow-color;
  1012. }
  1013. &__reticle {
  1014. position: absolute;
  1015. width: 100px;
  1016. height: 100px;
  1017. transform: translate(-50%, -50%);
  1018. background: url('~images/reticle.png') no-repeat 0 0;
  1019. border-radius: 50%;
  1020. box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
  1021. }
  1022. &__overlay {
  1023. position: absolute;
  1024. width: 100%;
  1025. height: 100%;
  1026. top: 0;
  1027. left: 0;
  1028. }
  1029. &__preview {
  1030. position: absolute;
  1031. bottom: 10px;
  1032. right: 10px;
  1033. z-index: 2;
  1034. cursor: move;
  1035. transition: opacity 0.1s ease;
  1036. &:hover {
  1037. opacity: 0.5;
  1038. }
  1039. strong {
  1040. color: $primary-text-color;
  1041. font-size: 14px;
  1042. font-weight: 500;
  1043. display: block;
  1044. margin-bottom: 5px;
  1045. }
  1046. div {
  1047. border-radius: 4px;
  1048. box-shadow: 0 0 14px rgba($base-shadow-color, 0.2);
  1049. }
  1050. }
  1051. @media screen and (max-width: 480px) {
  1052. img,
  1053. video {
  1054. max-height: 100%;
  1055. }
  1056. &__preview {
  1057. display: none;
  1058. }
  1059. }
  1060. }
  1061. .filtered-status-info {
  1062. text-align: start;
  1063. .spoiler__text {
  1064. margin-top: 20px;
  1065. }
  1066. .account {
  1067. border-bottom: 0;
  1068. }
  1069. .account__display-name strong {
  1070. color: $inverted-text-color;
  1071. }
  1072. .status__content__spoiler {
  1073. display: none;
  1074. &--visible {
  1075. display: flex;
  1076. }
  1077. }
  1078. ul {
  1079. padding: 10px;
  1080. margin-left: 12px;
  1081. list-style: disc inside;
  1082. }
  1083. .filtered-status-edit-link {
  1084. color: $action-button-color;
  1085. text-decoration: none;
  1086. &:hover {
  1087. text-decoration: underline;
  1088. }
  1089. }
  1090. }
  1091. .modal-root__container .privacy-dropdown {
  1092. flex-grow: 0;
  1093. }
  1094. .modal-root__container .privacy-dropdown__dropdown {
  1095. pointer-events: auto;
  1096. z-index: 9999;
  1097. }
  1098. img.modal-warning {
  1099. display: block;
  1100. margin: auto;
  1101. margin-bottom: 15px;
  1102. width: 60px;
  1103. }
  1104. .interaction-modal {
  1105. max-width: 90vw;
  1106. width: 600px;
  1107. background: $ui-base-color;
  1108. border-radius: 8px;
  1109. overflow-x: hidden;
  1110. overflow-y: auto;
  1111. position: relative;
  1112. display: block;
  1113. padding: 20px;
  1114. h3 {
  1115. font-size: 22px;
  1116. line-height: 33px;
  1117. font-weight: 700;
  1118. text-align: center;
  1119. }
  1120. &__icon {
  1121. color: $highlight-text-color;
  1122. margin: 0 5px;
  1123. }
  1124. &__lead {
  1125. padding: 20px;
  1126. text-align: center;
  1127. h3 {
  1128. margin-bottom: 15px;
  1129. }
  1130. p {
  1131. font-size: 17px;
  1132. line-height: 22px;
  1133. color: $darker-text-color;
  1134. }
  1135. }
  1136. &__choices {
  1137. display: flex;
  1138. &__choice {
  1139. flex: 0 0 auto;
  1140. width: 50%;
  1141. box-sizing: border-box;
  1142. padding: 20px;
  1143. h3 {
  1144. margin-bottom: 20px;
  1145. }
  1146. p {
  1147. color: $darker-text-color;
  1148. margin-bottom: 20px;
  1149. }
  1150. .button {
  1151. margin-bottom: 10px;
  1152. &:last-child {
  1153. margin-bottom: 0;
  1154. }
  1155. }
  1156. }
  1157. }
  1158. @media screen and (max-width: $no-gap-breakpoint - 1px) {
  1159. &__choices {
  1160. display: block;
  1161. &__choice {
  1162. width: auto;
  1163. margin-bottom: 20px;
  1164. }
  1165. }
  1166. }
  1167. }
  1168. .copypaste {
  1169. display: flex;
  1170. align-items: center;
  1171. gap: 10px;
  1172. input {
  1173. display: block;
  1174. font-family: inherit;
  1175. background: darken($ui-base-color, 8%);
  1176. border: 1px solid $highlight-text-color;
  1177. color: $darker-text-color;
  1178. border-radius: 4px;
  1179. padding: 6px 9px;
  1180. line-height: 22px;
  1181. font-size: 14px;
  1182. transition: border-color 300ms linear;
  1183. flex: 1 1 auto;
  1184. overflow: hidden;
  1185. &:focus {
  1186. outline: 0;
  1187. background: darken($ui-base-color, 4%);
  1188. }
  1189. }
  1190. .button {
  1191. flex: 0 0 auto;
  1192. transition: background 300ms linear;
  1193. }
  1194. &.copied {
  1195. input {
  1196. border: 1px solid $valid-value-color;
  1197. transition: none;
  1198. }
  1199. .button {
  1200. background: $valid-value-color;
  1201. transition: none;
  1202. }
  1203. }
  1204. }