logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://anongit.hacktivis.me/git/pleroma-fe.git/

post_status_form.scss (4230B)


  1. .post-status-form {
  2. position: relative;
  3. .attachments {
  4. margin-bottom: 0.5em;
  5. }
  6. .more-post-actions {
  7. height: 100%;
  8. .btn {
  9. height: 100%;
  10. }
  11. }
  12. .form-bottom {
  13. display: flex;
  14. justify-content: space-between;
  15. padding: 0.5em;
  16. height: 2.5em;
  17. .post-button-group {
  18. width: 10em;
  19. display: flex;
  20. .post-button {
  21. flex: 1 0 auto;
  22. }
  23. .more-post-actions {
  24. flex: 0 0 auto;
  25. }
  26. }
  27. p {
  28. margin: 0.35em;
  29. padding: 0.35em;
  30. display: flex;
  31. }
  32. }
  33. .form-bottom-left {
  34. display: flex;
  35. flex: 1;
  36. padding-right: 7px;
  37. margin-right: 7px;
  38. max-width: 10em;
  39. }
  40. .preview-heading {
  41. display: flex;
  42. flex-wrap: wrap;
  43. }
  44. .preview-toggle {
  45. flex: 10 0 auto;
  46. cursor: pointer;
  47. user-select: none;
  48. padding-left: 0.5em;
  49. &:hover {
  50. text-decoration: underline;
  51. }
  52. svg,
  53. i {
  54. margin-left: 0.2em;
  55. font-size: 0.8em;
  56. transform: rotate(90deg);
  57. }
  58. }
  59. .preview-container {
  60. margin-bottom: 1em;
  61. }
  62. .preview-error {
  63. font-style: italic;
  64. color: var(--textFaint);
  65. }
  66. .preview-status {
  67. border: 1px solid var(--border);
  68. border-radius: var(--roundness);
  69. padding: 0.5em;
  70. margin: 0;
  71. }
  72. .reply-or-quote-selector {
  73. flex: 1 0 auto;
  74. margin-bottom: 0.5em;
  75. display: grid;
  76. grid-template-columns: 1fr 1fr;
  77. }
  78. .text-format {
  79. .only-format {
  80. color: var(--textFaint);
  81. }
  82. }
  83. .visibility-tray {
  84. display: flex;
  85. justify-content: space-between;
  86. padding-top: 5px;
  87. align-items: baseline;
  88. }
  89. .visibility-notice.edit-warning {
  90. > :first-child {
  91. margin-top: 0;
  92. }
  93. > :last-child {
  94. margin-bottom: 0;
  95. }
  96. }
  97. // Order is not necessary but a good indicator
  98. .media-upload-icon {
  99. order: 1;
  100. justify-content: left;
  101. }
  102. .emoji-icon {
  103. order: 2;
  104. justify-content: center;
  105. }
  106. .poll-icon {
  107. order: 3;
  108. justify-content: right;
  109. }
  110. .media-upload-icon,
  111. .poll-icon,
  112. .emoji-icon {
  113. font-size: 1.85em;
  114. line-height: 1.1;
  115. flex: 1;
  116. padding: 0 0.1em;
  117. display: flex;
  118. align-items: center;
  119. }
  120. .error {
  121. text-align: center;
  122. }
  123. .media-upload-wrapper {
  124. margin-right: 0.2em;
  125. margin-bottom: 0.5em;
  126. width: 18em;
  127. img,
  128. video {
  129. object-fit: contain;
  130. max-height: 10em;
  131. }
  132. .video {
  133. max-height: 10em;
  134. }
  135. input {
  136. flex: 1;
  137. width: 100%;
  138. }
  139. }
  140. .status-input-wrapper {
  141. display: flex;
  142. position: relative;
  143. width: 100%;
  144. flex-direction: column;
  145. }
  146. .btn[disabled] {
  147. cursor: not-allowed;
  148. }
  149. form {
  150. display: flex;
  151. flex-direction: column;
  152. margin: 0.6em;
  153. position: relative;
  154. }
  155. .form-group {
  156. display: flex;
  157. flex-direction: column;
  158. padding: 0.25em 0.5em 0.5em;
  159. line-height: 1.85;
  160. }
  161. .input.form-post-body {
  162. // TODO: make a resizable textarea component?
  163. box-sizing: content-box; // needed for easier computation of dynamic size
  164. overflow: hidden;
  165. transition: min-height 200ms 100ms;
  166. // stock padding + 1 line of text (for counter)
  167. padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);
  168. // two lines of text
  169. height: calc(var(--post-line-height) * 1em);
  170. min-height: calc(var(--post-line-height) * 1em);
  171. resize: none;
  172. background: transparent;
  173. &.scrollable-form {
  174. overflow-y: auto;
  175. }
  176. }
  177. .main-input {
  178. position: relative;
  179. }
  180. .character-counter {
  181. position: absolute;
  182. bottom: 0;
  183. right: 0;
  184. padding: 0;
  185. margin: 0 0.5em;
  186. &.error {
  187. color: var(--cRed);
  188. }
  189. }
  190. @keyframes fade-in {
  191. from { opacity: 0; }
  192. to { opacity: 0.6; }
  193. }
  194. @keyframes fade-out {
  195. from { opacity: 0.6; }
  196. to { opacity: 0; }
  197. }
  198. .drop-indicator {
  199. position: absolute;
  200. width: 100%;
  201. height: 100%;
  202. font-size: 5em;
  203. display: flex;
  204. align-items: center;
  205. justify-content: center;
  206. opacity: 0.6;
  207. color: var(--text);
  208. background-color: var(--bg);
  209. border-radius: var(--roundness);
  210. border: 2px dashed var(--text);
  211. }
  212. .auto-save-status {
  213. align-self: center;
  214. }
  215. }