logo

pleroma-fe

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

general_tab.vue (15346B)


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