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 (15276B)


  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. <ul class="setting-list suboptions">
  273. <li>
  274. <BooleanSetting
  275. path="alwaysUseJpeg"
  276. expert="1"
  277. parent-path="imageCompression"
  278. >
  279. {{ $t('settings.always_use_jpeg') }}
  280. </BooleanSetting>
  281. </li>
  282. </ul>
  283. <li>
  284. <BooleanSetting
  285. path="useContainFit"
  286. expert="1"
  287. >
  288. {{ $t('settings.use_contain_fit') }}
  289. </BooleanSetting>
  290. </li>
  291. <li>
  292. <BooleanSetting path="hideNsfw">
  293. {{ $t('settings.nsfw_clickthrough') }}
  294. </BooleanSetting>
  295. </li>
  296. <ul class="setting-list suboptions">
  297. <li>
  298. <BooleanSetting
  299. path="preloadImage"
  300. expert="1"
  301. parent-path="hideNsfw"
  302. >
  303. {{ $t('settings.preload_images') }}
  304. </BooleanSetting>
  305. </li>
  306. <li>
  307. <BooleanSetting
  308. path="useOneClickNsfw"
  309. expert="1"
  310. parent-path="hideNsfw"
  311. >
  312. {{ $t('settings.use_one_click_nsfw') }}
  313. </BooleanSetting>
  314. </li>
  315. </ul>
  316. <li>
  317. <BooleanSetting
  318. path="loopVideo"
  319. expert="1"
  320. >
  321. {{ $t('settings.loop_video') }}
  322. </BooleanSetting>
  323. <ul class="setting-list suboptions">
  324. <li>
  325. <BooleanSetting
  326. path="loopVideoSilentOnly"
  327. expert="1"
  328. parent-path="loopVideo"
  329. :disabled="!loopSilentAvailable"
  330. >
  331. {{ $t('settings.loop_video_silent_only') }}
  332. </BooleanSetting>
  333. <div
  334. v-if="!loopSilentAvailable"
  335. class="unavailable"
  336. >
  337. <FAIcon icon="globe" />! {{ $t('settings.limited_availability') }}
  338. </div>
  339. </li>
  340. </ul>
  341. </li>
  342. <li>
  343. <BooleanSetting
  344. path="playVideosInModal"
  345. expert="1"
  346. >
  347. {{ $t('settings.play_videos_in_modal') }}
  348. </BooleanSetting>
  349. </li>
  350. <h3>{{ $t('settings.mention_links') }}</h3>
  351. <li>
  352. <ChoiceSetting
  353. id="mentionLinkDisplay"
  354. path="mentionLinkDisplay"
  355. :options="mentionLinkDisplayOptions"
  356. >
  357. {{ $t('settings.mention_link_display') }}
  358. </ChoiceSetting>
  359. </li>
  360. <li>
  361. <BooleanSetting
  362. path="mentionLinkShowTooltip"
  363. expert="1"
  364. >
  365. {{ $t('settings.mention_link_use_tooltip') }}
  366. </BooleanSetting>
  367. </li>
  368. <li>
  369. <BooleanSetting path="mentionLinkShowAvatar">
  370. {{ $t('settings.mention_link_show_avatar') }}
  371. </BooleanSetting>
  372. </li>
  373. <li>
  374. <BooleanSetting
  375. path="mentionLinkFadeDomain"
  376. expert="1"
  377. >
  378. {{ $t('settings.mention_link_fade_domain') }}
  379. </BooleanSetting>
  380. </li>
  381. <li v-if="user">
  382. <BooleanSetting
  383. path="mentionLinkBoldenYou"
  384. expert="1"
  385. >
  386. {{ $t('settings.mention_link_bolden_you') }}
  387. </BooleanSetting>
  388. </li>
  389. <h3 v-if="expertLevel > 0">
  390. {{ $t('settings.fun') }}
  391. </h3>
  392. <li>
  393. <BooleanSetting
  394. path="greentext"
  395. expert="1"
  396. >
  397. {{ $t('settings.greentext') }}
  398. </BooleanSetting>
  399. </li>
  400. <li v-if="user">
  401. <BooleanSetting
  402. path="mentionLinkShowYous"
  403. expert="1"
  404. >
  405. {{ $t('settings.show_yous') }}
  406. </BooleanSetting>
  407. </li>
  408. </ul>
  409. </div>
  410. <div
  411. v-if="user"
  412. class="setting-item"
  413. >
  414. <h2>{{ $t('settings.composing') }}</h2>
  415. <ul class="setting-list">
  416. <li>
  417. <label for="default-vis">
  418. {{ $t('settings.default_vis') }} <ProfileSettingIndicator :is-profile="true" />
  419. <ScopeSelector
  420. class="scope-selector"
  421. :show-all="true"
  422. :user-default="$store.state.profileConfig.defaultScope"
  423. :initial-scope="$store.state.profileConfig.defaultScope"
  424. :on-scope-change="changeDefaultScope"
  425. />
  426. </label>
  427. </li>
  428. <li>
  429. <!-- <BooleanSetting source="profile" path="defaultNSFW"> -->
  430. <BooleanSetting path="sensitiveByDefault">
  431. {{ $t('settings.sensitive_by_default') }}
  432. </BooleanSetting>
  433. </li>
  434. <li>
  435. <BooleanSetting
  436. path="scopeCopy"
  437. expert="1"
  438. >
  439. {{ $t('settings.scope_copy') }}
  440. </BooleanSetting>
  441. </li>
  442. <li>
  443. <BooleanSetting
  444. path="alwaysShowSubjectInput"
  445. expert="1"
  446. >
  447. {{ $t('settings.subject_input_always_show') }}
  448. </BooleanSetting>
  449. </li>
  450. <li>
  451. <ChoiceSetting
  452. id="subjectLineBehavior"
  453. path="subjectLineBehavior"
  454. :options="subjectLineOptions"
  455. expert="1"
  456. >
  457. {{ $t('settings.subject_line_behavior') }}
  458. </ChoiceSetting>
  459. </li>
  460. <li v-if="postFormats.length > 0">
  461. <ChoiceSetting
  462. id="postContentType"
  463. path="postContentType"
  464. :options="postContentOptions"
  465. >
  466. {{ $t('settings.post_status_content_type') }}
  467. </ChoiceSetting>
  468. </li>
  469. <li>
  470. <BooleanSetting
  471. path="minimalScopesMode"
  472. expert="1"
  473. >
  474. {{ $t('settings.minimal_scopes_mode') }}
  475. </BooleanSetting>
  476. </li>
  477. <li>
  478. <BooleanSetting
  479. path="padEmoji"
  480. expert="1"
  481. >
  482. {{ $t('settings.pad_emoji') }}
  483. </BooleanSetting>
  484. </li>
  485. <li>
  486. <BooleanSetting
  487. path="autocompleteSelect"
  488. expert="1"
  489. >
  490. {{ $t('settings.autocomplete_select_first') }}
  491. </BooleanSetting>
  492. </li>
  493. <li>
  494. <BooleanSetting
  495. path="autoSaveDraft"
  496. >
  497. {{ $t('settings.auto_save_draft') }}
  498. </BooleanSetting>
  499. </li>
  500. <li v-if="!mergedConfig.autoSaveDraft">
  501. <ChoiceSetting
  502. id="unsavedPostAction"
  503. path="unsavedPostAction"
  504. :options="unsavedPostActionOptions"
  505. >
  506. {{ $t('settings.unsaved_post_action') }}
  507. </ChoiceSetting>
  508. </li>
  509. </ul>
  510. </div>
  511. </div>
  512. </template>
  513. <script src="./general_tab.js"></script>