logo

pleroma-fe

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

theme_preview.vue (5551B)


  1. <template>
  2. <div class="theme-preview-container">
  3. <div class="underlay underlay-preview" />
  4. <div class="panel dummy">
  5. <div class="panel-heading">
  6. <div class="title">
  7. {{ $t('settings.style.preview.header') }}
  8. <span class="badge -notification">
  9. 99
  10. </span>
  11. </div>
  12. <span class="faint">
  13. {{ $t('settings.style.preview.header_faint') }}
  14. </span>
  15. <span class="alert error">
  16. {{ $t('settings.style.preview.error') }}
  17. </span>
  18. <button class="btn button-default">
  19. {{ $t('settings.style.preview.button') }}
  20. </button>
  21. </div>
  22. <div class="panel-body theme-preview-content">
  23. <div class="post">
  24. <div class="avatar still-image">
  25. ( ͡° ͜ʖ ͡°)
  26. </div>
  27. <div class="content">
  28. <h4>
  29. {{ $t('settings.style.preview.content') }}
  30. </h4>
  31. <i18n-t
  32. scope="global"
  33. keypath="settings.style.preview.text"
  34. >
  35. <code style="font-family: var(--postCodeFont);">
  36. {{ $t('settings.style.preview.mono') }}
  37. </code>
  38. <a style="color: var(--link);">
  39. {{ $t('settings.style.preview.link') }}
  40. </a>
  41. </i18n-t>
  42. <div class="icons">
  43. <FAIcon
  44. fixed-width
  45. style="color: var(--cBlue);"
  46. class="fa-scale-110 fa-old-padding"
  47. icon="reply"
  48. />
  49. <FAIcon
  50. fixed-width
  51. style="color: var(--cGreen);"
  52. class="fa-scale-110 fa-old-padding"
  53. icon="retweet"
  54. />
  55. <FAIcon
  56. fixed-width
  57. style="color: var(--cOrange);"
  58. class="fa-scale-110 fa-old-padding"
  59. icon="star"
  60. />
  61. <FAIcon
  62. fixed-width
  63. style="color: var(--cRed);"
  64. class="fa-scale-110 fa-old-padding"
  65. icon="times"
  66. />
  67. </div>
  68. </div>
  69. </div>
  70. <div class="after-post">
  71. <div class="avatar-alt">
  72. :^)
  73. </div>
  74. <div class="content">
  75. <i18n-t
  76. keypath="settings.style.preview.fine_print"
  77. tag="span"
  78. class="faint"
  79. scope="global"
  80. >
  81. <a style="color: var(--linkFaint);">
  82. {{ $t('settings.style.preview.faint_link') }}
  83. </a>
  84. </i18n-t>
  85. </div>
  86. </div>
  87. <div class="separator" />
  88. <span class="alert error">
  89. {{ $t('settings.style.preview.error') }}
  90. </span>
  91. <input
  92. :value="$t('settings.style.preview.input')"
  93. type="text"
  94. class="input"
  95. >
  96. <div class="actions">
  97. <Checkbox>
  98. {{ $t('settings.style.preview.checkbox') }}
  99. </Checkbox>
  100. <button class="btn button-default">
  101. {{ $t('settings.style.preview.button') }}
  102. </button>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </template>
  108. <script>
  109. import Checkbox from 'src/components/checkbox/checkbox.vue'
  110. import { library } from '@fortawesome/fontawesome-svg-core'
  111. import {
  112. faTimes,
  113. faStar,
  114. faRetweet,
  115. faReply
  116. } from '@fortawesome/free-solid-svg-icons'
  117. library.add(
  118. faTimes,
  119. faStar,
  120. faRetweet,
  121. faReply
  122. )
  123. export default {
  124. components: {
  125. Checkbox
  126. }
  127. }
  128. </script>
  129. <style lang="scss">
  130. .theme-preview-container {
  131. position: relative;
  132. border-top: 1px dashed;
  133. border-bottom: 1px dashed;
  134. border-color: var(--border);
  135. margin: 1em 0;
  136. padding: 1em;
  137. background-color: var(--wallpaper);
  138. background-image: var(--body-background-image);
  139. background-size: cover;
  140. background-position: 50% 50%;
  141. .theme-preview-content {
  142. padding: 20px;
  143. }
  144. .dummy {
  145. .post {
  146. font-family: var(--postFont);
  147. display: flex;
  148. .content {
  149. flex: 1;
  150. h4 {
  151. margin-bottom: 0.25em;
  152. }
  153. .icons {
  154. margin-top: 0.5em;
  155. display: flex;
  156. i {
  157. margin-right: 1em;
  158. }
  159. }
  160. }
  161. }
  162. .after-post {
  163. margin-top: 1em;
  164. display: flex;
  165. align-items: center;
  166. }
  167. .avatar,
  168. .avatar-alt {
  169. background:
  170. linear-gradient(
  171. 135deg,
  172. #b8e1fc 0%,
  173. #a9d2f3 10%,
  174. #90bae4 25%,
  175. #90bcea 37%,
  176. #90bff0 50%,
  177. #6ba8e5 51%,
  178. #a2daf5 83%,
  179. #bdf3fd 100%
  180. );
  181. color: black;
  182. font-family: sans-serif;
  183. text-align: center;
  184. margin-right: 1em;
  185. }
  186. .avatar-alt {
  187. flex: 0 auto;
  188. margin-left: 28px;
  189. font-size: 12px;
  190. min-width: 20px;
  191. min-height: 20px;
  192. line-height: 20px;
  193. }
  194. .avatar {
  195. flex: 0 auto;
  196. width: 48px;
  197. height: 48px;
  198. font-size: 14px;
  199. line-height: 48px;
  200. }
  201. .actions {
  202. display: flex;
  203. align-items: baseline;
  204. .checkbox {
  205. margin-right: 1em;
  206. flex: 1;
  207. }
  208. }
  209. .separator {
  210. margin: 1em;
  211. border-bottom: 1px solid;
  212. border-color: var(--border);
  213. }
  214. .btn {
  215. min-width: 3em;
  216. }
  217. }
  218. .underlay-preview {
  219. position: absolute;
  220. top: 0;
  221. bottom: 0;
  222. left: 10px;
  223. right: 10px;
  224. }
  225. }
  226. </style>