logo

pleroma-fe

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

general_tab.vue (15646B)


  1. <template>
  2. <div :label="$t('settings.general')">
  3. <div class="setting-item">
  4. <h2>{{ $t('settings.interface') }}</h2>
  5. <ul class="setting-list">
  6. <li>
  7. <interface-language-switcher
  8. :prompt-text="$t('settings.interfaceLanguage')"
  9. :language="language"
  10. :set-language="val => language = val"
  11. />
  12. </li>
  13. <li v-if="instanceSpecificPanelPresent">
  14. <BooleanSetting path="hideISP">
  15. {{ $t('settings.hide_isp') }}
  16. </BooleanSetting>
  17. </li>
  18. <li v-if="instanceWallpaperUsed">
  19. <BooleanSetting path="hideInstanceWallpaper">
  20. {{ $t('settings.hide_wallpaper') }}
  21. </BooleanSetting>
  22. </li>
  23. <li>
  24. <BooleanSetting path="stopGifs">
  25. {{ $t('settings.stop_gifs') }}
  26. </BooleanSetting>
  27. </li>
  28. <li>
  29. <BooleanSetting path="streaming">
  30. {{ $t('settings.streaming') }}
  31. </BooleanSetting>
  32. <ul class="setting-list suboptions">
  33. <li>
  34. <BooleanSetting
  35. path="pauseOnUnfocused"
  36. parent-path="streaming"
  37. >
  38. {{ $t('settings.pause_on_unfocused') }}
  39. </BooleanSetting>
  40. </li>
  41. </ul>
  42. </li>
  43. <li>
  44. <BooleanSetting
  45. path="useStreamingApi"
  46. expert="1"
  47. >
  48. {{ $t('settings.useStreamingApi') }}
  49. </BooleanSetting>
  50. </li>
  51. <li>
  52. <BooleanSetting
  53. path="virtualScrolling"
  54. expert="1"
  55. >
  56. {{ $t('settings.virtual_scrolling') }}
  57. </BooleanSetting>
  58. </li>
  59. <li>
  60. <ChoiceSetting
  61. id="userPopoverAvatarAction"
  62. path="userPopoverAvatarAction"
  63. :options="userPopoverAvatarActionOptions"
  64. expert="1"
  65. >
  66. {{ $t('settings.user_popover_avatar_action') }}
  67. </ChoiceSetting>
  68. </li>
  69. <li>
  70. <BooleanSetting
  71. path="userPopoverOverlay"
  72. expert="1"
  73. >
  74. {{ $t('settings.user_popover_avatar_overlay') }}
  75. </BooleanSetting>
  76. </li>
  77. <li>
  78. <BooleanSetting
  79. path="alwaysShowNewPostButton"
  80. expert="1"
  81. >
  82. {{ $t('settings.always_show_post_button') }}
  83. </BooleanSetting>
  84. </li>
  85. <li>
  86. <BooleanSetting
  87. path="autohideFloatingPostButton"
  88. expert="1"
  89. >
  90. {{ $t('settings.autohide_floating_post_button') }}
  91. </BooleanSetting>
  92. </li>
  93. <li v-if="instanceShoutboxPresent">
  94. <BooleanSetting
  95. path="hideShoutbox"
  96. expert="1"
  97. >
  98. {{ $t('settings.hide_shoutbox') }}
  99. </BooleanSetting>
  100. </li>
  101. <li>
  102. <h3>{{ $t('settings.columns') }}</h3>
  103. </li>
  104. <li>
  105. <BooleanSetting path="disableStickyHeaders">
  106. {{ $t('settings.disable_sticky_headers') }}
  107. </BooleanSetting>
  108. </li>
  109. <li>
  110. <BooleanSetting path="showScrollbars">
  111. {{ $t('settings.show_scrollbars') }}
  112. </BooleanSetting>
  113. </li>
  114. <li>
  115. <BooleanSetting path="sidebarRight">
  116. {{ $t('settings.right_sidebar') }}
  117. </BooleanSetting>
  118. </li>
  119. <li>
  120. <BooleanSetting path="navbarColumnStretch">
  121. {{ $t('settings.navbar_column_stretch') }}
  122. </BooleanSetting>
  123. </li>
  124. <li>
  125. <ChoiceSetting
  126. v-if="user"
  127. id="thirdColumnMode"
  128. path="thirdColumnMode"
  129. :options="thirdColumnModeOptions"
  130. >
  131. {{ $t('settings.third_column_mode') }}
  132. </ChoiceSetting>
  133. </li>
  134. <li v-if="expertLevel > 0">
  135. {{ $t('settings.column_sizes') }}
  136. <div class="column-settings">
  137. <SizeSetting
  138. v-for="column in columns"
  139. :key="column"
  140. :path="column + 'ColumnWidth'"
  141. :units="horizontalUnits"
  142. expert="1"
  143. >
  144. {{ $t('settings.column_sizes_' + column) }}
  145. </SizeSetting>
  146. </div>
  147. </li>
  148. <li class="select-multiple">
  149. <span class="label">{{ $t('settings.confirm_dialogs') }}</span>
  150. <ul class="option-list">
  151. <li>
  152. <BooleanSetting path="modalOnRepeat">
  153. {{ $t('settings.confirm_dialogs_repeat') }}
  154. </BooleanSetting>
  155. </li>
  156. <li>
  157. <BooleanSetting path="modalOnUnfollow">
  158. {{ $t('settings.confirm_dialogs_unfollow') }}
  159. </BooleanSetting>
  160. </li>
  161. <li>
  162. <BooleanSetting path="modalOnBlock">
  163. {{ $t('settings.confirm_dialogs_block') }}
  164. </BooleanSetting>
  165. </li>
  166. <li>
  167. <BooleanSetting path="modalOnMute">
  168. {{ $t('settings.confirm_dialogs_mute') }}
  169. </BooleanSetting>
  170. </li>
  171. <li>
  172. <BooleanSetting path="modalOnDelete">
  173. {{ $t('settings.confirm_dialogs_delete') }}
  174. </BooleanSetting>
  175. </li>
  176. <li>
  177. <BooleanSetting path="modalOnLogout">
  178. {{ $t('settings.confirm_dialogs_logout') }}
  179. </BooleanSetting>
  180. </li>
  181. <li>
  182. <BooleanSetting path="modalOnApproveFollow">
  183. {{ $t('settings.confirm_dialogs_approve_follow') }}
  184. </BooleanSetting>
  185. </li>
  186. <li>
  187. <BooleanSetting path="modalOnDenyFollow">
  188. {{ $t('settings.confirm_dialogs_deny_follow') }}
  189. </BooleanSetting>
  190. </li>
  191. <li>
  192. <BooleanSetting path="modalOnRemoveUserFromFollowers">
  193. {{ $t('settings.confirm_dialogs_remove_follower') }}
  194. </BooleanSetting>
  195. </li>
  196. </ul>
  197. </li>
  198. </ul>
  199. </div>
  200. <div class="setting-item">
  201. <h2>{{ $t('settings.post_look_feel') }}</h2>
  202. <ul class="setting-list">
  203. <li>
  204. <ChoiceSetting
  205. id="conversationDisplay"
  206. path="conversationDisplay"
  207. :options="conversationDisplayOptions"
  208. >
  209. {{ $t('settings.conversation_display') }}
  210. </ChoiceSetting>
  211. </li>
  212. <ul
  213. v-if="mergedConfig.conversationDisplay !== 'linear'"
  214. class="setting-list suboptions"
  215. >
  216. <li>
  217. <BooleanSetting path="conversationTreeAdvanced">
  218. {{ $t('settings.tree_advanced') }}
  219. </BooleanSetting>
  220. </li>
  221. <li>
  222. <BooleanSetting
  223. path="conversationTreeFadeAncestors"
  224. :expert="1"
  225. >
  226. {{ $t('settings.tree_fade_ancestors') }}
  227. </BooleanSetting>
  228. </li>
  229. <li>
  230. <IntegerSetting
  231. path="maxDepthInThread"
  232. :min="3"
  233. :expert="1"
  234. >
  235. {{ $t('settings.max_depth_in_thread') }}
  236. </IntegerSetting>
  237. </li>
  238. <li>
  239. <ChoiceSetting
  240. id="conversationOtherRepliesButton"
  241. path="conversationOtherRepliesButton"
  242. :options="conversationOtherRepliesButtonOptions"
  243. :expert="1"
  244. >
  245. {{ $t('settings.conversation_other_replies_button') }}
  246. </ChoiceSetting>
  247. </li>
  248. </ul>
  249. <li>
  250. <BooleanSetting path="collapseMessageWithSubject">
  251. {{ $t('settings.collapse_subject') }}
  252. </BooleanSetting>
  253. </li>
  254. <li>
  255. <BooleanSetting
  256. path="emojiReactionsOnTimeline"
  257. expert="1"
  258. >
  259. {{ $t('settings.emoji_reactions_on_timeline') }}
  260. </BooleanSetting>
  261. </li>
  262. <li>
  263. <BooleanSetting
  264. v-if="user"
  265. source="profile"
  266. path="stripRichContent"
  267. expert="1"
  268. >
  269. {{ $t('settings.no_rich_text_description') }}
  270. </BooleanSetting>
  271. </li>
  272. <li>
  273. <FloatSetting
  274. v-if="user"
  275. path="emojiReactionsScale"
  276. expert="1"
  277. >
  278. {{ $t('settings.emoji_reactions_scale') }}
  279. </FloatSetting>
  280. </li>
  281. <h3>{{ $t('settings.attachments') }}</h3>
  282. <li>
  283. <BooleanSetting
  284. path="useContainFit"
  285. expert="1"
  286. >
  287. {{ $t('settings.use_contain_fit') }}
  288. </BooleanSetting>
  289. </li>
  290. <li>
  291. <BooleanSetting path="hideNsfw">
  292. {{ $t('settings.nsfw_clickthrough') }}
  293. </BooleanSetting>
  294. </li>
  295. <ul class="setting-list suboptions">
  296. <li>
  297. <BooleanSetting
  298. path="preloadImage"
  299. expert="1"
  300. parent-path="hideNsfw"
  301. >
  302. {{ $t('settings.preload_images') }}
  303. </BooleanSetting>
  304. </li>
  305. <li>
  306. <BooleanSetting
  307. path="useOneClickNsfw"
  308. expert="1"
  309. parent-path="hideNsfw"
  310. >
  311. {{ $t('settings.use_one_click_nsfw') }}
  312. </BooleanSetting>
  313. </li>
  314. </ul>
  315. <li>
  316. <BooleanSetting
  317. path="loopVideo"
  318. expert="1"
  319. >
  320. {{ $t('settings.loop_video') }}
  321. </BooleanSetting>
  322. <ul class="setting-list suboptions">
  323. <li>
  324. <BooleanSetting
  325. path="loopVideoSilentOnly"
  326. expert="1"
  327. parent-path="loopVideo"
  328. :disabled="!loopSilentAvailable"
  329. >
  330. {{ $t('settings.loop_video_silent_only') }}
  331. </BooleanSetting>
  332. <div
  333. v-if="!loopSilentAvailable"
  334. class="unavailable"
  335. >
  336. <FAIcon icon="globe" />! {{ $t('settings.limited_availability') }}
  337. </div>
  338. </li>
  339. </ul>
  340. </li>
  341. <li>
  342. <BooleanSetting
  343. path="playVideosInModal"
  344. expert="1"
  345. >
  346. {{ $t('settings.play_videos_in_modal') }}
  347. </BooleanSetting>
  348. </li>
  349. <h3>{{ $t('settings.mention_links') }}</h3>
  350. <li>
  351. <ChoiceSetting
  352. id="mentionLinkDisplay"
  353. path="mentionLinkDisplay"
  354. :options="mentionLinkDisplayOptions"
  355. >
  356. {{ $t('settings.mention_link_display') }}
  357. </ChoiceSetting>
  358. </li>
  359. <li>
  360. <BooleanSetting
  361. path="mentionLinkShowTooltip"
  362. expert="1"
  363. >
  364. {{ $t('settings.mention_link_use_tooltip') }}
  365. </BooleanSetting>
  366. </li>
  367. <li>
  368. <BooleanSetting
  369. path="useAtIcon"
  370. expert="1"
  371. >
  372. {{ $t('settings.use_at_icon') }}
  373. </BooleanSetting>
  374. </li>
  375. <li>
  376. <BooleanSetting path="mentionLinkShowAvatar">
  377. {{ $t('settings.mention_link_show_avatar') }}
  378. </BooleanSetting>
  379. </li>
  380. <li>
  381. <BooleanSetting
  382. path="mentionLinkFadeDomain"
  383. expert="1"
  384. >
  385. {{ $t('settings.mention_link_fade_domain') }}
  386. </BooleanSetting>
  387. </li>
  388. <li v-if="user">
  389. <BooleanSetting
  390. path="mentionLinkBoldenYou"
  391. expert="1"
  392. >
  393. {{ $t('settings.mention_link_bolden_you') }}
  394. </BooleanSetting>
  395. </li>
  396. <h3 v-if="expertLevel > 0">
  397. {{ $t('settings.fun') }}
  398. </h3>
  399. <li>
  400. <BooleanSetting
  401. path="greentext"
  402. expert="1"
  403. >
  404. {{ $t('settings.greentext') }}
  405. </BooleanSetting>
  406. </li>
  407. <li v-if="user">
  408. <BooleanSetting
  409. path="mentionLinkShowYous"
  410. expert="1"
  411. >
  412. {{ $t('settings.show_yous') }}
  413. </BooleanSetting>
  414. </li>
  415. </ul>
  416. </div>
  417. <div
  418. v-if="user"
  419. class="setting-item"
  420. >
  421. <h2>{{ $t('settings.composing') }}</h2>
  422. <ul class="setting-list">
  423. <li>
  424. <label for="default-vis">
  425. {{ $t('settings.default_vis') }} <ProfileSettingIndicator :is-profile="true" />
  426. <ScopeSelector
  427. class="scope-selector"
  428. :show-all="true"
  429. :user-default="$store.state.profileConfig.defaultScope"
  430. :initial-scope="$store.state.profileConfig.defaultScope"
  431. :on-scope-change="changeDefaultScope"
  432. />
  433. </label>
  434. </li>
  435. <li>
  436. <!-- <BooleanSetting source="profile" path="defaultNSFW"> -->
  437. <BooleanSetting path="sensitiveByDefault">
  438. {{ $t('settings.sensitive_by_default') }}
  439. </BooleanSetting>
  440. </li>
  441. <li>
  442. <BooleanSetting
  443. path="scopeCopy"
  444. expert="1"
  445. >
  446. {{ $t('settings.scope_copy') }}
  447. </BooleanSetting>
  448. </li>
  449. <li>
  450. <BooleanSetting
  451. path="alwaysShowSubjectInput"
  452. expert="1"
  453. >
  454. {{ $t('settings.subject_input_always_show') }}
  455. </BooleanSetting>
  456. </li>
  457. <li>
  458. <ChoiceSetting
  459. id="subjectLineBehavior"
  460. path="subjectLineBehavior"
  461. :options="subjectLineOptions"
  462. expert="1"
  463. >
  464. {{ $t('settings.subject_line_behavior') }}
  465. </ChoiceSetting>
  466. </li>
  467. <li v-if="postFormats.length > 0">
  468. <ChoiceSetting
  469. id="postContentType"
  470. path="postContentType"
  471. :options="postContentOptions"
  472. >
  473. {{ $t('settings.post_status_content_type') }}
  474. </ChoiceSetting>
  475. </li>
  476. <li>
  477. <BooleanSetting
  478. path="minimalScopesMode"
  479. expert="1"
  480. >
  481. {{ $t('settings.minimal_scopes_mode') }}
  482. </BooleanSetting>
  483. </li>
  484. <li>
  485. <BooleanSetting
  486. path="alwaysShowNewPostButton"
  487. expert="1"
  488. >
  489. {{ $t('settings.always_show_post_button') }}
  490. </BooleanSetting>
  491. </li>
  492. <li>
  493. <BooleanSetting
  494. path="autohideFloatingPostButton"
  495. expert="1"
  496. >
  497. {{ $t('settings.autohide_floating_post_button') }}
  498. </BooleanSetting>
  499. </li>
  500. <li>
  501. <BooleanSetting
  502. path="padEmoji"
  503. expert="1"
  504. >
  505. {{ $t('settings.pad_emoji') }}
  506. </BooleanSetting>
  507. </li>
  508. <li>
  509. <BooleanSetting
  510. path="autocompleteSelect"
  511. expert="1"
  512. >
  513. {{ $t('settings.autocomplete_select_first') }}
  514. </BooleanSetting>
  515. </li>
  516. </ul>
  517. </div>
  518. </div>
  519. </template>
  520. <script src="./general_tab.js"></script>
  521. <style lang="scss">
  522. .column-settings {
  523. display: flex;
  524. justify-content: space-evenly;
  525. flex-wrap: wrap;
  526. }
  527. .column-settings .size-label {
  528. display: block;
  529. margin-bottom: 0.5em;
  530. margin-top: 0.5em;
  531. }
  532. </style>