Compare commits

..

3776 commits

Author SHA1 Message Date
HJ
96a24ec625 Merge branch 'fix-discoverable-setting' into 'develop'
fix "allow discovery" setting misbehaving

See merge request pleroma/pleroma-fe!1518
2022-04-29 07:56:18 +00:00
Henry Jameson
91f833d1f0 fix "allow discovery" setting misbehaving 2022-04-29 10:52:16 +03:00
HJ
92b04ba7df Merge branch 'fix-chat-errors' into 'develop'
fix some chat errors/warnings that sometimes happen

See merge request pleroma/pleroma-fe!1515
2022-04-20 17:27:01 +00:00
Henry Jameson
895eda3714 fix some chat errors/warnings that sometimes happen 2022-04-20 20:19:22 +03:00
HJ
fb63e81ed1 Merge branch 'from/develop/tusooa/1157-popover-trigger' into 'develop'
Fix incorrect close of a status popover when clicking Expand inside it

Closes #1157

See merge request pleroma/pleroma-fe!1514
2022-04-20 09:15:18 +00:00
Tusooa Zhu
a4ea0a30bf
Fix incorrect close of a status popover when clicking Expand inside it
basically Vue (3 in particular?) will make changes to DOM before this event
listener is called, and if the target is displayed using v-if, it will not
be part of the DOM at that time, and contains() will return false. so it
goes to call hidePopover() which caused this bug.
2022-04-19 20:24:24 -04:00
HJ
1041a38f14 Merge branch 'fix-hashtags' into 'develop'
fix hashtags by explicitly putting attributes

See merge request pleroma/pleroma-fe!1513
2022-04-12 16:09:33 +00:00
Henry Jameson
0bb69d7fe0 fix tests 2022-04-12 19:04:32 +03:00
Henry Jameson
d175e86901 fix hashtags by explicitly putting attributes 2022-04-12 18:10:19 +03:00
HJ
c2a4051d72 Merge branch 'from/develop/tusooa/cropper-close' into 'develop'
Fix image cropper not closing correctly

See merge request pleroma/pleroma-fe!1512
2022-04-10 17:40:52 +00:00
Tusooa Zhu
169d13680a
Fix image cropper not closing correctly 2022-04-10 13:02:45 -04:00
HJ
4d15cbcbbd Merge branch 'from/develop/tusooa/1158-hidden-tabs' into 'develop'
Fix tab switcher not working when some tabs hidden

Closes #1158

See merge request pleroma/pleroma-fe!1511
2022-04-10 06:32:41 +00:00
Tusooa Zhu
3b02566e16
Fix tab switcher not working when some tabs hidden 2022-04-09 23:50:29 -04:00
HJ
87311cff09 Merge branch 'from/develop/tusooa/mobile-nav-link-col' into 'develop'
Fix mobile nav link text colour

See merge request pleroma/pleroma-fe!1510
2022-04-07 21:12:17 +00:00
Tusooa Zhu
6951fda0d6
Fix mobile nav link text colour 2022-04-07 15:59:03 -04:00
HJ
2d99cbc640 Merge branch 'from/develop/tusooa/1160-rm-shrug' into 'develop'
Fix shrug text in muted status

Closes #1160

See merge request pleroma/pleroma-fe!1509
2022-04-07 15:50:51 +00:00
Tusooa Zhu
22c70ae22a
Fix shrug text in muted status 2022-04-07 11:45:23 -04:00
HJ
d8324dd80b Merge branch 'from/develop/tusooa/shoutbox-icon-paneltext' into 'develop'
Use panel text instead of text for shoutbox icon

See merge request pleroma/pleroma-fe!1508
2022-04-07 07:24:40 +00:00
HJ
caacaf238c Merge branch 'from/develop/tusooa/popover-in-panel-style' into 'develop'
Fix popover in panel header styling

See merge request pleroma/pleroma-fe!1507
2022-04-07 07:24:22 +00:00
HJ
e4b8aaece6 Merge branch 'from/develop/tusooa/fix-shout-local' into 'develop'
Fix phoenix sockets in dev mode

See merge request pleroma/pleroma-fe!1506
2022-04-07 07:23:06 +00:00
HJ
bfc7b6af8f Merge branch 'from/develop/tusooa/1156-vue3-shoutbox' into 'develop'
Fix no reactivity on vuex 4 values

Closes #1156

See merge request pleroma/pleroma-fe!1505
2022-04-07 07:01:09 +00:00
Tusooa Zhu
fce9c5eeb2
Fix active popover style 2022-04-06 22:50:46 -04:00
Tusooa Zhu
6de87e8b65
Use panel text instead of text for shoutbox icon 2022-04-06 20:30:23 -04:00
Tusooa Zhu
041c72b07c
Fix dropdown menu style inside panel header 2022-04-06 20:14:17 -04:00
Tusooa Zhu
741a59e0cc
Fix phoenix sockets in dev mode
phoenix requires the Origin header to be set to the actual address,
so "http://localhost:xxxx" will not work.
2022-04-06 18:52:16 -04:00
Tusooa Zhu
4ddb6189dc
Fix no reactivity on vuex 4 values 2022-04-06 17:17:47 -04:00
HJ
0e56ac1c2b Merge branch 'fix-csp-vue3' into 'develop'
Makes develop usable on stock PleromaBE

See merge request pleroma/pleroma-fe!1504
2022-04-06 15:48:33 +00:00
Henry Jameson
853f5145be fix tegulu 2022-04-06 18:43:47 +03:00
Henry Jameson
b213d25711 heck 2022-04-06 15:48:07 +03:00
Henry Jameson
bd77f3a1a6 fix i18n for good?? 2022-04-06 15:45:44 +03:00
Henry Jameson
78817e37f7 force runtime build of i18n 2022-04-06 11:43:30 +03:00
Henry Jameson
2b0dd2cbae fix CSP by compiling the i18n templates as well 2022-04-05 23:45:26 +03:00
HJ
a613447105 Merge branch 'from/develop/tusooa/phoenix-1.6.2' into 'develop'
Fix phoenix at 1.6.2

See merge request pleroma/pleroma-fe!1502
2022-04-01 13:03:13 +00:00
Tusooa Zhu
a3233e31d0
Fix phoenix at 1.6.2
According to https://github.com/phoenixframework/phoenix/issues/4623 ,
1.6.2 seems to not have the disconnection bug.
2022-04-01 08:44:18 -04:00
HJ
f71f101fce Merge branch 'vue3-again' into 'develop'
Migration to Vue 3 (again)

See merge request pleroma/pleroma-fe!1385
2022-03-31 17:45:29 +00:00
HJ
afdc61b9b7 Merge branch 'vue3-no-compat' into 'vue3-again'
Remove Vue3 compat build

See merge request pleroma/pleroma-fe!1500
2022-03-31 17:39:08 +00:00
HJ
1d1ea7e703 Merge branch 'from/develop/tusooa/fix-feat-shoutbox-en' into 'develop'
Fix English translation of Shoutbox in features panel

See merge request pleroma/pleroma-fe!1489
2022-03-30 21:40:19 +00:00
Henry Jameson
052ad2fe3f Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  oops
2022-03-30 23:54:21 +03:00
Henry Jameson
a0099ecb66 oops 2022-03-30 23:54:11 +03:00
Henry Jameson
9940739f1f Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  fix some mishaps i noticed during self-review
2022-03-30 23:52:24 +03:00
Henry Jameson
afbe1a96ac fix some mishaps i noticed during self-review 2022-03-30 23:48:06 +03:00
Henry Jameson
e029c2864f Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  fix importer
2022-03-30 18:00:48 +03:00
Henry Jameson
dadf2f407f fix importer 2022-03-30 18:00:37 +03:00
Henry Jameson
6751c22a23 Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  make all clickable icons into actual buttons
2022-03-30 13:13:41 +03:00
Henry Jameson
1943991077 make all clickable icons into actual buttons 2022-03-30 12:34:27 +03:00
Henry Jameson
115170f35d Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  fix emoji input warning spam
  fix error clear icon
  Add controlledShowingLongSubject and toggle in StatusContent props
2022-03-30 01:26:35 +03:00
Henry Jameson
c3690b456e fix emoji input warning spam 2022-03-30 01:24:53 +03:00
Henry Jameson
70593e71e6 fix error clear icon 2022-03-30 01:24:17 +03:00
HJ
1c60609547 Merge branch 'vue3-again' into 'vue3-again'
Add controlledShowingLongSubject and toggle in StatusContent props

See merge request pleroma/pleroma-fe!1499
2022-03-29 18:13:27 +00:00
Tusooa Zhu
b84acfd7b7
Add controlledShowingLongSubject and toggle in StatusContent props 2022-03-29 13:56:42 -04:00
Henry Jameson
97e072d93a how did this get back?? 2022-03-29 20:23:44 +03:00
Henry Jameson
2179054384 Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  fix warning about custom component
  fix?
  fix some issues with trees
  removing uselsess stuff
  fix reset buttons in profile again
  fix spacing in poll expiration label
  registration fixes
2022-03-29 20:00:59 +03:00
Henry Jameson
a3f48fc3f4 fix warning about custom component 2022-03-29 19:55:30 +03:00
Henry Jameson
de2f968645 fix? 2022-03-29 19:44:07 +03:00
Henry Jameson
e1483488c7 fix some issues with trees 2022-03-29 19:23:30 +03:00
Henry Jameson
a1822f073d removing uselsess stuff 2022-03-29 19:21:13 +03:00
Henry Jameson
218b15b5fd fix reset buttons in profile again 2022-03-29 19:12:57 +03:00
Henry Jameson
bc029b0fa2 fix spacing in poll expiration label 2022-03-29 19:04:01 +03:00
Henry Jameson
2d7f242713 remove unused props to fix test 2022-03-29 16:33:34 +03:00
Henry Jameson
0afc955ebd registration fixes 2022-03-29 16:08:57 +03:00
Henry Jameson
e80e53d9d2 Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  re-fix i18n warnings again
  fix qr code
2022-03-29 16:00:56 +03:00
Henry Jameson
afcfcce2e6 re-fix i18n warnings again 2022-03-29 15:46:21 +03:00
Henry Jameson
3171241c6f fix qr code 2022-03-29 15:44:42 +03:00
Henry Jameson
3e0bb91ff2 Merge branch 'vue3-again' into vue3-no-compat
* vue3-again:
  lint + fixes for registration
  fix production build's reply not working in tree mode
  lock down version?
  manual lint
  Revert "fix weird thing i somehow missed"
  Revert "lint"
  fix weird thing i somehow missed
  lint
2022-03-29 15:35:47 +03:00
Henry Jameson
5bbc0e0bb5 lint + fixes for registration 2022-03-29 15:35:18 +03:00
Henry Jameson
3799983d4f fix production build's reply not working in tree mode 2022-03-29 12:43:42 +03:00
Henry Jameson
3f04ebd89a lock down version? 2022-03-29 12:27:59 +03:00
Henry Jameson
b93e5437bd manual lint 2022-03-29 12:04:09 +03:00
Henry Jameson
64d56e6515 Revert "fix weird thing i somehow missed"
This reverts commit b132581b3a.
2022-03-29 11:59:00 +03:00
Henry Jameson
d9d4d8954e Revert "lint"
This reverts commit f20ae34400.
2022-03-29 11:57:54 +03:00
Henry Jameson
b132581b3a fix weird thing i somehow missed 2022-03-29 11:47:22 +03:00
Henry Jameson
f20ae34400 lint 2022-03-29 01:04:37 +03:00
Henry Jameson
dc8bef7928 remove compat build 2022-03-29 00:58:17 +03:00
Henry Jameson
650e69c336 fix misc warnings 2022-03-29 00:02:02 +03:00
Henry Jameson
f21dc21a83 properly implement resettableAsyncComponent 2022-03-28 23:55:57 +03:00
Henry Jameson
9afbb12f95 fix opacity control again 2022-03-28 23:55:11 +03:00
Henry Jameson
7b10e47b21 rename some binding hooks according to new names 2022-03-28 23:54:30 +03:00
Henry Jameson
4b630c3c36 fix warnings 2022-03-28 17:37:26 +03:00
Henry Jameson
bdd240a230 fix some more warnings 2022-03-28 17:21:42 +03:00
Henry Jameson
c57af7e242 remove some warnings 2022-03-28 17:13:48 +03:00
Henry Jameson
f706234d77 fix being unable to set/reset background (and possibly avatar/banner) 2022-03-28 15:01:34 +03:00
Henry Jameson
805615d52b fix background not showing 2022-03-28 14:26:50 +03:00
Henry Jameson
8424b772b0 fix tabs in search 2022-03-27 14:43:16 +03:00
Henry Jameson
115f38c422 fix optional color inputs 2022-03-27 14:20:55 +03:00
Henry Jameson
48fd8a66ad fix opacity control 2022-03-27 14:18:02 +03:00
Henry Jameson
53cde52027 fix font control 2022-03-27 14:16:23 +03:00
Henry Jameson
75f6506bc7 fix (You) spacing 2022-03-27 14:10:45 +03:00
Henry Jameson
1d77063a4b fix shadow control in theme tab 2022-03-27 13:45:02 +03:00
Henry Jameson
ccd7378347 fix (roundness) ranges in theme tab 2022-03-27 13:31:56 +03:00
Henry Jameson
8e711e0587 get rid of portal-vue 2022-03-27 12:59:15 +03:00
Henry Jameson
87d420a92b port !1488 to vue3 2022-03-27 12:58:28 +03:00
Henry Jameson
d6bbccdd71 Merge remote-tracking branch 'origin/develop' into vue3-again
* origin/develop:
  Remove debugging code
  Fix overlapping buttons in Theme settings
  Update dependency ruffle-mirror to v2021.12.31
  Update dependency babel-loader to v8.2.4
2022-03-27 12:50:00 +03:00
Henry Jameson
913749739f fix user-list-popover 2022-03-27 12:29:28 +03:00
Henry Jameson
0b7a8dca15 fix duplicate setting (most likely a merge issue) 2022-03-27 12:26:51 +03:00
Henry Jameson
dd4672dc9a fix opening directly to filtering tab not working 2022-03-27 12:24:38 +03:00
Henry Jameson
9ac7046521 Fix notices not disappearing on their own 2022-03-27 12:21:33 +03:00
Henry Jameson
e4c804fac0 fix another spacing issue 2022-03-27 12:03:31 +03:00
HJ
fd77c583bf Merge branch 'from/develop/tusooa/fix-overlap-button' into 'develop'
Fix overlapping buttons in Theme settings

See merge request pleroma/pleroma-fe!1488
2022-03-25 13:22:06 +00:00
HJ
b319c0c72b Remove debugging code 2022-03-25 13:17:22 +00:00
Tusooa Zhu
c5551e834b
Fix English translation of Shoutbox in features panel 2022-03-24 19:28:15 -04:00
Tusooa Zhu
e58422889b
Fix overlapping buttons in Theme settings 2022-03-24 18:03:13 -04:00
Henry Jameson
b7755314b1 fix forms closing in timelines 2022-03-24 14:09:25 +02:00
Henry Jameson
3fb647b34b fix minor renames 2022-03-24 13:50:22 +02:00
Henry Jameson
0eb9c019e4 woah ima stupid 2022-03-24 13:41:52 +02:00
HJ
aa0b2e0723 Merge branch 'renovate/ruffle-mirror-2021.x' into 'develop'
Update dependency ruffle-mirror to v2021.12.31

See merge request pleroma/pleroma-fe!1486
2022-03-24 10:10:03 +00:00
Henry Jameson
4539feed40 fix checkboxes, specifically the NSFW one 2022-03-24 11:41:39 +02:00
Pleroma Renovate Bot
20c14a1d99 Update dependency ruffle-mirror to v2021.12.31 2022-03-24 09:05:00 +00:00
Henry Jameson
9793002070 cleanup console log 2022-03-23 16:53:57 +02:00
Henry Jameson
01d8fa4e54 fix i18n at places 2022-03-23 16:32:53 +02:00
Henry Jameson
961ca3a71b fix all the spacings i could find 2022-03-23 16:15:05 +02:00
Henry Jameson
08811e5a27 fix spacings in notifications 2022-03-23 16:08:45 +02:00
Henry Jameson
a6fae395da fix dupe id 2022-03-23 16:05:53 +02:00
Henry Jameson
d690b88c1c fix animations 2022-03-23 15:53:36 +02:00
Henry Jameson
322ec8681a cleanup 2022-03-23 15:44:37 +02:00
HJ
e1bfa6fbd3 Merge branch 'renovate/babel-monorepo' into 'develop'
Update dependency babel-loader to v8.2.4

See merge request pleroma/pleroma-fe!1484
2022-03-23 13:04:33 +00:00
Pleroma Renovate Bot
db0e1a2534 Update dependency babel-loader to v8.2.4 2022-03-23 09:05:04 +00:00
Henry Jameson
d524e98348 fix capitalization (and localization of tooltips for scope icon) 2022-03-22 20:42:29 +02:00
Henry Jameson
7afa6c9f40 listeners aren't actually used 2022-03-22 20:22:28 +02:00
Henry Jameson
538903f9d8 fix selects in settings screen 2022-03-22 20:17:25 +02:00
Henry Jameson
c5a6f40dff fix tabs not being able to be "disabled" 2022-03-22 20:15:21 +02:00
Henry Jameson
b817e09ee8 fix avatars not opening inline card 2022-03-22 19:43:11 +02:00
Henry Jameson
6b5791fda6 fix other weird route 2022-03-22 19:20:12 +02:00
Henry Jameson
3250e59266 fix routes test 2022-03-22 18:56:54 +02:00
Henry Jameson
e5ae0671ce skip user profile test for now https://github.com/vuejs/test-utils/issues/1382 2022-03-22 18:56:39 +02:00
Henry Jameson
9d7a7e2019 fix emoji input tests 2022-03-22 18:22:23 +02:00
Henry Jameson
c2cf13fc00 fix richcontent and its tests 2022-03-22 18:22:23 +02:00
Henry Jameson
c3546ea856 fix tests running 2022-03-22 18:22:23 +02:00
Henry Jameson
edb66ecade fix mobile post button being too square 2022-03-22 16:39:27 +02:00
Henry Jameson
c6a4a0a320 Merge remote-tracking branch 'origin/develop' into vue3-again
* origin/develop:
  quick fix for alignment in avatars, juggling multiple branches is confusing
  fix even more issues with avatars
  Update dependency ora to v0.4.1
  Update dependency mini-css-extract-plugin to v0.12.0
  Update dependency karma-firefox-launcher to v1.3.0
  fix avatars in mobile view
2022-03-22 12:14:02 +02:00
HJ
6a31962ca0 Merge branch 'fix-avatars3' into 'develop'
quick fix for alignment in avatars

See merge request pleroma/pleroma-fe!1483
2022-03-22 10:03:17 +00:00
Henry Jameson
fa99abf106 quick fix for alignment in avatars, juggling multiple branches is confusing 2022-03-22 11:57:21 +02:00
HJ
9be06d9f71 Merge branch 'renovate/mini-css-extract-plugin-0.x' into 'develop'
Update dependency mini-css-extract-plugin to v0.12.0

See merge request pleroma/pleroma-fe!1480
2022-03-22 09:54:23 +00:00
HJ
966919874e Merge branch 'fix-avatars2' into 'develop'
fix even more issues with avatars

See merge request pleroma/pleroma-fe!1482
2022-03-22 09:53:13 +00:00
HJ
a253c95170 Merge branch 'develop' into 'fix-avatars2'
# Conflicts:
#   src/components/status/status.scss
2022-03-22 09:47:24 +00:00
Henry Jameson
c6e0dcf08e fix even more issues with avatars 2022-03-22 11:43:51 +02:00
HJ
0147226b3d Merge branch 'renovate/ora-0.x' into 'develop'
Update dependency ora to v0.4.1

See merge request pleroma/pleroma-fe!1481
2022-03-22 09:20:54 +00:00
HJ
1571053fba Merge branch 'renovate/karma-firefox-launcher-1.x' into 'develop'
Update dependency karma-firefox-launcher to v1.3.0

See merge request pleroma/pleroma-fe!1475
2022-03-22 09:20:11 +00:00
Pleroma Renovate Bot
623aa3d20d Update dependency ora to v0.4.1 2022-03-22 09:06:15 +00:00
Pleroma Renovate Bot
636a55e72d Update dependency mini-css-extract-plugin to v0.12.0 2022-03-22 09:06:08 +00:00
Pleroma Renovate Bot
304f871332 Update dependency karma-firefox-launcher to v1.3.0 2022-03-22 09:06:00 +00:00
HJ
2cd8a3ec8d Merge branch 'fix-mobile-avatars' into 'develop'
fix avatars in mobile view

See merge request pleroma/pleroma-fe!1479
2022-03-22 08:24:42 +00:00
Henry Jameson
971cec024c fix avatars in mobile view 2022-03-22 10:20:45 +02:00
Henry Jameson
7a17eb7fec fix selects 2022-03-21 22:01:08 +02:00
Henry Jameson
4cb14c257c fix expert mode checkbox not working 2022-03-21 21:34:55 +02:00
Henry Jameson
1187727b60 fix tabswitcher bugs 2022-03-21 21:29:51 +02:00
Henry Jameson
54fd7e2be6 Merge remote-tracking branch 'origin/develop' into vue3-again
* origin/develop:
  improve the looks of bot indicator
  fix bot indicator appearing on retweeter avatar
  Update dependency localforage to v1.10.0
  Update dependency http-proxy-middleware to v0.21.0
  Update dependency eslint-plugin-standard to v4.1.0
  Update dependency eslint-plugin-import to v2.25.4
  Update babel monorepo to v7.17.8
  Update dependency iso-639-1 to v2.1.13
  Update dependency express to v4.17.3
  Update dependency eslint-plugin-promise to v4.3.1
  Update dependency eslint-loader to v2.2.1
2022-03-21 21:09:48 +02:00
HJ
0ef58696bf Merge branch 'bot-indicator-fixes' into 'develop'
Bot indicator fixes

See merge request pleroma/pleroma-fe!1477
2022-03-21 19:04:21 +00:00
Henry Jameson
9478a462a7 improve the looks of bot indicator 2022-03-21 20:59:25 +02:00
Henry Jameson
4e2fd7baf9 fix bot indicator appearing on retweeter avatar 2022-03-21 20:39:56 +02:00
HJ
66fb3987d6 Merge branch 'renovate/localforage-1.x' into 'develop'
Update dependency localforage to v1.10.0

See merge request pleroma/pleroma-fe!1476
2022-03-21 18:27:24 +00:00
HJ
1e60a491c4 Merge branch 'renovate/eslint-plugin-standard-4.x' into 'develop'
Update dependency eslint-plugin-standard to v4.1.0

See merge request pleroma/pleroma-fe!1471
2022-03-21 18:26:27 +00:00
HJ
12ce58a5a0 Merge branch 'renovate/babel-monorepo' into 'develop'
Update babel monorepo to v7.17.8

See merge request pleroma/pleroma-fe!1469
2022-03-21 18:25:29 +00:00
HJ
2f24f3312d Merge branch 'renovate/http-proxy-middleware-0.x' into 'develop'
Update dependency http-proxy-middleware to v0.21.0

See merge request pleroma/pleroma-fe!1473
2022-03-21 18:24:02 +00:00
HJ
1cc35b6df8 Merge branch 'renovate/eslint-plugin-import-2.x' into 'develop'
Update dependency eslint-plugin-import to v2.25.4

See merge request pleroma/pleroma-fe!1468
2022-03-21 18:19:24 +00:00
Pleroma Renovate Bot
4f2be206df Update dependency localforage to v1.10.0 2022-03-21 18:16:34 +00:00
Pleroma Renovate Bot
6074ad67ab Update dependency http-proxy-middleware to v0.21.0 2022-03-21 18:16:06 +00:00
Pleroma Renovate Bot
c5cb76ac3b Update dependency eslint-plugin-standard to v4.1.0 2022-03-21 18:15:53 +00:00
Pleroma Renovate Bot
e4b010321d Update dependency eslint-plugin-import to v2.25.4 2022-03-21 18:15:39 +00:00
Pleroma Renovate Bot
5e4ff5de7c Update babel monorepo to v7.17.8 2022-03-21 18:15:22 +00:00
HJ
6b14b645be Merge branch 'renovate/eslint-loader-2.x' into 'develop'
Update dependency eslint-loader to v2.2.1

See merge request pleroma/pleroma-fe!1467
2022-03-21 18:13:00 +00:00
HJ
79258f61be Merge branch 'renovate/eslint-plugin-promise-4.x' into 'develop'
Update dependency eslint-plugin-promise to v4.3.1

See merge request pleroma/pleroma-fe!1470
2022-03-21 18:10:10 +00:00
HJ
3ea442667f Merge branch 'renovate/express-4.x' into 'develop'
Update dependency express to v4.17.3

See merge request pleroma/pleroma-fe!1472
2022-03-21 18:05:16 +00:00
HJ
6c120cc576 Merge branch 'renovate/iso-639-1-2.x' into 'develop'
Update dependency iso-639-1 to v2.1.13

See merge request pleroma/pleroma-fe!1474
2022-03-21 18:01:48 +00:00
Pleroma Renovate Bot
89d6e624f2 Update dependency iso-639-1 to v2.1.13 2022-03-21 09:07:38 +00:00
Pleroma Renovate Bot
060aa41f35 Update dependency express to v4.17.3 2022-03-20 09:05:19 +00:00
Pleroma Renovate Bot
67f5cf3c03 Update dependency eslint-plugin-promise to v4.3.1 2022-03-19 09:07:04 +00:00
Henry Jameson
5948d20f00 mutes and blocks tab works 2022-03-18 13:36:08 +02:00
Henry Jameson
b3ed29ff02 made withLoadMore work... sorta 2022-03-18 13:32:36 +02:00
Pleroma Renovate Bot
5d973df5bd Update dependency eslint-loader to v2.2.1 2022-03-18 09:04:52 +00:00
Henry Jameson
26bfbdc2ad fix sw compilation 2022-03-18 11:02:00 +02:00
Henry Jameson
50ea6dd142 Merge remote-tracking branch 'origin/develop' into vue3-again
* origin/develop:
  Update dependency cropperjs to v1.5.12
  Update dependency body-scroll-lock to v2.7.1
  Update babel monorepo
2022-03-18 10:59:28 +02:00
HJ
6f1d953642 Merge branch 'renovate/cropperjs-1.x' into 'develop'
Update dependency cropperjs to v1.5.12

See merge request pleroma/pleroma-fe!1465
2022-03-18 08:58:03 +00:00
HJ
86f1b88d79 Merge branch 'renovate/body-scroll-lock-2.x' into 'develop'
Update dependency body-scroll-lock to v2.7.1

See merge request pleroma/pleroma-fe!1464
2022-03-18 08:57:08 +00:00
HJ
4610b6e547 Merge branch 'renovate/babel-monorepo' into 'develop'
Update babel monorepo

See merge request pleroma/pleroma-fe!1462
2022-03-17 09:11:07 +00:00
Pleroma Renovate Bot
be02516776 Update dependency cropperjs to v1.5.12 2022-03-17 09:05:41 +00:00
Pleroma Renovate Bot
4e100b9ea2 Update dependency body-scroll-lock to v2.7.1 2022-03-17 09:05:34 +00:00
Pleroma Renovate Bot
8ae1f7e192 Update babel monorepo 2022-03-17 09:05:20 +00:00
Henry Jameson
fea0c91f74 bunp node version 2022-03-17 09:33:36 +02:00
Henry Jameson
051d51bcd9 fix suggest not working 2022-03-17 09:28:19 +02:00
Henry Jameson
5718c6491e fix selects being messed up 2022-03-17 09:06:05 +02:00
Henry Jameson
a97c07bfdf fix settings not persisting 2022-03-17 09:02:26 +02:00
Henry Jameson
d815f984fb fix i18n errors related to @ symbol 2022-03-17 08:53:45 +02:00
Henry Jameson
4993dc37e2 fix rich content not rendering stillimage nor links correctly 2022-03-17 08:53:45 +02:00
Henry Jameson
0671aa0dd0 fix tabswitcher 2022-03-17 08:53:45 +02:00
Henry Jameson
b62653c202 fix chat user titles 2022-03-17 08:37:01 +02:00
Henry Jameson
be4244acde fix some warnings 2022-03-17 08:35:19 +02:00
Henry Jameson
8311d4deba shit renders yo 2022-03-16 22:13:21 +02:00
Henry Jameson
e51144809f shit boots yo 2022-03-16 22:02:44 +02:00
Henry Jameson
cd4ad2df11 Merge remote-tracking branch 'origin/develop' into vue3-again
* origin/develop: (475 commits)
  Apply 1 suggestion(s) to 1 file(s)
  Update dependency @ungap/event-target to v0.2.3
  Update package.json
  fix broken icons after FA upgrade
  Update Font Awesome
  Update dependency webpack-dev-middleware to v3.7.3
  Update dependency vuelidate to v0.7.7
  Pin dependency @kazvmoe-infra/pinch-zoom-element to 1.2.0
  lint
  Make media modal buttons larger
  Add English translation for hide tooltip
  Add hide button to media modal
  Lint
  Prevent hiding media viewer if swiped over SwipeClick
  Fix webkit image blurs
  Fix video in media modal not displaying properly
  Add changelog for https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1403
  Remove image box-shadow in media modal
  Clean up debug code for image pinch zoom
  Bump @kazvmoe-infra/pinch-zoom-element to 1.2.0 on npm
  ...
2022-03-16 21:00:20 +02:00
HJ
b632d740c1 Merge branch 'expert-settings-and-serverside' into 'develop'
Expert settings and serverside settings + new defaults

See merge request pleroma/pleroma-fe!1438
2022-03-16 17:33:24 +00:00
HJ
123de8aad0 Apply 1 suggestion(s) to 1 file(s) 2022-03-16 17:02:09 +00:00
HJ
186078ae2a Merge branch 'renovate/ungap-event-target-0.x' into 'develop'
Update dependency @ungap/event-target to v0.2.3

See merge request pleroma/pleroma-fe!1463
2022-03-16 09:15:24 +00:00
Pleroma Renovate Bot
23c80794d5 Update dependency @ungap/event-target to v0.2.3 2022-03-16 09:05:13 +00:00
HJ
3e1415ef89 Merge branch 'hj-develop-patch-28607' into 'develop'
Fix build due to github shenanigans

See merge request pleroma/pleroma-fe!1461
2022-03-15 19:07:02 +00:00
HJ
2439f55342 Merge branch 'renovate/font-awesome' into 'develop'
Update Font Awesome

See merge request pleroma/pleroma-fe!1460
2022-03-15 19:03:44 +00:00
HJ
b0babee98a Update package.json 2022-03-15 19:02:34 +00:00
Henry Jameson
47bb08514b fix broken icons after FA upgrade 2022-03-15 21:00:52 +02:00
HJ
60eb164bdc Merge branch 'renovate/webpack-dev-middleware-3.x' into 'develop'
Update dependency webpack-dev-middleware to v3.7.3

See merge request pleroma/pleroma-fe!1459
2022-03-15 18:40:58 +00:00
Pleroma Renovate Bot
3101456a85 Update Font Awesome 2022-03-15 09:05:20 +00:00
Pleroma Renovate Bot
5e851e643b Update dependency webpack-dev-middleware to v3.7.3 2022-03-15 09:05:08 +00:00
HJ
bfa62db274 Merge branch 'renovate/pin-dependencies' into 'develop'
Pin dependency @kazvmoe-infra/pinch-zoom-element to 1.2.0

See merge request pleroma/pleroma-fe!1457
2022-03-15 08:22:33 +00:00
HJ
b349bcd427 Merge branch 'renovate/vuelidate-0.x' into 'develop'
Update dependency vuelidate to v0.7.7

See merge request pleroma/pleroma-fe!1458
2022-03-14 09:11:28 +00:00
Pleroma Renovate Bot
7e6e6292f8 Update dependency vuelidate to v0.7.7 2022-03-14 09:05:17 +00:00
Pleroma Renovate Bot
34592fa63a Pin dependency @kazvmoe-infra/pinch-zoom-element to 1.2.0 2022-03-14 09:05:10 +00:00
Henry Jameson
71c0b59866 lint 2022-03-14 09:35:29 +02:00
Henry Jameson
a97db1efd6 Merge remote-tracking branch 'origin/develop' into expert-settings-and-serverside
* origin/develop: (83 commits)
  Make media modal buttons larger
  Add English translation for hide tooltip
  Add hide button to media modal
  Lint
  Prevent hiding media viewer if swiped over SwipeClick
  Fix webkit image blurs
  Fix video in media modal not displaying properly
  Add changelog for https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1403
  Remove image box-shadow in media modal
  Clean up debug code for image pinch zoom
  Bump @kazvmoe-infra/pinch-zoom-element to 1.2.0 on npm
  Bump pinch-zoom-element version
  Clean up
  Check whether we swiped only for mouse pointer
  Scale swipe threshold with viewport width
  Update pinch-zoom-element
  Allow pinch-zoom to fill the whole screen
  Use native click for hiding overlay
  Reset position on swipe end even if we cannot navigate
  Make lint happy
  ...
2022-03-14 09:31:24 +02:00
HJ
e34d71fc1f Merge branch 'from/develop/tusooa/tree-threading' into 'develop'
Add the option to display threads as trees

See merge request pleroma/pleroma-fe!1407
2022-03-13 17:31:46 +00:00
HJ
89efb0d2f4 Merge branch 'from/develop/tusooa/media-touch-actions' into 'develop'
Be able to scroll and pan media in media modal

See merge request pleroma/pleroma-fe!1403
2022-03-13 17:22:30 +00:00
Tusooa Zhu
1b204012ea
Make media modal buttons larger 2022-03-13 12:02:03 -04:00
Tusooa Zhu
b67a557a8c
Add English translation for hide tooltip 2022-03-13 12:02:03 -04:00
Tusooa Zhu
5fb302d0f1
Add hide button to media modal 2022-03-13 12:02:02 -04:00
Tusooa Zhu
7e21853cca
Lint 2022-03-13 12:02:02 -04:00
Tusooa Zhu
7dd1a0dd30
Prevent hiding media viewer if swiped over SwipeClick 2022-03-13 12:02:02 -04:00
Tusooa Zhu
90b066a744
Fix webkit image blurs 2022-03-13 12:02:02 -04:00
Tusooa Zhu
1128cc463c
Fix video in media modal not displaying properly 2022-03-13 12:02:02 -04:00
Tusooa Zhu
22d8961c5e
Add changelog for https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1403 2022-03-13 12:02:02 -04:00
Tusooa Zhu
76727cd39c
Remove image box-shadow in media modal
The box-shadow causes an image to be very blurry on Webkit browsers
(experienced: Konqueror, Safari; heard of: Chrome) when scaled up
if the initial size of the image is much smaller than the actual size
(e.g. when viewing a very long picture).

The shadow is not really obvious anyway.
2022-03-13 12:02:02 -04:00
Tusooa Zhu
5829cd98af
Clean up debug code for image pinch zoom 2022-03-13 12:02:02 -04:00
Tusooa Zhu
49fa9c47e9
Bump @kazvmoe-infra/pinch-zoom-element to 1.2.0 on npm
https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1403
2022-03-13 12:02:00 -04:00
Tusooa Zhu
495960c83a
Bump pinch-zoom-element version 2022-03-13 12:00:45 -04:00
Tusooa Zhu
3b4afdf567
Clean up 2022-03-13 12:00:45 -04:00
Tusooa Zhu
a485ebc2bb
Check whether we swiped only for mouse pointer 2022-03-13 12:00:45 -04:00
Tusooa Zhu
6980e4ddf1
Scale swipe threshold with viewport width 2022-03-13 12:00:44 -04:00
Tusooa Zhu
cb19db1006
Update pinch-zoom-element 2022-03-13 12:00:44 -04:00
Tusooa Zhu
ddf6c9cef0
Allow pinch-zoom to fill the whole screen 2022-03-13 12:00:44 -04:00
Tusooa Zhu
9f3a983fef
Use native click for hiding overlay
The pointerup strategy is unsuccessful, as some other overlays
(Firefox's Inspect Element) will pass down pointerup events.
2022-03-13 12:00:44 -04:00
Tusooa Zhu
839627ffc4
Reset position on swipe end even if we cannot navigate 2022-03-13 12:00:44 -04:00
Tusooa Zhu
f3269cdc10
Make lint happy 2022-03-13 12:00:44 -04:00
Tusooa Zhu
3502d374e3
Prevent the click event from firing on content below modal 2022-03-13 12:00:44 -04:00
Tusooa Zhu
0190a36070
Add missing swipe click component 2022-03-13 12:00:44 -04:00
Tusooa Zhu
23a6b86ef3
Clean up 2022-03-13 12:00:44 -04:00
Tusooa Zhu
29cd8fbd3b
Add swipe-click handler to media modal
Now swiping will correctly change the current media, and with a good
preview. Clicking without swiping closes the overlay.
2022-03-13 12:00:44 -04:00
Tusooa Zhu
a36673a6a8
Use pinch-zoom-element for pinch zoom functionality 2022-03-13 12:00:41 -04:00
Tusooa Zhu
544db06294
Add pan threshold 2022-03-13 11:56:35 -04:00
Tusooa Zhu
d9030b4fdd
Handle pinch action 2022-03-13 11:56:35 -04:00
Tusooa Zhu
a7570f5eb2
Preview swipe action 2022-03-13 11:56:34 -04:00
Tusooa Zhu
f96e5882d1
Make media modal be aware of multi-touch actions
Originally the media viewer would think every touch is a swipe (one-finger
touch event), so we would encounter the case where a two-finger scale event
would incorrectly change the current media. This is now fixed.
2022-03-13 11:56:30 -04:00
Henry Jameson
f16f35a4d4 Merge remote-tracking branch 'origin/develop' into expert-settings-and-serverside
* origin/develop:
  Update dependency v-click-outside to v2.1.5
  Update dependency shelljs to v0.8.5
  Update dependency portal-vue to v2.1.7
  Update dependency lodash to v4.17.21
  Update dependency karma-spec-reporter to v0.0.33
  Update dependency karma-webpack to v4.0.2
  Update dependency karma-sourcemap-loader to v0.3.8
  Update dependency eslint-plugin-vue to v5.2.3
  Update dependency chromedriver to v87.0.7
  Update dependency @chenfengyuan/vue-qrcode to v1.0.2
  Pin dependencies
  Pin dependencies
  Do not mute bot posts in notifications
  Lint
  Add renovate.json
  Add bot indication to user icon on statuses
  Mute bot posts
  fix placeholder attachments opening new tab
2022-03-13 16:34:05 +02:00
HJ
51b14cc615 Merge branch 'eientei' into 'develop'
Mute bot posts filtering option

See merge request pleroma/pleroma-fe!1440
2022-03-13 14:04:15 +00:00
HJ
80bd6433aa Merge branch 'renovate/shelljs-0.x' into 'develop'
Update dependency shelljs to v0.8.5

See merge request pleroma/pleroma-fe!1455
2022-03-13 10:20:28 +00:00
HJ
50b3a30d1a Merge branch 'renovate/v-click-outside-2.x' into 'develop'
Update dependency v-click-outside to v2.1.5

See merge request pleroma/pleroma-fe!1456
2022-03-13 09:32:59 +00:00
Henry Jameson
5930b667a1 reduce the copypaste by making it more functional-style 2022-03-13 11:30:38 +02:00
Pleroma Renovate Bot
9b5ae4d4a3 Update dependency v-click-outside to v2.1.5 2022-03-13 09:04:54 +00:00
Pleroma Renovate Bot
22c8ad4583 Update dependency shelljs to v0.8.5 2022-03-13 09:04:46 +00:00
Henry Jameson
726fdbea15 remove "experimental" label from streaming api 2022-03-13 10:51:13 +02:00
HJ
67c2b52682 Merge branch 'renovate/portal-vue-2.x' into 'develop'
Update dependency portal-vue to v2.1.7

See merge request pleroma/pleroma-fe!1452
2022-03-13 08:20:20 +00:00
HJ
238e557d2b Merge branch 'renovate/lodash-monorepo' into 'develop'
Update dependency lodash to v4.17.21

See merge request pleroma/pleroma-fe!1451
2022-03-13 08:19:32 +00:00
HJ
c8d87e7ef9 Merge branch 'renovate/karma-spec-reporter-0.x' into 'develop'
Update dependency karma-spec-reporter to v0.0.33

See merge request pleroma/pleroma-fe!1449
2022-03-12 09:30:01 +00:00
Pleroma Renovate Bot
a83b07a629 Update dependency portal-vue to v2.1.7 2022-03-12 09:07:30 +00:00
Pleroma Renovate Bot
3bd2f3c36d Update dependency lodash to v4.17.21 2022-03-12 09:07:19 +00:00
Pleroma Renovate Bot
465c5f194c Update dependency karma-spec-reporter to v0.0.33 2022-03-12 09:07:05 +00:00
HJ
ec3df8e5f2 Merge branch 'renovate/chromedriver-87.x' into 'develop'
Update dependency chromedriver to v87.0.7

See merge request pleroma/pleroma-fe!1446
2022-03-11 10:59:22 +00:00
HJ
c194568daf Merge branch 'renovate/eslint-plugin-vue-5.x' into 'develop'
Update dependency eslint-plugin-vue to v5.2.3

See merge request pleroma/pleroma-fe!1447
2022-03-11 10:59:08 +00:00
HJ
63039aea37 Merge branch 'renovate/chenfengyuan-vue-qrcode-1.x' into 'develop'
Update dependency @chenfengyuan/vue-qrcode to v1.0.2

See merge request pleroma/pleroma-fe!1445
2022-03-11 09:15:37 +00:00
HJ
fb803b2ff2 Merge branch 'renovate/karma-webpack-4.x' into 'develop'
Update dependency karma-webpack to v4.0.2

See merge request pleroma/pleroma-fe!1450
2022-03-11 09:13:27 +00:00
HJ
fabac8524d Merge branch 'renovate/karma-sourcemap-loader-0.x' into 'develop'
Update dependency karma-sourcemap-loader to v0.3.8

See merge request pleroma/pleroma-fe!1448
2022-03-11 09:12:42 +00:00
Pleroma Renovate Bot
35ad2a1957 Update dependency karma-webpack to v4.0.2 2022-03-11 09:06:09 +00:00
Pleroma Renovate Bot
e4d40fbba4 Update dependency karma-sourcemap-loader to v0.3.8 2022-03-11 09:05:47 +00:00
Pleroma Renovate Bot
d4076e5df5 Update dependency eslint-plugin-vue to v5.2.3 2022-03-11 09:05:34 +00:00
Pleroma Renovate Bot
2ced27e734 Update dependency chromedriver to v87.0.7 2022-03-11 09:05:21 +00:00
Pleroma Renovate Bot
04d4f5525c Update dependency @chenfengyuan/vue-qrcode to v1.0.2 2022-03-11 09:05:09 +00:00
HJ
949f11ea1e Merge branch 'renovate/pin-dependencies' into 'develop'
Pin dependencies

See merge request pleroma/pleroma-fe!1443
2022-03-10 09:14:32 +00:00
Pleroma Renovate Bot
00a5dfc36f Pin dependencies 2022-03-10 09:06:57 +00:00
HJ
e29f33ed0c Merge branch 'renovate/font-awesome' into 'develop'
Pin dependencies

See merge request pleroma/pleroma-fe!1444
2022-03-09 19:35:02 +00:00
Pleroma Renovate Bot
6946d09f55 Pin dependencies 2022-03-09 18:43:25 +00:00
Alexander Tumin
450145dd6b Do not mute bot posts in notifications 2022-03-09 07:56:43 +03:00
Tusooa Zhu
551b8f3690
Fix "max depth in thread" setting 2022-03-07 20:02:53 -05:00
Tusooa Zhu
48178bdc53
Make maxDepthInThread instance-default 2022-03-07 19:30:24 -05:00
Tusooa Zhu
a511250b63
Make $status-margin fallback only 2022-03-07 19:28:38 -05:00
Tusooa Zhu
415a823af0
Clean up dead code 2022-03-07 19:19:32 -05:00
Tusooa Zhu
0e323ef248
Add English translations for fading ancestor option 2022-03-07 19:19:32 -05:00
Tusooa Zhu
d157f67381
Make fading ancestors optional 2022-03-07 19:19:32 -05:00
Tusooa Zhu
fa20ea76b1
Update English translation for tree view settings 2022-03-07 19:19:32 -05:00
Tusooa Zhu
e7f5033c7d
Split conversation display style into two different settings
linear => linear (now default)
simple_tree => tree / conversationTreeAdvanced=false
tree => tree / conversationTreeAdvanced=true
2022-03-07 19:19:32 -05:00
Tusooa Zhu
9432fcec7d
Make 'Show full conversation' button have left border in embbeded mode 2022-03-07 19:19:32 -05:00
Tusooa Zhu
5768806d1b
Fix showingLongSubject not correctly propagated 2022-03-07 19:19:32 -05:00
Tusooa Zhu
f8c5cbcd0d
Fix timeline jump when scrolling
Ref: tree-threading
2022-03-07 19:19:31 -05:00
Tusooa Zhu
20880cdf0b
Make replying and mediaPlaying controlled
$refs is not a reliable way to deal with child components under
tree threading as it is not reactive, but the children may change at
any time. The only good way seems to be making these states aggregated on
the conversation component.

Ref: tree-threading
2022-03-07 19:19:31 -05:00
Tusooa Zhu
cc5cff2038
Clean up debug code for tree threading 2022-03-07 19:19:31 -05:00
Tusooa Zhu
2a510205c3
Fix virtual scrolling for tree threading
Ref: tree-threading
2022-03-07 19:19:31 -05:00
Tusooa Zhu
0db5a5a581
Fix controlled status display toggles 2022-03-07 19:19:31 -05:00
Tusooa Zhu
ba858a894c
Add English translations for other replies count 2022-03-07 19:19:31 -05:00
Tusooa Zhu
654996fdbe
Add other replies count for reply list link 2022-03-07 19:19:31 -05:00
Tusooa Zhu
cebb4224ac
Do not display replies inside status as link if there are no other replies 2022-03-07 19:19:31 -05:00
Tusooa Zhu
9b27ac9aaf
Add English translation for position of other replies button pref 2022-03-07 19:19:31 -05:00
Tusooa Zhu
863255d52f
Make position of other replies button a pref 2022-03-07 19:19:31 -05:00
Tusooa Zhu
c4bd004cbc
Add English translation for show all conversation button improvement 2022-03-07 19:19:31 -05:00
Tusooa Zhu
244174a32b
Improve "show full conversation" interaction
Now we only show that button when there are other statuses out of sight
(other toplevel statuses exist outside of the current thread tree).
2022-03-07 19:19:31 -05:00
Tusooa Zhu
22bdcda9c0
Make other replies button stretch along the row 2022-03-07 19:19:31 -05:00
Tusooa Zhu
ba8598858b
Optimise thread ancestor borders 2022-03-07 19:19:31 -05:00
Tusooa Zhu
17863f54fe
Optimise thread ancestor display style 2022-03-07 19:19:31 -05:00
Tusooa Zhu
26670e9003
Reset thread open state when collapsed 2022-03-07 19:19:30 -05:00
Tusooa Zhu
10cd03c718
Clean up 2022-03-07 19:19:30 -05:00
Tusooa Zhu
f1db5e8f4b
Highlight ancestor of the current status when diving back to top 2022-03-07 19:19:30 -05:00
Tusooa Zhu
d78c8e8ea4
Add English translation for Misskey-style tree view 2022-03-07 19:19:30 -05:00
Tusooa Zhu
e560fbc935
Implement Misskey-style tree view
Now the tree will be always rooted at the highlighted status, and
all its ancestors shown linearly on the top.

Enhancement: If an ancestor has more
than one reply (i.e. it has a child that is not on current status's
ancestor chain), we are given a link to root the thread at that status.
2022-03-07 19:19:30 -05:00
Tusooa Zhu
4adffb4835
Remove horizontal border and thicken vertical border in a thread tree 2022-03-07 19:19:30 -05:00
Tusooa Zhu
0e4a7c3d05
Make dive/undive button clickable along the whole row 2022-03-07 19:19:30 -05:00
Tusooa Zhu
8780246ce5
Optimize thread border radius 2022-03-07 19:19:30 -05:00
Tusooa Zhu
61bb69c88f
Optimize thread display 2022-03-07 19:19:30 -05:00
Tusooa Zhu
bdf631c2c4
Fix the bug where toggleShowingTall does not work 2022-03-07 19:19:30 -05:00
Tusooa Zhu
3addc36c96
Fix status undefined in parentOf 2022-03-07 19:19:30 -05:00
Tusooa Zhu
f851bc92c9
Add English translations for max depth in thread 2022-03-07 19:19:30 -05:00
Tusooa Zhu
2e54cf12c7
Add settings for max depth in thread 2022-03-07 19:19:30 -05:00
Tusooa Zhu
ff5f69b8fd
Use mergedConfig properly 2022-03-07 19:19:30 -05:00
Tusooa Zhu
d7da9f80a7
Fallback to simpleTree style 2022-03-07 19:19:30 -05:00
Tusooa Zhu
6b990ba368
Undive when collapsed 2022-03-07 19:19:29 -05:00
Tusooa Zhu
cd3e6d0073
Clean up 2022-03-07 19:19:29 -05:00
Tusooa Zhu
0aaef50ee5
Lint 2022-03-07 19:19:29 -05:00
Tusooa Zhu
05b2351e08
Add English translation for simple tree 2022-03-07 19:19:29 -05:00
Tusooa Zhu
d9a9f97751
Add simple tree style navigation 2022-03-07 19:19:29 -05:00
Tusooa Zhu
8c0deb905e
Add English translation for diving 2022-03-07 19:19:29 -05:00
Tusooa Zhu
d15d24c11c
Add dive functionality 2022-03-07 19:19:29 -05:00
Tusooa Zhu
31c4300456
Add English translations for diving 2022-03-07 19:19:29 -05:00
Tusooa Zhu
84a3cd92a3
Support diving into one status in a conversation 2022-03-07 19:19:29 -05:00
Tusooa Zhu
ace1f5067c
Make status display controlled 2022-03-07 19:19:29 -05:00
Tusooa Zhu
cd0f6a4f78
Add English translations for message threading 2022-03-07 19:19:29 -05:00
Tusooa Zhu
414ee55957
Make show full thread message account for numbers 2022-03-07 19:19:29 -05:00
Tusooa Zhu
0f2fd8a352
Implement thread folding/expanding 2022-03-07 19:19:29 -05:00
Tusooa Zhu
0582f19e7c
Add tree-style thread display 2022-03-07 19:19:29 -05:00
HJ
7e1e8ea429 Merge branch 'from/develop/tusooa/fix-lint-2' into 'develop'
Lint

See merge request pleroma/pleroma-fe!1442
2022-03-06 19:35:05 +00:00
Tusooa Zhu
7a8c975f61
Lint 2022-03-06 14:22:59 -05:00
HJ
1e41c2b99e Merge branch 'renovate/configure' into 'develop'
Configure Renovate

See merge request pleroma/pleroma-fe!1441
2022-03-06 18:25:05 +00:00
Pleroma Renovate Bot
f0f1066bc8 Add renovate.json 2022-03-06 17:50:32 +00:00
Alexander Tumin
2b7f12613e Add bot indication to user icon on statuses 2022-03-01 01:00:38 +03:00
Alexander Tumin
fe0ed7e8f0 Mute bot posts 2022-02-28 23:14:45 +03:00
HJ
514d7d3f88 Merge branch 'fix-hidden-attachments' into 'develop'
fix placeholder attachments opening new tab

Closes #1139

See merge request pleroma/pleroma-fe!1439
2022-02-28 17:46:58 +00:00
Henry Jameson
77b55a559b fix placeholder attachments opening new tab 2022-02-28 19:42:02 +02:00
Henry Jameson
77bb0b5530 lint 2022-02-28 18:23:32 +02:00
Henry Jameson
39909c8a85 pre-emptively wipe serverside settings on logout 2022-02-28 18:17:13 +02:00
Henry Jameson
f4b36a9ebf fix errors in choicesetting 2022-02-28 18:15:21 +02:00
Henry Jameson
67319d0e5b fix typos in profile page 2022-02-28 18:15:07 +02:00
Henry Jameson
cf58df17f6 hidden away more settings when logged out 2022-02-28 18:04:13 +02:00
Henry Jameson
8bb97fbfeb fix settings behaving erratically and not updating properly 2022-02-28 18:01:41 +02:00
Henry Jameson
3a5ad18aca fix stripping rich content not working 2022-02-28 18:00:38 +02:00
Henry Jameson
e3d602fdcc revert changes related to streaming/firehose setting, reword it so it's
not confused with websocket streaming
2022-02-28 17:45:07 +02:00
Henry Jameson
c07c0b2260 fix firefox rendering (??????????) 2022-02-28 17:43:08 +02:00
Henry Jameson
f626da838a revert to using local setting for default nsfw since backend is broken 2022-02-24 15:00:08 +02:00
Henry Jameson
9623b0e140 better phrasing 2022-02-24 14:41:55 +02:00
Henry Jameson
b1b9260a1d new defaults 2022-02-22 23:32:12 +02:00
Henry Jameson
9c1814d122 expert settings toggle + server-side settings 2022-02-22 23:31:40 +02:00
HJ
0300db6c63 Merge branch 'from/develop/tusooa/media-modal-counter-i18n' into 'develop'
Make media modal counter go through i18n

See merge request pleroma/pleroma-fe!1436
2022-02-21 16:15:16 +00:00
Tusooa Zhu
c7690aecd0
Add English translation for media modal counter 2022-02-21 10:34:20 -05:00
Tusooa Zhu
1b32bb9c51
Make media modal counter go through i18n 2022-02-21 10:33:47 -05:00
HJ
9bc7d99e16 Merge branch 'hj-develop-patch-74637' into 'develop'
Update changelog

See merge request pleroma/pleroma-fe!1435
2022-02-21 14:23:11 +00:00
HJ
965bc5573f Update CHANGELOG.md 2022-02-21 14:17:28 +00:00
HJ
2559d03d7e Update CHANGELOG.md 2022-02-21 14:16:45 +00:00
HJ
58d0f9678b Merge branch 'fix-mentions-new-bugs' into 'develop'
Fix newfound bugs with rich mentions + user suggestions

See merge request pleroma/pleroma-fe!1430
2022-02-20 15:11:52 +00:00
HJ
ddee8bb686 Merge branch 'proper-attachments' into 'develop'
Attachment improvements

See merge request pleroma/pleroma-fe!1399
2022-02-20 15:11:33 +00:00
HJ
56616787ec Merge branch 'fix-pinned-statuses' into 'develop'
Fix pinned statuses appearing at the bottom of user timeline

Closes #1112

See merge request pleroma/pleroma-fe!1433
2022-02-20 15:11:08 +00:00
HJ
d3659b5597 Merge branch 'fix-1133' into 'develop'
fix #1133

Closes #1133

See merge request pleroma/pleroma-fe!1434
2022-02-20 14:12:20 +00:00
Henry Jameson
373c30be69 fix #1133 2022-02-20 16:06:26 +02:00
Henry Jameson
7b60adb480 only for user TL 2022-02-20 00:57:31 +02:00
Henry Jameson
5864dc52f7 removed file because that logic has been removed 2022-02-20 00:43:38 +02:00
Henry Jameson
a31ff20f50 lol, lmao, that was some shit, this is much easier and works all the time 2022-02-20 00:36:21 +02:00
Henry Jameson
2a97bdb39d fix pinned statuses appearing at the bottom of user timeline (and
possibly fetching new ones there)
2022-02-20 00:04:47 +02:00
Henry Jameson
86e3aefdab new unit tests 2022-02-19 23:04:51 +02:00
Henry Jameson
a8d1987686 fix unit tests 2022-02-19 22:40:19 +02:00
Henry Jameson
0d073d607c enable link handling in user bios to fix links not having _blank 2022-02-19 22:34:08 +02:00
Henry Jameson
769a9a14fe add emoji to chat titles 2022-02-19 22:30:13 +02:00
Henry Jameson
a61f6e1590 use rich content in interaction lists 2022-02-19 22:12:37 +02:00
Henry Jameson
ee86f56469 more spacing fixes 2022-02-11 15:10:52 +02:00
Henry Jameson
17d6f1b53b more spacing fixes 2022-02-11 15:06:12 +02:00
Henry Jameson
befd4d5fc7 improve unknown attachment handling 2022-02-10 15:42:28 +02:00
Henry Jameson
4c7edfc9a9 more spacing/wrapping fixes 2022-02-09 23:34:26 +02:00
Henry Jameson
d361a4d7dc fix overflows 2022-02-04 14:20:56 +02:00
Henry Jameson
571e73a346 better approach to unescaping 2022-02-03 23:13:28 +02:00
Henry Jameson
39ecb33883 fix amps in links 2022-02-03 22:58:12 +02:00
Henry Jameson
0f01931309 make chat messages behave same as posts for animated gifs 2022-02-03 22:52:41 +02:00
Henry Jameson
a9830ff491 support width/height img attributes 2022-02-03 22:50:32 +02:00
Henry Jameson
9a6363431d lint 2022-02-03 22:41:38 +02:00
Henry Jameson
ea6114f63c better phrasing? 2022-02-03 22:36:13 +02:00
Henry Jameson
bfb3a4364b options to disable (You)s and highlighting of yourself 2022-02-03 22:34:57 +02:00
Henry Jameson
6d3229b1a1 fix poast mentions tripping 2022-02-03 22:23:28 +02:00
Henry Jameson
06042569f1 fix alignment issues 2022-02-03 22:10:45 +02:00
HJ
8ade11783a Merge branch 'from/develop/tusooa/1118-enhanced-mention-link' into 'develop'
Enhanced mention link

Closes #1118

See merge request pleroma/pleroma-fe!1424
2022-02-03 19:37:13 +00:00
HJ
a5e20a4eb2 Merge branch 'from/develop/tusooa/fix-follow-list' into 'develop'
Fix Follow button missing on follow list

See merge request pleroma/pleroma-fe!1428
2022-02-03 10:22:22 +00:00
HJ
dd75e43c57 Merge branch 'from/develop/tusooa/fix-lint-warn' into 'develop'
Fix lint warning in filtering_tab.vue

See merge request pleroma/pleroma-fe!1429
2022-02-03 10:22:04 +00:00
Tusooa Zhu
0e6af68a0f
Fix lint warning in filtering_tab.vue 2022-02-02 21:35:17 -05:00
Tusooa Zhu
f886135bb7
Fix Follow button missing on follow list 2022-02-02 21:30:52 -05:00
Tusooa Zhu
c3f1765b21
Hide mention link avatar by default 2022-01-29 16:57:59 -05:00
Tusooa Zhu
7cc0d0763c
Add English translation for mention link prefs 2022-01-29 16:57:59 -05:00
Tusooa Zhu
c8983d5606
Make mention link prefs ui more intuitive 2022-01-29 16:57:59 -05:00
Tusooa Zhu
0c60b31eee
Add option to fade domains in mention link 2022-01-29 16:57:59 -05:00
Tusooa Zhu
aaf0b985ad
Make avatar unselectable 2022-01-29 16:57:59 -05:00
Tusooa Zhu
9fde13c968
Add option to display user avatar in mention link 2022-01-29 16:57:59 -05:00
Tusooa Zhu
8896afd8d8
Make (You) unselectable 2022-01-29 16:57:59 -05:00
Tusooa Zhu
95007059d1
Style properly usernames without tooltips 2022-01-29 16:57:59 -05:00
Tusooa Zhu
1d4b1b296e
Add pref for whether to display full user names and tooltips 2022-01-29 16:57:59 -05:00
Tusooa Zhu
76547fe66d
Add a pref for whether to display mention as icon or text 2022-01-29 16:57:59 -05:00
Henry Jameson
d1f02221cb changelog 2022-01-24 21:44:41 +02:00
Henry Jameson
efd558f394 Merge remote-tracking branch 'origin/develop' into proper-attachments
* origin/develop:
  Update CHANGELOG.md
2022-01-24 21:38:08 +02:00
HJ
28ee5721bb Merge branch 'hj-develop-patch-16931' into 'develop'
Update CHANGELOG.md

See merge request pleroma/pleroma-fe!1427
2022-01-24 19:31:42 +00:00
Henry Jameson
94c37e8adf Merge remote-tracking branch 'origin/develop' into proper-attachments
* origin/develop:
  undo accidental change when merging
  Apply 1 suggestion(s) to 1 file(s)
  Rearranged settings, moved more stuff to filtering where apllicable. Changed how filering works.
2022-01-24 21:29:19 +02:00
HJ
e5f731c97d Update CHANGELOG.md 2022-01-24 19:29:01 +00:00
HJ
3cf7f9e3c8 Merge branch 'settings-and-filtering' into 'develop'
Settings rearrange and filtering improvements

See merge request pleroma/pleroma-fe!1394
2022-01-24 18:18:27 +00:00
Henry Jameson
56de3d2f52 fix too-many-attachments in notifications column 2022-01-24 19:53:17 +02:00
Henry Jameson
c551e3e697 Merge remote-tracking branch 'origin/develop' into proper-attachments
* origin/develop: (81 commits)
  Improve the user card for deactivated users
  Update CHANGELOG.md
  Update CHANGELOG.md
  Allow canceling a follow request
  Simple policy reasons for instance specific policies
  entity_normalizer: Escape name when parsing user
  Translated using Weblate (Spanish)
  Translated using Weblate (Catalan)
  Translated using Weblate (Korean)
  Translated using Weblate (Japanese (ja_PEDANTIC))
  Translated using Weblate (Indonesian)
  Translated using Weblate (Esperanto)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Italian)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Indonesian)
  Translated using Weblate (Italian)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Indonesian)
  Translated using Weblate (Chinese (Simplified))
  ...
2022-01-24 19:28:38 +02:00
Henry Jameson
f7e2ac1c48 undo accidental change when merging 2022-01-24 19:16:03 +02:00
Henry Jameson
2f8aae371b Merge remote-tracking branch 'origin/settings-and-filtering' into settings-and-filtering
* origin/settings-and-filtering:
  Apply 1 suggestion(s) to 1 file(s)
2022-01-24 19:13:29 +02:00
Henry Jameson
9ea0f10abb Merge remote-tracking branch 'origin/develop' into settings-and-filtering
* origin/develop: (169 commits)
  Improve the user card for deactivated users
  Update CHANGELOG.md
  Update CHANGELOG.md
  Allow canceling a follow request
  Simple policy reasons for instance specific policies
  entity_normalizer: Escape name when parsing user
  Translated using Weblate (Spanish)
  Translated using Weblate (Catalan)
  Translated using Weblate (Korean)
  Translated using Weblate (Japanese (ja_PEDANTIC))
  Translated using Weblate (Indonesian)
  Translated using Weblate (Esperanto)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Italian)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Indonesian)
  Translated using Weblate (Italian)
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Indonesian)
  Translated using Weblate (Chinese (Simplified))
  ...
2022-01-24 19:12:17 +02:00
HJ
182fcca5da Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1413
2022-01-19 13:10:16 +00:00
HJ
6509542dbd Merge branch 'fixes_for_deactivated_profile' into 'develop'
Improve the user card for deactivated users

See merge request pleroma/pleroma-fe!1417
2022-01-19 13:09:49 +00:00
Ilja
2ac78219ee Improve the user card for deactivated users 2022-01-19 13:09:48 +00:00
Shpuld Shpludson
756f7bf7c2 Merge branch 'shpuld-develop-patch-58245' into 'develop'
Update CHANGELOG.md

See merge request pleroma/pleroma-fe!1423
2022-01-09 18:29:46 +00:00
Shpuld Shpludson
4cd27acf7f Update CHANGELOG.md 2022-01-09 18:26:35 +00:00
Shpuld Shpludson
030c374def Merge branch 'shpuld-develop-patch-87791' into 'develop'
Update CHANGELOG.md

See merge request pleroma/pleroma-fe!1422
2022-01-09 18:21:14 +00:00
Shpuld Shpludson
056f5f547a Update CHANGELOG.md 2022-01-09 18:16:44 +00:00
HJ
af2a408b78 Apply 1 suggestion(s) to 1 file(s) 2022-01-09 17:59:50 +00:00
HJ
d22e04eaf6 Merge branch 'allow_to_cancel_follow_request' into 'develop'
Allow canceling a follow request

See merge request pleroma/pleroma-fe!1416
2021-12-28 11:43:24 +00:00
Ilja
4587f37dd7 Allow canceling a follow request
When a follow request is sent, but not (yet) accepted, the behaviour is now to cancel the request instead of re sending.

The reason is double
* You couldn't cancel a follow request if you change your mind and the request wasn't answered yet
* Instances don't always correctly process a new follow request when the following is already happening. If something went wrong (e;g. the target server thinks you're following, but your instance thinks you're not yet), it's better to first sent an unfollow. This is the behaviour that Mastodon and most probably most other clients have. Therefore this flow is more tested and expected by other instances.
2021-12-12 18:09:21 +01:00
HJ
a20f1794d0 Merge branch 'simplePolicy_reasons_for_instance_specific_policies' into 'develop'
Simple policy reasons for instance specific policies

See merge request pleroma/pleroma-fe!1263
2021-12-03 18:14:32 +00:00
Ilja
b4cfda4a20 Simple policy reasons for instance specific policies 2021-12-03 18:14:32 +00:00
HJ
ea0887a15e Merge branch 'fix/escape-display-name' into 'develop'
entity_normalizer: Escape name when parsing user

See merge request pleroma/pleroma-fe!1415
2021-11-16 17:45:14 +00:00
rinpatch
d36b45ad43 entity_normalizer: Escape name when parsing user
In January 2020 Pleroma backend stopped escaping HTML in display names
and passed that responsibility on frontends, compliant with Mastodon's
version of Mastodon API [1]. Pleroma-FE was subsequently modified to
escape the display name [2], however only in the "name_html" field. This
was fine however, since that's what the code rendering display names used.

However, 2 months ago an MR [3] refactoring the way the frontend does emoji
and mention rendering was merged. One of the things it did was moving away
from doing emoji rendering in the entity normalizer and use the unescaped
'user.name' in the rendering code, resulting in HTML injection being
possible again.

This patch escapes 'user.name' as well, as far as I can tell there is no
actual use for an unescaped display name in frontend code, especially
when it comes from MastoAPI, where it is not supposed to be HTML.

[1]: https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1052
[2]: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2167
[3]: https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1392
2021-11-16 20:35:23 +03:00
tarteka
d2730d5bad Translated using Weblate (Spanish)
Currently translated at 100.0% (722 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-10-21 19:22:22 +00:00
retiolus
1c75c74c91 Translated using Weblate (Catalan)
Currently translated at 99.7% (720 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-09-29 00:45:54 +00:00
Ryo Ueno
ef684dff61 Translated using Weblate (Korean)
Currently translated at 61.9% (447 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-09-19 09:45:49 +00:00
Ryo Ueno
241b4957e1 Translated using Weblate (Japanese (ja_PEDANTIC))
Currently translated at 99.4% (718 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-09-19 09:45:49 +00:00
@liimee
45eda03d1c Translated using Weblate (Indonesian)
Currently translated at 68.1% (492 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-09-16 00:45:47 +00:00
Tirifto
1d0e4bada8 Translated using Weblate (Esperanto)
Currently translated at 100.0% (722 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-09-14 15:45:47 +00:00
Hồ Nhất Duy
3c8ced53b9 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (722 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/vi/
2021-09-09 22:00:26 +00:00
Ben Is
80dd6b2500 Translated using Weblate (Italian)
Currently translated at 100.0% (722 of 722 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-09-09 22:00:26 +00:00
Hồ Nhất Duy
ad64b91d66 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/vi/
2021-09-09 22:00:26 +00:00
@liimee
4988268f5f Translated using Weblate (Indonesian)
Currently translated at 67.5% (484 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-09-09 22:00:26 +00:00
Ben Is
50adf0ddf2 Translated using Weblate (Italian)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-09-09 22:00:26 +00:00
HJ
ef5bbc4e5f Merge branch 'themeApply' into 'develop'
Minor QOL improvement: Theme tab Apply and Reset buttons shouldn't require scrolling

See merge request pleroma/pleroma-fe!1397
2021-09-09 22:00:20 +00:00
HJ
370f1e55ad Merge branch 'develop' into 'themeApply'
# Conflicts:
#   CHANGELOG.md
2021-09-09 21:51:39 +00:00
HJ
a8a82ad12f Merge branch 'showMobileNewPost' into 'develop'
New user option: Always show floating New Post button

See merge request pleroma/pleroma-fe!1395
2021-09-09 12:19:53 +00:00
HJ
1c53528433 Merge branch 'fix-favico-badge-chrome' into 'develop'
fix favico badge not working on chrome

See merge request pleroma/pleroma-fe!1391
2021-09-07 16:17:31 +00:00
HJ
8af1f08539 Merge branch 'better-still-emoji' into 'develop'
Status HTML parsing - better emoji and mentions rendering

Closes #935

See merge request pleroma/pleroma-fe!1392
2021-09-07 16:15:41 +00:00
Shpuld Shpludson
25a8b48bf2 Merge branch 'from/develop/tusooa/fix-mobile-shoutbox-display' into 'develop'
Fix mobile shoutbox display

See merge request pleroma/pleroma-fe!1404
2021-09-07 14:46:39 +00:00
HJ
59bab829a6 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1412
2021-09-05 12:31:23 +00:00
Hồ Nhất Duy
13468f2a89 Translated using Weblate (Vietnamese)
Currently translated at 50.0% (358 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/vi/
2021-09-05 04:46:01 +00:00
@liimee
5bb471a68e Translated using Weblate (Indonesian)
Currently translated at 67.3% (482 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-09-05 04:45:45 +00:00
Kana
ff5ed29ec1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-09-05 04:45:43 +00:00
tarteka
fa75a3a615 Translated using Weblate (Basque)
Currently translated at 80.7% (578 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2021-09-05 04:45:43 +00:00
HJ
057e3dac85 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1388
2021-09-02 16:58:11 +00:00
Hồ Nhất Duy
6e57170626 Added translation using Weblate (Vietnamese) 2021-09-02 14:47:32 +00:00
@liimee
98da3ad124 Translated using Weblate (Indonesian)
Currently translated at 60.6% (434 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-08-30 15:24:16 +00:00
@liimee
144cee6d34 Translated using Weblate (Indonesian)
Currently translated at 58.6% (420 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-08-30 15:24:16 +00:00
tarteka
0543c8d536 Translated using Weblate (Basque)
Currently translated at 80.4% (576 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2021-08-30 15:24:16 +00:00
marcin mikołajczak
9319666f04 Translated using Weblate (Polish)
Currently translated at 98.8% (708 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2021-08-30 15:24:16 +00:00
@liimee
ca9652b30b Translated using Weblate (Indonesian)
Currently translated at 56.9% (408 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-08-30 15:24:16 +00:00
tarteka
21af736fe1 Translated using Weblate (Basque)
Currently translated at 79.8% (572 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2021-08-30 15:24:16 +00:00
tarteka
78ba8be969 Translated using Weblate (Spanish)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-08-30 15:24:16 +00:00
@liimee
29f229daad Translated using Weblate (Indonesian)
Currently translated at 50.1% (359 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/id/
2021-08-30 15:24:16 +00:00
marcin mikołajczak
5049ee575f Translated using Weblate (Polish)
Currently translated at 98.7% (707 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2021-08-30 15:24:16 +00:00
tarteka
32ed71501a Translated using Weblate (Spanish)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-08-30 15:24:16 +00:00
@liimee
a7a736c7b8 Added translation using Weblate (Indonesian) 2021-08-30 15:24:16 +00:00
tarteka
5cbb71e588 Translated using Weblate (Spanish)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-08-30 15:24:16 +00:00
M. Strange
fa2e5deae2 Translated using Weblate (Catalan)
Currently translated at 97.4% (698 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:16 +00:00
titizen
a3bfa63d05 Translated using Weblate (Catalan)
Currently translated at 95.3% (683 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:16 +00:00
M. Strange
1ef2bb93fe Translated using Weblate (Catalan)
Currently translated at 92.0% (659 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:16 +00:00
titizen
c38ab7234d Translated using Weblate (Catalan)
Currently translated at 92.0% (659 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:16 +00:00
ZEN
791293c709 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-08-30 15:24:16 +00:00
M. Strange
8574db1cf1 Translated using Weblate (Catalan)
Currently translated at 56.1% (402 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:15 +00:00
Snow
90d553f4be Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-08-30 15:24:15 +00:00
Haelwenn (lanodan) Monnier
d3139a92b3 Translated using Weblate (French)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-08-30 15:24:15 +00:00
Ben Is
bc08f998cf Translated using Weblate (Italian)
Currently translated at 100.0% (716 of 716 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
Tirifto
f72671a1aa Translated using Weblate (Esperanto)
Currently translated at 100.0% (715 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-08-30 15:24:15 +00:00
Ben Is
738e7923e4 Translated using Weblate (Italian)
Currently translated at 100.0% (715 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
retiolus
b3f15fe3e1 Translated using Weblate (Catalan)
Currently translated at 44.4% (318 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2021-08-30 15:24:15 +00:00
ZEN
761f91f7ef Translated using Weblate (Ukrainian)
Currently translated at 100.0% (715 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-08-30 15:24:15 +00:00
Issabella Deinschnitzel
c509ed357a Translated using Weblate (German)
Currently translated at 100.0% (715 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-08-30 15:24:15 +00:00
Ben Is
18871684c7 Translated using Weblate (Italian)
Currently translated at 100.0% (715 of 715 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
Kana
33e2bcce31 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (714 of 714 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-08-30 15:24:15 +00:00
Ben Is
4d529c13ba Translated using Weblate (Italian)
Currently translated at 100.0% (714 of 714 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
Ben Is
0e53b2916e Translated using Weblate (Italian)
Currently translated at 100.0% (714 of 714 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
Tirifto
04a49e4c42 Translated using Weblate (Esperanto)
Currently translated at 99.7% (709 of 711 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-08-30 15:24:15 +00:00
ZEN
f57f61ca53 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (711 of 711 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-08-30 15:24:15 +00:00
Ben Is
4302db5975 Translated using Weblate (Italian)
Currently translated at 100.0% (711 of 711 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-08-30 15:24:15 +00:00
Shpuld Shpludson
cdcefc2b73 Merge branch 'fix-ext-profile' into 'develop'
fix ext profile bug

See merge request pleroma/pleroma-fe!1409
2021-08-30 15:24:06 +00:00
Henry Jameson
4d73eaa6ce fix spacing before hashtags 2021-08-23 21:36:18 +03:00
Henry Jameson
39494439d3 very minimalist hashtaglink implementation, also you can middle-click
mentions now.
2021-08-23 20:57:21 +03:00
Henry Jameson
c3576211cb fix tests 2021-08-18 21:17:51 +03:00
Henry Jameson
cbb34e2b0e fix expanded mentions spacing 2021-08-18 20:58:26 +03:00
Henry Jameson
e98a2af39e hopefully final fix for spacings 2021-08-18 20:54:04 +03:00
Henry Jameson
dbdc5e050f fix ext profile bug 2021-08-16 01:41:52 +03:00
Henry Jameson
49fe334186 play gifs when hovering over notification 2021-08-16 01:34:35 +03:00
Henry Jameson
14ec7d6a41 add attachment counter 2021-08-16 01:11:43 +03:00
Henry Jameson
7cc19ef2ea better media modal loading 2021-08-16 01:11:42 +03:00
Henry Jameson
0507eb6550 ability to move attachments around when making a new post 2021-08-15 21:04:49 +03:00
Henry Jameson
830a03a0d1 inline description display 2021-08-15 21:04:28 +03:00
Henry Jameson
34d265467a add media description into media modal 2021-08-15 19:45:48 +03:00
Henry Jameson
f5823a96e9 add key attribute to make image refresh in media modal to give feedback
when images are still loaded
2021-08-15 19:43:52 +03:00
Henry Jameson
777f6c0162 Merge branch 'better-still-emoji' into proper-attachments
* better-still-emoji:
  fix "+X more" sticking
2021-08-15 18:43:52 +03:00
Henry Jameson
0087d33c75 fix "+X more" sticking 2021-08-15 18:41:13 +03:00
Henry Jameson
299c00cf74 fix video attachments in notifications not having pointer cursor 2021-08-15 18:35:26 +03:00
Henry Jameson
07c12ae162 replace poll with an icon in notifications 2021-08-15 18:26:37 +03:00
Henry Jameson
c8a7b6f433 fix long posts double-fading in notifications 2021-08-15 18:21:25 +03:00
Henry Jameson
5431d8fe55 Merge branch 'better-still-emoji' into proper-attachments
* better-still-emoji:
  fix links sticking to mentionsline
2021-08-15 18:11:57 +03:00
Henry Jameson
8cc1ad67df fix links sticking to mentionsline 2021-08-15 18:11:38 +03:00
Henry Jameson
6aa6f6f300 fix console errors 2021-08-15 17:53:35 +03:00
Henry Jameson
17d2eed06a Merge branch 'better-still-emoji' into proper-attachments
* better-still-emoji:
  fix tests
  prevent infinite update loops
  remove obsolete tests
  removed useless code, review change, fixed bug with tall statuses
  fixed mentions line again
  remove old emoji added, everything emoji-bearing uses RichContent now
  richcontent support in polls, user cards and user profiles
  support richcontent in polls
  fix tests, add performance test (skipped, doesn't assert anything), tweak max mentions count
  made the code responsible for showing unwritten mentions actually work
  remove new options for style and separate line, now groups all chained mentions on a mentionsline regardless of placement. fixes spacing
  fix tests
2021-08-15 16:27:41 +03:00
Henry Jameson
f16658adfc fix tests 2021-08-15 02:59:14 +03:00
Henry Jameson
68b4323181 prevent infinite update loops 2021-08-15 02:55:45 +03:00
Henry Jameson
7d67e8f1cc remove obsolete tests 2021-08-15 02:44:36 +03:00
Henry Jameson
530ac4442b removed useless code, review change, fixed bug with tall statuses 2021-08-15 02:41:53 +03:00
Henry Jameson
4465de5241 fixed mentions line again 2021-08-14 22:03:09 +03:00
Henry Jameson
97e86381c8 remove old emoji added, everything emoji-bearing uses RichContent now 2021-08-13 13:12:33 +03:00
Henry Jameson
4c974f5ca2 richcontent support in polls, user cards and user profiles 2021-08-13 13:06:42 +03:00
Henry Jameson
6c6df29ed3 support richcontent in polls 2021-08-13 12:19:57 +03:00
Henry Jameson
add5921b8b fix tests, add performance test (skipped, doesn't assert anything),
tweak max mentions count
2021-08-12 19:37:04 +03:00
Henry Jameson
2182af4058 made the code responsible for showing unwritten mentions actually work 2021-08-12 03:09:28 +03:00
Henry Jameson
2cfff1b8b9 remove new options for style and separate line, now groups all chained
mentions on a mentionsline regardless of placement. fixes spacing
2021-08-12 02:56:40 +03:00
Shpuld Shpludson
4686993334 Merge branch 'shpuld-develop-patch-10585' into 'develop'
Update CHANGELOG.md for 2.4.0

See merge request pleroma/pleroma-fe!1405
2021-08-08 12:47:25 +00:00
Shpuld Shpludson
435f80133a Update CHANGELOG.md for 2.4.0 2021-08-08 12:38:51 +00:00
Tusooa Zhu
ef277ae4e2
Fix mobile shoutbox 2021-08-03 20:11:06 -04:00
eris
f35e3d0f3f Fix merge conflict in CHANGELOG
# Conflicts:
#   CHANGELOG.md
2021-07-22 20:47:36 +00:00
eris
179af131ee Fix changelog merge conflict
# Conflicts:
#   CHANGELOG.md
2021-07-22 20:46:41 +00:00
Shpuld Shpludson
425919a0d2 Merge branch 'fix-themes-select' into 'develop'
Fix theme select not working

See merge request pleroma/pleroma-fe!1393
2021-07-19 18:33:19 +00:00
HJ
ba961b784f Apply 1 suggestion(s) to 1 file(s) 2021-07-19 17:10:13 +00:00
Shpuld Shpludson
891611816c Merge branch 'editProfile' into 'develop'
Minor change: Add edit profile button onto self user card

See merge request pleroma/pleroma-fe!1398
2021-07-19 16:35:28 +00:00
Shpuld Shpludson
373b14e1e4 Merge branch 'fix-settings-anon' into 'develop'
Fix Boolean/Choice settings not working properly on initial launch

See merge request pleroma/pleroma-fe!1389
2021-07-19 16:11:11 +00:00
Henry Jameson
a0eaac2216 fix tests 2021-06-22 21:09:29 +03:00
Henry Jameson
b67db47c88 lint 2021-06-22 20:47:35 +03:00
Henry Jameson
dd3fe61cf3 Merge branch 'better-still-emoji' into proper-attachments
* better-still-emoji:
  fix non-notifying mentions and original mention display
  fix not escaping some stuff
  fix rich images
2021-06-22 20:45:44 +03:00
Henry Jameson
a2f21f4e13 fix description colliding with extra-long text 2021-06-22 20:42:52 +03:00
Henry Jameson
628b99d117 don't stretch columns when uploading media 2021-06-22 20:37:08 +03:00
Henry Jameson
5118eee19a fix videos not stretching to container 2021-06-22 20:35:34 +03:00
Henry Jameson
4ba8d95a10 fix videos and related not having working drag controls 2021-06-22 20:33:57 +03:00
Henry Jameson
4016182b89 fix z-indexes 2021-06-22 20:32:55 +03:00
Henry Jameson
a258182522 fix non-notifying mentions and original mention display 2021-06-22 20:16:26 +03:00
eris
6125dc885a Update for latest develop merges to CHANGELOG 2021-06-20 21:06:59 +00:00
HJ
19475ba356 Merge branch 'develop' into 'develop'
Bug fix: Fix follow request count position on mobile

See merge request pleroma/pleroma-fe!1400
2021-06-20 09:09:32 +00:00
Eris
cd9dd352e3 Fix follow request count position on mobile 2021-06-20 06:27:32 +00:00
Henry Jameson
c6831a3810 fix not escaping some stuff 2021-06-18 21:42:46 +03:00
Henry Jameson
8fe4355a6b fix rich images 2021-06-18 21:29:47 +03:00
Henry Jameson
6b8b9c017f whoops 2021-06-18 17:39:29 +03:00
Henry Jameson
44b741e270 better attachments in uploading (grid layout) 2021-06-18 17:30:56 +03:00
Henry Jameson
8bab8658e8 better handling of unknown files, better upload display 2021-06-18 16:11:16 +03:00
Henry Jameson
bfe31e20ea better compact attachments 2021-06-18 14:12:50 +03:00
Henry Jameson
5c2744b426 Merge branch 'better-still-emoji' into proper-attachments
* better-still-emoji:
  Use proper setting name
  Use cleaner instance config check for shoutbox setting
  Make locale language cleaner
  Don't shorten shoutbox to SB
  Fix lint error
  Update CHANGELOG.md
  New option: Hide shoutbox
2021-06-18 02:28:11 +03:00
Henry Jameson
b68fb7738b Merge remote-tracking branch 'origin/develop' into better-still-emoji
* origin/develop:
  Use proper setting name
  Use cleaner instance config check for shoutbox setting
  Make locale language cleaner
  Don't shorten shoutbox to SB
  Fix lint error
  Update CHANGELOG.md
  New option: Hide shoutbox
2021-06-18 02:27:57 +03:00
Henry Jameson
f35c090caa merged in compact notifs and improved upon it 2021-06-18 02:27:32 +03:00
Henry Jameson
c1293c3afa Merge branch 'compact-notifs' into proper-attachments
* compact-notifs:
  compact notifs
2021-06-18 02:09:50 +03:00
Henry Jameson
f15599e6e5 gallery in post status form! 2021-06-18 02:04:01 +03:00
Henry Jameson
90345f158f gallery now supports flash, fixes for flash component. refactored media modal 2021-06-18 02:03:38 +03:00
Eris
85e2f8f78c Don't show profile edit button in sidebar 2021-06-17 20:57:23 +00:00
eris
b2ebfc1fd6 Merge branch 'develop' into 'editProfile'
# Conflicts:
#   CHANGELOG.md
2021-06-17 19:35:09 +00:00
Eris
e1361a1cae Add edit profile button 2021-06-17 19:29:58 +00:00
Henry Jameson
e654fead23 refactored attachments and gallery. All attachments now are in gallery. 2021-06-17 16:29:46 +03:00
Eris
9c4957268d Use proper setting name 2021-06-17 13:21:25 +03:00
Eris
6689fed513 Use cleaner instance config check for shoutbox setting 2021-06-17 13:21:25 +03:00
Eris
4ecbb58086 Make locale language cleaner 2021-06-17 13:21:25 +03:00
Eris
0a3ce9cc8b Don't shorten shoutbox to SB 2021-06-17 13:21:25 +03:00
Eris
dcfd178314 Fix lint error 2021-06-17 13:21:25 +03:00
Eris
1b26c713ef Update CHANGELOG.md 2021-06-17 13:21:25 +03:00
Eris
9e9ab5cec9 New option: Hide shoutbox 2021-06-17 13:21:25 +03:00
Henry Jameson
a96a62929d Merge remote-tracking branch 'origin/develop' into settings-and-filtering
* origin/develop:
  Use proper setting name
  Use cleaner instance config check for shoutbox setting
  Make locale language cleaner
  Don't shorten shoutbox to SB
  Fix lint error
  Update CHANGELOG.md
  New option: Hide shoutbox
2021-06-16 13:52:13 +03:00
Henry Jameson
1717a3aaf2 fix chats again 2021-06-16 12:44:04 +03:00
Henry Jameson
25bf28f051 added tests just in case 2021-06-16 02:11:24 +03:00
Henry Jameson
ad3a2fd4e5 fixed "invisible" spans inside links 2021-06-16 01:20:20 +03:00
eris
139a0d1562 Merge branch 'develop' into 'themeApply'
# Conflicts:
#   CHANGELOG.md
2021-06-15 21:50:39 +00:00
eris
cab0095989 Merge branch 'develop' into 'showMobileNewPost'
# Conflicts:
#   CHANGELOG.md
#   src/App.js
2021-06-15 21:49:33 +00:00
HJ
338134acfb Merge branch 'hideShoutbox' into 'develop'
New user option: Hide floating shoutbox

See merge request pleroma/pleroma-fe!1396
2021-06-15 21:32:20 +00:00
Eris
d7a53aec61 Use proper setting name 2021-06-15 18:09:00 +00:00
Henry Jameson
4aac0125e5 fixed bug with hashtags 2021-06-15 14:43:44 +03:00
Eris
7e3393b5a2 Use cleaner instance config check for shoutbox setting 2021-06-15 00:59:36 +00:00
Eris
5047663c51 Make locale language cleaner 2021-06-15 00:25:09 +00:00
Eris
e67f295497 Update CHANGELOG.md 2021-06-14 23:32:18 +00:00
Eris
312a237ca4 Revert duplicate buttons and move existing buttons to bottom-right corner independent of scroll 2021-06-14 23:31:16 +00:00
Eris
4639e30cb8 Fix config naming for consistency 2021-06-14 20:41:34 +00:00
Eris
cbccea0546 Don't shorten shoutbox to SB 2021-06-14 20:33:51 +00:00
Eris
b88e6b8ab0 Update CHANGELOG.md 2021-06-14 20:11:57 +00:00
Eris
8fa0331771 Add apply and reset themes to top of theme tab 2021-06-14 20:09:28 +00:00
Eris
1668315bf8 Fix lint error 2021-06-14 20:02:13 +00:00
Eris
1fcccd7570 Update CHANGELOG.md 2021-06-14 19:43:47 +00:00
Eris
0c10145242 New option: Hide shoutbox 2021-06-14 19:42:56 +00:00
Eris
67c9d8bd55 revert gitignore file change 2021-06-14 18:49:37 +00:00
Eris
adfe56a3a3 New option: Always show floating New Post button 2021-06-14 17:54:40 +00:00
Henry Jameson
63c22ad131 Fixed mergedConfig misbehaving on first boot 2021-06-14 10:58:32 +03:00
Henry Jameson
7309f8ce1a lint 2021-06-14 10:31:07 +03:00
Henry Jameson
c21b1cf898 do the impossible, fix the unfixable 2021-06-14 10:30:08 +03:00
Henry Jameson
a3c703bd37 compact notifs 2021-06-14 02:52:41 +03:00
Henry Jameson
636dbdaba8 more fixes 2021-06-13 22:22:59 +03:00
Henry Jameson
1fdfc42159 fix mentions in chats 2021-06-13 21:43:45 +03:00
Henry Jameson
609dc5da0c fix chats messages 2021-06-13 21:42:25 +03:00
Henry Jameson
bebafa1a2c refactored line converter, untied its logic from greentexting, better
handling of broken cases
2021-06-13 15:24:29 +03:00
HJ
e825021ef1 Apply 1 suggestion(s) to 1 file(s) 2021-06-12 18:55:18 +00:00
Henry Jameson
9c70f3e4df fixed a bug + made a testcase out of it 2021-06-12 21:49:56 +03:00
Henry Jameson
2c60a9b638 fix next relply-row bleeding through popover 2021-06-12 20:51:36 +03:00
Henry Jameson
18fb7516cc lint 2021-06-12 20:44:14 +03:00
Henry Jameson
418f029789 review + fixes 2021-06-12 20:43:29 +03:00
Henry Jameson
90a188f2c3 cleanup 2021-06-12 19:54:34 +03:00
Henry Jameson
cd44556750 restructure and tests
squash! restructure and tests
2021-06-12 19:54:30 +03:00
Henry Jameson
ca6c7d5b10 fix tags gluing 2021-06-12 17:20:21 +03:00
Henry Jameson
24f3681ac1 fix color of reply row, fix overflow in status-popover 2021-06-12 17:11:49 +03:00
Henry Jameson
647e4476f9 fix long post fader 2021-06-12 16:25:37 +03:00
Henry Jameson
c1bd36dc6f change how "first" line is determined. Allow one mention in the
beginning for hellthread style
2021-06-12 16:15:22 +03:00
Henry Jameson
ffc501eb23 cleanup 2021-06-11 13:38:08 +03:00
Henry Jameson
9421501c1e lint & cleanup 2021-06-11 11:52:50 +03:00
Henry Jameson
5834790d0b fix #935 2021-06-11 11:50:05 +03:00
Henry Jameson
f819227bed fixed console errors, improved user-selecting, added cyantexting 2021-06-11 11:49:32 +03:00
Henry Jameson
255f47fe56 fix infinite loop 2021-06-11 11:05:28 +03:00
Henry Jameson
f883d2f75c better handling of hellthreads with mentions at bottom 2021-06-11 03:11:58 +03:00
Henry Jameson
b84aeff6bf stylistic changes 2021-06-10 18:52:23 +03:00
Henry Jameson
cc00af7a31 Hellthread(tm) Certified 2021-06-10 18:52:01 +03:00
Henry Jameson
0f73e96194 don't hide mentions for OPs 2021-06-10 15:11:57 +03:00
Henry Jameson
0263834faa mentions on same line as replies 2021-06-10 14:01:26 +03:00
Henry Jameson
6bff7cc6ef use icon instead of symbol for @ in mentions links 2021-06-10 13:29:59 +03:00
Henry Jameson
0260693f51 stylistic improvements for single-line mentions 2021-06-10 13:22:36 +03:00
Henry Jameson
394fd462dc proper cachin of headTailLinks, show mentions in notificaitons always 2021-06-10 13:01:00 +03:00
Henry Jameson
c6c478f4cf moved mentions onto reply line, replies moved below post body 2021-06-10 12:29:58 +03:00
Henry Jameson
aec867b300 Moved greentext to RichContent, improved how first mentions are
restored, now shows mentions not uh, mention in post body
2021-06-10 12:29:58 +03:00
Henry Jameson
566964992a fix long posts having weird gradient 2021-06-08 19:37:18 +03:00
Henry Jameson
5c655b6675 lint 2021-06-08 17:19:38 +03:00
Henry Jameson
8c8237418c fix repeats having wrong mentions 2021-06-08 17:14:22 +03:00
Henry Jameson
963f1679e0 fix console errors 2021-06-08 17:14:22 +03:00
Henry Jameson
a3b8e7ad99 missing localization 2021-06-08 16:37:13 +03:00
Henry Jameson
b87a9d6675 Rearranged settings, moved more stuff to filtering where apllicable.
Changed how filering works.
2021-06-08 16:14:01 +03:00
Henry Jameson
7ae85c8318 change defaults 2021-06-08 14:51:42 +03:00
Henry Jameson
0ae3985a52 bump limit to a saner one 2021-06-08 14:36:41 +03:00
Henry Jameson
2f383c2c01 moved mentions into a separate component - MentionLine, added collapsing
of mentions when there's too many of 'em
2021-06-08 14:34:47 +03:00
Henry Jameson
73127f0e25 fix empty spaces again 2021-06-08 13:42:16 +03:00
Henry Jameson
9ea370033a configurable mentions placement 2021-06-08 12:58:28 +03:00
Henry Jameson
3abd357694 moving mentions into separate row 2021-06-08 11:38:44 +03:00
Henry Jameson
0583a6b863 moved transparent button styles into button itself 2021-06-08 10:14:49 +03:00
Henry Jameson
6bc9886db4 tweaking the spacings 2021-06-08 01:25:03 +03:00
Henry Jameson
ccdf892483 remove weird vertical align 2021-06-08 01:21:45 +03:00
Henry Jameson
38d9ea8b17 lint 2021-06-08 00:09:16 +03:00
Henry Jameson
5740a79dbd faint @ 2021-06-08 00:06:26 +03:00
Henry Jameson
e6d5ddcbb6 better modifier, no background for unhighlighted mentions 2021-06-08 00:03:59 +03:00
Henry Jameson
59d046b163 fix theme selection not working 2021-06-07 23:48:46 +03:00
Henry Jameson
c3e122ff6f smaller mentions 2021-06-07 23:48:01 +03:00
Henry Jameson
7d6fc044fb new mentions look 2021-06-07 23:42:04 +03:00
Henry Jameson
6199788f28 fix tall emojis being cropped 2021-06-07 20:44:32 +03:00
Henry Jameson
8045d1866e localization 2021-06-07 20:25:31 +03:00
Henry Jameson
6090327236 moved some post styles into status body since they inferfere with usernames 2021-06-07 20:02:09 +03:00
Henry Jameson
5e83672274 fixed some strange error 2021-06-07 20:01:57 +03:00
Henry Jameson
aa38223e87 lint 2021-06-07 19:51:04 +03:00
Henry Jameson
8e9f5d7580 renamed StatusText to StatusBody for clarity, fixed chats 2021-06-07 19:50:38 +03:00
Henry Jameson
50aa379038 new component - StatusText, to separate post's text from its attachments 2021-06-07 18:41:55 +03:00
Henry Jameson
04fa1f0b2d some docs, added richcontent to usernames in status, updated stillImage
to allow scale of "gif" label
2021-06-07 18:41:47 +03:00
Henry Jameson
aec05686d0 lint, fix warnings 2021-06-07 18:41:47 +03:00
Henry Jameson
b0ae32e309 made getAttrs correctly handle both ' and " 2021-06-07 18:41:47 +03:00
Henry Jameson
22c8f71945 mention link 2021-06-07 18:41:47 +03:00
Henry Jameson
1923ed84d4 more tests 2021-06-07 18:41:47 +03:00
Henry Jameson
a2459c2187 move styles to richcontent 2021-06-07 18:41:47 +03:00
Henry Jameson
be79643bcf fix emoji processor not leaving string as-is if no emoji are found 2021-06-07 18:41:47 +03:00
Henry Jameson
35dedf8416 lint 2021-06-07 18:41:47 +03:00
Henry Jameson
5970ddf9ac fix escaped apostrophes 2021-06-07 18:41:47 +03:00
Henry Jameson
20ce646852 [WIP] MUCH better approach to replacing emojis with still versions 2021-06-07 18:41:47 +03:00
HJ
2725a0c639 Merge branch 'chore/rename-chat' into 'develop'
Rename legacy PleromaFE Chat functionality to "Shout"

See merge request pleroma/pleroma-fe!1207
2021-06-03 20:16:48 +00:00
Mark Felder
bd98ecb3f0 Remove unused shoutbox channel state from side drawer 2021-06-03 15:07:02 -05:00
Henry Jameson
2a2483f4c9 handle multiple favicons (different sizes) 2021-06-02 12:47:54 +03:00
Henry Jameson
008e711e11 fix favico badge not working on chrome 2021-06-02 12:15:31 +03:00
Mark Felder
21477d07e9 This setting didn't actually do anything 2021-06-01 16:51:47 -05:00
Mark Felder
ed824d964e Use old value to discover if Shoutbox is available until we ship a new release that's declaring the feature as "shout" 2021-06-01 16:48:40 -05:00
Mark Felder
e0cde9a29b Keep channel name the same for backwards compatibility 2021-06-01 14:31:58 -05:00
Mark Felder
0604b1d5b7 Rename legacy PleromaFE Chat functionality to "Shout" 2021-06-01 12:51:20 -05:00
Henry Jameson
32d1a0e181 better approach 2021-05-31 14:23:57 +03:00
HJ
7bd18cda64 Merge branch 'vue3compat-emoji-input' into 'develop'
Refactor EmojiInput for better vue3 compatibility

See merge request pleroma/pleroma-fe!1382
2021-05-31 11:17:42 +00:00
Henry Jameson
e95412a03c fix BooleanSetting and ChoiceSetting not working properly on initial
launch as anon visitor (would show all as changed, empty selects)
2021-05-31 14:16:37 +03:00
HJ
0ca0e642a4 Merge branch 'v-slot-upgrade' into 'develop'
Change old slot syntax (removed in vue3) to new one

See merge request pleroma/pleroma-fe!1379
2021-05-31 11:15:44 +00:00
HJ
4e96af0442 Merge branch 'better-selects' into 'develop'
Better <select> components

See merge request pleroma/pleroma-fe!1373
2021-05-31 11:08:56 +00:00
Henry Jameson
80220c1b07 fix warnings 2021-05-31 14:08:12 +03:00
Henry Jameson
c039656460 fix warnings 2021-05-31 14:02:36 +03:00
HJ
dc611dffdb Merge branch 'flash-support' into 'develop'
Flash support

See merge request pleroma/pleroma-fe!1380
2021-05-31 11:00:53 +00:00
Henry Jameson
159bbed2f9 oops 2021-05-31 13:59:44 +03:00
Henry Jameson
245addb530 remove "leak ur cookiz" 2021-05-31 13:55:28 +03:00
HJ
0741d1d93d Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1378
2021-05-26 22:23:56 +00:00
HJ
477e22aa9c Merge branch 'feat/sidebarRight' into 'develop'
Implement right sidebar option as user option

See merge request pleroma/pleroma-fe!1387
2021-05-26 22:22:55 +00:00
eris
7341b8a551 Implement right sidebar option as user option 2021-05-26 22:22:55 +00:00
Issabella Deinschnitzel
711bf0910a Translated using Weblate (German)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-22 16:36:51 +00:00
Ben Is
330665dacb Translated using Weblate (Italian)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-05-19 13:41:25 +00:00
Issabella Deinschnitzel
e338f6be75 Translated using Weblate (German)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-16 20:19:26 +00:00
Snow
eda817cc18 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-05-12 12:09:34 +00:00
Issabella Deinschnitzel
1e0479b171 Translated using Weblate (German)
Currently translated at 95.9% (681 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-12 12:09:33 +00:00
Issabella Deinschnitzel
64aba422d5 Translated using Weblate (German)
Currently translated at 88.4% (628 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-11 15:53:02 +00:00
Anonymous
98da8fd441 Translated using Weblate (German)
Currently translated at 88.4% (628 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-11 15:53:00 +00:00
Ryo Ueno
b50a9a1d56 Translated using Weblate (Korean)
Currently translated at 62.6% (445 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-05-06 16:41:19 +00:00
grillchen
fdd4be3dcb Translated using Weblate (German)
Currently translated at 72.8% (517 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-05-02 14:03:24 +00:00
Anonymous
407bdbf996 Translated using Weblate (German)
Currently translated at 67.7% (481 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-04-30 18:43:32 +00:00
grillchen
cec13609cd Translated using Weblate (German)
Currently translated at 67.7% (481 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-04-30 18:43:31 +00:00
tarteka
e55644f153 Translated using Weblate (Spanish)
Currently translated at 99.5% (707 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-04-30 00:26:51 +00:00
Anonymous
98d12beb9e Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-28 16:17:43 +00:00
Fristi
d7607792fe Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-28 16:17:43 +00:00
grillchen
f28f632e86 Translated using Weblate (German)
Currently translated at 63.6% (452 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2021-04-28 16:17:41 +00:00
Anonymous
62ba237217 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:44:49 +00:00
Fristi
e053ac9865 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:44:48 +00:00
Anonymous
e8449166e1 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:38:56 +00:00
Fristi
fd3b806c24 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:38:55 +00:00
Anonymous
39b6214447 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:38:12 +00:00
Fristi
f8fde93c51 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:38:11 +00:00
Anonymous
a6f66cfa2a Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:50 +00:00
Fristi
acfd70bd3e Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:49 +00:00
Anonymous
303cf39142 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:27 +00:00
Fristi
31e342a005 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:26 +00:00
Anonymous
61b60f8aa3 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:04 +00:00
Fristi
98735bf340 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:37:03 +00:00
Anonymous
4cebc94324 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:35:36 +00:00
Fristi
be09a42253 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:35:35 +00:00
Anonymous
3a0d4fdc24 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:35:01 +00:00
Fristi
6d40c4f9be Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:35:00 +00:00
Anonymous
5e82b7e316 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:06:26 +00:00
Fristi
dc81367260 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:06:25 +00:00
Anonymous
e262103e7d Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:02:51 +00:00
Fristi
2d8c325926 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 18:02:50 +00:00
Anonymous
78fbee36aa Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:58:13 +00:00
Fristi
099b5a7d38 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:58:12 +00:00
Anonymous
55fa353469 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:57:51 +00:00
Fristi
70cef8d9b5 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:57:50 +00:00
Anonymous
e958c8e943 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:42:55 +00:00
Fristi
a0453f7af8 Translated using Weblate (Dutch)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 17:42:54 +00:00
Anonymous
225f8c44d6 Translated using Weblate (Dutch)
Currently translated at 88.5% (629 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 16:47:24 +00:00
Fristi
8830a1652c Translated using Weblate (Dutch)
Currently translated at 88.5% (629 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 16:47:23 +00:00
Anonymous
3f68af086a Translated using Weblate (Dutch)
Currently translated at 88.1% (626 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 16:45:47 +00:00
Fristi
b780f76b37 Translated using Weblate (Dutch)
Currently translated at 88.1% (626 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 16:45:46 +00:00
Anonymous
b406ebdc39 Translated using Weblate (Dutch)
Currently translated at 87.8% (624 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 15:10:24 +00:00
Fristi
323cc8271f Translated using Weblate (Dutch)
Currently translated at 87.8% (624 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 15:10:23 +00:00
Anonymous
0578467ecf Translated using Weblate (Dutch)
Currently translated at 87.0% (618 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 10:28:20 +00:00
Fristi
35438d93f0 Translated using Weblate (Dutch)
Currently translated at 87.0% (618 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-27 10:28:12 +00:00
Anonymous
110a37f68f Translated using Weblate (Dutch)
Currently translated at 86.3% (613 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:55:30 +00:00
Fristi
4d54ae91d7 Translated using Weblate (Dutch)
Currently translated at 86.3% (613 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:55:30 +00:00
Anonymous
62679e24ab Translated using Weblate (Dutch)
Currently translated at 85.3% (606 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:46:41 +00:00
Fristi
c1da12e2cd Translated using Weblate (Dutch)
Currently translated at 85.3% (606 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:46:40 +00:00
Fristi
5ef0184469 Translated using Weblate (Dutch)
Currently translated at 81.6% (580 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:37:14 +00:00
Anonymous
b65ee94f93 Translated using Weblate (Dutch)
Currently translated at 81.6% (580 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2021-04-25 13:37:13 +00:00
Henry Jameson
8a9115b58e temp fix for now-unused resettable async component 2021-04-25 14:51:15 +03:00
Henry Jameson
b6e8c12dbc emoji picker fix 2021-04-25 14:51:00 +03:00
Henry Jameson
e73cb423b6 fix login form 2021-04-25 14:44:07 +03:00
Henry Jameson
e47d5ba53b fix importer/exporter i18n 2021-04-25 14:12:34 +03:00
Henry Jameson
8d46fd78c7 migrate to v-slot 2021-04-25 14:05:25 +03:00
Henry Jameson
95e74319e1 clean warnings from status 2021-04-25 14:05:25 +03:00
Henry Jameson
709b75198d fix portals/teleports 2021-04-25 14:05:25 +03:00
Henry Jameson
caed89f0ae destroyed -> unmounted 2021-04-25 13:44:50 +03:00
Henry Jameson
72956e2343 fix HOCs 2021-04-25 13:40:08 +03:00
Henry Jameson
4b18e0f36e fix status error 2021-04-25 13:33:02 +03:00
Henry Jameson
b479d80366 fix i18n in services 2021-04-25 13:30:18 +03:00
Henry Jameson
9e8513b312 i18n fixes 2021-04-25 13:25:42 +03:00
Henry Jameson
52835cf8bf work around modules cyclic dependencies 2021-04-25 13:25:04 +03:00
Henry Jameson
905b9771ec stop using vue.set 2021-04-25 13:24:08 +03:00
Henry Jameson
fca885e665 resolve TODO VUE3 2021-04-25 13:23:16 +03:00
Henry Jameson
6e687c0663 fix one async component preventing further load 2021-04-25 13:15:02 +03:00
Henry Jameson
180da297f6 Merge branch 'vue3compat-tabswitcher' into vue3-again
* vue3compat-tabswitcher:
  small refactoring to uncouple tab-switcher from settings modal
  fix theme tab, remove console.logs
  Changed some of TabSwitcher's internals for easier Vue3 migration
2021-04-25 12:51:45 +03:00
Henry Jameson
b774472fff Merge branch 'vue3compat-emoji-input' into vue3-again
* vue3compat-emoji-input:
  backport vue3 changes related to emoji-input
2021-04-25 12:51:21 +03:00
Henry Jameson
76a2e6befb remove Vue.component from hooks 2021-04-25 12:50:17 +03:00
Henry Jameson
1f5f612163 remove Vue.component, just export an object. Seems to be working 2021-04-25 12:47:52 +03:00
Henry Jameson
509ec99574 some minor fixes to get it to boot 2021-04-24 18:04:35 +03:00
Henry Jameson
ced9c0fa7e some bare minimum to get vue3 boot (no UI yet) 2021-04-24 17:56:00 +03:00
ZEN
e00c3ccf36 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-04-22 13:49:34 +00:00
ZEN
b486788ed9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-04-21 05:49:24 +00:00
Ryo Ueno
7acad87806 Translated using Weblate (Japanese)
Currently translated at 99.2% (705 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-04-21 05:49:24 +00:00
Ben Is
2d10084939 Translated using Weblate (Italian)
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-04-21 05:49:24 +00:00
Snow
7a46e81edf Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-04-21 05:49:24 +00:00
Anonymous
0775970476 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-04-21 05:49:24 +00:00
Kana
3f4487b5b8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (710 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-04-21 05:49:24 +00:00
Snow
2435d93d2d Translated using Weblate (Chinese (Traditional))
Currently translated at 99.5% (707 of 710 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-04-21 05:49:24 +00:00
Ben Is
29faa6f124 Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-04-21 05:49:24 +00:00
Snow
b97dfec5f6 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (698 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-04-21 05:49:24 +00:00
ZEN
43b4223f16 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-04-21 05:49:24 +00:00
tarteka
86a851849a Translated using Weblate (Spanish)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-04-21 05:49:24 +00:00
Shpuld Shpludson
3dca3639fd Merge branch 'mp/normaliser-safety' into 'develop'
entity_normalizer: safely check screen_name

See merge request pleroma/pleroma-fe!1383
2021-04-21 05:49:15 +00:00
Matilde Park
06d0254cc5 entity_normalizer: safely check screen_name
Prevents a crash on undefined screen name cases.
2021-04-21 01:40:25 -04:00
Henry Jameson
40ac9ef499 backport vue3 changes related to emoji-input 2021-04-18 17:03:31 +03:00
Henry Jameson
33777fab47 small refactoring to uncouple tab-switcher from settings modal 2021-04-18 15:39:06 +03:00
Henry Jameson
b0789fd6fd fix theme tab, remove console.logs 2021-04-18 15:03:28 +03:00
Henry Jameson
433ea02a18 Changed some of TabSwitcher's internals for easier Vue3 migration 2021-04-18 14:58:02 +03:00
Henry Jameson
09ef284af7 better label, better error handling 2021-04-13 00:08:17 +03:00
Henry Jameson
87903fbf6d do not load ruffle multiple times! 2021-04-12 01:15:59 +03:00
Henry Jameson
6b250762f0 translate a variable name to American English from Australian English 2021-04-12 00:52:16 +03:00
Henry Jameson
f0641d05df linting 2021-04-12 00:07:28 +03:00
Henry Jameson
5fdc4a1904 whooops dropped my monstercondo 2021-04-12 00:03:17 +03:00
Henry Jameson
adafae977a Play-on-click, layout improvements. 2021-04-12 00:00:23 +03:00
Henry Jameson
2f549774ab No longer need to put ruffle stuff in source tree. Made ruffle not use
polyfills also.
2021-04-11 23:03:03 +03:00
Henry Jameson
d695dcaff9 experimental flash support through ruffle 2021-04-09 19:14:05 +03:00
Henry Jameson
61dcdbf992 migrate to v-slot 2021-04-07 22:42:34 +03:00
Henry Jameson
1afda1ac6d lost file 2021-04-07 20:53:58 +03:00
Henry Jameson
0c77a3e1d6 remove extra chevron post-merge 2021-04-07 20:47:59 +03:00
Henry Jameson
4e56e64034 Merge remote-tracking branch 'origin/develop' into better-selects
* origin/develop: (76 commits)
  Translated using Weblate (Italian)
  Translated using Weblate (Basque)
  Translated using Weblate (Spanish)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Italian)
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Russian)
  Translated using Weblate (Italian)
  Translated using Weblate (French)
  Translated using Weblate (Russian)
  Translated using Weblate (Italian)
  Translated using Weblate (French)
  Translated using Weblate (Basque)
  Translated using Weblate (Spanish)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Japanese)
  Translated using Weblate (Italian)
  Translated using Weblate (Esperanto)
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Norwegian Bokmål)
  ...
2021-04-07 20:45:57 +03:00
HJ
8b96ea9377 Merge branch 'settings-import-export' into 'develop'
Settings backup/restore + small fixes

See merge request pleroma/pleroma-fe!1372
2021-04-07 17:40:07 +00:00
HJ
4e3c4ec1db Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1365
2021-03-25 11:17:04 +00:00
Ben Is
bb7d89cd8c Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-22 18:00:04 +00:00
tarteka
16beb3cbda Translated using Weblate (Basque)
Currently translated at 79.2% (556 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2021-03-17 13:26:02 +00:00
tarteka
9701a28a34 Translated using Weblate (Spanish)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-03-17 13:26:02 +00:00
Kana
5be18d177d Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (701 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-03-17 13:26:02 +00:00
Ben Is
5d9f1fa76f Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:02 +00:00
Snow
d3ae0b3b97 Translated using Weblate (Chinese (Traditional))
Currently translated at 97.5% (685 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-03-17 13:26:02 +00:00
rinpatch
e11e23e6f9 Translated using Weblate (Russian)
Currently translated at 88.6% (622 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:02 +00:00
Ben Is
dc37f07fe2 Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:02 +00:00
Haelwenn (lanodan) Monnier
2367e7ce8f Translated using Weblate (French)
Currently translated at 100.0% (702 of 702 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-03-17 13:26:02 +00:00
rinpatch
5872e3dd54 Translated using Weblate (Russian)
Currently translated at 88.5% (619 of 699 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:02 +00:00
Ben Is
2392307290 Translated using Weblate (Italian)
Currently translated at 100.0% (697 of 697 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:02 +00:00
Haelwenn (lanodan) Monnier
e199f26632 Translated using Weblate (French)
Currently translated at 100.0% (697 of 697 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-03-17 13:26:02 +00:00
tarteka
d716026f54 Translated using Weblate (Basque)
Currently translated at 79.7% (555 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2021-03-17 13:26:02 +00:00
tarteka
9801906ea1 Translated using Weblate (Spanish)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-03-17 13:26:02 +00:00
Kana
cf35a9697e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-03-17 13:26:02 +00:00
Ryo Ueno
c97ad72cf0 Translated using Weblate (Japanese)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-03-17 13:26:02 +00:00
Ben Is
41034141d8 Translated using Weblate (Italian)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:01 +00:00
Tirifto
0a4efeb843 Translated using Weblate (Esperanto)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-03-17 13:26:01 +00:00
Snow
fb1e57b6b6 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (692 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-03-17 13:26:01 +00:00
fiftyffs
ecac5bb015 Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.8% (486 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nb_NO/
2021-03-17 13:26:01 +00:00
Ben Is
ba8a2f4a20 Translated using Weblate (Italian)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:01 +00:00
Haelwenn (lanodan) Monnier
7fa7809c50 Translated using Weblate (French)
Currently translated at 100.0% (696 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-03-17 13:26:01 +00:00
rinpatch
615925e53d Translated using Weblate (Russian)
Currently translated at 88.6% (617 of 696 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
bb1bcfd084 Translated using Weblate (Russian)
Currently translated at 88.0% (609 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Ben Is
f8e2fde99b Translated using Weblate (Italian)
Currently translated at 100.0% (692 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:01 +00:00
Haelwenn (lanodan) Monnier
35d2a809d2 Translated using Weblate (French)
Currently translated at 97.1% (672 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-03-17 13:26:01 +00:00
Kana
fa6aba1dbd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (692 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
2e6a7c9fb8 Translated using Weblate (Russian)
Currently translated at 87.8% (608 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
b0d450075d Translated using Weblate (Russian)
Currently translated at 87.8% (608 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Tirifto
6829c92f63 Translated using Weblate (Esperanto)
Currently translated at 99.5% (689 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
47507b72dc Translated using Weblate (Russian)
Currently translated at 86.1% (596 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
37944a19c3 Translated using Weblate (Russian)
Currently translated at 86.1% (596 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
65e510c3f2 Translated using Weblate (Russian)
Currently translated at 85.2% (590 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
f28d71d769 Translated using Weblate (Russian)
Currently translated at 85.2% (590 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
73b053db5c Translated using Weblate (Russian)
Currently translated at 84.9% (588 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
a450772039 Translated using Weblate (Russian)
Currently translated at 84.9% (588 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
fe1d90ebc3 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
e9ead1bfdd Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Anonymous
7ef1db1556 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
3739c58855 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
3a07fe2572 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
8a9913c5f6 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
0a0bb6078b Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
08a44ee4a1 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Dmitriy Nelovchenko
822d73c221 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
rinpatch
deac610df6 Translated using Weblate (Russian)
Currently translated at 84.8% (587 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-03-17 13:26:01 +00:00
Ryo Ueno
a7d64d038a Translated using Weblate (Korean)
Currently translated at 66.7% (462 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-03-17 13:26:01 +00:00
Ryo Ueno
f70921b984 Translated using Weblate (Japanese)
Currently translated at 100.0% (692 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-03-17 13:26:01 +00:00
Ben Is
d839c1ac89 Translated using Weblate (Italian)
Currently translated at 100.0% (692 of 692 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-03-17 13:26:01 +00:00
Shpuld Shpludson
aacd909846 Merge branch 'feat/moderation-tools-chevron' into 'develop'
Add a chevron to moderation tools button to indicate it opens a menu

Closes #1069

See merge request pleroma/pleroma-fe!1377
2021-03-17 13:25:43 +00:00
Shpuld Shpludson
d57ee274de Merge branch 'feat/notification-quick-filters' into 'develop'
Add quick filters for notifications

See merge request pleroma/pleroma-fe!1364
2021-03-17 08:17:23 +00:00
Shpuld Shpuldson
8163c7b55b v-slot 2021-03-16 08:35:29 +02:00
rinpatch
4c36ac12b6 Add a chevron to moderation tools button to indicate it opens a menu
Closes #1069
2021-03-15 17:49:52 +03:00
Shpuld Shpludson
d262f208dc Merge branch 'feat/do-not-capitalize-every-word' into 'develop'
Do not capitalize every word in random strings

See merge request pleroma/pleroma-fe!1376
2021-03-15 12:33:44 +00:00
rinpatch
feb40ec5ff Do not capitalize every word in random strings
Capitalization like that is only ever used in article/book titles, I
have not seen another website use it in interface elements.
2021-03-15 13:49:03 +03:00
Shpuld Shpludson
5ce298ead4 Merge branch 'feat/replace-generic-submit' into 'develop'
Use more specific button titles instead of general.submit

See merge request pleroma/pleroma-fe!1375
2021-03-15 10:38:04 +00:00
rinpatch
47719571e4 Use more specific button titles instead of general.submit
- "Post" for post submission (we already had the button title be "Posting"
when the post was being sent, so there was a weird inconsistency)
- "Register" for registration submission
- "Save changes" for usages in settings
2021-03-15 13:28:33 +03:00
Shpuld Shpludson
a00212a3bb Merge branch 'websocket-fixes' into 'develop'
Various websocket fixes

See merge request pleroma/pleroma-fe!1326
2021-03-15 09:45:38 +00:00
Shpuld Shpuldson
c682c1730f fix changelog 2021-03-15 11:05:00 +02:00
Shpuld Shpuldson
19fc7dda9e merge conflict, use v-slot:trigger, fix popover svg dimensions bug 2021-03-15 11:02:16 +02:00
Shpuld Shpludson
184364c7e0 Merge branch 'feat/timeline-menu-in-navpanel' into 'develop'
Add timeline menu toggle to nav panel

See merge request pleroma/pleroma-fe!1352
2021-03-15 07:03:22 +00:00
Henry Jameson
2da37f15ab Cleanup boolean/choice setting 2021-03-11 17:04:31 +02:00
Henry Jameson
8e88d8110b fix for filtering tab 2021-03-11 17:00:58 +02:00
Henry Jameson
1f0ac68fcd implement ChoiceSetting for settings modal similar to BooleanSetting 2021-03-11 16:55:14 +02:00
Henry Jameson
3870a30aea cleanup, fixes 2021-03-11 16:54:03 +02:00
Henry Jameson
5d3bf43fdc ghost styles for poll form 2021-03-11 16:54:03 +02:00
Henry Jameson
c6d4c20982 Made Select component to make using styled selects easier 2021-03-11 16:11:44 +02:00
Henry Jameson
5c064ccf55 fix some css problems + tiny bit cleaning up 2021-03-11 15:14:30 +02:00
Shpuld Shpludson
0475e1c61c Update CHANGELOG.md 2021-03-09 09:45:28 +00:00
Shpuld Shpludson
088683538d Update CHANGELOG.md 2021-03-09 09:45:14 +00:00
Shpuld Shpludson
badb2196a2 Merge branch 'develop' into 'feat/notification-quick-filters'
# Conflicts:
#   CHANGELOG.md
2021-03-09 09:43:01 +00:00
Henry Jameson
a8967d85bd streamlined WS flow, reduced spam amount related to WS reconnections 2021-03-09 02:38:10 +02:00
Henry Jameson
90afcd3420 WIP some work on making errors less spammy 2021-03-08 22:24:39 +02:00
Henry Jameson
2e7bd99444 Merge remote-tracking branch 'origin/develop' into websocket-fixes
* origin/develop: (119 commits)
  Apply 1 suggestion(s) to 1 file(s)
  Make it possible to localize user highlight options
  remove shoutbox test hacks
  fix shoutbox header, use custom scroll-to-bottom system, remove vue-chat-scroll, temporarily add chat test hack
  update changelog with 2.3.0
  change icons around
  Translated using Weblate (Japanese)
  Update timeline_quick_settings.js
  add screen_name_ui to tests
  separate screen_name and screen_name_ui with decoded punycode
  Update CHANGELOG.md
  add basic validation for statusless status notifications
  changelog mention
  fix chat unread badge
  update shelljs to get rid of warnings on build
  save a few characters
  focus input in emoji picker and react picker
  fix vue warnings
  add only to wording
  basic loggedin check for reply filtering
  ...
2021-03-08 22:01:28 +02:00
Henry Jameson
3d95ea6acb cleanup + fix 2021-03-08 21:56:20 +02:00
Henry Jameson
fada49768d extra protection to not write what we don't know 2021-03-08 21:14:03 +02:00
Henry Jameson
914b4eb593 lint 2021-03-08 21:03:55 +02:00
Henry Jameson
395e12cbc6 better error/warnings 2021-03-08 21:00:43 +02:00
Henry Jameson
dda95543e8 implemented import/export for themes 2021-03-08 19:53:30 +02:00
Henry Jameson
bd5b62b107 changed importexport into a service instead of component for simplicity 2021-03-08 19:42:24 +02:00
Henry Jameson
4baa397ed0 fixed another problem with p's broken theme causing theme editor to
become unusable
2021-03-08 19:19:16 +02:00
Henry Jameson
8a590f9269 Cleaned up panel-footer. No longer uses header styles since those look
and work ugly.
2021-03-08 19:18:43 +02:00
Shpuld Shpludson
6281241b92 Merge branch 'feat/user-highlight-localizable' into 'develop'
Make it possible to localize user highlight options

See merge request pleroma/pleroma-fe!1369
2021-03-04 20:02:57 +00:00
rinpatch
c14c144cc8 Apply 1 suggestion(s) to 1 file(s) 2021-03-04 19:46:03 +00:00
rinpatch
b4f5df9ce5 Make it possible to localize user highlight options 2021-03-04 22:24:17 +03:00
Shpuld Shpludson
fb183adc74 Merge branch 'fix/shoutbox-fixes' into 'develop'
Remove vue-chat-scroll, fix up shoutbox header

See merge request pleroma/pleroma-fe!1368
2021-03-03 15:07:10 +00:00
Shpuld Shpuldson
becacf0643 remove shoutbox test hacks 2021-03-03 16:47:59 +02:00
Shpuld Shpuldson
0673511fc2 fix shoutbox header, use custom scroll-to-bottom system, remove vue-chat-scroll, temporarily add chat test hack 2021-03-03 16:46:53 +02:00
Shpuld Shpludson
30057a4944 Merge branch 'chore/update-changelog' into 'develop'
update changelog with 2.3.0

See merge request pleroma/pleroma-fe!1367
2021-03-02 08:03:59 +00:00
Shpuld Shpuldson
d1ab424ebc update changelog with 2.3.0 2021-03-02 09:53:17 +02:00
Shpuld Shpuldson
ae159f6ad8 ui never refers to them as likes 2021-03-01 16:30:10 +02:00
Shpuld Shpuldson
11a036d6d6 changelog 2021-03-01 16:27:24 +02:00
Shpuld Shpuldson
f6af4c43f6 add quick filters for notifications2 2021-03-01 16:21:35 +02:00
Shpuld Shpludson
6d7b5b157b Merge branch 'feat/timeline-quick-settings' into 'develop'
close #1050 - add a quick settings menu to timeline header

Closes #1050

See merge request pleroma/pleroma-fe!1355
2021-03-01 12:12:12 +00:00
Shpuld Shpuldson
fc5483f764 change icons around 2021-03-01 10:14:17 +02:00
HJ
a90910be8f Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1363
2021-03-01 00:10:45 +00:00
Ryo Ueno
846e58c3d2 Translated using Weblate (Japanese)
Currently translated at 100.0% (686 of 686 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-03-01 00:00:58 +00:00
Shpuld Shpludson
91f93d4a55 Merge branch 'develop' into 'feat/timeline-quick-settings'
# Conflicts:
#   CHANGELOG.md
2021-02-28 15:37:39 +00:00
Shpuld Shpludson
670abd633f Update timeline_quick_settings.js 2021-02-28 15:36:51 +00:00
Shpuld Shpludson
b4782ad159 Merge branch 'feat/sensitive-by-default' into 'develop'
close #1054 add sensitive by default option

Closes #1054

See merge request pleroma/pleroma-fe!1354
2021-02-27 18:31:13 +00:00
Shpuld Shpludson
92a9ce67c5 Update CHANGELOG.md 2021-02-27 18:23:11 +00:00
Shpuld Shpludson
aa5cb3d1d2 Merge branch 'fix/punycode-buggy' into 'develop'
Fix punycode handling to be less stupid

Closes #1064

See merge request pleroma/pleroma-fe!1361
2021-02-27 18:12:52 +00:00
Shpuld Shpludson
237f272d15 Merge branch 'develop' into 'fix/punycode-buggy'
# Conflicts:
#   CHANGELOG.md
2021-02-27 18:03:49 +00:00
Shpuld Shpludson
a83fdbbd59 Merge branch 'fix/dont-crash-on-invalid-notificaiton' into 'develop'
close #1043 - add basic validation for statusless status notifications

Closes #1043

See merge request pleroma/pleroma-fe!1360
2021-02-27 16:57:46 +00:00
Shpuld Shpuldson
49aa10e1c0 add screen_name_ui to tests 2021-02-26 16:37:46 +02:00
Shpuld Shpuldson
09fe160e8b separate screen_name and screen_name_ui with decoded punycode 2021-02-26 16:23:11 +02:00
Shpuld Shpludson
7c37f495f6 Update CHANGELOG.md 2021-02-26 12:36:58 +00:00
Shpuld Shpuldson
cd2f5ced31 add basic validation for statusless status notifications 2021-02-26 14:27:25 +02:00
Shpuld Shpludson
59db4582b0 Merge branch 'feat/focus-input-with-emoji-pickers' into 'develop'
close #1048: Focus input in emoji picker and react picker

Closes #1048

See merge request pleroma/pleroma-fe!1357
2021-02-26 11:13:33 +00:00
HJ
20b755d57e Merge branch 'fix-build-warnings' into 'develop'
update shelljs to get rid of warnings on build

See merge request pleroma/pleroma-fe!1358
2021-02-26 10:16:21 +00:00
HJ
a7a69d08a7 Merge branch 'fix/chat-unread-badge' into 'develop'
fix chat unread badge

See merge request pleroma/pleroma-fe!1359
2021-02-26 10:15:09 +00:00
Shpuld Shpuldson
2e7529cf50 changelog mention 2021-02-26 11:03:26 +02:00
Shpuld Shpuldson
6fefa5a9c5 fix chat unread badge 2021-02-26 11:00:21 +02:00
Shpuld Shpuldson
cef6ecb916 update shelljs to get rid of warnings on build 2021-02-26 10:30:30 +02:00
Shpuld Shpuldson
acc08932cd save a few characters 2021-02-25 17:32:54 +02:00
Shpuld Shpuldson
74caf42ed7 Merge branch 'develop' into feat/focus-input-with-emoji-pickers 2021-02-25 17:31:36 +02:00
Shpuld Shpuldson
34d18ac0c4 focus input in emoji picker and react picker 2021-02-25 17:27:29 +02:00
Shpuld Shpludson
dd9e18fd34 Merge branch 'fix-vue-warnings-again' into 'develop'
fix vue warnings

See merge request pleroma/pleroma-fe!1356
2021-02-25 12:43:22 +00:00
Shpuld Shpuldson
59aaade7fc fix vue warnings 2021-02-25 14:32:21 +02:00
Shpuld Shpuldson
096747a5dc add only to wording 2021-02-25 11:12:51 +02:00
Shpuld Shpuldson
93785634a7 basic loggedin check for reply filtering 2021-02-25 11:01:11 +02:00
Shpuld Shpuldson
51a78e8b8a add a quick settings menu for timeline headers 2021-02-25 10:56:16 +02:00
Shpuld Shpuldson
ecb211606c change config comment to be consistent 2021-02-23 10:06:45 +02:00
Shpuld Shpuldson
29dae3c12e update changelog 2021-02-23 10:03:29 +02:00
Shpuld Shpuldson
3f23aecd10 add sensitive by default option 2021-02-23 10:00:23 +02:00
HJ
5faca01261 Merge branch 'fix/redline-final-v2' into 'develop'
fix redline again

See merge request pleroma/pleroma-fe!1353
2021-02-22 18:53:26 +00:00
Shpuld Shpuldson
485f4b899c changelog conflict 2021-02-22 18:11:27 +02:00
Shpuld Shpuldson
e14b9ddc02 changelog conflict fix 2021-02-22 18:00:02 +02:00
Shpuld Shpludson
3d013630ae Merge branch 'fix/scroll-lock-jumpiness' into 'develop'
Fix some UI jumpiness on scroll lock

See merge request pleroma/pleroma-fe!1343
2021-02-22 15:14:23 +00:00
Shpuld Shpludson
589ab6510c Merge branch 'feat/keep-chat-perf-up' into 'develop'
Optimize chat perf in long run

See merge request pleroma/pleroma-fe!1350
2021-02-22 15:01:05 +00:00
Shpuld Shpludson
e8b8c3cc49 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1351
2021-02-22 15:00:47 +00:00
Shpuld Shpuldson
2f60c6a821 fix redline again 2021-02-22 16:44:12 +02:00
Shpuld Shpuldson
98cb9abac7 Add timeline menu toggle to nav panel 2021-02-22 16:24:04 +02:00
Kana
5ddfc787ed Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (684 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-02-22 03:28:44 +00:00
Ryo Ueno
226ec1c5be Translated using Weblate (Korean)
Currently translated at 66.8% (458 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-21 03:00:16 +00:00
Ryo Ueno
3983ea79cd Translated using Weblate (Korean)
Currently translated at 66.7% (457 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-21 02:51:00 +00:00
Ryo Ueno
20997d6cfc Translated using Weblate (Japanese)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-21 02:50:57 +00:00
Ben Is
d5f191db38 Translated using Weblate (Italian)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-21 02:50:55 +00:00
Tirifto
d0b1a68f86 Translated using Weblate (Esperanto)
Currently translated at 100.0% (683 of 683 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-02-20 20:37:20 +00:00
Shpuld Shpludson
a89710452a Merge branch 'feat/reason-in-registration' into 'develop'
Close #1047 - add reason field for registration when needed

Closes #1047

See merge request pleroma/pleroma-fe!1347
2021-02-20 20:37:12 +00:00
HJ
663362db56 Merge branch 'fix/poll-type-text-overflow' into 'develop'
add padding to poll type to not have arrow icon overlap text

See merge request pleroma/pleroma-fe!1345
2021-02-20 19:29:02 +00:00
HJ
a7f055a875 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1348
2021-02-20 19:27:51 +00:00
Shpuld Shpuldson
67f3532ac9 add additional check with timeout 2021-02-18 10:14:45 +02:00
Shpuld Shpuldson
ee1cf36d52 update changelog 2021-02-17 10:54:14 +02:00
Shpuld Shpuldson
7834ff52b1 add test 2021-02-17 10:53:38 +02:00
Shpuld Shpuldson
47770ed715 get rid of older messages when scrolling down in chat to keep it from bloating dom 2021-02-17 10:16:58 +02:00
Kana
e720d4dd8a Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (682 of 683 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-02-15 10:26:04 +00:00
rinpatch
aa240f935f Merge branch 'chore/mailmap' into 'develop'
Add myself to .mailmap

See merge request pleroma/pleroma-fe!1349
2021-02-15 10:25:57 +00:00
rinpatch
265bb2cd41 Add myself to .mailmap
I changed my email to rin@patch.cx
2021-02-15 13:17:52 +03:00
Shpuld Shpuldson
23a5c601a7 changelog 2021-02-15 11:35:14 +02:00
Shpuld Shpuldson
b4580d086f Merge branch 'develop' into feat/reason-in-registration 2021-02-15 11:10:38 +02:00
Shpuld Shpuldson
a636e53404 add reason field when approval is required 2021-02-15 11:10:09 +02:00
HJ
2f8d4c7406 Merge branch 'fix/weblate-conflicts' into 'develop'
Merge Weblate updates

See merge request pleroma/pleroma-fe!1346
2021-02-15 08:33:58 +00:00
rinpatch
3d25946bbf Merge Weblate updates
There was a merge conflict so it had to be done manually.
2021-02-15 11:25:03 +03:00
Shpuld Shpuldson
c3b267f2b9 add padding to poll type to not have arrow icon overlap text 2021-02-15 08:30:41 +02:00
Shpuld Shpludson
44bddf6cd2 Merge branch 'fix/usercard-use-general-roles' into 'develop'
User card: use general.role instead of card-specific roles

See merge request pleroma/pleroma-fe!1344
2021-02-15 06:20:55 +00:00
Ryo Ueno
7e11093fcd Translated using Weblate (Japanese)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-14 09:49:18 +00:00
Ben Is
cba48476ad Translated using Weblate (Italian)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-14 09:49:16 +00:00
rinpatch
033b7eaeb9 Translated using Weblate (Russian)
Currently translated at 83.6% (573 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-02-13 22:05:02 +00:00
rinpatch
6acf812101 User card: use general.role instead of card-specific roles
Also removes admin_menu.roles from some localizations since it is not
used anywhere
2021-02-13 16:34:43 +03:00
Ben Is
376d431681 Translated using Weblate (Italian)
Currently translated at 100.0% (682 of 682 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-12 19:15:48 +00:00
Ryo Ueno
0dc6937bf8 Translated using Weblate (Korean)
Currently translated at 57.3% (390 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-12 19:15:48 +00:00
Anonymous
a848462f19 Translated using Weblate (Japanese)
Currently translated at 98.8% (672 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Ryo Ueno
cccdda3a7b Translated using Weblate (Japanese)
Currently translated at 98.8% (672 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Anonymous
e85fa160c7 Translated using Weblate (Japanese)
Currently translated at 98.0% (667 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Ryo Ueno
586c538aa0 Translated using Weblate (Japanese)
Currently translated at 98.0% (667 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
tarteka
21e2b3ce0e Translated using Weblate (Spanish)
Currently translated at 100.0% (680 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-02-12 19:15:48 +00:00
Ben Is
11081c2870 Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-12 19:15:48 +00:00
Snow
4c845a1a99 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
Snow
0a3f40eebb Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
Snow
63317a2fdf Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (674 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
LibertAdmin
0ffb7b67ed Translated using Weblate (French)
Currently translated at 98.2% (667 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-02-12 19:15:48 +00:00
fiftyffs
1a836c8527 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.1% (476 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nb_NO/
2021-02-12 19:15:48 +00:00
Shpuld Shpludson
7f3fd9ca21 Merge branch 'multi-choice-poll-wording' into 'develop'
Display 'people voted' instead of 'votes' for multi-answers polls

Closes #993

See merge request pleroma/pleroma-fe!1341
2021-02-12 19:15:42 +00:00
Shpuld Shpuldson
c7018057f1 changelog 2021-02-12 18:49:57 +02:00
Shpuld Shpuldson
398aac6558 remove redundant opacity2 2021-02-12 18:47:10 +02:00
eugenijm
01275fbac0 Ensure poll.voters_count doesn't fallback to poll.votes when it's 0 2021-02-12 19:43:57 +03:00
Shpuld Shpuldson
4859e63a89 Remove body scrollbar in chat layout, keep nav bar still on scroll lock, add tiny fade for media modal 2021-02-12 18:14:54 +02:00
Shpuld Shpludson
b2a96417cf Merge branch 'fix/localize-bot-label' into 'develop'
Make bot label localizable

See merge request pleroma/pleroma-fe!1342
2021-02-12 13:58:11 +00:00
rinpatch
da807a12fb Make bot label localizable 2021-02-12 13:48:39 +03:00
Shpuld Shpludson
8b7c367b04 Merge branch 'staff-grouping' into 'develop'
Group staff by role in the About page

Closes #737

See merge request pleroma/pleroma-fe!1309
2021-02-12 08:05:55 +00:00
Eugenij
13ff99881b Apply 1 suggestion(s) to 1 file(s) 2021-02-10 12:28:39 +00:00
eugenijm
1506b97e35 Display 'people voted' instead of 'votes' for multi-choice polls 2021-02-09 16:36:45 +03:00
HJ
647d75f27c Merge branch 'reactbutton-consistency' into 'develop'
Some fixes for reactbutton/extrabuttons

See merge request pleroma/pleroma-fe!1340
2021-02-09 13:12:42 +00:00
Henry Jameson
213c5637d4 Cleanup ReactButton's CSS, fix hitboxes of reactbutton and extrabuttons 2021-02-03 09:18:44 +02:00
HJ
6f3acb3c1b Merge branch 'fix-otp-login-kbd' into 'develop'
Fix #1033 as well as other (potential) similar issues

Closes #1033

See merge request pleroma/pleroma-fe!1338
2021-02-03 06:23:35 +00:00
HJ
7d4c7e3b3f Merge branch 'settings-changed' into 'develop'
Boolean settings improvements

See merge request pleroma/pleroma-fe!1257
2021-02-02 20:27:23 +00:00
Henry Jameson
78f8147aa6 change react button classnames for consistency 2021-02-01 21:07:40 +02:00
Henry Jameson
982c799b6f fix a bunch of <button>s acting as submit buttons breaking enter key 2021-02-01 21:07:09 +02:00
Henry Jameson
66f3e72b54 update branch with recent develop changes (FA, added settings) 2021-02-01 20:08:36 +02:00
Henry Jameson
8958f386be Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop: (306 commits)
  fallback if shadows aren't defined
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Ukrainian)
  Translated using Weblate (Italian)
  Translated using Weblate (Ukrainian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Italian)
  Translated using Weblate (Russian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Russian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  ...
2021-02-01 19:39:57 +02:00
Shpuld Shpludson
de66267a07 Merge branch 'fix/use-current-app-locale' into 'develop'
Use app locale with toLocaleString/toLocaleDateString

See merge request pleroma/pleroma-fe!1301
2021-01-29 08:38:15 +00:00
HJ
6e4a0d408c Merge branch 'fix-fix-themes' into 'develop'
fallback if shadows aren't defined

See merge request pleroma/pleroma-fe!1337
2021-01-28 12:14:28 +00:00
Henry Jameson
2576b75059 fallback if shadows aren't defined 2021-01-28 14:05:32 +02:00
HJ
11963de288 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1327
2021-01-27 06:51:53 +00:00
Snow
79e4df99dc Translated using Weblate (Chinese (Traditional))
Currently translated at 98.5% (669 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-25 17:04:16 +00:00
Pavlo Bilous
58a92c1b7d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-25 17:04:16 +00:00
Ben Is
286527b489 Translated using Weblate (Italian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-25 17:04:16 +00:00
rinpatch
bc9cd4170d Translated using Weblate (Ukrainian)
Currently translated at 99.4% (675 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-25 17:04:16 +00:00
João Rodrigues
c4fb123d07 Translated using Weblate (Portuguese)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Ben Is
3b6a30ec9f Translated using Weblate (Italian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-25 17:04:16 +00:00
rinpatch
238e9dcd35 Translated using Weblate (Russian)
Currently translated at 83.9% (570 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
Artur Mancha
c3e5fd5fa1 Translated using Weblate (Portuguese)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
rinpatch
05e5bb6404 Translated using Weblate (Russian)
Currently translated at 83.8% (568 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
João Rodrigues
836fc4d205 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Ana Margarida Guimarães Ribeiro Cardoso
c8240a48d5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous
d39e918cd3 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous
da47d9a43d Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues
0c2b425682 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
André Inácio
ffd673d4a5 Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Miguel Carreiro
6df5459ec9 Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous
c5477e489b Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues
cdd632f04c Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Miguel Carreiro
e9c5e06f50 Translated using Weblate (Portuguese)
Currently translated at 71.9% (487 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira
a9cbf3eafe Translated using Weblate (Portuguese)
Currently translated at 71.9% (487 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira
ac43a8145b Translated using Weblate (Portuguese)
Currently translated at 70.0% (474 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dr. António
21eac51029 Translated using Weblate (Portuguese)
Currently translated at 70.0% (474 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira
600ff9a67b Translated using Weblate (Portuguese)
Currently translated at 69.8% (473 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira
a5def5cf56 Translated using Weblate (Portuguese)
Currently translated at 69.7% (472 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dr. António
24f7cbf3c9 Translated using Weblate (Portuguese)
Currently translated at 69.7% (472 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira
916d4e0496 Translated using Weblate (Portuguese)
Currently translated at 69.4% (470 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues
1036395dfc Translated using Weblate (Portuguese)
Currently translated at 69.4% (470 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha
58528605c8 Translated using Weblate (Portuguese)
Currently translated at 56.8% (385 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
André Inácio
9a074fbdfa Translated using Weblate (Portuguese)
Currently translated at 56.8% (385 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha
e8fb0f313e Translated using Weblate (Portuguese)
Currently translated at 49.0% (332 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha
67a0d83568 Translated using Weblate (Portuguese)
Currently translated at 48.7% (330 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dmitriy Nelovchenko
7c295e1e0f Translated using Weblate (Russian)
Currently translated at 83.1% (563 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
yasnost
a02b769c8f Translated using Weblate (Russian)
Currently translated at 83.1% (563 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
HJ
7b6f68ebcd Merge branch 'fix/shoutbox-mobile' into 'develop'
fix #1051 wrong route in side drawer shoutbox link

Closes #1051

See merge request pleroma/pleroma-fe!1335
2021-01-25 17:04:08 +00:00
Shpuld Shpuldson
9cf487497e fix wrong route in side drawer shoutbox link 2021-01-25 18:49:03 +02:00
HJ
eb2975b64d Merge branch 'fix-p-themes' into 'develop'
Fix p's weird corrupt theme data crashing theme engine

See merge request pleroma/pleroma-fe!1334
2021-01-24 10:36:03 +00:00
Henry Jameson
272ba8f7a9 Fix p's weird corrupt theme data crashing theme engine 2021-01-23 13:58:40 +02:00
Shpuld Shpludson
28ebb8b0ae Merge branch 'fix/convert-more-hyperlinks-to-buttons' into 'develop'
convert more hyperlink buttons to real buttons

See merge request pleroma/pleroma-fe!1333
2021-01-22 13:21:16 +00:00
Shpuld Shpuldson
27a537d307 give delete field its own class 2021-01-22 12:06:39 +02:00
Shpuld Shpuldson
daa9f211a6 Merge branch 'develop' into fix/convert-more-hyperlinks-to-buttons 2021-01-22 12:04:58 +02:00
rinpatch
60a8a89f5b Use app locale with toLocaleString/toLocaleDateString
Fixes inconsistent date formatting when browser language is different
from PleromaFE language.
2021-01-21 20:31:54 +03:00
Shpuld Shpludson
0358284ebf Merge branch 'feat/language-picker-native-names' into 'develop'
Use native language names in the language picker

See merge request pleroma/pleroma-fe!1302
2021-01-21 13:41:36 +00:00
rinpatch
11c7355749 Use native language names in the language picker
This seems more intuitive to me and is what I've seen in most other
language pickers.
2021-01-21 14:24:16 +03:00
feld
f614da2abb Merge branch 'breaking/adminapi-user-deactivated' into 'develop'
Support old user.deactivated and new user.is_active fields

See merge request pleroma/pleroma-fe!1329
2021-01-20 22:49:42 +00:00
feld
831cf9eafb Apply 1 suggestion(s) to 1 file(s) 2021-01-20 14:47:13 -06:00
Shpuld Shpludson
e14917e28d Merge branch 'feat/user-role-i18n' into 'develop'
UserCard: Make user roles translateable

See merge request pleroma/pleroma-fe!1331
2021-01-20 15:40:47 +00:00
Shpuld Shpuldson
02ab803725 change a few more buttons to real buttons 2021-01-20 17:36:40 +02:00
Shpuld Shpuldson
9bf80cc7be Merge branch 'develop' into fix/convert-more-hyperlinks-to-buttons 2021-01-20 17:14:09 +02:00
Shpuld Shpludson
62dcf34e0d Merge branch 'chore/backport-release-in-changelog' into 'develop'
Chore/backport release in changelog

See merge request pleroma/pleroma-fe!1332
2021-01-20 15:13:40 +00:00
Shpuld Shpuldson
8011556c28 backport 2.2.3 to changelog 2021-01-20 17:03:51 +02:00
Shpuld Shpuldson
dcba920f92 fix profile field buttons, remove attachment button 2021-01-20 17:01:57 +02:00
rinpatch
b76a68e622 UserCard: Make user roles translateable
I did not add a translation for my native language in this patch because
I am not sure how weblate would react, but I did add it locally and it
seems to work.
2021-01-20 14:04:00 +03:00
Mark Felder
36e56354e4 More robust backwards compatibility 2021-01-19 10:01:55 -06:00
Mark Felder
9656c9b969 Support old user.deactivated and new user.is_active fields 2021-01-18 15:54:12 -06:00
Shpuld Shpludson
fe78ed78fd Merge branch 'feat/dont-filter-own-posts' into 'develop'
Don't filter own posts

See merge request pleroma/pleroma-fe!1323
2021-01-18 13:09:25 +00:00
Henry Jameson
9a8bc245a6 fixed few-posts TLs when streaming is enabled 2021-01-13 22:17:29 +02:00
Henry Jameson
48bef143d8 fix not being able to re-enable sockets until page refresh 2021-01-13 21:33:20 +02:00
Henry Jameson
64fa662644 added notices for ws events 2021-01-13 21:32:25 +02:00
Henry Jameson
adc3b17fe0 add success global notice style/level 2021-01-13 21:29:12 +02:00
Henry Jameson
835eaf33b1 fix local dev websockets 2021-01-13 21:28:34 +02:00
HJ
8c82bb61f1 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1325
2021-01-13 12:51:33 +00:00
Ben Is
38e5eec122 Translated using Weblate (Italian)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-13 11:00:37 +00:00
Shpuld Shpludson
f52bca04c9 Merge branch 'feat/allow-reporting-status-directly' into 'develop'
Add report button to status ellipsis menu

See merge request pleroma/pleroma-fe!1324
2021-01-12 16:01:15 +00:00
Shpuld Shpuldson
0ee0551a47 fix changing reported status on same user 2021-01-12 14:55:31 +02:00
Shpuld Shpuldson
65dbf7b85d Add report button to status ellipsis menu 2021-01-12 14:43:21 +02:00
Shpuld Shpludson
728726cf17 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1305
2021-01-12 12:01:32 +00:00
Shpuld Shpuldson
cdb9b4aea2 changelog update 2021-01-11 19:41:42 +02:00
Shpuld Shpuldson
5ab96ae0d2 don't filter own posts 2021-01-11 19:40:35 +02:00
Kana
1a89ec5d8a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Marcin Mikołajczak
83db5f0916 Translated using Weblate (Polish)
Currently translated at 99.8% (676 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2021-01-05 08:09:18 +00:00
Dmitriy Nelovchenko
4f69c41fa5 Translated using Weblate (Russian)
Currently translated at 79.6% (539 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Dmitriy Nelovchenko
8729c66374 Translated using Weblate (Russian)
Currently translated at 78.8% (534 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
rinpatch
6670668a7c Translated using Weblate (Russian)
Currently translated at 77.9% (528 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
tarteka
c1de7b60e1 Translated using Weblate (Spanish)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-01-05 08:09:18 +00:00
Ben Is
bdee1277b1 Translated using Weblate (Italian)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
Kana
12991f915f Translated using Weblate (Chinese (Traditional))
Currently translated at 98.9% (668 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-05 08:09:18 +00:00
Kana
2053b3396a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Ben Is
e98c19c725 Translated using Weblate (Italian)
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
ZEN
3681d6bbd1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Ben Is
e3b02de6fb Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
Митець
fa6cfc8238 Translated using Weblate (Ukrainian)
Currently translated at 99.8% (671 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
shironeko
2509bfc5e6 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (668 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-05 08:09:18 +00:00
Kana
d50798e8ce Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
shironeko
b5dca9bbe2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
rinpatch
3987020216 Translated using Weblate (Russian)
Currently translated at 78.5% (528 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Tirifto
271f9e539a Translated using Weblate (Esperanto)
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-01-05 08:09:18 +00:00
shironeko
a2dff27737 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (670 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Kana
467efc4639 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (670 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Kana
646ff273ee Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (669 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
rinpatch
2b6b5ff227 Translated using Weblate (Russian)
Currently translated at 77.4% (520 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Митець
cf796d8f5c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN
762204f3be Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
rinpatch
d1f51d946b Translated using Weblate (Russian)
Currently translated at 77.3% (519 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
ZEN
837df4f5a5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN
76809e9d24 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Митець
1847315353 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN
07b31a7d9c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Митець
9780e1fc11 Translated using Weblate (Ukrainian)
Currently translated at 98.0% (658 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN
21f624609f Translated using Weblate (Ukrainian)
Currently translated at 98.0% (658 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Shpuld Shpludson
3e7d1fbf23 Merge branch 'fix/punycode-screen-names' into 'develop'
fix #1036 convert screen name to unicode with punycode

Closes #1036

See merge request pleroma/pleroma-fe!1320
2021-01-05 08:09:09 +00:00
Shpuld Shpludson
ef6e2087ae fix #1036 convert screen name to unicode with punycode 2021-01-05 08:09:08 +00:00
HJ
bc23266d70 Merge branch 'fix-emoji-sort-chrome' into 'develop'
fix #1037 chrome sorting didn't like 0, other sorter was just outright broken

Closes #1037

See merge request pleroma/pleroma-fe!1321
2021-01-04 19:44:19 +00:00
Henry Jameson
4b0308ad1f fix #1037 chrome sorting didn't like 0, other sorter was just outright broken 2021-01-04 21:09:12 +02:00
HJ
9d45db959f Merge branch 'lang-switcher-zh_Hant' into 'develop'
Added Traditional Chinese to language switcher

See merge request pleroma/pleroma-fe!1319
2021-01-01 15:57:24 +00:00
Kana
9bfc3c275c Added Traditional Chinese to language swithcer 2021-01-01 02:53:16 +00:00
HJ
34d8893f1c Merge branch 'fix/compat-aarch64-mac' into 'develop'
Newer chromedriver works on MacOS aarch64

See merge request pleroma/pleroma-fe!1318
2020-12-29 01:54:18 +00:00
Mark Felder
a36922ae1b Newer chromedriver works on MacOS aarch64
469dd0a6ee
2020-12-28 13:27:13 -06:00
Shpuld Shpludson
3df84ccd5b Merge branch 'fix/follows-followers-not-displaying' into 'develop'
Fix #1034 follows/followers lists not working after update

Closes #1034

See merge request pleroma/pleroma-fe!1317
2020-12-28 18:07:47 +00:00
Shpuld Shpuldson
243383852b make with-load-more not use computeds when they don't work for it 2020-12-28 17:08:15 +02:00
Shpuld Shpludson
2312f6c15a Merge branch 'update-changelog-2.2.2' into 'develop'
update develop changelog with latest release

See merge request pleroma/pleroma-fe!1316
2020-12-28 09:41:46 +00:00
Shpuld Shpuldson
f01dce99df update changelog with latest release 2020-12-28 11:32:52 +02:00
eugenijm
481c71517e Group staff members by role in the About page 2020-12-18 13:41:37 +03:00
HJ
8d9bf3efc8 Merge branch 'plain-bg' into 'develop'
Solid color wallpaper support

See merge request pleroma/pleroma-fe!1314
2020-12-18 08:37:01 +00:00
Henry Jameson
93af7ee36a simplified code, review 2020-12-18 01:01:58 +02:00
Shpuld Shpludson
3359d4ddf6 Merge branch 'fix/timeline-bar-clickables-offset' into 'develop'
Fix #923 block clicks in blank area of timeline menu, fix 'up-to-date' align

Closes #923

See merge request pleroma/pleroma-fe!1300
2020-12-16 17:57:59 +00:00
Shpuld Shpludson
a2f1ad93f5 Merge branch 'develop' into 'fix/timeline-bar-clickables-offset'
# Conflicts:
#   CHANGELOG.md
2020-12-16 17:49:11 +00:00
Shpuld Shpludson
10399c193a Merge branch 'feat/move-external-source-button-to-extra-buttons' into 'develop'
Move external source link to extra buttons, expand the expand button

See merge request pleroma/pleroma-fe!1303
2020-12-16 17:46:15 +00:00
Shpuld Shpludson
466fc84e82 Merge branch 'fix/fix-error-handling-in-profile-tab' into 'develop'
fix #1020 fix error handling in profile tab

Closes #1020

See merge request pleroma/pleroma-fe!1299
2020-12-16 16:51:03 +00:00
Henry Jameson
0cf06cb9ec Merge remote-tracking branch 'origin/develop' into plain-bg
* origin/develop:
  fix remote follow button style
  Disable horizontal textarea resize
  Add uk.json in messages.js
  Display upload limit on the Features panel
  use title html for poll options before vote
  fix recent mistakes in react button
2020-12-16 18:43:38 +02:00
Henry Jameson
81bac9f8ac change your log 2020-12-16 18:33:54 +02:00
Henry Jameson
5cb41c7175 theme ui 2020-12-16 18:28:10 +02:00
Henry Jameson
c197756767 Basic no-wallpaper support 2020-12-16 18:25:07 +02:00
Shpuld Shpludson
34c65e3bcf Merge branch 'fix/remote-follow-button-style' into 'develop'
fix remote follow button style

See merge request pleroma/pleroma-fe!1313
2020-12-16 10:14:10 +00:00
Shpuld Shpuldson
6a469963b0 fix remote follow button style 2020-12-16 12:05:13 +02:00
Shpuld Shpludson
e8cebb568b Merge branch 'develop' into 'fix/timeline-bar-clickables-offset'
# Conflicts:
#   CHANGELOG.md
2020-12-15 19:54:00 +00:00
Shpuld Shpludson
22546ea813 Merge branch 'develop' into 'feat/move-external-source-button-to-extra-buttons'
# Conflicts:
#   CHANGELOG.md
2020-12-15 19:50:59 +00:00
Shpuld Shpludson
5077549c73 Merge branch 'fix/no-emoji-in-poll-when-voting' into 'develop'
fix #1026 use title html for poll options before vote

Closes #1026

See merge request pleroma/pleroma-fe!1307
2020-12-15 19:49:32 +00:00
HJ
32ed09bae5 Merge branch 'prevent-textarea-resize-in-bio' into 'develop'
Disable horizontal textarea resize

Closes #741

See merge request pleroma/pleroma-fe!1312
2020-12-15 18:27:59 +00:00
eugenijm
6d9c79fb6d Disable horizontal textarea resize 2020-12-15 21:18:59 +03:00
HJ
39c4672175 Merge branch 'patch-1' into 'develop'
Add uk.json in messages.js

See merge request pleroma/pleroma-fe!1311
2020-12-14 20:03:45 +00:00
W. W
4451ac9f7c Add uk.json in messages.js 2020-12-14 19:52:07 +00:00
Shpuld Shpludson
bdb994d450 Merge branch 'file-limit-info' into 'develop'
Display the upload limit on the Features panel

Closes #785

See merge request pleroma/pleroma-fe!1308
2020-12-12 14:39:46 +00:00
eugenijm
51e6f5e255 Display upload limit on the Features panel 2020-12-11 17:16:59 +03:00
Shpuld Shpuldson
415119cda9 use title html for poll options before vote 2020-12-07 00:11:21 +02:00
Shpuld Shpludson
99e12091b7 Merge branch 'fix/react-button-whoops' into 'develop'
fix #1025 recent mistakes in react button

Closes #1025

See merge request pleroma/pleroma-fe!1306
2020-12-06 21:54:31 +00:00
Shpuld Shpuldson
83bc74de0a fix recent mistakes in react button 2020-12-06 23:45:34 +02:00
HJ
674c302350 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1298
2020-12-04 14:46:53 +00:00
ZEN
45e08f83aa Translated using Weblate (Ukrainian)
Currently translated at 94.6% (635 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-04 13:04:15 +00:00
rinpatch
3b037218b2 Translated using Weblate (Russian)
Currently translated at 76.9% (516 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-04 13:04:14 +00:00
Митець
506cf0902e Translated using Weblate (Ukrainian)
Currently translated at 94.1% (632 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-04 10:56:24 +00:00
Anonymous
bfeb8ed14b Translated using Weblate (Ukrainian)
Currently translated at 93.8% (630 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-04 06:54:47 +00:00
ZEN
ffd0bbbf16 Translated using Weblate (Ukrainian)
Currently translated at 93.8% (630 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-04 06:54:46 +00:00
rinpatch
ff93f43468 Translated using Weblate (Russian)
Currently translated at 76.1% (511 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-03 22:18:56 +00:00
ZEN
56927c5a09 Translated using Weblate (Ukrainian)
Currently translated at 90.4% (607 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 21:38:54 +00:00
Митець
c74ee1153d Translated using Weblate (Ukrainian)
Currently translated at 90.4% (607 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 21:38:53 +00:00
Митець
ccf357c206 Translated using Weblate (Ukrainian)
Currently translated at 90.1% (605 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 20:24:08 +00:00
Митець
99c1fb0068 Translated using Weblate (Ukrainian)
Currently translated at 85.6% (575 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 18:02:32 +00:00
ZEN
dc90db91fd Translated using Weblate (Ukrainian)
Currently translated at 85.6% (575 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 18:02:31 +00:00
ZEN
0c3f62642b Translated using Weblate (Ukrainian)
Currently translated at 85.5% (574 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:49:21 +00:00
Anonymous
6b7f82174c Translated using Weblate (Ukrainian)
Currently translated at 85.5% (574 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:49:01 +00:00
ZEN
a8d3ce4671 Translated using Weblate (Ukrainian)
Currently translated at 85.5% (574 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:49:00 +00:00
Anonymous
95b911d7a0 Translated using Weblate (Ukrainian)
Currently translated at 84.6% (568 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:24:42 +00:00
Митець
f1066c393f Translated using Weblate (Ukrainian)
Currently translated at 84.5% (567 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:01:57 +00:00
ZEN
215e3753e1 Translated using Weblate (Ukrainian)
Currently translated at 84.5% (567 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 17:01:56 +00:00
Митець
426441b51c Translated using Weblate (Ukrainian)
Currently translated at 81.3% (546 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:57:18 +00:00
Shpuld Shpludson
fc4a17aa8c Merge branch 'develop' into 'fix/fix-error-handling-in-profile-tab'
# Conflicts:
#   CHANGELOG.md
2020-12-03 14:41:55 +00:00
Anonymous
f30450be12 Translated using Weblate (Ukrainian)
Currently translated at 81.0% (544 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
17abcda2aa Translated using Weblate (Ukrainian)
Currently translated at 81.0% (544 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
rinpatch
0f8587463c Translated using Weblate (Russian)
Currently translated at 72.1% (484 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-03 14:30:36 +00:00
Anonymous
3d8af7256b Translated using Weblate (Ukrainian)
Currently translated at 80.7% (542 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Митець
60598f9bda Translated using Weblate (Ukrainian)
Currently translated at 80.7% (542 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
800964ea6b Translated using Weblate (Ukrainian)
Currently translated at 80.1% (538 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Митець
06d05b7b82 Translated using Weblate (Ukrainian)
Currently translated at 80.1% (538 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
ac45e410d3 Translated using Weblate (Ukrainian)
Currently translated at 80.0% (537 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Митець
4667137fff Translated using Weblate (Ukrainian)
Currently translated at 80.0% (537 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
037185a463 Translated using Weblate (Ukrainian)
Currently translated at 79.8% (536 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Митець
33e3ada7da Translated using Weblate (Ukrainian)
Currently translated at 79.8% (536 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
00c762474f Translated using Weblate (Ukrainian)
Currently translated at 79.8% (536 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Митець
ee0748bff5 Translated using Weblate (Ukrainian)
Currently translated at 79.5% (534 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
2bbb01e751 Translated using Weblate (Ukrainian)
Currently translated at 79.5% (534 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
2ac23d8318 Translated using Weblate (Ukrainian)
Currently translated at 74.8% (502 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
3dcbc2c294 Translated using Weblate (Ukrainian)
Currently translated at 74.8% (502 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
0f2841a98a Translated using Weblate (Ukrainian)
Currently translated at 66.4% (446 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
8a260f4102 Translated using Weblate (Ukrainian)
Currently translated at 66.4% (446 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
c20c418e6d Translated using Weblate (Ukrainian)
Currently translated at 63.1% (424 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
fdcd4828ed Translated using Weblate (Ukrainian)
Currently translated at 63.1% (424 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
6923d5f983 Translated using Weblate (Ukrainian)
Currently translated at 63.0% (423 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
35773e2339 Translated using Weblate (Ukrainian)
Currently translated at 63.0% (423 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
291d9929f8 Translated using Weblate (Ukrainian)
Currently translated at 62.7% (421 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
a3f6476ae1 Translated using Weblate (Ukrainian)
Currently translated at 62.7% (421 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
be2e6f39aa Translated using Weblate (Ukrainian)
Currently translated at 62.5% (420 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
6111affc61 Translated using Weblate (Ukrainian)
Currently translated at 62.5% (420 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
4f54b0123a Translated using Weblate (Ukrainian)
Currently translated at 62.5% (420 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
a5b961ed31 Translated using Weblate (Ukrainian)
Currently translated at 61.9% (416 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
ed5c1c0a4c Translated using Weblate (Ukrainian)
Currently translated at 61.9% (416 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
061a500e0a Translated using Weblate (Ukrainian)
Currently translated at 61.6% (414 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
78b052b6fc Translated using Weblate (Ukrainian)
Currently translated at 61.6% (414 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
66ad886e33 Translated using Weblate (Ukrainian)
Currently translated at 59.7% (401 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
c823800a67 Translated using Weblate (Ukrainian)
Currently translated at 59.7% (401 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
Anonymous
d9b4c87dda Translated using Weblate (Ukrainian)
Currently translated at 58.8% (395 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
60121775f2 Translated using Weblate (Ukrainian)
Currently translated at 58.8% (395 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
rinpatch
8fbf91f3e8 Translated using Weblate (Russian)
Currently translated at 68.5% (460 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-03 14:30:36 +00:00
rinpatch
e713e17e9d Translated using Weblate (Russian)
Currently translated at 68.5% (460 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-03 14:30:36 +00:00
ZEN
a4a0695c57 Translated using Weblate (Ukrainian)
Currently translated at 58.4% (392 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
9657a5a098 Translated using Weblate (Ukrainian)
Currently translated at 58.4% (392 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
55b0b81252 Translated using Weblate (Ukrainian)
Currently translated at 51.5% (346 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
ae3ded9185 Translated using Weblate (Ukrainian)
Currently translated at 51.5% (346 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
8140501e37 Translated using Weblate (Ukrainian)
Currently translated at 45.0% (302 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
71b0ef8f1b Translated using Weblate (Ukrainian)
Currently translated at 39.3% (264 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
0dc0c816ea Translated using Weblate (Ukrainian)
Currently translated at 35.4% (238 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
2478b5a306 Translated using Weblate (Ukrainian)
Currently translated at 34.5% (232 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
a464135cbd Translated using Weblate (Ukrainian)
Currently translated at 30.2% (203 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
3f452a5462 Translated using Weblate (Ukrainian)
Currently translated at 30.2% (203 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
rinpatch
431e9369c2 Translated using Weblate (Russian)
Currently translated at 60.8% (408 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-12-03 14:30:36 +00:00
W.W
c789db82df Translated using Weblate (Ukrainian)
Currently translated at 24.4% (164 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
171462b246 Translated using Weblate (Ukrainian)
Currently translated at 24.2% (163 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
0cccb39710 Translated using Weblate (Ukrainian)
Currently translated at 23.9% (161 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
a7b2c5cdad Translated using Weblate (Ukrainian)
Currently translated at 23.3% (157 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
a6c93c5eab Translated using Weblate (Ukrainian)
Currently translated at 23.3% (157 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
badbd27e27 Translated using Weblate (Ukrainian)
Currently translated at 21.4% (144 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
ZEN
1116b2cd32 Translated using Weblate (Ukrainian)
Currently translated at 21.3% (143 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
W.W
9cb83648e3 Translated using Weblate (Ukrainian)
Currently translated at 21.3% (143 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-12-03 14:30:36 +00:00
lain
42c747a342 Merge branch 'fix/own-chat-messages-disappearing' into 'develop'
fix #1021: own chat messages disappearing

Closes #1021

See merge request pleroma/pleroma-fe!1304
2020-12-03 14:30:25 +00:00
Shpuld Shpuldson
2427757184 fix your own chat messages disappearing 2020-12-03 16:09:40 +02:00
Shpuld Shpuldson
5d95376bef update changelog 2020-12-03 12:03:23 +02:00
Shpuld Shpuldson
46320090e3 move external source button to extra buttons, make expand button easier to click and highlight on hover 2020-12-03 11:57:17 +02:00
Shpuld Shpuldson
fa01030641 make click blocking actually work 2020-12-03 10:07:42 +02:00
Shpuld Shpuldson
f4b18df644 block clicks in blank area of timeline menu, fix 'up-to-date' align 2020-12-02 16:07:31 +02:00
Shpuld Shpuldson
15ea735006 remove vertical align, update changelog 2020-12-02 12:58:13 +02:00
Shpuld Shpuldson
0d53af786b fix the close button on global notices 2020-12-02 12:55:14 +02:00
Shpuld Shpuldson
b537032e6d Merge branch 'develop' into fix/fix-error-handling-in-profile-tab 2020-12-02 12:48:21 +02:00
Shpuld Shpuldson
4dde9c4d52 refactor error handling in profile tab 2020-12-02 12:46:31 +02:00
Shpuld Shpludson
fdfb8810c1 Merge branch 'fix/use-semantically-correct-buttons' into 'develop'
Fix #1001 Accessibility: Use semantically correct buttons (almost) everywhere

Closes #1001

See merge request pleroma/pleroma-fe!1293
2020-12-01 11:02:46 +00:00
Shpuld Shpludson
c655699935 Merge branch 'feat/react-picker-titles-support-filter-by-emoji' into 'develop'
Fix #1014 add titles in react picker, support filtering by emoji itself

Closes #1014

See merge request pleroma/pleroma-fe!1294
2020-12-01 11:01:29 +00:00
Shpuld Shpludson
10e2648142 Merge branch 'develop' into 'feat/react-picker-titles-support-filter-by-emoji'
# Conflicts:
#   CHANGELOG.md
2020-12-01 10:54:29 +00:00
Shpuld Shpludson
655d985a82 Merge branch 'develop' into 'fix/use-semantically-correct-buttons'
# Conflicts:
#   CHANGELOG.md
2020-12-01 10:47:10 +00:00
Shpuld Shpludson
133294dc2a Merge branch 'feat/add-missing-emoji-and-script' into 'develop'
Update emoji.json, add script that merges new emoji from another source

See merge request pleroma/pleroma-fe!1295
2020-12-01 10:40:33 +00:00
HJ
397622078f Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1297
2020-11-30 20:16:03 +00:00
W.W
f1b36f3b1a Translated using Weblate (Ukrainian)
Currently translated at 10.5% (71 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-11-30 19:41:30 +00:00
HJ
c4b098be0e Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1296
2020-11-30 19:37:42 +00:00
Anonymous
cf3ad0632a Translated using Weblate (Russian)
Currently translated at 55.8% (375 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-11-30 19:28:53 +00:00
rinpatch
848b77acaa Translated using Weblate (Russian)
Currently translated at 55.8% (375 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-11-30 19:28:52 +00:00
ZEN
bd1564765c Translated using Weblate (Ukrainian)
Currently translated at 8.3% (56 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-11-30 19:28:00 +00:00
W.W
c17a0523d5 Translated using Weblate (Ukrainian)
Currently translated at 8.3% (56 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2020-11-30 19:27:58 +00:00
HJ
e0d08490a4 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1269
2020-11-30 19:04:15 +00:00
W.W
2506b2629a Added translation using Weblate (Ukrainian) 2020-11-30 17:57:16 +00:00
Shpuld Shpuldson
e98e285f50 changelog 2020-11-30 14:46:37 +02:00
Shpuld Shpuldson
767db567ad update emoji.json, add script that merges new emoji from another source 2020-11-30 14:43:39 +02:00
Shpuld Shpuldson
a4e76067db changelog 2020-11-28 15:36:48 +02:00
Shpuld Shpuldson
8f118c01a4 add titles in react picker, support filtering by emoji itself 2020-11-28 15:27:58 +02:00
Ben Is
00b93c0947 Translated using Weblate (Italian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-11-27 13:57:44 +00:00
tarteka
95ad9efff3 Translated using Weblate (Spanish)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-11-27 13:57:44 +00:00
Kana
aec6dc7858 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-11-27 13:57:44 +00:00
Kana
6fbd6ee9ea Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-11-27 13:57:44 +00:00
Guy Sheffer
83319904c7 Translated using Weblate (Hebrew)
Currently translated at 48.1% (322 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/he/
2020-11-27 13:57:44 +00:00
Tirifto
a68899b4a9 Translated using Weblate (Esperanto)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-27 13:57:44 +00:00
tarteka
4ac2bc1c44 Translated using Weblate (Spanish)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-11-27 13:57:44 +00:00
Shpuld Shpludson
32f77cfbd7 Merge branch 'fix/make-autocomplete-wait-for-request-to-finish' into 'develop'
Fix #1011 Make autocomplete wait for user search to finish before suggesting

Closes #1011

See merge request pleroma/pleroma-fe!1289
2020-11-27 13:57:36 +00:00
Shpuld Shpuldson
e6e3b752d6 review fixes 2020-11-27 15:51:58 +02:00
Shpuld Shpuldson
276ef31145 fix alternative icons having wrong offsets 2020-11-26 23:01:16 +02:00
Shpuld Shpuldson
5dfcf2acac updated changelog 2020-11-26 18:40:39 +02:00
Shpuld Shpuldson
1172feaa72 Add changelog mention for changed button sizes 2020-11-26 18:38:36 +02:00
Shpuld Shpuldson
aea172a6f7 forgot to save a file 2020-11-26 18:25:21 +02:00
Shpuld Shpuldson
bee77ffdb2 fix retweet event handler, fix text being selectable for status action counters 2020-11-26 18:23:53 +02:00
Shpuld Shpuldson
ebe3b38a90 fix nav bar button active style 2020-11-26 17:05:38 +02:00
Shpuld Shpuldson
2137d6395a fix wrong button style, add new option for popover to better deal with different layouts 2020-11-25 18:33:08 +02:00
Shpuld Shpuldson
e771fd8f13 fix missing button style 2020-11-25 10:36:14 +02:00
Shpuld Shpuldson
1d178b7341 fix too big hide button, fix weird 28px hack 2020-11-24 21:35:14 +02:00
Shpuld Shpuldson
04af772c1e address missing button style, fix remaining warning 2020-11-24 17:47:37 +02:00
Shpuld Shpuldson
a6e495e413 fix warnings 2020-11-24 16:10:03 +02:00
Shpuld Shpuldson
38c32c7f7a renames and removals of cursor: pointer 2020-11-24 15:22:01 +02:00
Shpuld Shpuldson
8b775f94a9 more fixes, add fullwidth 2020-11-24 14:52:01 +02:00
Shpuld Shpuldson
7b99d98c55 Replace all use of <a> + href='#' with proper buttons 2020-11-24 12:32:42 +02:00
HJ
14ce0c1c07 Merge branch 'fix/RED-LINE' into 'develop'
fix #1010 Add back conversation red line

Closes #1010

See merge request pleroma/pleroma-fe!1292
2020-11-21 12:10:39 +00:00
Shpuld Shpuldson
11f7b818b4 try another approach 2020-11-20 16:20:08 +02:00
Shpuld Shpuldson
f5186e1a33 add back red line 2020-11-20 16:02:47 +02:00
Shpuld Shpludson
838cbd8715 Merge branch 'nsfw-link-preview' into 'develop'
Click-to-reveal cover for link previews in NSFW posts

Closes #973

See merge request pleroma/pleroma-fe!1287
2020-11-20 07:54:26 +00:00
HJ
4922a8ded9 Merge branch 'features/video-preload-metadata' into 'develop'
video_attachment: Only preload metadata

See merge request pleroma/pleroma-fe!1291
2020-11-19 18:13:58 +00:00
eugenijm
45180d4069 Added the NSFW alert to the link preview. 2020-11-19 20:08:56 +03:00
Haelwenn (lanodan) Monnier
0089d1e8d1
video_attachment: Only preload metadata
This hints browsers that only the metadata and maybe the first few frames are
needed. Which avoids downloading the entire video, which isn't really needed
in our case.
2020-11-19 18:01:21 +01:00
HJ
9684bf6e94 Merge branch 'fix/missing-play-circle-icon' into 'develop'
add missing play-circle icon

See merge request pleroma/pleroma-fe!1290
2020-11-19 12:51:40 +00:00
Shpuld Shpuldson
4001c075d4 add missing play-circle icon 2020-11-19 14:19:03 +02:00
Shpuld Shpuldson
b1ab09b348 fix merge conflict 2020-11-19 12:38:35 +02:00
Shpuld Shpuldson
419df9d446 update some documentation 2020-11-19 12:35:21 +02:00
Shpuld Shpuldson
1cd222d85c changelog mention 2020-11-19 11:42:30 +02:00
Shpuld Shpuldson
1495db084a fix keyboard highlight 2020-11-19 11:37:06 +02:00
Shpuld Shpuldson
0f386ccbc7 use users state + fetching with delay 2020-11-18 18:43:24 +02:00
Shpuld Shpludson
d770bab1b0 Merge branch 'fix/timeline-error-handling-fixes' into 'develop'
Various timeline fixes

See merge request pleroma/pleroma-fe!1283
2020-11-18 11:49:54 +00:00
HJ
cd784396e7 Merge branch 'fix-pinned' into 'develop'
Fix pinned statuses and perhaps some other stuff

See merge request pleroma/pleroma-fe!1288
2020-11-17 18:41:43 +00:00
Henry Jameson
b66b4124f4 Merge remote-tracking branch 'origin/develop' into fix-pinned
* origin/develop:
  change favicon dimensions for high res, add handling when favicon isn't available
  remove the favicon changes
  make badge just a ball, make it use theming
  add favicon badge for unread notifs
2020-11-17 20:32:56 +02:00
Henry Jameson
5c47aeeccf changelong 2020-11-17 20:32:39 +02:00
Shpuld Shpludson
d905a6cb70 Merge branch 'feat/favicon-badge' into 'develop'
Add favicon badge for unread notifs

See merge request pleroma/pleroma-fe!1273
2020-11-17 18:25:05 +00:00
Shpuld Shpuldson
dd3c8631bf store failed experiment 2020-11-17 17:46:26 +02:00
Henry Jameson
49f7c84e3f Fix pinned statuses and perhaps some other stuff 2020-11-17 15:25:38 +02:00
Shpuld Shpludson
fa2884a805 Merge branch 'chore/update-changelog-to-match-release' into 'develop'
Update develop changelog to contain 2.2.1 release

See merge request pleroma/pleroma-fe!1286
2020-11-11 21:13:09 +00:00
Shpuld Shpuldson
6cdf347ed1 update changelog 2020-11-11 23:04:07 +02:00
Shpuld Shpludson
fb5d3d3292 Merge branch 'develop' into 'fix/timeline-error-handling-fixes'
# Conflicts:
#   CHANGELOG.md
2020-11-11 20:58:47 +00:00
HJ
3e1c828ba9 Merge branch 'fix/html-title-name' into 'develop'
Remove title from index.html, title is now from server generated meta

See merge request pleroma/pleroma-fe!1285
2020-11-11 20:51:12 +00:00
Sean King
476154d0ee Remove title from index.html, title is now from server generated meta 2020-11-11 11:57:42 -07:00
HJ
563377b59c Merge branch 'fix/field-name-emoji-parsing' into 'develop'
fix #999  emoji not working in profile field names

Closes #999

See merge request pleroma/pleroma-fe!1284
2020-11-11 10:15:29 +00:00
Shpuld Shpuldson
b536c6e3c5 changelog mention 2020-11-11 10:42:13 +02:00
Shpuld Shpuldson
41dbdc2b28 fix emoji not working in profile field names 2020-11-11 10:40:26 +02:00
Shpuld Shpuldson
1d2ba946b6 make notifications also use the popup errors, remove all error from status/notif state 2020-11-10 14:28:10 +02:00
Shpuld Shpuldson
d150dae5d1 fixes to timeline error handling 2020-11-10 12:52:54 +02:00
Shpuld Shpludson
e6ca489d30 Merge branch 'fix/fix-1px-scroll-on-input' into 'develop'
Fix that 1px scroll on input for real this time maybe

See merge request pleroma/pleroma-fe!1282
2020-11-09 13:18:35 +00:00
Shpuld Shpuldson
c1c207788a change method of fix to rounding 2020-11-09 15:02:48 +02:00
Shpuld Shpuldson
fb80dbbc77 changelog 2020-11-09 14:47:42 +02:00
Shpuld Shpuldson
553155fc49 prevent call to scroll if the value doesn't change because firefox is stupid 2020-11-09 14:42:16 +02:00
Shpuld Shpludson
3963f240d5 Merge branch 'patch-1' into 'develop'
Update CHANGELOG.md

See merge request pleroma/pleroma-fe!1281
2020-11-09 09:08:41 +00:00
Shpuld Shpludson
9ff48b88bf Update CHANGELOG.md 2020-11-09 09:01:16 +00:00
Shpuld Shpludson
3220e72eb9 Merge branch 'patch-1' into 'develop'
Update CHANGELOG.md to match master

See merge request pleroma/pleroma-fe!1279
2020-11-09 08:58:17 +00:00
HJ
def1bd0676 Merge branch 'fix/react-menu-overflow-fix' into 'develop'
Fix #994 react popover overflowing

Closes #994

See merge request pleroma/pleroma-fe!1280
2020-11-09 08:40:59 +00:00
Shpuld Shpuldson
9f96b592d4 wrap react button icon to a span to fix popover overflow 2020-11-09 09:40:20 +02:00
Shpuld Shpludson
82f17961d1 Update CHANGELOG.md to match master 2020-11-06 17:36:43 +00:00
Shpuld Shpuldson
56c1d65384 Merge branch 'develop' into feat/favicon-badge 2020-11-06 14:57:50 +02:00
Shpuld Shpludson
60983ae42b Merge branch 'chat-fix-for-vertical-screen' into 'develop'
Chat scroll fix for vertical screen

Closes #997

See merge request pleroma/pleroma-fe!1277
2020-11-06 12:55:57 +00:00
eugenijm
15ea9d8c91 Fix the chat scroll behavior for vertical screens.
Fetch the messages until the scrollbar becomes visible, so that the user
always has the ability to scroll up and load new messages.
2020-11-06 11:11:19 +03:00
Shpuld Shpludson
dbeecd18ac Merge branch 'advanced-misclick-guard' into 'develop'
Instead of blocking all interaction, only block interaction in places that matter

See merge request pleroma/pleroma-fe!1276
2020-11-04 06:04:19 +00:00
Shpuld Shpludson
b485d21ba9 Merge branch 'fix-chat-badge' into 'develop'
Few more minor fixes

See merge request pleroma/pleroma-fe!1275
2020-11-03 17:09:10 +00:00
Henry Jameson
4e4b258c54 fix mobile badge alignment 2020-11-03 18:45:23 +02:00
Henry Jameson
d126eddfca change approach to disable all, enable some 2020-11-03 18:39:46 +02:00
Shpuld Shpludson
22bc0c0840 Merge branch 'svg-logo' into 'develop'
change logo to svg

See merge request pleroma/pleroma-fe!1274
2020-11-03 11:05:33 +00:00
Shpuld Shpuldson
0206b2bcc5 change favicon dimensions for high res, add handling when favicon isn't available 2020-11-03 11:55:29 +02:00
Henry Jameson
979efb301a fix mobile navbar hitboxes 2020-11-03 11:37:11 +02:00
Shpuld Shpuldson
19fd1d4a1e remove the favicon changes 2020-11-03 10:29:03 +02:00
Henry Jameson
e351665bb3 Instead of blocking all interaction, only block interaction in places
that matter
2020-11-02 23:43:32 +02:00
Henry Jameson
b6a8ca44ef added comment 2020-11-02 21:08:22 +02:00
Henry Jameson
bdf2f36f11 fix chat heading not being aligned and using wrong styles 2020-11-02 21:03:55 +02:00
Henry Jameson
08e6e66642 fix chat badge and unify styles across all badges including follow
request count.
2020-11-02 20:51:38 +02:00
Henry Jameson
3db218dec1 change logo to svg 2020-11-02 19:37:01 +02:00
Shpuld Shpuldson
1fa046126e make badge just a ball, make it use theming 2020-11-02 16:45:15 +02:00
Shpuld Shpuldson
350eb489c2 add favicon badge for unread notifs 2020-11-02 15:46:49 +02:00
HJ
f0a66448ee Merge branch 'chchchchangechangelog' into 'develop'
Update CHANGELOG.md

See merge request pleroma/pleroma-fe!1272
2020-11-02 09:43:44 +00:00
HJ
a1e7852c10 Update CHANGELOG.md 2020-11-02 09:36:23 +00:00
Shpuld Shpludson
5ab1b0ab0e Merge branch 'update-changelog' into 'develop'
update changelog for optimistic chat posting

See merge request pleroma/pleroma-fe!1271
2020-11-02 08:51:40 +00:00
Shpuld Shpuldson
279205ade5 update changelog for optimistic chat posting 2020-11-02 10:42:38 +02:00
HJ
bcb6ee328f Merge branch 'fix/use-ids-for-chat-last-seen' into 'develop'
Fix: Use ids for chat last seen instead of timestamp

See merge request pleroma/pleroma-fe!1270
2020-11-02 08:35:22 +00:00
Shpuld Shpuldson
757706425a fix test 2020-11-02 09:42:09 +02:00
Shpuld Shpuldson
5e8db7ed93 move from using timestamps to ids when tracking last seen in chats 2020-11-02 09:15:13 +02:00
Shpuld Shpludson
5254fdba75 Merge branch 'optimistic-chat-posting' into 'develop'
Optimistic / nonblocking message posting for chats

See merge request pleroma/pleroma-fe!1228
2020-11-02 05:36:42 +00:00
HJ
590f8e1754 Merge branch 'various-css-fixes' into 'develop'
Various css fixes

Closes #992

See merge request pleroma/pleroma-fe!1267
2020-11-01 20:50:02 +00:00
Eugenij
78e5a63922 Apply 1 suggestion(s) to 1 file(s) 2020-11-01 23:36:58 +03:00
eugenijm
e798e9a417 Optimistic message sending for chat 2020-11-01 23:36:58 +03:00
Shpuld Shpludson
148789767a Merge branch 'fix/chat-misc-fixes' into 'develop'
Misc Chat fixes

See merge request pleroma/pleroma-fe!1265
2020-11-01 17:50:43 +00:00
Shpuld Shpludson
40ce3a9bd8 Merge branch 'fix/block-misclicks-when-timeline-shifts' into 'develop'
block clicks for a second on timeline when timeline moves

See merge request pleroma/pleroma-fe!1266
2020-11-01 17:44:16 +00:00
HJ
8ae77e14d0 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1264
2020-11-01 15:18:08 +00:00
Henry Jameson
64da9a8e69 fix build warnings 2020-11-01 16:47:17 +02:00
Henry Jameson
8b1213ea1e lint 2020-11-01 16:44:57 +02:00
Henry Jameson
994b49ddfe Merge remote-tracking branch 'origin/develop' into various-css-fixes
* origin/develop:
  remove 'md' size that doesn't exist
2020-11-01 16:44:15 +02:00
Henry Jameson
02bb015c4f fix #992 2020-11-01 16:40:23 +02:00
Tirifto
4cf4de8d28 Translated using Weblate (Esperanto)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-01 14:33:22 +00:00
Tirifto
5095143c47 Translated using Weblate (Esperanto)
Currently translated at 99.1% (663 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-01 14:33:22 +00:00
Tirifto
1c7ec321d9 Translated using Weblate (Esperanto)
Currently translated at 98.9% (662 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-01 14:33:22 +00:00
Kana
599256a6be Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-11-01 14:33:22 +00:00
Kana
66d07b6d08 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-11-01 14:33:22 +00:00
Kana
ea300a7a1c Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-11-01 14:33:22 +00:00
Kana
891593169f Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-11-01 14:33:22 +00:00
Tirifto
6040c1ebfc Translated using Weblate (Esperanto)
Currently translated at 98.2% (657 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-01 14:33:22 +00:00
Tirifto
9d1d695627 Translated using Weblate (Esperanto)
Currently translated at 97.7% (654 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-11-01 14:33:22 +00:00
HJ
918563d15c Merge branch 'fix/extra-buttons-icon-errors' into 'develop'
Fix errors: remove 'md' size that doesn't exist

See merge request pleroma/pleroma-fe!1268
2020-11-01 14:33:14 +00:00
Shpuld Shpuldson
8c5586dda4 remove 'md' size that doesn't exist 2020-11-01 11:53:20 +02:00
Henry Jameson
fb00f8459c fix chat count 2020-10-31 13:59:58 +02:00
Henry Jameson
0653f18994 fix play-on-hover gifs issues 2020-10-29 22:54:28 +02:00
Henry Jameson
4e1f2aeabc fix preview spinner 2020-10-29 22:54:28 +02:00
Henry Jameson
633349ddff Refactor desktop navbar into a component, change layout to grid for
better compatibility with search field and simpler CSS
2020-10-29 22:54:28 +02:00
Henry Jameson
0f8a7037ea fix lain's issue in reaction picker 2020-10-29 20:06:13 +02:00
Henry Jameson
8225717a7c Update and fix avatar shadow in user card 2020-10-29 20:03:53 +02:00
Shpuld Shpuldson
3ead79ddb4 document thie this. check 2020-10-29 12:45:44 +02:00
Shpuld Shpuldson
6acb61f296 fix conflict, keep the touchable button big 2020-10-29 08:55:54 +02:00
Shpuld Shpuldson
93f9ab6f2b Merge branch 'fix/block-misclicks-when-timeline-shifts' of git.pleroma.social:pleroma/pleroma-fe into fix/block-misclicks-when-timeline-shifts 2020-10-29 08:37:31 +02:00
Shpuld Shpuldson
cb3578fcca fix conflicts 2020-10-29 08:36:39 +02:00
HJ
a84db4bd8f Merge branch 'fontawesome5' into 'develop'
FontAwesome 5

Closes #982

See merge request pleroma/pleroma-fe!1260
2020-10-28 21:21:35 +00:00
Henry Jameson
ef36ca44f6 >boxes 2020-10-28 22:52:20 +02:00
Henry Jameson
2e6c51dfd4 better icon for picker 2020-10-28 22:49:53 +02:00
Henry Jameson
0ac9d81788 fix settings tabs on mobile, update follow request badge 2020-10-28 21:55:08 +02:00
Henry Jameson
fc7dfb3b9e update & unify the navbars heights 2020-10-28 21:47:42 +02:00
Henry Jameson
7c4af4ce3f improved side-drawer alignments 2020-10-28 21:41:42 +02:00
Henry Jameson
b6cf2bcefd improved the semantics for our icon scale, fixed preview, fixed navbar desktop 2020-10-28 21:31:16 +02:00
Shpuld Shpludson
6d7ecd7d80 Apply 1 suggestion(s) to 1 file(s) 2020-10-28 10:02:51 +00:00
Shpuld Shpuldson
7007659e05 change input blocking to use css 2020-10-28 08:53:23 +02:00
Shpuld Shpuldson
24d85ce6dc update changelog 2020-10-27 13:24:05 +02:00
Shpuld Shpuldson
85dc4002a1 update changelog 2020-10-27 13:17:49 +02:00
Shpuld Shpuldson
1403f20f9f block clicks for a second when timeline moves 2020-10-27 12:59:50 +02:00
Shpuld Shpuldson
2c441c7922 fix back button size, fix missing chat notifications being marked as read too eagerly, fix promiseinterval erroring when not getting a promise 2020-10-27 10:03:04 +02:00
HJ
e2c4816feb Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1262
2020-10-22 18:53:25 +00:00
shironeko
22f3801be7 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (668 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-22 18:25:04 +00:00
Shpuld Shpludson
9ef4d473cb Merge branch 'fixlainsissueforgood' into 'develop'
make subjectline input use size=1 for compatibility with CJK fonts

Closes #922

See merge request pleroma/pleroma-fe!1261
2020-10-21 06:18:25 +00:00
Henry Jameson
048e67f5fc make subjectline input use size=1 for compatibility with CJK fonts 2020-10-21 02:07:05 +03:00
Henry Jameson
eb04ed865e fontello aftermath 2020-10-21 01:56:21 +03:00
Henry Jameson
1b50d700aa bye bye fontello 2020-10-21 00:34:42 +03:00
Henry Jameson
f561e75553 lint 2020-10-21 00:31:16 +03:00
Henry Jameson
1ec41302f7 rotate the shackle of the lock for better accessibility 2020-10-21 00:28:24 +03:00
Henry Jameson
6aa7445ea7 come on and slam 2020-10-21 00:25:59 +03:00
Henry Jameson
7495c6b698 fix attachment remove pointer 2020-10-21 00:02:58 +03:00
Henry Jameson
a50cd7e37d remaining changes... 2020-10-21 00:01:28 +03:00
Henry Jameson
3cbaa00449 more replacements + small renames 2020-10-20 22:54:43 +03:00
Henry Jameson
b19c2eb0fb More stuff. Buttons in user card's corner now have MUCH bigger hitboxes 2020-10-20 22:13:19 +03:00
Henry Jameson
046c60cb61 cancel -> times 2020-10-20 21:18:23 +03:00
Henry Jameson
e8650d3409 chevrons-downs, settings 2020-10-20 21:03:46 +03:00
Henry Jameson
8b3a7ae8c0 more FA5 stuff with small related refactoring 2020-10-20 20:28:11 +03:00
Henry Jameson
3814218277 Some initial work on replacing icons with FA5 2020-10-20 20:28:11 +03:00
HJ
350f25016f Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1259
2020-10-20 17:24:49 +00:00
Marcin Mikołajczak
cf65ecb99d Translated using Weblate (Polish)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-10-20 15:56:12 +00:00
HJ
f31df6406a Merge branch 'docs_split_up_user_guide' into 'develop'
DOCS: Split up user guide

See merge request pleroma/pleroma-fe!1179
2020-10-20 10:45:05 +00:00
Ilja
54987b0bc8 Split up user guide
* I split up the user guide into seperate section to make it more clear/orderly
* I added a general overview page for the FE from where it links to the other sections that give more detailed information
* I updated outdated information and added new information where I felt was required
* I fixed broken links in other parts of the docs as well
2020-10-20 10:45:05 +00:00
HJ
750680d1d8 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1258
2020-10-20 09:27:01 +00:00
Kana
4835f567d4 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (667 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-18 10:46:51 +00:00
Ben Is
81a59feab1 Translated using Weblate (Italian)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-10-17 19:40:44 +00:00
Henry Jameson
e695506c51 proper modified icon + popup 2020-10-17 22:28:49 +03:00
Henry Jameson
a664fde02f Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop:
  fix fontello
  Translated using Weblate (Russian)
  Translated using Weblate (Italian)
  lint fix
  fixed copy-pasting leftovers
  improved algorithm, possibly speed too
  fix 8x spaces inside this paren
  feat/reorder-emojis-by-position-of-keyword
  rename to gravestone
  Apply 1 suggestion(s) to 1 file(s)
  change i18n phrasing
  separate reply button to its own component, add changelog entry
  add basic deletes support that works with masto WS
2020-10-17 21:26:13 +03:00
HJ
76a9a51620 Merge branch 'fixfontello' into 'develop'
fix fontello

See merge request pleroma/pleroma-fe!1256
2020-10-17 18:25:14 +00:00
Henry Jameson
c7dddb1ec3 fix fontello 2020-10-17 21:09:51 +03:00
Henry Jameson
29ff0be92c Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop: (48 commits)
  fix/leftover-emoji-checkboxes-in-settings
  Apply 1 suggestion(s) to 1 file(s)
  Translated using Weblate (Spanish)
  Translated using Weblate (Persian)
  Translated using Weblate (Persian)
  Translated using Weblate (Polish)
  update changelog
  Stop click propagation when unhiding nsfw
  Fix Follow Requests title style
  Translated using Weblate (Persian)
  Translated using Weblate (Persian)
  Translated using Weblate (French)
  Added translation using Weblate (Persian)
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Italian)
  Translated using Weblate (English)
  Translated using Weblate (English)
  Translated using Weblate (Basque)
  Translated using Weblate (Spanish)
  ...
2020-10-17 19:24:07 +03:00
HJ
4df033a3ba Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1254
2020-10-16 20:54:14 +00:00
Anonymous
85326ee9e2 Translated using Weblate (Russian)
Currently translated at 55.0% (368 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-10-16 20:41:05 +00:00
Ben Is
def04380da Translated using Weblate (Italian)
Currently translated at 100.0% (669 of 669 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-10-16 20:41:03 +00:00
Shpuld Shpludson
0e14cd6102 Merge branch 'feat/reorder-emojis-by-position-of-keyword' into 'develop'
feat/reorder-emojis-by-position-of-keyword

See merge request pleroma/pleroma-fe!1240
2020-10-13 15:00:06 +00:00
Shpuld Shpludson
d86cd3e850 Merge branch 'feat/masto-ws-deletes' into 'develop'
Support for WS deletes

See merge request pleroma/pleroma-fe!1227
2020-10-12 06:05:21 +00:00
HJ
3ca729d098 Merge branch 'fix/leftover-emoji-checkboxes-in-settings' into 'develop'
fix/leftover-emoji-checkboxes-in-settings

See merge request pleroma/pleroma-fe!1248
2020-10-11 18:00:13 +00:00
Dym Sohin
e5bd1c20b0 fix/leftover-emoji-checkboxes-in-settings 2020-10-11 02:03:45 +02:00
Shpuld Shpludson
069a4b0801 Merge branch 'fix/nsfw-hider-closing-preview' into 'develop'
Stop click propagation when unhiding nsfw

See merge request pleroma/pleroma-fe!1245
2020-10-09 16:15:30 +00:00
Shpuld Shpludson
e7a67e33ad Merge branch 'fix/follow-requests-title' into 'develop'
Fix Follow Requests title style

See merge request pleroma/pleroma-fe!1243
2020-10-09 16:14:43 +00:00
HJ
6a3c775006 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1232
2020-10-08 15:49:27 +00:00
feld
09da102a4c Apply 1 suggestion(s) to 1 file(s) 2020-10-06 16:18:30 +00:00
tarteka
20bdf32658 Translated using Weblate (Spanish)
Currently translated at 100.0% (668 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-10-06 15:28:18 +00:00
nickiii
ba25c618cc Translated using Weblate (Persian)
Currently translated at 15.1% (101 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fa/
2020-10-05 11:43:55 +00:00
nickiii
0042cf3809 Translated using Weblate (Persian)
Currently translated at 15.1% (101 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fa/
2020-10-04 23:08:33 +00:00
Jędrzej Tomaszewski
3e86b891e1 Translated using Weblate (Polish)
Currently translated at 100.0% (668 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-10-02 18:39:51 +00:00
Shpuld Shpuldson
6cf15dce96 update changelog 2020-10-02 12:23:04 +03:00
Shpuld Shpuldson
a0da6c31d9 Stop click propagation when unhiding nsfw 2020-10-02 12:21:56 +03:00
Mark Felder
ff2fe5c68c Fix Follow Requests title style 2020-10-01 17:05:46 -05:00
nickiii
6dec154450 Translated using Weblate (Persian)
Currently translated at 2.6% (18 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fa/
2020-10-01 13:20:25 +00:00
nickiii
b12b6a84a4 Translated using Weblate (Persian)
Currently translated at 2.5% (17 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fa/
2020-10-01 13:20:25 +00:00
Haelwenn (lanodan) Monnier
14dc0eef3b Translated using Weblate (French)
Currently translated at 92.0% (615 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2020-10-01 13:20:25 +00:00
nickiii
7e4d1b0abb Added translation using Weblate (Persian) 2020-10-01 13:20:25 +00:00
Snow
dff7e38154 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (668 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-10-01 13:20:25 +00:00
Snow
f110258fa1 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.6% (659 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
Ben Is
71fca987a8 Translated using Weblate (Italian)
Currently translated at 100.0% (668 of 668 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-10-01 13:20:25 +00:00
hj
e9f13895b9 Translated using Weblate (English)
Currently translated at 100.0% (661 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/en/
2020-10-01 13:20:25 +00:00
Not HJ
d11ecc5987 Translated using Weblate (English)
Currently translated at 100.0% (661 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/en/
2020-10-01 13:20:25 +00:00
tarteka
38fa2111f9 Translated using Weblate (Basque)
Currently translated at 83.3% (551 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2020-10-01 13:20:25 +00:00
tarteka
c9033e0351 Translated using Weblate (Spanish)
Currently translated at 100.0% (661 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-10-01 13:20:25 +00:00
tarteka
f10abd29f0 Translated using Weblate (Basque)
Currently translated at 77.6% (513 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2020-10-01 13:20:25 +00:00
Kana
cd6adac59a Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (659 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
Kana
fffce4aa98 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (659 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
Snow
14a2328b85 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (661 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-10-01 13:20:25 +00:00
Snow
b3e1cb81a3 Translated using Weblate (Chinese (Traditional))
Currently translated at 72.1% (477 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-10-01 13:20:25 +00:00
Kana
970bfa2bdd Translated using Weblate (Chinese (Simplified))
Currently translated at 97.7% (646 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
Kana
beec425cce Translated using Weblate (Chinese (Simplified))
Currently translated at 90.4% (598 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
Snow
c55e09a513 Translated using Weblate (Chinese (Traditional))
Currently translated at 67.1% (444 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-10-01 13:20:25 +00:00
Kana
887ff4dec3 Translated using Weblate (Chinese (Simplified))
Currently translated at 90.0% (595 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
snow
32ddb38736 Translated using Weblate (Chinese (Traditional))
Currently translated at 18.9% (125 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2020-10-01 13:20:25 +00:00
snow
ad6b7148d4 Translated using Weblate (Chinese (Simplified))
Currently translated at 83.2% (550 of 661 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-10-01 13:20:25 +00:00
snow
aca8570b86 Added translation using Weblate (Chinese (Traditional)) 2020-10-01 13:20:25 +00:00
titizen
3f119c6875 Translated using Weblate (Catalan)
Currently translated at 48.7% (323 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2020-10-01 13:20:25 +00:00
Shpuld Shpludson
6bd38c7d6f Merge branch 'fix/wait-for-request-before-starting-interval' into 'develop'
Fix/wait for request before starting interval - fix #937

Closes #937

See merge request pleroma/pleroma-fe!1222
2020-10-01 13:20:14 +00:00
Shpuld Shpuldson
414558665f lint fix 2020-10-01 16:01:57 +03:00
Shpuld Shpludson
8a34ff2957 Merge branch 'develop' into 'feat/masto-ws-deletes'
# Conflicts:
#   CHANGELOG.md
#   src/components/status/status.js
#   src/components/status/status.scss
2020-10-01 12:54:54 +00:00
Henry Jameson
a463959a36 Initial work on highlighting changed settings. Some refactoring to
simplify addition of new settings
2020-10-01 01:43:07 +03:00
Shpuld Shpludson
68c2a5b18f Merge branch 'fix/excessive-underline-in-sidebar' into 'develop'
fix excessive underline in sidebar

See merge request pleroma/pleroma-fe!1238
2020-09-30 06:59:09 +00:00
Dym Sohin
c17012cfe1 fix appended 0.65em on wrong line 2020-09-29 13:20:16 +02:00
Dym Sohin
1675f1a133 scoped back margin-right on icons 2020-09-29 13:13:42 +02:00
Shpuld Shpludson
91778a0276 Merge branch 'feat/custom-virtual-scrolling' into 'develop'
Timeline virtual scrolling

See merge request pleroma/pleroma-fe!1043
2020-09-29 10:18:37 +00:00
Shpuld Shpludson
f174f289a9 Timeline virtual scrolling 2020-09-29 10:18:37 +00:00
Shpuld Shpludson
3781e521e6 Merge branch 'feature/import_export_mutes' into 'develop'
[#2099] Added import/export mutes [FE]

See merge request pleroma/pleroma-fe!1229
2020-09-29 08:18:02 +00:00
Shpuld Shpludson
787f52e06e Merge branch 'remove-bio-tables-max-width' into 'develop'
remove bio-table's max-width

See merge request pleroma/pleroma-fe!1241
2020-09-29 06:19:20 +00:00
Dym Sohin
3dacef944c remove bio-table's max-width 2020-09-24 12:05:51 +02:00
Dym Sohin
bb59b8ee56 fixed copy-pasting leftovers 2020-09-21 18:13:31 +02:00
Dym Sohin
cff202241b improved algorithm, possibly speed too 2020-09-21 18:10:55 +02:00
Dym Sohin
f1e1f20a8d fix 8x spaces inside this paren 2020-09-21 17:42:17 +02:00
Dym Sohin
fee654f1ee feat/reorder-emojis-by-position-of-keyword 2020-09-21 17:29:36 +02:00
HJ
0c0722a092 Merge branch 'fix/overflow-for-chat-unread' into 'develop'
fix/overflow-for-chat-unread

See merge request pleroma/pleroma-fe!1239
2020-09-19 19:59:57 +00:00
Dym Sohin
20362546d1 fix/overflow-for-chat-unread 2020-09-19 21:50:56 +02:00
Dym Sohin
f9977dbb3c fix excessive underline in sidebar 2020-09-19 21:28:03 +02:00
Maksim Pechnikov
5942001626 updated changelog 2020-09-18 22:09:05 +03:00
Maksim Pechnikov
3dbc1bedbf Merge branch 'develop' into feature/import_export_mutes 2020-09-18 22:04:01 +03:00
Maksim Pechnikov
b725df6352 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-09-18 22:03:11 +03:00
HJ
0fee9a8fe7 Merge branch 'fix/case--in-sensitive--emoji--search' into 'develop'
fix case in/sensitive emoji search

See merge request pleroma/pleroma-fe!1237
2020-09-18 09:37:17 +00:00
Dym Sohin
70a5619496 [fix] case in/sensitive emoji search 2020-09-18 11:07:38 +02:00
lain
ee620f6028 Merge branch 'fix/use-shoutbox-name-in-sidedrawer' into 'develop'
change side drawer to use shoutbox name - fix #956

Closes #956

See merge request pleroma/pleroma-fe!1235
2020-09-16 09:22:05 +00:00
Shpuld Shpuldson
20d33c2fbc change icon to a megaphone 2020-09-16 11:53:54 +03:00
Shpuld Shpuldson
1b811d8b93 change side drawer to use shoutbox name 2020-09-16 11:29:10 +03:00
Shpuld Shpuldson
d6fe4f6a4f update changelog 2020-09-16 10:27:31 +03:00
Shpuld Shpludson
38189ee838 Merge branch 'fix-chat-message-list-fetch' into 'develop'
Fix chat messages being missed sometimes when the streaming is disabled and the messages are sent by both participants simultaneously

Closes #957

See merge request pleroma/pleroma-fe!1233
2020-09-16 07:13:31 +00:00
Shpuld Shpludson
c00c20a31f Merge branch 'fix-chat-list-order' into 'develop'
Fix the chat list order update

Closes #955

See merge request pleroma/pleroma-fe!1234
2020-09-16 06:59:04 +00:00
eugenijm
8c4514013d Fix chat messages being missed when the streaming is disabled and the messages are sent by both participants simultaneously 2020-09-16 09:21:24 +03:00
eugenijm
92caaa2d7f Fix the chat list order and last message timestamp updates 2020-09-16 05:10:09 +03:00
Shpuld Shpludson
679a1f5e1c Merge branch 'fix/fix-vue-errors' into 'develop'
fix vue warnings and errors

See merge request pleroma/pleroma-fe!1230
2020-09-09 10:21:54 +00:00
Shpuld Shpuldson
afb2241a5b change a eslint disable to nextline only 2020-09-08 16:29:10 +03:00
Shpuld Shpuldson
8975589bca fix vue warnings and errors 2020-09-08 10:44:08 +03:00
Maksim Pechnikov
947d7cd6f2 added import/export mutes 2020-09-08 09:41:42 +03:00
Shpuld Shpuldson
fa91766519 rename to gravestone 2020-09-08 09:32:43 +03:00
Shpuld Shpludson
1ec9cde963 Apply 1 suggestion(s) to 1 file(s) 2020-09-08 06:31:02 +00:00
Shpuld Shpludson
da63894072 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1226
2020-09-07 08:11:54 +00:00
tarteka
26c42484f0 Translated using Weblate (Basque)
Currently translated at 77.4% (513 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2020-09-07 08:01:49 +00:00
tarteka
002cd61353 Translated using Weblate (Spanish)
Currently translated at 100.0% (662 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-09-07 08:01:49 +00:00
Anonymous
a0aa45d328 Translated using Weblate (Spanish)
Currently translated at 83.2% (551 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-09-07 08:01:48 +00:00
tarteka
31a9da05ff Translated using Weblate (Spanish)
Currently translated at 83.2% (551 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-09-07 08:01:48 +00:00
Shpuld Shpludson
8a0f280cd8 Merge branch 'chat-desktop-notifications-fix' into 'develop'
Do not show desktop notifications for your own chat messages

Closes #951

See merge request pleroma/pleroma-fe!1225
2020-09-07 08:01:06 +00:00
Shpuld Shpuldson
0758569625 change i18n phrasing 2020-09-07 10:39:30 +03:00
Shpuld Shpuldson
f9ac23b9a9 separate reply button to its own component, add changelog entry 2020-09-07 10:35:49 +03:00
Maksim Pechnikov
fa2b680855 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-09-07 09:47:17 +03:00
Shpuld Shpuldson
40ca0b394e add basic deletes support that works with masto WS 2020-09-06 15:28:09 +03:00
eugenijm
b8afdb4c02 Do not show desktop notifications for your own chat messages 2020-09-04 23:11:10 +03:00
Shpuld Shpludson
e331db79e5 Merge branch 'develop' into 'fix/wait-for-request-before-starting-interval'
# Conflicts:
#   CHANGELOG.md
2020-09-04 08:38:13 +00:00
Shpuld Shpuldson
c89ac79140 fix chat fetcher stops, change fetcher code 2020-09-04 11:22:14 +03:00
Shpuld Shpuldson
3fb35e8123 rename to promiseInterval 2020-09-04 11:19:53 +03:00
Shpuld Shpludson
a73b09c732 Merge branch 'fix/locked-account-link-fix' into 'develop'
Open profile tab from 'locked' link in FO-post warning - Fix #945

Closes #945

See merge request pleroma/pleroma-fe!1223
2020-09-04 08:11:31 +00:00
lain
4adccf2216 Merge branch 'fix/autocomplete-fixes' into 'develop'
Rewrite word split for autocomplete, fix #930 fix #681

Closes #681 and #930

See merge request pleroma/pleroma-fe!1218
2020-09-03 14:08:36 +00:00
Shpuld Shpuldson
f281663b49 Add hacky functionality to open specific settings tabs 2020-09-03 15:45:13 +03:00
Shpuld Shpuldson
5b403ba7d1 fix timeline showimmediately being set wrongly 2020-09-02 22:12:50 +03:00
Shpuld Shpuldson
4d080a1654 add mention to changelog 2020-09-02 21:26:02 +03:00
Shpuld Shpuldson
d939f2ffbc document makeFetcher a bit 2020-09-02 21:08:06 +03:00
Shpuld Shpuldson
1b6eee0497 change chats to use custom makeFetcher 2020-09-02 21:01:31 +03:00
Shpuld Shpuldson
2d914c331e replace setInterval for timelne, notifications and follow requests 2020-09-02 20:40:47 +03:00
Shpuld Shpludson
02ea173947 Merge branch 'fix/password-reset-behavior' into 'develop'
Password reset no longer informs user of errors or account existence

See merge request pleroma/pleroma-fe!1221
2020-09-02 14:18:35 +00:00
Mark Felder
5809f33c86 Password reset no longer informs user of errors or account existence 2020-09-01 16:48:51 -05:00
Shpuld Shpludson
5b7decea3d Merge branch 'develop' into 'fix/autocomplete-fixes'
# Conflicts:
#   CHANGELOG.md
2020-08-31 13:58:02 +00:00
HJ
acc45b49a5 Merge branch 'fix/hide-polls-in-collapsed-posts' into 'develop'
hide poll when subject collapsed, fix #683

Closes #683

See merge request pleroma/pleroma-fe!1220
2020-08-31 12:30:29 +00:00
Shpuld Shpuldson
ca0ce902ea add changelog entry 2020-08-31 11:54:27 +03:00
Shpuld Shpuldson
b5d15eddcf hide poll when subject collapsed, but show poll icon 2020-08-31 11:50:26 +03:00
Shpuld Shpuldson
4da248f8bc update changelog for autocomplete fixes 2020-08-28 12:35:02 +03:00
Shpuld Shpuldson
c01a3720ac Merge branch 'develop' into fix/autocomplete-fixes 2020-08-28 12:34:20 +03:00
Shpuld Shpludson
39f8587171 Merge branch 'chore/fix-changelog' into 'develop'
Chore/fix-changelog

See merge request pleroma/pleroma-fe!1219
2020-08-28 09:33:45 +00:00
Shpuld Shpuldson
82b872df44 update changelog with 2.1.0, fix Add -> Added in older releases 2020-08-28 12:24:48 +03:00
Shpuld Shpuldson
0347d79bda Rewrite word split imperatively for control 2020-08-28 12:02:52 +03:00
Shpuld Shpuldson
f5e4ad601a wip start 2020-08-27 16:46:23 +03:00
lain
65ac71139e Merge branch 'fix/long-poll-words' into 'develop'
fix long poll labels overflowing

See merge request pleroma/pleroma-fe!1216
2020-08-25 09:32:11 +00:00
Shpuld Shpuldson
c9ea2db69d fix long poll labels overflowing 2020-08-25 12:17:42 +03:00
lain
ff328e7c55 Merge branch 'fix/user-card-avatar-too-small' into 'develop'
Fix some Avatar related css bugs

See merge request pleroma/pleroma-fe!1215
2020-08-25 08:50:28 +00:00
Shpuld Shpuldson
f0ac40a428 change more animated gif avatars to work properly 2020-08-25 11:40:02 +03:00
Shpuld Shpuldson
06159101cf fix avatar overwrite classes in usercard 2020-08-25 11:33:38 +03:00
lain
0ed5d40ad7 Merge branch 'fix/fix-tests' into 'develop'
Fix tests

See merge request pleroma/pleroma-fe!1214
2020-08-19 13:28:57 +00:00
Shpuld Shpuldson
a0c17e1fd0 fix tests by removing only and adding empty func for notification tests 2020-08-19 16:19:36 +03:00
Shpuld Shpludson
7599244968 Merge branch 'support-thumbnails' into 'develop'
EntityNormalizer: Normalize thumbnail url.

See merge request pleroma/pleroma-fe!1213
2020-08-19 13:01:33 +00:00
lain
c649f28faf EntityNormalizer: Normalize thumbnail url. 2020-08-19 14:54:00 +02:00
lain
45add8f5bc Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1208
2020-08-19 12:09:38 +00:00
Ben Is
a26fc61efa Translated using Weblate (Italian)
Currently translated at 100.0% (663 of 663 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-08-19 12:00:19 +00:00
lain
54b7e986a7 Merge branch 'fix/tag-timeline-title' into 'develop'
Fix #928 show tag name in title for tag timelines

Closes #928

See merge request pleroma/pleroma-fe!1212
2020-08-19 12:00:12 +00:00
HJ
ddeeb240ac Merge branch 'css-fixes' into 'develop'
Css fixes

See merge request pleroma/pleroma-fe!1211
2020-08-19 10:20:38 +00:00
Shpuld Shpuldson
54b619dfec show tag name in title for tag timelines 2020-08-19 13:06:46 +03:00
Henry Jameson
800047b81f fixed 2020-08-19 12:14:00 +03:00
Henry Jameson
d7c42f1469 lint 2020-08-19 00:38:54 +03:00
Henry Jameson
61966d290a fix lain's bug 2020-08-19 00:22:08 +03:00
Henry Jameson
36c9368ae5 fix reply popovers being too slim 2020-08-19 00:18:52 +03:00
Henry Jameson
815f230ac7 fixed some issues related to user avatar 2020-08-18 23:57:42 +03:00
Henry Jameson
7de78b1401 revert change to form resize logic 2020-08-18 23:50:23 +03:00
Henry Jameson
a6223cec0c Fix last line having slightly cut-off low-hanging parts of characters 2020-08-18 00:52:51 +03:00
Henry Jameson
ecbbec7b97 work around incorrect styles ordering in status popover 2020-08-18 00:26:44 +03:00
Henry Jameson
30219098a6 fix issues with reply-link 2020-08-18 00:26:31 +03:00
Henry Jameson
2fa050b163 Fix muted notifications 2020-08-18 00:26:02 +03:00
lain
1a8840c7c3 Merge branch 'fix/treat-field-name-as-text' into 'develop'
treat field name as text

See merge request pleroma/pleroma-fe!1210
2020-08-13 14:01:30 +00:00
Shpuld Shpuldson
ae4dc3e439 treat field name as text 2020-08-13 16:29:12 +03:00
HJ
b9d1ecec44 Merge branch 'stylelint-rscss-1' into 'develop'
Stylelint + RSCSS initial approach

See merge request pleroma/pleroma-fe!1205
2020-08-06 13:38:07 +00:00
lain
3e6e6096bf Merge branch 'feat/separate-timeline-navigation-from-navpanel' into 'develop'
Separate timeline navigation from navpanel

See merge request pleroma/pleroma-fe!1172
2020-08-06 10:17:44 +00:00
Shpuld Shpludson
9a10ad3826 Merge branch 'mobile-setting-modal-fix' into 'develop'
Mobile setting modal behavior fixes

Closes #908

See merge request pleroma/pleroma-fe!1200
2020-08-06 09:53:24 +00:00
Shpuld Shpludson
7bd6846703 Merge branch 'chat-list-single-line-fix' into 'develop'
Fix single line status content mode in the chat list

See merge request pleroma/pleroma-fe!1202
2020-08-06 09:46:19 +00:00
Henry Jameson
0feab1d97c more broken reply improvements 2020-08-04 19:41:03 +03:00
Henry Jameson
a962ca6065 lint 2020-08-04 19:34:18 +03:00
Henry Jameson
0d02b04726 bring back red stripe 2020-08-04 19:32:47 +03:00
Henry Jameson
10bb2b288d remove unnecessary border-radius 2020-08-04 19:26:07 +03:00
Henry Jameson
24fd9372ce i am an idiot sandwich 2020-08-04 19:18:13 +03:00
Henry Jameson
dce057f24e lint 2020-08-04 19:16:55 +03:00
Henry Jameson
839681bbc7 add stylelint to CI/npm, only one file for now. 2020-08-04 19:12:13 +03:00
Henry Jameson
2a1c9e094c more fixes 2020-08-04 19:08:49 +03:00
Henry Jameson
4c8e9bc0c2 Merge remote-tracking branch 'origin/develop' into stylelint-rscss-1
* origin/develop:
  Let's serve the README image from GitLab
2020-08-04 18:01:09 +03:00
feld
b3f3e87411 Merge branch 'chore/readme-image-link' into 'develop'
Let's serve the README image from GitLab

See merge request pleroma/pleroma-fe!1206
2020-07-28 21:18:05 +00:00
Mark Felder
fbdcec1a22 Let's serve the README image from GitLab 2020-07-28 16:08:36 -05:00
Shpuld Shpuldson
e57562959f fix oops 2020-07-28 09:41:00 +03:00
Shpuld Shpuldson
e86c5ea1fa fix non-timeline routes breaking current/previous timeline 2020-07-28 09:40:04 +03:00
Henry Jameson
5cf5325de2 bump node to 10 for stylint 2020-07-28 02:03:41 +03:00
Henry Jameson
7870b3f7ec neater way to do hover thing with still image 2020-07-28 01:54:40 +03:00
Henry Jameson
65b6e23c00 refactor status 2020-07-28 01:27:11 +03:00
Henry Jameson
61d78ff11b separate status scss into another file 2020-07-27 22:49:57 +03:00
HJ
f293dc39dc Merge branch 'fix/preview-styles-polish' into 'develop'
polish preview styles a bit

See merge request pleroma/pleroma-fe!1186
2020-07-27 18:42:43 +00:00
HJ
bcde140753 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1201
2020-07-27 18:34:12 +00:00
Ben Is
28cafdd1bb Translated using Weblate (Italian)
Currently translated at 100.0% (662 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-27 14:45:21 +00:00
Tirifto
023d1c01bd Translated using Weblate (Esperanto)
Currently translated at 97.5% (646 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-27 14:45:21 +00:00
Tirifto
536d035913 Translated using Weblate (Esperanto)
Currently translated at 86.7% (574 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-27 14:45:21 +00:00
Karol Kosek
1c44376cc8 Translated using Weblate (Polish)
Currently translated at 95.6% (633 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-07-27 14:45:21 +00:00
Tirifto
6e651c7693 Translated using Weblate (Esperanto)
Currently translated at 77.4% (513 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-27 14:45:21 +00:00
Tirifto
b73c62b17a Translated using Weblate (Esperanto)
Currently translated at 77.4% (513 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-27 14:45:21 +00:00
lain
5be55b6162 Merge branch 'fix/poll-option-delete' into 'develop'
Fix #903: update poll to post-status-form on deleting option

Closes #903

See merge request pleroma/pleroma-fe!1204
2020-07-27 14:45:15 +00:00
Shpuld Shpuldson
f9e4afa3e9 update poll to post status form on deleting option 2020-07-24 17:24:34 +03:00
HJ
9726edd8c0 Merge branch 'chat-to-shoutbox' into 'develop'
ChatPanel: Rename `chat` to `shoutbox`.

See merge request pleroma/pleroma-fe!1203
2020-07-23 15:49:03 +00:00
Lain Soykaf
96929d9930 ChatPanel: Rename chat to shoutbox.
To remove confusion with the new ChatMessages.
2020-07-23 17:31:35 +02:00
eugenijm
222ad2dd50 Make the single line mode is consistent with status-content line height 2020-07-23 16:39:01 +03:00
eugenijm
77d65d6cec Ensures the minimized modal is always 50px above the mobile browser bottom bar regardless of whether or not it is visible. 2020-07-23 16:36:21 +03:00
lain
0ea23a03ce Merge branch 'feat/idempotency' into 'develop'
Status posting Idempotency

See merge request pleroma/pleroma-fe!1194
2020-07-23 13:17:44 +00:00
Shpuld Shpuldson
fdbacba36a resume last lasttime instead of always friends/public 2020-07-23 15:09:32 +03:00
eugenijm
2298ad0011 Use bock-scroll-lock directive for the settings modal 2020-07-23 12:15:44 +03:00
eugenijm
61dd1a3b49 Add body 100% width for the preview, refactor the modalActivated watcher, use body scroll lock for the setting tab content 2020-07-23 09:53:51 +03:00
eugenijm
dac075c61a Fix mobile setting modal behavior: ensure the mobile browser address bar doesn't overlap the modal top panel. 2020-07-23 09:53:51 +03:00
Shpuld Shpuldson
0546326b22 update icon to hopefully look fine on both browsers 2020-07-22 09:43:22 +03:00
HJ
25a015b471 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1190
2020-07-21 13:10:08 +00:00
Karol Kosek
c7966a2028 Translated using Weblate (Polish)
Currently translated at 92.5% (613 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-07-21 09:11:21 +00:00
Karol Kosek
537c1fd817 Translated using Weblate (Polish)
Currently translated at 92.4% (612 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-07-21 09:11:21 +00:00
Tirifto
dee8f7febe Translated using Weblate (Esperanto)
Currently translated at 72.6% (481 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-21 09:11:21 +00:00
Tirifto
51fd4bd5ba Translated using Weblate (Esperanto)
Currently translated at 68.2% (452 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-21 09:11:21 +00:00
Tirifto
6e49afcac4 Translated using Weblate (Esperanto)
Currently translated at 60.1% (398 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-21 09:11:21 +00:00
Tirifto
70129c934c Translated using Weblate (Esperanto)
Currently translated at 60.1% (398 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-21 09:11:21 +00:00
Ben Is
9db096fa69 Translated using Weblate (Japanese)
Currently translated at 81.8% (542 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_EASY/
2020-07-21 09:11:21 +00:00
Ben Is
18e2396da4 Translated using Weblate (Hebrew)
Currently translated at 48.7% (323 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/he/
2020-07-21 09:11:21 +00:00
Ben Is
89379b10cc Translated using Weblate (Irish)
Currently translated at 29.4% (195 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ga/
2020-07-21 09:11:21 +00:00
Haelwenn (lanodan) Monnier
2fe8b3937b Translated using Weblate (French)
Currently translated at 89.8% (595 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2020-07-21 09:11:21 +00:00
Ben Is
83962f90c8 Translated using Weblate (Basque)
Currently translated at 77.3% (512 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eu/
2020-07-21 09:11:21 +00:00
Ben Is
98d2160303 Translated using Weblate (Esperanto)
Currently translated at 49.5% (328 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2020-07-21 09:11:21 +00:00
Ben Is
bfb768cdde Translated using Weblate (German)
Currently translated at 68.7% (455 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-07-21 09:11:21 +00:00
Ben Is
c0144b5187 Translated using Weblate (Czech)
Currently translated at 55.1% (365 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/cs/
2020-07-21 09:11:21 +00:00
Ben Is
10fce88f37 Translated using Weblate (Catalan)
Currently translated at 29.0% (192 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ca/
2020-07-21 09:11:21 +00:00
Ben Is
8f61892833 Translated using Weblate (Italian)
Currently translated at 100.0% (662 of 662 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-21 09:11:21 +00:00
Karol Kosek
9ff59ad113 Translated using Weblate (Polish)
Currently translated at 92.1% (614 of 666 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-07-21 09:11:21 +00:00
Shpuld Shpludson
f0e296296c Merge branch 'feat/show-fav-rt-lists-on-hover' into 'develop'
Feat/show fav rt lists on hover

See merge request pleroma/pleroma-fe!1196
2020-07-21 09:11:11 +00:00
Shpuld Shpludson
4528c5c982 Merge branch 'feat/more-title-attributes-in-status-header' into 'develop'
Add title attributes to more things in status header

See merge request pleroma/pleroma-fe!1195
2020-07-20 14:37:21 +00:00
Shpuld Shpludson
a06ab08f96 Merge branch 'desktop-notifications-for-chat' into 'develop'
Desktop chat notifications

Closes #893

See merge request pleroma/pleroma-fe!1185
2020-07-20 14:34:50 +00:00
Shpuld Shpludson
e0add7a44e Merge branch 'features/favicons' into 'develop'
status.vue: Add support for favicons

See merge request pleroma/pleroma-fe!1076
2020-07-20 14:06:16 +00:00
Shpuld Shpludson
92377beab1 Merge branch 'fix-notification-polling' into 'develop'
Fix the notifications polling when all the latest notifications are unread

Closes #896

See merge request pleroma/pleroma-fe!1198
2020-07-20 08:22:51 +00:00
eugenijm
5b9d22e2c5 Fix the notifications polling when all the latest notifications are unread 2020-07-17 18:27:47 +03:00
lain
067caacb29 Merge branch 'fix/reply-filtering-limit-to-friends-public' into 'develop'
Fix #898 and #900 Limit reply filtering to home and public timelines

Closes #900 and #898

See merge request pleroma/pleroma-fe!1197
2020-07-17 10:36:06 +00:00
Shpuld Shpuldson
f28ba3dfdb Limit reply filtering to home and public 2020-07-17 09:33:18 +03:00
Shpuld Shpuldson
caae2668ce add 16 users cap to user list popover 2020-07-16 18:08:00 +03:00
Shpuld Shpuldson
85e09d81c7 update changelog 2020-07-16 17:47:26 +03:00
Shpuld Shpuldson
8e0414dc7c change class names to not have reacts in them 2020-07-16 17:45:07 +03:00
Shpuld Shpuldson
6079301ec4 Move user list from reactions to its own component, make favs and rts use it 2020-07-16 17:42:16 +03:00
Shpuld Shpuldson
717adf22cc add title to user card account name too 2020-07-16 11:10:45 +03:00
Shpuld Shpuldson
476954295e add title attributes to more things in status header 2020-07-16 11:00:18 +03:00
Shpuld Shpuldson
bca77ef97f update changelog 2020-07-16 10:50:03 +03:00
Shpuld Shpuldson
0c7c24d3d1 make idempotency watch entire status 2020-07-16 10:18:18 +03:00
Shpuld Shpludson
950ae6d89a Merge branch 'reactions-search' into 'develop'
make reactions-search case-insensitive

See merge request pleroma/pleroma-fe!1189
2020-07-16 06:04:49 +00:00
Shpuld Shpludson
0478e82bab Merge branch 'refactor/notification_settings_more' into 'develop'
Improve layout of the Notifications Filters section

See merge request pleroma/pleroma-fe!1192
2020-07-15 15:06:29 +00:00
Mark Felder
149941828f Improve layout of the Notifications Filters section 2020-07-15 09:56:46 -05:00
feld
1454d33e53 Merge branch 'refactor/notification_settings' into 'develop'
Updated Notification Settings API use

See merge request pleroma/pleroma-fe!1124
2020-07-15 14:29:37 +00:00
Mark Felder
d4dfc5dcdf JSON and the Quest For Punishing Trailing Commas 2020-07-15 09:02:42 -05:00
Mark Felder
49aaf9dc57 Merge branch 'develop' into refactor/notification_settings 2020-07-15 09:01:40 -05:00
HJ
fd94dba6d0 Merge branch 'fix/stabilize-input-bux' into 'develop'
fix: stabilize post status form input box

See merge request pleroma/pleroma-fe!1191
2020-07-15 13:49:21 +00:00
Shpuld Shpuldson
d85904f42f add extra sanity stuff to make input boxes more stable 2020-07-15 16:36:06 +03:00
Shpuld Shpuldson
89a677f5e8 add basic idempotency support 2020-07-15 16:19:57 +03:00
Shpuld Shpuldson
51b235f7aa adjust icon use 2020-07-15 12:26:14 +03:00
Shpuld Shpuldson
3cac26a2ac Merge branch 'develop' into fix/preview-styles-polish 2020-07-15 08:30:32 +03:00
Dym Sohin
00d662c4a0 make reactions-search case-insensitive 2020-07-14 19:47:02 +00:00
Shpuld Shpludson
297a0c1f7f Merge branch 'fix-chrome69' into 'develop'
Fix chrome 69 + some theme data related to chats

Closes #890

See merge request pleroma/pleroma-fe!1183
2020-07-14 13:13:23 +00:00
HJ
5af0949491 Apply suggestion to src/services/theme_data/theme_data.service.js 2020-07-14 13:04:00 +00:00
HJ
6fe0751037 Merge branch 'cleanup/remove-stupid-optns' into 'develop'
Cleanup/remove stupid options

See merge request pleroma/pleroma-fe!1187
2020-07-14 12:47:10 +00:00
Shpuld Shpuldson
97a01b057d mention removed options in changelog 2020-07-14 15:35:39 +03:00
Shpuld Shpuldson
89d1fb5cf4 remove remaining autoload i18n 2020-07-14 15:15:02 +03:00
Shpuld Shpuldson
b8c1b25397 remove most of reply preview and autoload related stuff 2020-07-14 15:08:04 +03:00
Shpuld Shpuldson
7859c5fe4b polish preview styles a bit 2020-07-14 14:43:26 +03:00
Shpuld Shpuldson
3598360ce5 fix missed conflict 2020-07-14 11:54:03 +03:00
Shpuld Shpuldson
cac1418aff fix merge conflicts 2020-07-14 11:44:06 +03:00
Mark Felder
8fcd37a3b9 Remove i18n entries that are deprecated or need to be retranslated 2020-07-13 13:29:44 -05:00
Mark Felder
da94935aaa Merge branch 'develop' into refactor/notification_settings 2020-07-13 13:25:23 -05:00
eugenijm
54dea24bb8 Do not display desktop chat notification when the chat is focused 2020-07-13 15:48:19 +03:00
eugenijm
2c35afeebf Add desktop chat notifications 2020-07-13 06:27:51 +03:00
Henry Jameson
40e3595ad3 fix chrome69 2020-07-12 16:21:43 +03:00
HJ
3e09a708f6 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1182
2020-07-12 10:56:37 +00:00
Ben Is
cf0ee51821 Translated using Weblate (Italian)
Currently translated at 100.0% (667 of 667 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-12 10:47:02 +00:00
HJ
4cdfe4235d Merge branch 'feat/add-you-to-last-message' into 'develop'
fix #894 add simple You: to chat list last message

Closes #894

See merge request pleroma/pleroma-fe!1181
2020-07-12 10:46:52 +00:00
Shpuld Shpuldson
4a6300bbee add simple You: to chat list last message 2020-07-12 11:11:12 +03:00
HJ
0c5e4f89e3 Merge branch 'develop' into 'develop'
fixed checkbox using emoji instead of dingbat

See merge request pleroma/pleroma-fe!1180
2020-07-11 11:48:05 +00:00
Dym Sohin
a754e89eed fixed checkbox using emoji instead of dingbat 2020-07-11 06:39:44 +00:00
Shpuld Shpludson
7d5d3e4d7b Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1174
2020-07-10 11:07:02 +00:00
Ben Is
b32394c2ef Translated using Weblate (Italian)
Currently translated at 100.0% (645 of 645 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-10 10:56:44 +00:00
Shpuld Shpuldson
dca13d9a3b Translated using Weblate (Finnish)
Currently translated at 100.0% (645 of 645 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fi/
2020-07-10 10:56:44 +00:00
Ben Is
053af7b385 Translated using Weblate (Italian)
Currently translated at 100.0% (641 of 641 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-10 10:56:44 +00:00
Ben Is
8606cedfb5 Translated using Weblate (Italian)
Currently translated at 93.9% (602 of 641 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-10 10:56:44 +00:00
lain
4c59a17499 Merge branch 'fix/ctrl-enter-before-chat-loading-breaks' into 'develop'
fix #891 Fix early send killing the chat

Closes #891

See merge request pleroma/pleroma-fe!1178
2020-07-10 10:56:39 +00:00
lain
fd37957abd Merge branch 'feat/add-chat-notification-dot-mobilenav' into 'develop'
add simple red dot for chat notifs on mobile

See merge request pleroma/pleroma-fe!1177
2020-07-10 10:55:39 +00:00
Shpuld Shpuldson
5734dd05a0 change misnamed member field check to actually disable sending 2020-07-10 13:48:37 +03:00
Shpuld Shpuldson
0038a9794b add simple red dot for chat notifs 2020-07-10 13:21:42 +03:00
HJ
c1a20079be Merge branch 'direct-conversations' into 'develop'
Chats

Closes #201

See merge request pleroma/pleroma-fe!1019
2020-07-10 09:04:45 +00:00
Shpuld Shpuldson
78ec84477e fix pixel offset hack in panel heading 2020-07-09 12:49:16 +03:00
Shpuld Shpludson
d2f0e4e7d5 Merge branch '888-fix-utf8-base64-decoding' into 'develop'
After Store: Correctly decode UTF-8 encoded base64 strings.

Closes #888

See merge request pleroma/pleroma-fe!1176
2020-07-09 09:29:20 +00:00
lain
905de12980 After Store: Correctly decode UTF-8 encoded base64 strings. 2020-07-09 11:20:07 +02:00
HJ
2b3c4ccfae Merge branch 'fix/notifications-jumping-based-on-time' into 'develop'
Fix notifications (favs and rts) jumping based on timeago width

See merge request pleroma/pleroma-fe!1175
2020-07-08 12:57:31 +00:00
Eugenij
b756c83e8d Apply suggestion to src/components/chat_list/chat_list.vue 2020-07-08 15:21:31 +03:00
eugenijm
3b2dfcaf5c Add the single-line prop to StatusContent and use it for chat list items 2020-07-08 15:21:31 +03:00
eugenijm
fc865d3a12 Remove direct style manipulations in favor of classes 2020-07-08 15:21:31 +03:00
eugenijm
ed7310c04b Undo the promise rejection on the json parser error in promisedRequest
to keep the existing behavior in case some parts of the code rely on it
and to limit the overall scope of the changes.
2020-07-08 15:21:31 +03:00
eugenijm
18a1f5d62a Add the empty chat list placeholder.
Do not use full height when displaying the chat list.
Remove an unsued chat action.
2020-07-08 15:21:31 +03:00
eugenijm
45901c8da6 Disable status preview in the chat posting form 2020-07-08 15:21:31 +03:00
eugenijm
f05f832bff Address feedback
Use more specific css rules for the emoji dimensions in the chat list status preview.

Use more round em value for chat list item height.
Add global html overflow and height for smoother chat navigation in
the desktop Safari.

Use offsetHeight instad of a computed style when setting the window height on resize.

Remove margin-bottom from the last message to avoid occasional layout shift in the desktop Safari

Use break-word to prevent chat message text overflow

Resize and scroll the textarea when inserting a new line on ctrl+enter

Remove fade transition on route change

Ensure proper border radius at the bottom of the chat, remove unused border-radius

Prevent the chat header "jumping" on the avatar load.
2020-07-08 15:21:31 +03:00
eugenijm
aa2cf51c05 Add Chats 2020-07-08 15:21:31 +03:00
Shpuld Shpuldson
60921be5a0 give notification timeago a min width 2020-07-08 14:11:42 +03:00
Shpuld Shpludson
a0ddcbdf5b Merge branch 'patch-1' into 'develop'
corrected tos.html location

See merge request pleroma/pleroma-fe!1173
2020-07-08 10:18:28 +00:00
lain
4f96418143 Merge branch 'wyatt777/pleroma-fe-issue-353' into 'develop'
Allow remove of banner, avatar images issue #353 v2

See merge request pleroma/pleroma-fe!1156
2020-07-08 10:11:17 +00:00
Shpuld Shpludson
eea002e6f5 streamline profile image api, update reset ui for all profile images to match avatar, remove unnecessary stuff 2020-07-08 10:11:17 +00:00
Shpuld Shpuldson
5186929efa add hack to not overlap menu with timeline header 2020-07-08 10:42:40 +03:00
Dym Sohin
1767ee01d0 corrected tos.html location 2020-07-07 19:34:45 +00:00
Shpuld Shpuldson
cde6acdbbd update navigation, rename timeline link in nav panel to timelines 2020-07-07 18:20:37 +03:00
Shpuld Shpuldson
ddde05771f update with bookmarks, clean up some code 2020-07-07 17:34:35 +03:00
Shpuld Shpludson
7206fee437 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1169
2020-07-07 13:03:12 +00:00
Ben Is
0ab6d92ab8 Translated using Weblate (Italian)
Currently translated at 85.2% (545 of 639 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-07 12:53:55 +00:00
Ben Is
a6606df01a Translated using Weblate (Chinese (Simplified))
Currently translated at 88.2% (564 of 639 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-07-07 12:53:55 +00:00
Ben Is
5b48954644 Translated using Weblate (Italian)
Currently translated at 75.1% (480 of 639 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-07-07 12:53:55 +00:00
Ben Is
e9be206a65 Translated using Weblate (Finnish)
Currently translated at 95.4% (610 of 639 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fi/
2020-07-07 12:53:55 +00:00
Shpuld Shpludson
8f87a36a5a Merge branch '884-about-panel-optimizations' into 'develop'
StaffPanel: Move staff loading to panel creation.

Closes #884

See merge request pleroma/pleroma-fe!1171
2020-07-07 12:53:49 +00:00
Shpuld Shpludson
7d881d97fe Apply suggestion to src/components/staff_panel/staff_panel.js 2020-07-07 12:44:29 +00:00
lain
431b3f527d StaffPanel: Move staff loading to panel creation. 2020-07-07 14:39:43 +02:00
Shpuld Shpludson
ec26ff04ce Merge branch 'xenofem/pleroma-fe-rebased-image-description-authoring' into 'develop'
media description authoring v3

See merge request pleroma/pleroma-fe!1161
2020-07-07 12:14:58 +00:00
Shpuld Shpludson
0fe5d4cf10 Merge branch 'develop' into 'xenofem/pleroma-fe-rebased-image-description-authoring'
# Conflicts:
#   src/components/post_status_form/post_status_form.js
2020-07-07 12:05:30 +00:00
Shpuld Shpludson
bbb977a044 Merge branch '885-fix-preloading-html' into 'develop'
After Store: Correctly handle preloaded HTML

Closes #885

See merge request pleroma/pleroma-fe!1170
2020-07-07 11:59:36 +00:00
lain
7c9ba8995c Apply suggestion to src/boot/after_store.js 2020-07-07 11:47:01 +00:00
Shpuld Shpuldson
f7f8181dcf fix preview opening automatically 2020-07-07 14:46:53 +03:00
lain
1f97f36e1c After Store: Correctly handle preloaded HTML 2020-07-07 13:17:25 +02:00
Shpuld Shpuldson
97c62587d0 remove console log 2020-07-07 11:34:40 +03:00
Shpuld Shpuldson
84d728b970 fix issue on posting another status 2020-07-07 11:31:24 +03:00
Shpuld Shpuldson
e3991db5c4 fix conflicts and add error handling to media descriptions 2020-07-07 10:01:37 +03:00
Shpuld Shpuldson
f4bdbf7691 remove unnecessary code 2020-07-07 09:08:50 +03:00
Shpuld Shpuldson
b4709f93d4 add more ways to set description 2020-07-07 09:07:20 +03:00
Shpuld Shpuldson
d55c09df18 fix edge case of videos and unknown files together 2020-07-06 15:06:13 +03:00
Shpuld Shpuldson
87b5f828d7 fix conflicts, use file icon instead of link, add support for audio and file icon in cw'd posts 2020-07-06 14:01:03 +03:00
Shpuld Shpuldson
4d25be7cb3 fix modal types check being broken 2020-07-06 13:42:33 +03:00
Shpuld Shpludson
9ccc6174a7 Merge branch 'feat/rich-text-preview' into 'develop'
Status preview #459

See merge request pleroma/pleroma-fe!1159
2020-07-06 10:17:26 +00:00
Shpuld Shpuldson
ada5a3806b don't close preview on post, move visibility notices above the preview where they belong 2020-07-06 11:36:35 +03:00
Shpuld Shpuldson
7bdc3d6ce9 remove contenttype check from content type watcher 2020-07-06 11:12:33 +03:00
Shpuld Shpuldson
f254a847d2 move translation strings to correct place, translate error message 2020-07-06 10:53:03 +03:00
Shpuld Shpuldson
105254d73d Merge branch 'feat/rich-text-preview' of git.pleroma.social:pleroma/pleroma-fe into feat/rich-text-preview 2020-07-06 10:46:23 +03:00
Shpuld Shpuldson
afdc3f96f0 fix conflicts, make subject update the preview 2020-07-06 10:45:47 +03:00
Shpuld Shpludson
b761bcf333 Merge branch 'fix/remove-extra-notifications-fetch' into 'develop'
Fix: notifications fetcher double fetching on every tick

See merge request pleroma/pleroma-fe!1164
2020-07-05 07:03:27 +00:00
Shpuld Shpludson
9178908c1e Apply suggestion to src/components/notifications/notifications.js 2020-07-05 06:54:12 +00:00
Shpuld Shpludson
af4a26b588 Merge branch 'feat/allow-use-without-cookies' into 'develop'
Fix #815: Allow use without cookies, Add a global notice popup system

Closes #815

See merge request pleroma/pleroma-fe!1166
2020-07-05 06:53:29 +00:00
Shpuld Shpludson
acc3b083aa Merge branch 'feat/parent-visible-support' into 'develop'
#874 Add strike-through to "Reply to" when parent_visible is set to false

See merge request pleroma/pleroma-fe!1162
2020-07-05 06:15:35 +00:00
HJ
5b8875e3d8 Merge branch 'fix-emoji-panel-height' into 'develop'
Fix emoji panel for settings modal

See merge request pleroma/pleroma-fe!1168
2020-07-04 23:53:39 +00:00
HJ
b448871d23 Merge branch 'fix/allow-over-scrolling-on-bottom-mobile' into 'develop'
Fix #854: allow overscrolling enough to not have FAB block interactables

Closes #854

See merge request pleroma/pleroma-fe!1165
2020-07-04 20:41:54 +00:00
kPherox
9b40cf43d8
fix height for emoji panel of settings modal 2020-07-04 18:42:15 +09:00
Shpuld Shpludson
76de4a3132 Merge branch 'bookmarks' into 'develop'
Bookmarks

Closes #472

See merge request pleroma/pleroma-fe!903
2020-07-03 19:45:49 +00:00
Eugenij
de291e2e33 Add bookmarks
Co-authored-by: jared <jaredrmain@gmail.com>
2020-07-03 19:45:49 +00:00
Shpuld Shpuldson
77bb31b474 remove extra computed from nav panel 2020-07-03 13:26:11 +03:00
lain
7bd89b579f Merge branch 'fix_BE_1586_provide_index_md' into 'develop'
FE part of BE issue 1586 provide index md

See merge request pleroma/pleroma-fe!1154
2020-07-03 10:17:42 +00:00
Ilja
08b593746f FE part of BE issue 1586 provide index md
* I added an index.md which will be the landing page for the docs. It has an explanation of Pleroma-FE from the user point of view
* See also BE MR: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2669
* And issue: https://git.pleroma.social/pleroma/pleroma/-/issues/1586
2020-07-03 10:17:42 +00:00
Shpuld Shpuldson
ebe885953c change more opinionated translation 2020-07-03 12:59:30 +03:00
Shpuld Shpuldson
21d1f557f6 change styles for the dropdown, make things work nicely on mobile 2020-07-03 12:56:31 +03:00
Shpuld Shpuldson
961099d34a basic version done, needs cleanup from nav panel styles 2020-07-02 18:03:02 +03:00
Shpuld Shpuldson
9cac5d94dd change alert popup alpha 2020-07-02 15:17:58 +03:00
Shpuld Shpuldson
150516df4e Merge branch 'xenofem/pleroma-fe-rebased-image-description-authoring' of git.pleroma.social:pleroma/pleroma-fe into xenofem/pleroma-fe-rebased-image-description-authoring 2020-07-02 14:31:07 +03:00
Shpuld Shpuldson
b8ed904c0c change px to em 2020-07-02 14:28:35 +03:00
Shpuld Shpludson
e1cf6bd41c Merge branch 'fix/follow-requests-usercard-crash' into 'develop'
Fix #877 Follow request user card crash

Closes #877

See merge request pleroma/pleroma-fe!1167
2020-07-02 09:28:57 +00:00
Shpuld Shpuldson
f0668c9ff8 add follow request users to store 2020-07-02 12:19:33 +03:00
Shpuld Shpuldson
685ab4f33e make the addNotice dispatch return the notice 2020-07-02 10:46:43 +03:00
Shpuld Shpuldson
1293bec77e change storage error one-off into a global notice system 2020-07-02 10:40:41 +03:00
Shpuld Shpludson
c0fb35b106 Merge branch 'develop' into 'xenofem/pleroma-fe-rebased-image-description-authoring'
# Conflicts:
#   CHANGELOG.md
2020-07-02 04:50:03 +00:00
Shpuld Shpuldson
0997e5ff66 remove accidental log 2020-07-01 19:25:31 +03:00
Shpuld Shpuldson
15d492ace4 revert accidental change in instance.js 2020-07-01 19:24:17 +03:00
Shpuld Shpuldson
43b7a5d9b3 update the message and changelog 2020-07-01 19:22:39 +03:00
Shpuld Shpuldson
d30b0b28c9 catch localforage error and let the application work, add an alert for user to dismiss 2020-07-01 19:15:28 +03:00
Shpuld Shpuldson
3ebd4e4429 document the 'mark-as-read-detection' system 2020-07-01 17:55:42 +03:00
Shpuld Shpuldson
ca997f45e8 allow overscrolling enough to not have FAB block interactables 2020-07-01 15:56:45 +03:00
lain
beb160bd53 Merge branch 'fix/use-backend-reply-filtering' into 'develop'
Make use of backend reply filtering

See merge request pleroma/pleroma-fe!1163
2020-07-01 12:46:42 +00:00
Shpuld Shpuldson
a3e370e9f8 add initial fetching back in a more streamlined way 2020-07-01 15:19:45 +03:00
Shpuld Shpuldson
62d0bc47b3 remove unnecessary fetchAndUpdate, change notifications fetcher to not double fetch 2020-07-01 14:15:04 +03:00
Shpuld Shpuldson
38d8526660 change Show New text to Reload when flushing 2020-06-30 17:37:36 +03:00
Shpuld Shpuldson
ea09bbecf8 Make use of backend reply filtering 2020-06-30 17:02:38 +03:00
Shpuld Shpuldson
3a79918b89 update changelog for reply-to strikethrough 2020-06-30 15:23:47 +03:00
Shpuld Shpuldson
ee1364a167 add no-statusId support for status popover 2020-06-30 15:15:27 +03:00
Shpuld Shpuldson
6529f9fa34 add strikethrough when parent isn't visible 2020-06-30 15:04:16 +03:00
Shpuld Shpuldson
0ca3a6e63d fix gallery-videos being weirdly offset 2020-06-30 11:02:10 +03:00
Shpuld Shpludson
a290f53694 Merge branch 'develop' into 'feat/rich-text-preview'
# Conflicts:
#   src/i18n/en.json
2020-06-29 13:20:53 +00:00
Shpuld Shpuldson
a09709f71d update changelog with media-descriptions and the fixes 2020-06-29 15:37:46 +03:00
Shpuld Shpuldson
79011e02ef Merge branch 'develop' into xenofem/pleroma-fe-rebased-image-description-authoring 2020-06-29 15:19:41 +03:00
Shpuld Shpuldson
8c2335f84f conflict whem merging xenofem changes 2020-06-29 15:03:51 +03:00
Shpuld Shpuldson
96d2c86d3b change placeholders to use descriptions, use icons with placeholders, change uploads to use attachment component 2020-06-29 14:48:22 +03:00
lain
82944f862d Merge branch '812-subject-separation' into 'develop'
StatusContent: Better separate subject from status content.

Closes #812

See merge request pleroma/pleroma-fe!1150
2020-06-29 07:53:12 +00:00
Maksim Pechnikov
12519a54b5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-06-29 09:16:00 +03:00
xenofem
529d72c297 suppress enter key on media description input field 2020-06-28 16:05:22 -04:00
Shpuld Shpuldson
61f34ff361 remove panel-footer in userpanel, simplify preview header, fix word-wrap in preview 2020-06-28 16:40:39 +03:00
Shpuld Shpuldson
ed5b36f751 make line sizes match for errors/loading and statuses, make X hitbox bigger, remove attachments, add shorter custom message for empty status preview. fix auto update triggering 2020-06-28 15:43:08 +03:00
Shpuld Shpuldson
3c47036101 add automatic updating 2020-06-28 15:14:01 +03:00
lain
d0c9aef668 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1158
2020-06-28 12:00:23 +00:00
Shpuld Shpuldson
0287d5c07e update changelog with status previews 2020-06-28 13:29:07 +03:00
Shpuld Shpuldson
6e2de20367 show preview with plaintext too 2020-06-28 13:17:04 +03:00
Shpuld Shpuldson
cecf3d4f89 remove unnecessary type=button 2020-06-28 13:03:25 +03:00
Shpuld Shpuldson
9d6f233202 fix preview attachments getting wrong styles 2020-06-28 12:48:17 +03:00
Shpuld Shpuldson
3d5da3caf9 update styles in preview heading 2020-06-28 12:35:05 +03:00
Shpuld Shpuldson
223fabfe90 add rich text preview 2020-06-28 12:16:41 +03:00
xenofem
03aa1f3154 fix vue style warnings 2020-06-28 02:31:57 -04:00
Fristi
195e83d0c8 Translated using Weblate (Dutch)
Currently translated at 100.0% (626 of 626 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-06-28 06:24:57 +00:00
xenofem
1ff55e17b1 fix invalid end tag on input element 2020-06-28 02:16:58 -04:00
William Pitcock
2c6ec37e6a media description support 2020-06-28 02:10:06 -04:00
lain
391f796cb4 Merge branch 'feat/preload-data-from-html' into 'develop'
Add basic preloading for nodeinfo/config

See merge request pleroma/pleroma-fe!1155
2020-06-27 10:21:06 +00:00
Shpuld Shpuldson
46cf50a4d6 rename variable requestJson when it's not actually json 2020-06-27 12:59:24 +03:00
Shpuld Shpuldson
a8cb5e71d9 don't block ui with stickers or tos 2020-06-27 12:32:01 +03:00
Shpuld Shpuldson
5ab62c4cb8 make use of api/v1/instance 2020-06-27 12:26:19 +03:00
Shpuld Shpludson
4d52b8bf56 Merge branch 'remove-twitterapi-config' into 'develop'
Remove StatusNet config endpoint usage

See merge request pleroma/pleroma-fe!1084
2020-06-27 09:19:43 +00:00
Shpuld Shpuldson
58f9c1cc49 fix conflict in after_store 2020-06-27 12:10:02 +03:00
Shpuld Shpuldson
3113d904b9 update changelog with profile fields 2020-06-27 10:34:28 +03:00
Shpuld Shpludson
c658f57abb Merge branch 'iss-149/profile-fields-setting' into 'develop'
Profile fields setting

See merge request pleroma/pleroma-fe!997
2020-06-27 07:32:59 +00:00
Shpuld Shpludson
8150899a73 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1152
2020-06-27 07:21:32 +00:00
translate
4528b31256 Translated using Weblate (Italian)
Currently translated at 72.7% (452 of 621 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-27 07:21:32 +00:00
Shpuld Shpludson
ea0a12f604 Merge branch 'develop' into 'iss-149/profile-fields-setting'
# Conflicts:
#   src/components/settings_modal/tabs/profile_tab.vue
2020-06-27 07:19:49 +00:00
Mark Felder
2eda3d687e Sync up key names properly 2020-06-26 17:02:17 -05:00
Mark Felder
6606b57f44 Update english i18n 2020-06-26 16:59:22 -05:00
Mark Felder
caf9a2a8f6 Revert i18n to develop 2020-06-26 16:56:57 -05:00
Mark Felder
5321415641 Update notification filters to reflect new settings 2020-06-26 16:56:31 -05:00
Shpuld Shpuldson
8c3106c588 Change the show/hide strings about, remove subjected status toggle when 'collapse' option not used 2020-06-26 18:20:32 +03:00
Shpuld Shpuldson
a2c5175d14 add basic preloading for nodeinfo/config 2020-06-26 14:47:02 +03:00
Shpuld Shpuldson
44edb730c1 rip restyle subject, fix some issues with long subject 2020-06-26 14:07:39 +03:00
Mark Felder
8e1e7144fd Change notification settings keys to new names, remove the defunct non_follows key. 2020-06-25 15:34:48 -05:00
Mark Felder
199fc9351d Merge branch 'develop' into refactor/notification_settings 2020-06-25 15:28:17 -05:00
lain
504d48fc5a After Store: Remove last statusnet vestiges. 2020-06-24 17:54:35 +02:00
lain
143da55c56 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into remove-twitterapi-config 2020-06-24 17:50:05 +02:00
lain
bbb91d8ae3 Merge branch 'feature/bot-flag' into 'develop'
Add 'Bot' settings option and badge

Closes #832

See merge request pleroma/pleroma-fe!1153
2020-06-22 12:51:51 +00:00
Sergey Suprunenko
2b6d16900b
Use more correct class name for user badges 2020-06-21 15:36:20 +02:00
Sergey Suprunenko
c04f8b2ccb
Show a 'bot' badge on the service account page 2020-06-21 15:06:07 +02:00
Sergey Suprunenko
2451956d83
Add 'bot' flag to Profile settings 2020-06-21 14:59:05 +02:00
lain
1afa0f0044 Merge branch 'notification-unification-experiments' into 'develop'
Notification unification / WebPush i18n.

See merge request pleroma/pleroma-fe!1142
2020-06-19 13:34:04 +00:00
lain
ed908e0195 Changelog: Add info about push notifications. 2020-06-19 15:25:57 +02:00
lain
aa725010c5 ServiceWorker: Use clearer variable names 2020-06-19 15:24:06 +02:00
HJ
267102809d Merge branch 'fix-username-emoji' into 'develop'
fix huge emoji in usernames

See merge request pleroma/pleroma-fe!1151
2020-06-19 13:15:22 +00:00
Henry Jameson
5aa65e32ef fix huge emoji in usernames 2020-06-19 16:09:44 +03:00
kPherox
bad3dacfac
implement user suggestor for profile fields 2020-06-19 21:18:36 +09:00
kPherox
fd2157efe4
Fix emoji input error 2020-06-19 20:51:53 +09:00
lain
4da0a0c0bf StatusContent: Fix greentext. 2020-06-19 12:49:42 +02:00
lain
a79bad5cdb StatusContent: Better separate subject from status content. 2020-06-19 12:46:48 +02:00
Shpuld Shpludson
95f5c7fff6 Merge branch 'iss-149/profile-fields-display' into 'develop'
Display profile fields

See merge request pleroma/pleroma-fe!1004
2020-06-19 08:04:54 +00:00
Shpuld Shpuldson
c4340ad467 move favicon 2020-06-18 17:09:30 +03:00
Shpuld Shpuldson
8a9654b511 Merge branch 'develop' into features/favicons 2020-06-18 16:47:37 +03:00
Shpuld Shpuldson
6d2befa452 move favicon to name 2020-06-18 16:47:32 +03:00
Shpuld Shpludson
6343ee929c Merge branch '589-poll-options' into 'develop'
Polls: Construct an html field during normalization.

Closes #589

See merge request pleroma/pleroma-fe!1146
2020-06-18 13:33:00 +00:00
lain
b0b33be9dd Poll, StatusContent: Move emoji css to status body. 2020-06-18 14:41:40 +02:00
lain
2ea5bff3a7 Merge branch 'feat/tweak-autocomplete-search' into 'develop'
Autocomplete tweaks: remove search blocker, fix debounce params #869

See merge request pleroma/pleroma-fe!1149
2020-06-18 11:29:50 +00:00
Shpuld Shpuldson
4e0b4427a9 remove recentqueries thing 2020-06-18 14:19:21 +03:00
kPherox
eed58a7b97
fix width of long field value 2020-06-18 20:13:44 +09:00
kPherox
bb513dd961
change key-value to look like one 2020-06-18 20:08:00 +09:00
Shpuld Shpuldson
f1175b4e9b revert import style 2020-06-18 13:41:04 +03:00
Shpuld Shpuldson
fa7bcb74ce return the correct promise type from action 2020-06-18 13:00:09 +03:00
Shpuld Shpuldson
abbad84b00 update changelog 2020-06-18 12:56:22 +03:00
Shpuld Shpuldson
9c884fef11 remove search blocker, fix debounce params 2020-06-18 12:29:13 +03:00
Shpuld Shpludson
ebf4321e64 Merge branch 'fix/popovers-cutting-off-in-notifications' into 'develop'
Fix popovers cutting off in notifications #809

Closes #809

See merge request pleroma/pleroma-fe!1147
2020-06-18 06:08:07 +00:00
Maksim Pechnikov
08444c3903 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-06-18 08:47:50 +03:00
Shpuld Shpuldson
632f62ee0f resume the previous emoji size for now 2020-06-17 18:34:24 +03:00
Shpuld Shpuldson
580fcd3ad9 restyle the fields 2020-06-17 18:26:06 +03:00
Shpuld Shpuldson
f8cf92a01f Merge branch 'develop' into kPherox/pleroma-fe-iss-149/profile-fields-display 2020-06-17 11:23:32 +03:00
Shpuld Shpludson
24e47eb604 Update popover.js 2020-06-16 15:12:44 +00:00
Shpuld Shpludson
84a69f9502 Merge branch 'develop' into 'fix/popovers-cutting-off-in-notifications'
# Conflicts:
#   CHANGELOG.md
2020-06-16 14:51:12 +00:00
HJ
57626c125d Merge branch 'fix/disable-subject-when-posting' into 'develop'
disable subject field when posting #868

See merge request pleroma/pleroma-fe!1148
2020-06-16 14:43:48 +00:00
Shpuld Shpuldson
c18a8ab308 update changelog 2020-06-16 17:35:12 +03:00
Shpuld Shpuldson
fc6ca20a42 disable subject field when posting 2020-06-16 17:34:22 +03:00
Shpuld Shpuldson
5a8a428c15 remove log whoops 2020-06-16 17:30:56 +03:00
Shpuld Shpuldson
5cf1574fdb fix popovers cutting off in notifications, port popover changes from chats mr 2020-06-16 17:20:36 +03:00
lain
14540e2a07 Service Worker: Extract messages to own module. 2020-06-16 13:27:58 +02:00
lain
8427c5a067 Changelog: Add info about poll option emoji. 2020-06-15 09:59:39 +02:00
HJ
8a15900c81 Merge branch 'themes-fixes' into 'develop'
Several small fixes

Closes #866 and #864

See merge request pleroma/pleroma-fe!1145
2020-06-14 13:38:24 +00:00
Henry Jameson
c0a4752bd5 changelog 2020-06-14 16:14:32 +03:00
lain
72ee51c85c Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js 2020-06-14 13:09:14 +00:00
lain
d41c9a717c Polls: Construct an html field during normalization. 2020-06-14 13:16:08 +02:00
Henry Jameson
ac270d7060 fix #866 2020-06-13 14:42:53 +03:00
Henry Jameson
8cd5041663 add support for defining the greentext 2020-06-13 13:25:56 +03:00
Henry Jameson
e4b18deece fix redmond themes 2020-06-13 13:16:53 +03:00
Henry Jameson
c13d5b4f1b Fix faint links in notifications 2020-06-13 13:09:55 +03:00
lain
1e57adf6d4 Linting + docs 2020-06-13 11:53:16 +02:00
lain
9bfb3754c1 ServiceWorker: Use loader to only notification messages.
This keeps the translation size very small and makes it easy to
integrate all the languages, as dynamically loading them isn't
easy in the service worker.
2020-06-13 11:48:02 +02:00
lain
7de56a8063 Merge branch 'chore/improve-default-tos' into 'develop'
update terms of service instructions

See merge request pleroma/pleroma-fe!986
2020-06-12 14:26:40 +00:00
lain
fd109fa355 Merge branch 'develop' into 'chore/improve-default-tos'
# Conflicts:
#   static/terms-of-service.html
2020-06-12 14:17:56 +00:00
lain
33c1adbef4 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into notification-unification-experiments 2020-06-12 12:58:01 +02:00
Shpuld Shpludson
48365819d1 Merge branch 'depatchou' into 'develop'
Remove pizza

See merge request pleroma/pleroma-fe!1143
2020-06-11 17:48:15 +00:00
lain
17b6396333 Update lockfile 2020-06-11 19:11:56 +02:00
lain
0c36486299 API: Remove fetch polyfill
All browser except IE have supported this for longer than
Pleroma even exists.
2020-06-11 18:49:39 +02:00
lain
178ff1672d PersistedState: Replace object-path with lodash function
We were loading that one anyway.
2020-06-11 18:44:45 +02:00
lain
8d7d4980b9 StatusParser: Remove unused removeAttachmentLinks.
Brings down the vendor by over 200kb
2020-06-11 18:39:19 +02:00
lain
dc7489fd8b Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1140
2020-06-11 14:00:24 +00:00
lain
98819ae32c NotificationUtils: Add tag to notifications. 2020-06-11 15:49:39 +02:00
lain
e2ca107e01 ServiceWorker: Don't show message via sw if a client is active. 2020-06-11 15:26:52 +02:00
lain
5b0190bef5 ServiceWorker: Grab the notification and display it with i18n. 2020-06-11 15:22:58 +02:00
lain
a52a393266 NotificationUtils: Extract preparation of notification object. 2020-06-11 15:22:31 +02:00
Ben Is
c59c0ec4be Translated using Weblate (Italian)
Currently translated at 72.6% (451 of 621 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-11 12:48:44 +00:00
lain
4acac3c38c Merge branch 'fix/attachment-sizing-cover-fix' into 'develop'
Fix attachment cover/contain again

See merge request pleroma/pleroma-fe!1141
2020-06-11 12:48:38 +00:00
Shpuld Shpuldson
14348d8ddf fix the contain option 2020-06-11 14:27:36 +03:00
Shpuld Shpuldson
2b6a6fe7ea make object-fit cover work like it should 2020-06-11 13:44:32 +03:00
Shpuld Shpludson
4e3ce18703 Merge branch 'feature/autocomplete-domain-mutes' into 'develop'
Autocomplete domain mutes from list of known instances

Closes #824

See merge request pleroma/pleroma-fe!1103
2020-06-10 11:18:30 +00:00
lain
23b7424913 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1121
2020-06-10 11:13:29 +00:00
Ben Is
7b9fa32585 Translated using Weblate (Italian)
Currently translated at 68.5% (426 of 621 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-10 10:27:55 +00:00
hj
ff2cd3d672 Translated using Weblate (Russian)
Currently translated at 60.0% (373 of 621 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-06-10 10:27:55 +00:00
Shpuld Shpludson
02ba992476 Merge branch 'feat/drag-and-drop-improovements' into 'develop'
Add visual indication for drag&dropping files, make dropzone bigger

See merge request pleroma/pleroma-fe!1137
2020-06-10 10:27:48 +00:00
Shpuld Shpuldson
ea2b2a35bb add fade-in fade-out 2020-06-10 12:41:02 +03:00
Shpuld Shpuldson
855b8d4dad fix conflict 2020-06-10 11:52:46 +03:00
Shpuld Shpuldson
d3187720c5 remove useless captures 2020-06-10 11:49:04 +03:00
Shpuld Shpuldson
1308fdd3bc update changelog 2020-06-10 11:29:28 +03:00
lain
4f66221adc Merge branch 'half-a-ctrl-press' into 'develop'
Attempt to fix that elusive bug with post being sent on copypaste

See merge request pleroma/pleroma-fe!1138
2020-06-10 08:27:01 +00:00
Henry Jameson
cad42eec2a changelog 2020-06-10 11:20:40 +03:00
Henry Jameson
3cfdfec72d attempt to fix that one bug with submitting on copy-pasting 2020-06-10 11:18:07 +03:00
Shpuld Shpuldson
cd9d732afa add better visual indication for dropping files, make dropzone bigger 2020-06-10 11:01:38 +03:00
kPherox
cc4691a4ef
Fix merging array field for users 2020-06-10 03:48:49 +09:00
kPherox
de9cc033df
Add i18n en 2020-06-10 03:48:41 +09:00
kPherox
54fdc22001
Add profile fields form 2020-06-10 03:37:58 +09:00
HJ
aa125072b3 Merge branch 'async-language-loading' into 'develop'
Messages: Load languages asynchronously.

See merge request pleroma/pleroma-fe!1136
2020-06-09 09:31:33 +00:00
lain
44db3af0db Messages: DRY things up a bit. 2020-06-09 09:27:57 +02:00
Shpuld Shpludson
951f25707a Merge branch '572-multiple-file-drag-and-drop' into 'develop'
MediaUpload: Allow drag-and-drop of multiple files at once

Closes #572

See merge request pleroma/pleroma-fe!1135
2020-06-08 17:31:40 +00:00
lain
d8211392c4 Apply suggestion to CHANGELOG.md 2020-06-08 17:24:08 +00:00
lain
d5ec269d88 Update changelog. 2020-06-08 19:14:13 +02:00
lain
fbc4889ece Linting. 2020-06-08 18:26:16 +02:00
lain
e45f7fe877 MediaUpload: Correctly handle multiple uploads. 2020-06-08 18:22:17 +02:00
lain
99eaec8547 Messages: Load languages asynchronously.
Reduces the size of the initial app bundle by about half.
2020-06-08 17:22:07 +02:00
lain
e6a27bcaca MediaUpload: Allow drag-and-drop of multiple files at once 2020-06-08 13:30:16 +02:00
Sergey Suprunenko
1007039478
Autocomplete domain mutes from list of known instances 2020-06-08 13:17:18 +02:00
HJ
acbef1ebdc Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Weblate pleroma pleroma fe

See merge request pleroma/pleroma-fe!1134
2020-06-07 15:21:05 +00:00
Henry Jameson
1e554ee287 indent 2 2020-06-07 18:19:34 +03:00
HJ
66b4121dad Merge branch 'fix-cropped-button-shadow' into 'develop'
Fix the cropped button shadow in 2FA settings

See merge request pleroma/pleroma-fe!1133
2020-06-07 13:52:52 +00:00
HJ
a5de8db579 Merge branch 'settings-modal' into 'develop'
Settings modal

See merge request pleroma/pleroma-fe!1118
2020-06-06 21:24:47 +00:00
Henry Jameson
68482fd3a6 move helpers out of tabs directory 2020-06-07 00:15:10 +03:00
Henry Jameson
9e3e6b0c69 Merge remote-tracking branch 'origin/develop' into settings-modal
* origin/develop: (22 commits)
  changelog
  alignment fixes
  Update CHANGELOG.md
  StillImage: Make it work properly in both firefox and chrome.
  ReactButton: Change the combined emoji (heart) to a simple one.
  Linting fixes.
  Settings: Keep a local version of the mutedWordsString
  MediaModal: Close on browser navigation events.
  StatusContent: Try to get hashtag from dataset first.
  Docs: Change wrong documentation.
  EntityNormalizerSpec: More fixes.
  EntityNormalizerSpec: Test new behavior.
  EntityNormalizer: Add colons to emoji alt text.
  fixed case in class name
  The sidebarRight option wasn't being read
  Use consistent naming for Pleroma-FE in README
  Remove mention of GNU Social
  lint
  multiple fixes
  fix non-mention notifs
  ...
2020-06-07 00:10:21 +03:00
Karol Kosek
03952832b4
Fix the cropped button shadow in 2FA settings 2020-06-06 22:43:56 +02:00
HJ
e47d0f2103 Merge branch 'fix-reprooted-muted-posts' into 'develop'
Fixed some issues with muting

See merge request pleroma/pleroma-fe!1120
2020-06-06 20:31:43 +00:00
Henry Jameson
7d695fc8f2 changelog 2020-06-06 23:22:58 +03:00
Henry Jameson
ebf2ce84fd alignment fixes 2020-06-06 23:08:52 +03:00
Ben Is
8b43893c47 Translated using Weblate (Italian)
Currently translated at 65.7% (403 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-05 16:13:45 +00:00
Evert Prants
419fdd58a5 Translated using Weblate (Estonian)
Currently translated at 61.5% (377 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/et/
2020-06-05 16:13:45 +00:00
Anonymous
1c4be95384 Translated using Weblate (French)
Currently translated at 99.8% (612 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2020-06-05 16:13:45 +00:00
Haelwenn (lanodan) Monnier
49d0a05644 Translated using Weblate (French)
Currently translated at 99.8% (612 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2020-06-05 16:13:45 +00:00
Evert Prants
f5c4d7d989 Translated using Weblate (Estonian)
Currently translated at 54.3% (333 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/et/
2020-06-05 16:13:45 +00:00
Fristi
790825257f Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-06-05 16:13:45 +00:00
Anonymous
654105d5c1 Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-06-05 16:13:45 +00:00
Ben Is
a0d935649b Translated using Weblate (Italian)
Currently translated at 65.0% (399 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-05 16:13:45 +00:00
Ben Is
e1475d7f57 Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/en/
2020-06-05 16:13:45 +00:00
Ben Is
5048f203a3 Translated using Weblate (Italian)
Currently translated at 64.1% (393 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-05 16:13:45 +00:00
Chuculate
18997c2d07 Translated using Weblate (Spanish)
Currently translated at 84.3% (517 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2020-06-05 16:13:45 +00:00
Ben Is
e0e1fe5e20 Translated using Weblate (Italian)
Currently translated at 51.8% (318 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-06-05 16:13:45 +00:00
lain
0a3069aec0 Update CHANGELOG.md 2020-06-05 16:13:41 +00:00
Shpuld Shpludson
f6d5922e65 Merge branch '851-fix-squishy-images' into 'develop'
StillImage: Make it work properly in both firefox and chrome.

Closes #851

See merge request pleroma/pleroma-fe!1132
2020-06-05 16:06:19 +00:00
lain
2aabd8ed1a StillImage: Make it work properly in both firefox and chrome. 2020-06-05 17:55:19 +02:00
Shpuld Shpludson
63f237d736 Merge branch '848-change-emoji-reaction-defaults' into 'develop'
ReactButton: Change the combined emoji (heart) to a simple one.

Closes #848

See merge request pleroma/pleroma-fe!1131
2020-06-05 15:36:15 +00:00
lain
ba4c189c53 ReactButton: Change the combined emoji (heart) to a simple one. 2020-06-05 17:26:13 +02:00
HJ
0bf2b372d0 Merge branch '790-unable-to-filter' into 'develop'
Settings: Keep a local version of the mutedWordsString

Closes #790

See merge request pleroma/pleroma-fe!1130
2020-06-05 12:03:46 +00:00
lain
c4c5568b98 Linting fixes. 2020-06-05 13:51:47 +02:00
lain
282e10e3be Settings: Keep a local version of the mutedWordsString
Without this it was impossible to use newlines
2020-06-05 13:42:39 +02:00
HJ
585bb5727a Merge branch '593-doc-change' into 'develop'
Docs: Change wrong documentation.

Closes #593

See merge request pleroma/pleroma-fe!1127
2020-06-04 16:07:13 +00:00
HJ
c678756eba Merge branch '748-hashtag-link-fixes' into 'develop'
StatusContent: Try to get hashtag from dataset first.

Closes #748

See merge request pleroma/pleroma-fe!1128
2020-06-04 16:06:33 +00:00
HJ
a6f73d7da5 Merge branch '788-hide-media-viewer-on-navigation' into 'develop'
MediaModal: Close on browser navigation events.

Closes #788

See merge request pleroma/pleroma-fe!1129
2020-06-04 16:00:53 +00:00
HJ
7f755878d5 Merge branch '802-emoji-alt' into 'develop'
EntityNormalizer: Add colons to emoji alt text.

Closes #802

See merge request pleroma/pleroma-fe!1126
2020-06-04 15:59:29 +00:00
lain
cb99dc2b27 MediaModal: Close on browser navigation events. 2020-06-04 16:30:28 +02:00
lain
d872d55832 StatusContent: Try to get hashtag from dataset first. 2020-06-04 15:50:44 +02:00
lain
c0497b6f1f Docs: Change wrong documentation. 2020-06-04 15:34:29 +02:00
lain
05167f202f EntityNormalizerSpec: More fixes. 2020-06-04 15:31:52 +02:00
lain
c2dfe1f6cc EntityNormalizerSpec: Test new behavior. 2020-06-04 15:25:00 +02:00
lain
f197a2aa39 EntityNormalizer: Add colons to emoji alt text.
This makes it possible to copy them and still have them work.
2020-06-04 15:12:03 +02:00
lain
5ac2c365a7 Merge branch 'update-readme' into 'develop'
Update readme

See merge request pleroma/pleroma-fe!1123
2020-06-02 14:42:10 +00:00
Henry Jameson
de3a376beb fixed case in class name 2020-06-02 01:16:10 +03:00
Henry Jameson
4fae2f8ea8 track if settings modal has been opened once 2020-06-02 01:10:52 +03:00
Henry Jameson
94436c1f85 fixed tab not hiding 2020-05-29 13:39:30 +03:00
Henry Jameson
9a20a90932 fixed the remaining issues 2020-05-28 21:28:01 +03:00
HJ
f288178b67 Merge branch 'fix/sidebarRight_option' into 'develop'
The sidebarRight option wasn't being read

Closes #858

See merge request pleroma/pleroma-fe!1125
2020-05-28 17:36:05 +00:00
Mark Felder
5f41ee8864 The sidebarRight option wasn't being read 2020-05-28 12:28:32 -05:00
Mark Felder
b8350423d9 Updated Notification Settings API use 2020-05-28 10:57:02 -05:00
Francis Dinh
3111fc5dbc Use consistent naming for Pleroma-FE in README 2020-05-28 05:14:11 -04:00
Francis Dinh
6ecd1dd15b Remove mention of GNU Social
Pleroma-FE has not supported GNU Social for a while now. Plus the
wiki page for setting it up has been deleted.
2020-05-28 05:14:01 -04:00
Henry Jameson
5ffcddd3b9 fixes. sorry for bad commit message i'm tired 2020-05-27 03:32:57 +03:00
Henry Jameson
3938ccb8e7 lint 2020-05-27 00:02:36 +03:00
Henry Jameson
a8e013bd65 Move modal frame parts away from modal-content into modal, improve error handling 2020-05-26 23:58:55 +03:00
Henry Jameson
5187b37aca moved multiChoiceProperties where it fits better 2020-05-26 22:50:37 +03:00
Henry Jameson
1f205b87ac lint 2020-05-26 01:06:34 +03:00
Henry Jameson
9d09e4090f multiple fixes 2020-05-26 01:01:25 +03:00
Henry Jameson
83e5ee5494 fix non-mention notifs 2020-05-26 00:22:15 +03:00
Henry Jameson
b5c1d074f8 fix reprööted posts not being muted properly. fix muted posts making
desktop notifications
2020-05-25 23:38:31 +03:00
Henry Jameson
a14635f4f2 oops 2020-05-25 19:57:32 +03:00
Henry Jameson
dc8f78e84d fix for a previous fix 2020-05-25 17:22:57 +03:00
Henry Jameson
101f657d36 improve big spinner visibility 2020-05-25 17:21:05 +03:00
Henry Jameson
ccdbba2348 Change flex for tab switcher lines to always have some small space reserved 2020-05-25 17:18:57 +03:00
Henry Jameson
c0fe39af7a increase gap between buttons in titlebars 2020-05-25 17:15:02 +03:00
Henry Jameson
0eea5c6b80 fix icon changing color 2020-05-25 17:11:30 +03:00
Henry Jameson
500511b415 fix sidebar not closing in mobile 2020-05-25 17:05:30 +03:00
Henry Jameson
534e1fef88 lint 2020-05-25 16:56:32 +03:00
Henry Jameson
5d1b539da2 lint 2020-05-25 16:48:23 +03:00
Henry Jameson
097216c49e remove timeout, was meant for testing 2020-05-25 16:32:32 +03:00
Henry Jameson
bb418bf155 fix tests. user-profile didn't have tab-switcher compnent imported!! 2020-05-25 16:23:14 +03:00
Henry Jameson
0286e1024c fix cursor on desktop, add modal link on mobile 2020-05-25 16:16:30 +03:00
Henry Jameson
7951192cd9 Improve settings-modal async loading, update vue to 2.6.11 to be able
to use Vue.observable, to implmement resettable async component
2020-05-25 16:11:05 +03:00
Henry Jameson
a6ca923a76 icons update 2020-05-25 16:10:43 +03:00
Henry Jameson
79c03984bc scroll to top when switching tabs 2020-05-25 14:16:03 +03:00
Henry Jameson
6a4ad1fe62 added "settings saved" notice back 2020-05-25 14:04:36 +03:00
HJ
cf3fbdd610 Merge branch 'fix/favorites-timeline-unsupported-with-muted' into 'develop'
Removed `with_muted` param usage for user favorites timeline endpoint

See merge request pleroma/pleroma-fe!1119
2020-05-25 10:48:45 +00:00
Ivan Tashkinov
5235e7ea1e Removed with_muted param usage for user favorites timeline endpoint (it only supports pagination params). 2020-05-25 08:48:44 +03:00
Henry Jameson
e7ba4255bb eslint --fix + small fix 2020-05-25 03:43:55 +03:00
Henry Jameson
bcea2e4d12 cleanup 2020-05-25 03:30:14 +03:00
Henry Jameson
138ec85003 Merge remote-tracking branch 'origin/develop' into settings-modal
* origin/develop: (95 commits)
  Translated using Weblate (Italian)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Russian)
  Translated using Weblate (Polish)
  Translated using Weblate (Dutch)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  Translated using Weblate (German)
  ...
2020-05-25 03:29:48 +03:00
Henry Jameson
1e606d2f26 split modal's content into another component, add lazy loading 2020-05-25 03:14:41 +03:00
Henry Jameson
a872c53472 misc fixes 2020-05-24 02:29:09 +03:00
Henry Jameson
ab74cd4972 Multiple fixes for CSS, added proper auth checking 2020-05-24 02:06:55 +03:00
HJ
1ae8935977 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1115
2020-05-22 14:52:31 +00:00
Ben Is
306ed13087 Translated using Weblate (Italian)
Currently translated at 42.2% (259 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-20 17:26:11 +00:00
Master Sparker
e300f08e09 Translated using Weblate (Chinese (Simplified))
Currently translated at 92.0% (564 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2020-05-20 17:26:11 +00:00
rinpatch
866fe78bba Translated using Weblate (Russian)
Currently translated at 61.1% (375 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-20 17:26:11 +00:00
Jędrzej Tomaszewski
0a2aeb5d1a Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-05-20 17:26:11 +00:00
Fristi
b4f8d91905 Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-20 17:26:11 +00:00
Anonymous
7f9eb23759 Translated using Weblate (German)
Currently translated at 75.2% (461 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
1478ff7fc7 Translated using Weblate (German)
Currently translated at 75.2% (461 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
91da315af9 Translated using Weblate (German)
Currently translated at 74.0% (454 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
9ede7db8df Translated using Weblate (German)
Currently translated at 74.0% (454 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
3e260661d0 Translated using Weblate (German)
Currently translated at 73.0% (448 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
53b2ae0f73 Translated using Weblate (German)
Currently translated at 73.0% (448 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
c8cf939cdd Translated using Weblate (German)
Currently translated at 71.4% (438 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
9202eeef4b Translated using Weblate (German)
Currently translated at 71.4% (438 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
495b3d819c Translated using Weblate (German)
Currently translated at 71.2% (437 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
c1834b3156 Translated using Weblate (German)
Currently translated at 71.2% (437 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
7bd0f1a5f1 Translated using Weblate (German)
Currently translated at 70.3% (431 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
f141fa2a66 Translated using Weblate (German)
Currently translated at 70.3% (431 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
e7fd793438 Translated using Weblate (German)
Currently translated at 69.0% (423 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
9e43a83c48 Translated using Weblate (German)
Currently translated at 69.0% (423 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
1179a6687a Translated using Weblate (German)
Currently translated at 68.8% (422 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
f91bb4dc7c Translated using Weblate (German)
Currently translated at 68.8% (422 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
f22d3c18cf Translated using Weblate (German)
Currently translated at 68.6% (421 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
14ac5a5fdb Translated using Weblate (German)
Currently translated at 68.6% (421 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
9374002de0 Translated using Weblate (German)
Currently translated at 68.5% (420 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
ab4790034b Translated using Weblate (German)
Currently translated at 68.5% (420 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Toromino
9e306efe2e Translated using Weblate (German)
Currently translated at 68.3% (419 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Anonymous
b994bde3e2 Translated using Weblate (German)
Currently translated at 68.3% (419 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-20 17:26:11 +00:00
Ben Is
00b4b1f4f6 Translated using Weblate (Italian)
Currently translated at 40.6% (249 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-20 17:26:11 +00:00
Fristi
a62d504fab Translated using Weblate (Dutch)
Currently translated at 78.1% (479 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-20 17:26:11 +00:00
Ben Is
7f7919bf6f Translated using Weblate (Italian)
Currently translated at 36.2% (222 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-20 17:26:11 +00:00
Fristi
3cd6bc9cfb Translated using Weblate (Dutch)
Currently translated at 77.9% (478 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-20 17:26:11 +00:00
feld
24901ed98f Merge branch 'chore/update-docs' into 'develop'
Document the sidebarRight feature

See merge request pleroma/pleroma-fe!1117
2020-05-20 17:26:04 +00:00
Mark Felder
4aaa3f87d8 Document the sidebarRight feature 2020-05-20 12:16:43 -05:00
Shpuld Shpludson
a8e9c05f09 Merge branch 'feat/sidebar-alignment' into 'develop'
[#765] Permit sidebar alignment with instance configuration option

See merge request pleroma/pleroma-fe!1106
2020-05-20 15:42:42 +00:00
Shpuld Shpludson
0b44a5b601 Merge branch 'fix/its-me-elements' into 'develop'
Show "it's you" label and hide follow btn for current user

Closes #839 and #827

See merge request pleroma/pleroma-fe!1111
2020-05-20 14:48:52 +00:00
Shpuld Shpludson
d53a4a754f Merge branch 'chore/remote-unused-option' into 'develop'
Remove unused noAttachmentLinks option

See merge request pleroma/pleroma-fe!1109
2020-05-20 14:42:29 +00:00
lain
bc9ed36424 Merge branch 'feat/add-embed-relationships' into 'develop'
Add `with_relationships` query param

Closes #838

See merge request pleroma/pleroma-fe!1107
2020-05-17 07:27:07 +00:00
Mark Felder
2135dc8510 Merge branch 'develop' into feat/sidebar-alignment 2020-05-15 12:26:38 -05:00
rinpatch
671ecfb152 Merge branch 'resolve-weblate-merge-conflicts' into 'develop'
Resolve weblate merge conflicts

See merge request pleroma/pleroma-fe!1114
2020-05-15 05:02:47 +00:00
rinpatch
ca52a7321d Merge remote-tracking branch 'weblate/develop' into resolve-weblate-merge-conflicts 2020-05-14 22:53:08 +03:00
Anonymous
8db7cba9e1 Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/en/
2020-05-14 18:13:04 +00:00
Ben Is
7a0f27f3b0 Translated using Weblate (Italian)
Currently translated at 35.0% (215 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-14 18:13:03 +00:00
Fristi
9c62b90212 Translated using Weblate (Dutch)
Currently translated at 77.8% (477 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-14 18:13:00 +00:00
HJ
2eea36f623 Merge branch 'i18n/update-delete-description' into 'develop'
Clarify that we only delete data, not the account

See merge request pleroma/pleroma-fe!1102
2020-05-14 18:12:53 +00:00
Mark Felder
840c6f40b6 Merge branch 'develop' into chore/remote-unused-option 2020-05-14 12:22:28 -05:00
Fristi
f2bcaec8dc Translated using Weblate (Dutch)
Currently translated at 77.8% (477 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-14 16:48:25 +00:00
Fristi
9d2935e72f Translated using Weblate (Dutch)
Currently translated at 77.6% (476 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nl/
2020-05-14 11:06:22 +00:00
Sergey Suprunenko
db8dd1223c
Make a condition clear and unambiguous 2020-05-14 09:27:58 +02:00
Sergey Suprunenko
e50857d0ff
Show "it's you" label and hide follow btn for current user 2020-05-14 09:25:07 +02:00
HJ
dbf9285ed7 Merge branch 'chore/update-config-docs' into 'develop'
Update settings documentation and sample static/config.json

See merge request pleroma/pleroma-fe!1110
2020-05-13 22:31:48 +00:00
Mark Felder
229bf79d90 name setting should be with apiConfig section 2020-05-13 17:20:35 -05:00
Mark Felder
79c53b849e registrationOpen is not an FE setting 2020-05-13 16:46:58 -05:00
Mark Felder
03318b64aa Really alpha sort this 2020-05-13 15:48:21 -05:00
Mark Felder
17b65e06be Merge branch 'develop' into chore/update-config-docs 2020-05-13 15:43:26 -05:00
Mark Felder
e80fa3ff6d Split apiConfig options from static/config.json options;
Move safeDM to nasty section, alpha sort things
2020-05-13 15:40:13 -05:00
Mark Felder
d91f5189ef Config setting is actually called disableChat 2020-05-13 15:33:01 -05:00
Shpuld Shpludson
cc9dd28e6b Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1108
2020-05-13 20:32:10 +00:00
Mark Felder
0ebf1bebb4 SafeDM is enabled by default and won't take effect if BE not enabled anyway. 2020-05-13 15:32:02 -05:00
Mark Felder
55fe6e4703 Alpha sort indirect section 2020-05-13 15:30:54 -05:00
Mark Felder
cad40133d2 Alpha sort docs, add missing options 2020-05-13 15:29:38 -05:00
rinpatch
346f3a285a Translated using Weblate (Russian)
Currently translated at 61.0% (374 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-13 20:08:00 +00:00
Ben Is
1f53f0a844 Translated using Weblate (Italian)
Currently translated at 28.3% (174 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-13 20:07:59 +00:00
Shpuld Shpuldson
fc12f44f7a Translated using Weblate (Finnish)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fi/
2020-05-13 20:07:58 +00:00
Mark Felder
0ef5965b3b Add missing settings: disableChat, greentext, hideFilteredStatuses, hideMutedPosts, hidePostStats, hideSitename 2020-05-13 14:52:48 -05:00
Mark Felder
1db2fc3f41 alpha sort 2020-05-13 14:52:21 -05:00
Mark Felder
62e0fda597 loginMethod was missing 2020-05-13 14:46:31 -05:00
Mark Felder
a4a25105ba Separate the user configurable section 2020-05-13 14:43:36 -05:00
Mark Felder
98d332793c alpha sort 2020-05-13 14:40:46 -05:00
Mark Felder
eea6d772ad Also remove from docs 2020-05-13 14:31:00 -05:00
Mark Felder
c2bba3f5ad Remove unused noAttachmentLinks option 2020-05-13 14:28:35 -05:00
Michał Sidor
bc215d70f5 Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2020-05-13 18:41:14 +00:00
rinpatch
8ac78e92f8 Translated using Weblate (Russian)
Currently translated at 59.3% (364 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-13 18:41:13 +00:00
Ben Is
21ecca4c62 Translated using Weblate (Italian)
Currently translated at 28.3% (174 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-13 18:41:11 +00:00
Toro Mino
a26731de30 Translated using Weblate (German)
Currently translated at 66.7% (409 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/de/
2020-05-13 18:41:10 +00:00
Shpuld Shpuldson
c360a23845 Translated using Weblate (Finnish)
Currently translated at 78.7% (483 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fi/
2020-05-13 18:41:07 +00:00
Anonymous
433d64827d Translated using Weblate (Italian)
Currently translated at 27.5% (169 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2020-05-13 17:41:40 +00:00
rinpatch
625d9b7320 Translated using Weblate (Russian)
Currently translated at 54.4% (334 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-13 17:17:13 +00:00
hj
1a944efa33 Translated using Weblate (Russian)
Currently translated at 54.4% (334 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-13 17:17:12 +00:00
Alibek Omarov
fa403bbcbd Translated using Weblate (Russian)
Currently translated at 54.4% (334 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-13 17:17:11 +00:00
Shpuld Shpuldson
9c7cb3a954 remove search1 with_relationships 2020-05-13 18:04:30 +03:00
Shpuld Shpuldson
355281081a don't send undefined 2020-05-13 17:53:43 +03:00
Shpuld Shpuldson
8e39971098 add with_relationships where necessary 2020-05-13 17:48:31 +03:00
Mark Felder
bc5005b3dd Permit sidebar alignment with instance configuration option 2020-05-12 13:59:52 -05:00
Egor
26bcfea727 Translated using Weblate (Russian)
Currently translated at 53.8% (330 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2020-05-12 15:52:53 +00:00
Haelwenn (lanodan) Monnier
c412856716 Translated using Weblate (French)
Currently translated at 97.3% (597 of 613 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: http://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2020-05-12 08:31:01 +00:00
Henry Jameson
bcebec478e moved stuff from settings, cleaned up naming for tabs, added close and peek 2020-05-10 06:46:06 +03:00
Mark Felder
9180fdb492 Clarify that we only delete data, not the account 2020-05-08 15:56:53 -05:00
Shpuld Shpuldson
7a0e554daf update changelog 2020-05-08 13:25:18 +03:00
Shpuld Shpludson
47c56ffa1c Merge branch 'feat/relationship-refactor' into 'develop'
Refactor: make relationships separate from users

Closes #819

See merge request pleroma/pleroma-fe!1091
2020-05-08 09:14:26 +00:00
Shpuld Shpludson
1186205583 Merge branch 'develop' into 'feat/relationship-refactor'
# Conflicts:
#   src/components/notification/notification.js
2020-05-08 08:35:30 +00:00
Shpuld Shpludson
921eedfd84 Merge branch 'feat/status-content-separation' into 'develop'
Refactor: Separate status content from status

See merge request pleroma/pleroma-fe!1092
2020-05-08 08:33:55 +00:00
Shpuld Shpludson
ec7bee6bd6 Merge branch 'feature/copy-link' into 'develop'
Copy status link to clipboard

See merge request pleroma/pleroma-fe!1085
2020-05-08 08:33:20 +00:00
Shpuld Shpludson
f4676e17d3 Merge branch 'develop' into 'feature/copy-link'
# Conflicts:
#   static/fontello.json
2020-05-08 08:20:03 +00:00
Shpuld Shpuldson
ddc3b86d24 fix popover not closing on pressing the buttons 2020-05-08 10:46:00 +03:00
Mark Felder
41fc26869f Correctly resolve the URI of the server 2020-05-07 16:33:21 -05:00
Shpuld Shpuldson
93baa8b664 fix gap when not logged in 2020-05-08 00:10:49 +03:00
Shpuld Shpludson
f40de85b92 Merge branch 'fix/signup-without-email' into 'develop'
Permit signup without email

See merge request pleroma/pleroma-fe!1072
2020-05-07 21:04:59 +00:00
Shpuld Shpludson
2893834095 Merge branch 'feat/notification-privacy' into 'develop'
Add notification privacy option to user settings

See merge request pleroma/pleroma-fe!1100
2020-05-07 20:34:27 +00:00
Mark Felder
b3003d4e8d Add notification privacy option to user settings 2020-05-06 11:46:40 -05:00
Shpuld Shpuldson
f7f8a579fa make email validation conditional work 2020-05-04 12:56:39 +03:00
Shpuld Shpuldson
101eebb40b Merge branch 'develop' into fix/signup-without-email 2020-05-04 11:05:05 +03:00
Henry Jameson
2e35289c33 initial work on settings modal 2020-05-03 17:36:12 +03:00
Shpuld Shpludson
9b349b4019 Merge branch 'rc/2.0.3' into 'develop'
update MASTER for 2.0.3

See merge request pleroma/pleroma-fe!1098
2020-05-02 13:43:22 +00:00
Shpuld Shpludson
2618c1b702 Update CHANGELOG.md 2020-05-02 16:21:46 +03:00
Shpuld Shpuldson
b095d2e17e don't dismiss a rejected follow request on server 2020-05-02 16:21:46 +03:00
Shpuld Shpuldson
20b53d58b7 mark single notifs as seen properly on server 2020-05-02 16:21:46 +03:00
Shpuld Shpuldson
36dcfa8cc1 follow request bugfixes, wrong text, notifs not being marked as read, approving from follow request view 2020-05-02 16:21:46 +03:00
eugenijm
ab3c0e8512 Add support for follow request notifications 2020-05-02 16:21:46 +03:00
Shpuld Shpludson
4d1a674634 Update CHANGELOG.md 2020-05-02 16:21:46 +03:00
Shpuld Shpludson
372eb723db Update CHANGELOG.md 2020-05-02 16:21:46 +03:00
xenofem
fe4282f44b Prioritize custom emoji a lot and boost exact matches to the top 2020-05-02 16:21:46 +03:00
xenofem
aef03d53b2 Allow emoji suggestions based on a match anywhere in the emoji name, but improve sorting 2020-05-02 16:21:46 +03:00
xenofem
eae0bce320 Refactor status showing/hiding code for better handling of edge cases and easier comprehension 2020-05-02 16:21:46 +03:00
Karol Kosek
c4d1c2131c Fix user names with the RTL char in notifications 2020-05-02 16:21:46 +03:00
Egor Kislitsyn
0ba34eeca5 Fix pagination 2020-05-02 16:21:46 +03:00
Shpuld Shpludson
068abb4d26 Update CHANGELOG.md 2020-05-02 13:05:45 +00:00
Shpuld Shpludson
5f90b6a384 Merge branch 'fix/follow-request-notification-bugfixes' into 'develop'
Fix remaining follow request notif problems

Closes #823

See merge request pleroma/pleroma-fe!1096
2020-05-02 11:19:05 +00:00
Shpuld Shpuldson
92ccaa97bb don't dismiss a rejected follow request on server 2020-05-02 11:51:39 +03:00
Shpuld Shpuldson
75519223f9 mark single notifs as seen properly on server 2020-05-02 10:52:57 +03:00
Shpuld Shpuldson
406fdd8ede follow request bugfixes, wrong text, notifs not being marked as read, approving from follow request view 2020-05-02 10:19:47 +03:00
Shpuld Shpludson
c67e9daf06 Merge branch 'follow-request-notification' into 'develop'
Add support for follow request notifications

Closes #823 and #822

See merge request pleroma/pleroma-fe!1093
2020-05-01 20:24:25 +00:00
Shpuld Shpludson
af3e69743e Update CHANGELOG.md 2020-05-01 19:28:26 +00:00
Shpuld Shpludson
790b8555dc Merge branch 'fix/remove-with_move-param' into 'develop'
Remove with_move param

See merge request pleroma/pleroma-fe!1094
2020-05-01 14:41:00 +00:00
Shpuld Shpuldson
02c8a9e314 remove with_move param 2020-05-01 17:26:07 +03:00
eugenijm
01b07f01e9 Add support for follow request notifications 2020-04-30 09:58:55 +03:00
Shpuld Shpuldson
7a25160ddc Separate status content from status like in direct conversations mr 2020-04-27 12:53:04 +03:00
Shpuld Shpludson
dea7e2f6ac Update CHANGELOG.md 2020-04-27 08:09:31 +00:00
Shpuld Shpludson
fe16b6259e Merge branch 'feature-emoji-length-sorting' into 'develop'
Allow emoji suggestions based on a match anywhere in the emoji name, but improve sorting

Closes #135

See merge request pleroma/pleroma-fe!1061
2020-04-27 08:01:57 +00:00
Shpuld Shpludson
d32159d69d Merge branch 'fix/status-showing-hiding' into 'develop'
Refactor status showing/hiding code for better handling of edge cases and easier comprehension

Closes #779

See merge request pleroma/pleroma-fe!1073
2020-04-27 07:47:02 +00:00
Shpuld Shpuldson
8b1aa593a4 fix status mutes 2020-04-27 10:06:17 +03:00
Shpuld Shpuldson
af9492977a add back mute prediction, add getter for relationships 2020-04-24 18:53:17 +03:00
Shpuld Shpuldson
f6fce92cf7 last lint warning 2020-04-23 14:48:15 +03:00
Shpuld Shpuldson
c476193fd9 minor lint fixes 2020-04-23 14:44:55 +03:00
Shpuld Shpuldson
ca00e93b60 minor fixes 2020-04-23 14:27:27 +03:00
Shpuld Shpuldson
99d8e16e4d remove with_relationships as it doesn't help 2020-04-23 14:11:48 +03:00
Shpuld Shpuldson
ce0a1e7ad1 add back missing catch 2020-04-23 14:08:33 +03:00
Shpuld Shpuldson
cda298c822 remove unused mutation and test for it 2020-04-23 11:17:52 +03:00
Shpuld Shpuldson
aa56147322 fix follow 2020-04-22 15:06:10 +03:00
Shpuld Shpuldson
576ad9750b make tests not fail 2020-04-22 00:07:01 +03:00
Shpuld Shpuldson
4b7007bc7d fix mistakes 2020-04-21 23:56:48 +03:00
Shpuld Shpuldson
6bb75a3a6d make relationships separate from users 2020-04-21 23:27:51 +03:00
HJ
023dec1953 Merge branch 'notification-rtl' into 'develop'
Fix user names with the RTL char in notifications

See merge request pleroma/pleroma-fe!1090
2020-04-19 01:59:19 +00:00
Karol Kosek
2fbb94fe5c
Fix user names with the RTL char in notifications 2020-04-18 19:45:24 +02:00
Shpuld Shpludson
ac9985aedb Merge branch 'fix-pagination' into 'develop'
Fix pagination

See merge request pleroma/pleroma-fe!1089
2020-04-14 16:57:42 +00:00
Egor Kislitsyn
18fa338d43
Fix pagination 2020-04-13 15:26:55 +04:00
Shpuld Shpludson
8e049297ff Merge branch 'develop' into 'master'
Update master for 2.0.2

See merge request pleroma/pleroma-fe!1088
2020-04-08 13:12:42 +00:00
Shpuld Shpludson
32ab69fe0e Merge branch 'chore/2.0.1-changelog' into 'develop'
CHANGELOG.md: Add entries for upcoming 2.0.2 release

See merge request pleroma/pleroma-fe!1087
2020-04-08 13:03:15 +00:00
rinpatch
b4e8b4554a CHANGELOG.md: Add entries for upcoming 2.0.2 release 2020-04-08 00:04:53 +03:00
Shpuld Shpludson
01ba4a54bc Merge branch 'develop' into 'develop'
Update polish translation

See merge request pleroma/pleroma-fe!1077
2020-04-06 10:07:33 +00:00
Shpuld Shpludson
d5457c323a Merge branch 'fix/boosts-favs-private-instance' into 'develop'
Send credentials for favourited_by and reblogged_by API endpoints

Closes #795

See merge request pleroma/pleroma-fe!1086
2020-04-01 14:00:22 +00:00
Mark Felder
40005240eb Send credentials for favourited_by and reblogged_by API endpoints
This ensures the data is fetchable on private instances
2020-03-31 14:46:38 -05:00
Mark Felder
8c5946b728 Add button in 3dot menu to copy status link to clipboard 2020-03-30 12:39:28 -05:00
rinpatch
7dfa734665 after_store: Remove most of StatusNet config usage
Information under `pleromafe` key is equivalent to the one under
`pleroma_fe` key in  `/api/pleroma/frontend_configurations`.

All other information had equivalents in `/nodeinfo/2.0.json`, except
`textlimit` and `vapidPublicKey`.
2020-03-25 20:06:48 +03:00
Shpuld Shpludson
6e14fb292c Merge branch 'caskd-develop-patch-76396' into 'develop'
Prevent overflow for long usernames/domains

See merge request pleroma/pleroma-fe!1083
2020-03-14 20:03:11 +00:00
Alex
b9820b84a1 Prevent overflow for long usernames/domains 2020-03-14 19:41:38 +00:00
HJ
ed0b240e29 Merge branch 'fix/captcha-input' into 'develop'
Fix captcha input and disable ALL the helpers

Closes #778

See merge request pleroma/pleroma-fe!1071
2020-03-11 16:40:31 +00:00
Shpuld Shpludson
3845529412 Merge branch 'develop' into 'master'
update master with develop changes

See merge request pleroma/pleroma-fe!1082
2020-03-07 15:03:13 +00:00
HJ
2c3db2b6a2 Merge branch 'fix/themes-2.1-opacity-again' into 'develop'
fix several issues related to opacity

Closes #787 and #789

See merge request pleroma/pleroma-fe!1081
2020-03-07 14:33:19 +00:00
Henry Jameson
a485386a3b fix tests 2020-03-06 21:48:40 +02:00
Henry Jameson
550080bd82 fix last issue 2020-03-06 21:39:17 +02:00
Henry Jameson
7aa5bf0896 prioritize disabled opacity over transparent keyword 2020-03-06 21:20:42 +02:00
Henry Jameson
9f2c1b4008 fix several issues related to opacity 2020-03-06 21:17:24 +02:00
Shpuld Shpludson
83d8343777 Merge branch 'develop' into 'master'
Update master with 2.0.0

See merge request pleroma/pleroma-fe!1080
2020-03-04 15:42:37 +00:00
Shpuld Shpuldson
147364b80c mention status preview fix in changelog 2020-03-04 17:30:59 +02:00
Shpuld Shpludson
f58f294ee8 Merge branch 'fix/themes-2.1-transparency-pink' into 'develop'
fix trasparency problems in some cases (purple headers)

See merge request pleroma/pleroma-fe!1079
2020-03-04 06:20:28 +00:00
Henry Jameson
0702934f4f fix trasparency problems in some cases (purple headers) 2020-03-04 00:23:14 +02:00
HJ
dbcd8294e8 Merge branch 'fix/remove-spinner-on-failed-status-previews' into 'develop'
Fix: failed status previews spinning forever

See merge request pleroma/pleroma-fe!1078
2020-03-02 10:49:24 +00:00
Shpuld Shpuldson
ab4005add5 add status unavailable message when status can't be loaded in status preview 2020-03-02 08:35:57 +02:00
Jędrzej Tomaszewski
e4ded88796 Update polish translation 2020-03-01 17:32:22 +01:00
Haelwenn (lanodan) Monnier
88fbbb5e9b
status.vue: Add support for favicons
Put in replacement to the external icon when possible
2020-03-01 09:47:21 +01:00
Shpuld Shpludson
1b9805b550 Merge branch 'develop' into 'master'
Update master with 2.0.0

See merge request pleroma/pleroma-fe!1074
2020-02-28 20:27:02 +00:00
Shpuld Shpludson
57e72b48c1 Update CHANGELOG.md 2020-02-28 20:16:53 +00:00
Shpuld Shpludson
a2070fd781 Update CHANGELOG.md 2020-02-28 19:57:22 +00:00
Shpuld Shpludson
575b542db2 Merge branch 'feat/update-pleroma-themes' into 'develop'
update pleroma-dark and pleroma-light

See merge request pleroma/pleroma-fe!1070
2020-02-28 17:53:41 +00:00
Shpuld Shpludson
ee582855d2 Apply suggestion to src/modules/instance.js 2020-02-28 17:20:40 +00:00
Shpuld Shpludson
111c1ced67 Merge branch 'fix/popover-performance' into 'develop'
Fix/popover performance

See merge request pleroma/pleroma-fe!1066
2020-02-28 16:39:47 +00:00
Shpuld Shpludson
31225f5d14 Fix/popover performance 2020-02-28 16:39:47 +00:00
xenofem
7fa5eb07dd Refactor status showing/hiding code for better handling of edge cases and easier comprehension 2020-02-24 18:10:15 -05:00
Mark Felder
39e3917118 Remove unneccessary nested 2020-02-24 11:23:16 -06:00
Mark Felder
86561592d0 First attempt at not requiring email address for registration 2020-02-24 11:19:00 -06:00
Mark Felder
23e0ce59e6 Fix captcha input and disable ALL the helpers 2020-02-22 09:42:22 -06:00
Shpuld Shpuldson
5b7acca0ba make theme loading work with source-only presets 2020-02-22 10:57:08 +02:00
Shpuld Shpuldson
1fb91b1795 remove bloat from themes 2020-02-22 10:34:54 +02:00
Shpuld Shpuldson
b5c6b77ca8 update using variables 2020-02-22 10:03:16 +02:00
Shpuld Shpludson
8c454b9456 Apply suggestion to static/themes/pleroma-dark.json 2020-02-21 14:09:31 +00:00
Shpuld Shpludson
c9935362de Apply suggestion to static/themes/pleroma-dark.json 2020-02-21 14:09:29 +00:00
Shpuld Shpludson
19cc739598 Apply suggestion to static/themes/pleroma-dark.json 2020-02-21 14:09:25 +00:00
Shpuld Shpludson
e342dbcb10 Apply suggestion to static/themes/pleroma-dark.json 2020-02-21 14:09:21 +00:00
Shpuld Shpuldson
64a6ba219a make panel header highlight less harsh 2020-02-20 21:14:42 +02:00
Shpuld Shpuldson
8bb5d775b4 update pleroma-dark and pleroma-light 2020-02-20 20:47:24 +02:00
Henry Jameson
d19c64314f stop using customTheme in user card, instead use color slots. fix for opacity
inheritance polluting inheritors
2020-02-20 18:13:40 +02:00
Shpuld Shpludson
0abc3f9b85 Merge branch 'moderation-menu-fix' into 'develop'
Fix user deactivation, deletion, and role assignment in the moderation menu

See merge request pleroma/pleroma-fe!1063
2020-02-19 16:30:53 +00:00
kPherox
064b59812c
Change to use tags removed fields instead of raw fields 2020-02-19 21:00:50 +09:00
kPherox
da55b0d435
Add fields_text for tooltip 2020-02-19 20:57:58 +09:00
HJ
3ddf7ebe2c Merge branch 'themes-accent' into 'develop'
Themes v3 Part 1 "2.1" codenamed "One step for themes, a giant burder for code reviewers"

Closes #750 and #774

See merge request pleroma/pleroma-fe!1037
2020-02-18 21:20:43 +00:00
Henry Jameson
32902e01f8 fix changelog. kenomo didn't happen. 2020-02-18 00:30:10 +02:00
Henry Jameson
171f4c7ddb update headers in switcher to better separate the subsections 2020-02-18 00:01:48 +02:00
Henry Jameson
1e95a0795a paper theme, updated todo, lol 2020-02-17 23:59:52 +02:00
Henry Jameson
3b3a31b461 improve the display of disabled buttons 2020-02-17 23:43:56 +02:00
Henry Jameson
5c6046ea0a attempt to fix some bugs with shadows control 2020-02-17 23:43:35 +02:00
Henry Jameson
76323d6d9a fix #774 2020-02-17 22:38:24 +02:00
Henry Jameson
e36647e95e revert emoji reaction style 2020-02-17 22:28:14 +02:00
eugenijm
695d6b6c50 Fix user activation/deactivation, deletion, and role assignment in the moderation menu 2020-02-17 16:29:39 +03:00
Shpuld Shpludson
26e455bb4c Merge branch 'fix/no-mrf-transparency-crash' into 'develop'
after_store: Fix failing to parse nodeinfo when mrf transparency is disabled

Closes #772

See merge request pleroma/pleroma-fe!1064
2020-02-17 08:17:36 +00:00
HJ
12cd96bfa7 Merge branch 'fix-android-emoji-input' into 'develop'
Add onInput() function as listener for input events, remove unnecessary compositionupdate listener

Closes #775

See merge request pleroma/pleroma-fe!1065
2020-02-16 23:54:57 +00:00
xenofem
c1e38a4423 EmojiInput tests should be checking the input value on the last input event, not the first 2020-02-16 16:35:04 -05:00
xenofem
59dd7f1320 Add onInput() function as listener for input events, remove unnecessary compositionupdate listener 2020-02-16 14:58:43 -05:00
Henry Jameson
c43325acd7 fix pressed button in top bar 2020-02-13 21:39:14 +02:00
rinpatch
0dcc3bf2fe after_store: Fix failing to parse nodeinfo when mrf transparency is
disabled

Closes #772
2020-02-13 22:35:46 +03:00
Shpuld Shpludson
21f6120e9d Merge branch 'refactor/i18n-messages-for-mrf-policy-disclosure' into 'develop'
Refactor i18n messages for MRF policy disclosure

See merge request pleroma/pleroma-fe!1062
2020-02-13 09:43:56 +00:00
Hakaba Hitoyo
4aeba026e6 Refactor i18n messages for MRF policy disclosure 2020-02-13 09:43:56 +00:00
Shpuld Shpludson
f50068ef35 Merge branch 'improve-default-tos' into 'develop'
Improve default ToS

See merge request pleroma/pleroma-fe!1057
2020-02-13 09:41:31 +00:00
Hakaba Hitoyo
823a303f8a Improve default ToS 2020-02-13 09:41:31 +00:00
Maksim Pechnikov
e3d0b2f137 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-02-13 09:32:45 +03:00
Henry Jameson
ba3c278002 dismiss warning when selecting other themes, fix collapsed attachments link color 2020-02-12 01:26:01 +02:00
Henry Jameson
0fd78e99f5 properly clear theme 2020-02-12 01:19:48 +02:00
Henry Jameson
73dd7209dd fixed transparent + semi-transparent inheritance case 2020-02-12 01:12:36 +02:00
Henry Jameson
2274976c09 post-merge fix 2020-02-12 01:10:00 +02:00
HJ
84ebae8ed3 Merge branch 'develop' into 'themes-accent'
# Conflicts:
#   src/components/emoji_reactions/emoji_reactions.vue
2020-02-11 23:09:15 +00:00
Henry Jameson
60446c56a5 fix v2 breezy themes having messed up pressed buttons. updated v2.1 breezy
themes to have derived colors instead of fixed ones.
2020-02-12 00:46:48 +02:00
lain
96dc297bab Merge branch 'feat/emoji-reaction-fixes-improvements' into 'develop'
Emoji Reactions - fixes and improvements

See merge request pleroma/pleroma-fe!1051
2020-02-11 12:24:51 +00:00
Shpuld Shpludson
f6b482be51 Emoji Reactions - fixes and improvements 2020-02-11 12:24:51 +00:00
Henry Jameson
29133fb008 don't use cache for theme data 2020-02-11 10:42:15 +02:00
Henry Jameson
786a695eb6 Merge remote-tracking branch 'upstream/develop' into themes-accent
* upstream/develop:
  Fix one click nsfw unhide on videos
  Escape HTML from display name and subject fields
2020-02-11 10:03:34 +02:00
Henry Jameson
6f3ac707f7 fix and update changelog 2020-02-11 09:59:26 +02:00
Henry Jameson
43bddc79e0 fix/remove contrast ratios 2020-02-11 01:13:59 +02:00
Henry Jameson
e6f148b8a3 removed base16-related code 2020-02-11 00:59:07 +02:00
Henry Jameson
b4278ee517 fix warning stylings 2020-02-11 00:52:25 +02:00
Henry Jameson
38c34b8b51 fixed eslint, made mod work properly depending on context including in shadows 2020-02-11 00:34:30 +02:00
Maksim Pechnikov
a52ae1ebeb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-02-10 21:09:36 +03:00
Shpuld Shpludson
17b6d8ddb8 Merge branch 'move-type-notification' into 'develop'
Add setting for allow following move

Closes #732

See merge request pleroma/pleroma-fe!1054
2020-02-10 14:51:35 +00:00
Shpuld Shpludson
6be6241767 Merge branch 'feature-collapsed-media-indicator' into 'develop'
Indicate whether collapsed statuses contain gallery media or link preview cards

Closes #767

See merge request pleroma/pleroma-fe!1056
2020-02-10 14:50:42 +00:00
xenofem
02864bc07b Prioritize custom emoji a lot and boost exact matches to the top 2020-02-10 09:32:07 -05:00
Shpuld Shpludson
788ff531d6 Merge branch 'feature/mrf-keyword-policy-disclosure' into 'develop'
MRF Keyword Policy Disclosure

See merge request pleroma/pleroma-fe!1055
2020-02-10 08:04:58 +00:00
Hakaba Hitoyo
dafced3a86 MRF Keyword Policy Disclosure 2020-02-10 08:04:58 +00:00
xenofem
44dea9f364 Allow emoji suggestions based on a match anywhere in the emoji name, but improve sorting 2020-02-09 17:39:07 -05:00
xenofem
e36c39be19 Include non-gallery attachments and distinguish between images and videos 2020-02-08 16:01:01 -05:00
xenofem
36e19128bf Indicate whether collapsed statuses contain gallery media or link preview cards 2020-02-08 13:15:09 -05:00
Henry Jameson
611da13a4b Better Disabled buttons support. Mammal theme fixes. Implemented proper
context-aware `mod` argument - now checks lightness of "variant" color. needs
retesting tho
2020-02-07 01:25:26 +02:00
feld
8fcb9c42aa Merge branch 'fix/escape-html' into 'develop'
Escape HTML from display name and subject fields

Closes #724

See merge request pleroma/pleroma-fe!1052
2020-02-06 16:12:11 +00:00
Maksim Pechnikov
64c180c838 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-02-04 10:07:20 +03:00
kPherox
ce68ef0138
Add option text 2020-02-04 04:54:36 +09:00
kPherox
a06f3a7fbc
Add with_move param for fetching notification 2020-02-04 04:54:36 +09:00
kPherox
9b7497a659
Change to hide User migrates tab when allow following move 2020-02-04 04:54:36 +09:00
kPherox
9bbf10b55d
Add setting for allow_following_move 2020-02-04 04:54:28 +09:00
HJ
e73e235b4d Merge branch 'fix/one-click-nsfw-videos' into 'develop'
Fix one click nsfw unhide on videos

See merge request pleroma/pleroma-fe!1053
2020-01-31 00:24:54 +00:00
Shpuld Shpludson
4a266a4d05 Fix one click nsfw unhide on videos 2020-01-31 00:24:54 +00:00
rinpatch
746416207b Escape HTML from display name and subject fields
Closes #724
2020-01-30 19:58:23 +03:00
Henry Jameson
e46bb94226 updated preview to account for underlay 2020-01-28 23:45:14 +02:00
Henry Jameson
8462853269 update button toggled state, apply it to emoji reactions 2020-01-28 22:40:15 +02:00
Henry Jameson
f0c4bb1193 Merge remote-tracking branch 'upstream/develop' into themes-accent
* upstream/develop: (33 commits)
  add emoji reactions to changelog
  fix emoji reaction classes broken in develop
  review changes
  Fix password and email update
  remove unnecessary anonymous function
  Apply suggestion to src/services/api/api.service.js
  remove logs/commented code
  remove favs count from react button
  remove mock data
  change emoji reactions to use new format
  Added polyfills for EventTarget (needed for Safari) and CustomEvent (needed for IE)
  Fix missing TWKN when logged in, but server is set to private mode.
  Fix follower request fetching
  Add domain mutes to changelog
  Implement domain mutes v2
  change changelog to reflect actual release history of frontend
  Fix #750 , fix error messages and captcha resetting
  Optimize Notifications Rendering
  update CHANGELOG
  Use last seen notif instead of first unseen notif for sinceId
  ...
2020-01-28 20:44:13 +02:00
Shpuld Shpuldson
c54111797a add emoji reactions to changelog 2020-01-28 17:54:40 +02:00
Shpuld Shpuldson
29806c9629 fix emoji reaction classes broken in develop 2020-01-28 17:53:47 +02:00
lain
73253b87bf Merge branch 'feat/emoji-reactions' into 'develop'
Emoji reactions

See merge request pleroma/pleroma-fe!1049
2020-01-28 15:24:56 +00:00
Shpuld Shpuldson
6afff4f8c2 review changes 2020-01-28 17:09:25 +02:00
HJ
4a11ee9768 Merge branch 'fix-password-and-email-update' into 'develop'
Fix email and password forms in user settings

See merge request pleroma/pleroma-fe!1050
2020-01-28 11:13:17 +00:00
eugenijm
566f013ac4 Fix password and email update 2020-01-28 06:12:32 +03:00
Henry Jameson
b63e679a31 removed one color TODO 2020-01-28 02:03:21 +02:00
Henry Jameson
53a15eec7d add theme to list 2020-01-28 01:31:37 +02:00
Henry Jameson
526b43eba6 Kenomo (see: #624) theme. Ability to define link color for post contents. Fixes 2020-01-28 01:29:20 +02:00
Henry Jameson
18ca2a035b fix rgba function, whoops 2020-01-28 00:26:10 +02:00
Shpuld Shpuldson
4e04079739 Merge branch 'feat/emoji-reactions' of git.pleroma.social:pleroma/pleroma-fe into feat/emoji-reactions 2020-01-27 18:44:25 +02:00
Shpuld Shpuldson
e6291e4ee1 remove unnecessary anonymous function 2020-01-27 18:43:26 +02:00
lain
cb205036f9 Apply suggestion to src/services/api/api.service.js 2020-01-27 14:18:15 +00:00
Shpuld Shpuldson
e4e3a28838 remove logs/commented code 2020-01-27 15:49:05 +02:00
Henry Jameson
5313833d80 lint 2020-01-27 04:24:00 +02:00
Henry Jameson
7c074b8741 fix rgba css generation, add some tests to automatically verify that themes are
generated properly
2020-01-27 04:20:13 +02:00
Shpuld Shpuldson
0de627baae remove favs count from react button 2020-01-26 16:18:57 +02:00
Shpuld Shpuldson
c4beac5f89 Merge branch 'develop' into feat/emoji-reactions 2020-01-26 15:59:59 +02:00
Shpuld Shpuldson
7cfe1b05e8 remove mock data 2020-01-26 15:57:40 +02:00
Shpuld Shpuldson
a018ea622c change emoji reactions to use new format 2020-01-26 15:45:12 +02:00
HJ
b0b0fc403a Merge branch 'event-target-fix' into 'develop'
Polyfills for EventTarget and CustomEvent

Closes #756

See merge request pleroma/pleroma-fe!1048
2020-01-24 12:42:54 +00:00
Henry Jameson
d7e7f47b66 fix transparent color not affecting downstream slots 2020-01-24 00:56:47 +02:00
Henry Jameson
75fa07626d fix icons in menus 2020-01-24 00:39:21 +02:00
Henry Jameson
b96993e4dd improved selectedMenu again 2020-01-24 00:36:32 +02:00
Henry Jameson
53576df72a popover/selected menu improvements 2020-01-24 00:02:16 +02:00
eugenijm
2c61eb8e7f Added polyfills for EventTarget (needed for Safari) and CustomEvent (needed for IE) 2020-01-24 00:55:13 +03:00
Henry Jameson
f7ea12c905 separate actual theme data from theme framework 2020-01-23 23:37:58 +02:00
Henry Jameson
c1f2457112 revert fgText -> text after some consideration. case was fixed already in other way 2020-01-23 22:48:32 +02:00
Henry Jameson
f85a3e3f6d style the dropdown menus better 2020-01-23 22:42:59 +02:00
Henry Jameson
c752f56d0b v l1 compatibility 2020-01-23 22:26:49 +02:00
Henry Jameson
a69723badf fix snapshot mismatch message for file 2020-01-23 22:04:05 +02:00
HJ
deb2ddb398 Merge branch 'fix/federated-timeline-when-private-mode' into 'develop'
Fix missing TWKN when logged in, but server is set to private mode.

Closes #759

See merge request pleroma/pleroma-fe!1047
2020-01-23 18:10:55 +00:00
Mark Felder
9d8dbd8340 Fix missing TWKN when logged in, but server is set to private mode. 2020-01-23 12:00:50 -06:00
Henry Jameson
64fc07f080 removed unused constant, using getOpacitySlot now 2020-01-23 00:36:38 +02:00
Henry Jameson
7354b6f706 fixed get(Layer|Opacity)Slot not working properly which broke Mojave theme 2020-01-23 00:35:56 +02:00
Henry Jameson
8de7eabd8f v2 compatibility fixes 2020-01-22 23:26:24 +02:00
Henry Jameson
c7f42b7799 made it actually work, the forceSnapshot 2020-01-22 02:53:40 +02:00
Henry Jameson
d98e31af45 snapshot/source mismatch case 2020-01-22 02:44:39 +02:00
Henry Jameson
c1e3632f42 fix shadows not being valid from the get-go 2020-01-22 02:15:47 +02:00
Henry Jameson
644ce497a0 lightBg -> highlight because it causes issues with v2 2020-01-22 01:28:46 +02:00
Henry Jameson
803edcb53a dismiss warning when loading theme 2020-01-22 01:28:17 +02:00
Henry Jameson
1191207aa5 more help strings 2020-01-22 00:53:51 +02:00
Henry Jameson
cf1149d8c5 updated changelog, slightly 2020-01-22 00:41:21 +02:00
Henry Jameson
9336140486 massively improved initial theme loading code, added checks and warnings when
loading theme files (import/localStorage/defaults)
2020-01-22 00:37:19 +02:00
Shpuld Shpludson
ad8eb88323 Merge branch 'fix-follow-requests' into 'develop'
Fix follower request fetching

Closes pleroma#1523 and #757

See merge request pleroma/pleroma-fe!1046
2020-01-21 16:31:41 +00:00
lain
8080981fcd Fix follower request fetching 2020-01-21 16:51:49 +01:00
Henry Jameson
93dfb4d352 fix shadow picker preview, change hint 2020-01-20 02:00:13 +02:00
Henry Jameson
a7b6c79136 eslint 2020-01-20 01:45:48 +02:00
Henry Jameson
2b36a62c56 fix tests, integrate depenentless sorting into toposort for easier testing and
better guarantees
2020-01-20 01:44:11 +02:00
Henry Jameson
6e1c538e41 multiple fixes to make style switcher not die. Made shadows work, incuding compatibility 2020-01-20 01:31:54 +02:00
Henry Jameson
6a3714fcc6 Checked contrast rating errors 2020-01-20 00:37:45 +02:00
Henry Jameson
e4033c85e2 removed console logs 2020-01-20 00:34:49 +02:00
Henry Jameson
7d7ccf7298 fix some contrast ratios not displaying 2020-01-19 22:44:35 +02:00
Henry Jameson
62343f6099 documentation 2020-01-19 20:59:54 +02:00
Henry Jameson
f77d675434 optimized theme loading so that it wouldn't wait until ALL themes are loaded to
select one by default
2020-01-17 00:27:46 +02:00
Henry Jameson
24a7a9bfd8 lint 2020-01-16 23:30:13 +02:00
Henry Jameson
1f5ada08c1 themes update 2020-01-16 23:29:19 +02:00
Henry Jameson
c351e5124c fix selectedPost/selectedMenu 2020-01-16 23:28:42 +02:00
Henry Jameson
552d13a060 better fallback for transparent colors 2020-01-16 23:09:46 +02:00
Henry Jameson
8536f3cc32 small fix 2020-01-16 21:59:06 +02:00
Henry Jameson
e070ec4b66 more opacity handling 2020-01-16 21:34:33 +02:00
Henry Jameson
f16ec75c70 opacity handling 2020-01-16 20:53:05 +02:00
Shpuld Shpuldson
f052ac4a1e Add domain mutes to changelog 2020-01-15 22:38:31 +02:00
Shpuld Shpludson
6bd6ec66bc Merge branch 'tae/pleroma-fe-663' into 'develop'
Implement domain mutes v2

See merge request pleroma/pleroma-fe!1045
2020-01-15 20:22:54 +00:00
Shpuld Shpludson
7a013ac393 Implement domain mutes v2 2020-01-15 20:22:54 +00:00
Shpuld Shpludson
e3de2964cc Merge branch '736' into 'develop'
Fix "Follow button is out of sync in the about page"

Closes #736

See merge request pleroma/pleroma-fe!1035
2020-01-15 18:40:45 +00:00
Shpuld Shpludson
3ab128e739 Merge branch 'develop' into 'master'
`master` refresh with `develop`

See merge request pleroma/pleroma-fe!1028
2020-01-15 16:35:13 +00:00
Maksim Pechnikov
f892b26d73 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-01-14 22:08:24 +03:00
Shpuld Shpuldson
7397636914 change changelog to reflect actual release history of frontend 2020-01-14 16:01:30 +02:00
Shpuld Shpludson
dac263e224 Merge branch 'fix/registration-backend-interactor-fix' into 'develop'
Fix #750 , fix error messages and captcha resetting

Closes #750

See merge request pleroma/pleroma-fe!1042
2020-01-14 13:45:00 +00:00
Shpuld Shpludson
662afe973a Fix #750 , fix error messages and captcha resetting 2020-01-14 13:45:00 +00:00
Shpuld Shpludson
ac90d4c532 Merge branch 'feat/optimize-amount-of-notifs-to-render' into 'develop'
Optimize Notifications Rendering

See merge request pleroma/pleroma-fe!1041
2020-01-14 13:28:57 +00:00
Shpuld Shpludson
86380f0429 Optimize Notifications Rendering 2020-01-14 13:28:57 +00:00
Maksim Pechnikov
40c4a49223 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-01-14 16:14:51 +03:00
Shpuld Shpuldson
dd740043c6 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-01-14 13:39:17 +02:00
Shpuld Shpuldson
9b8cdb6525 update CHANGELOG 2020-01-14 13:39:01 +02:00
Shpuld Shpludson
b275494a86 Merge branch 'fix/fetch-seen-notifs-properly' into 'develop'
Fix #526: Oldest notifications left unseen when using "Read!" in another tab

Closes #526

See merge request pleroma/pleroma-fe!1040
2020-01-14 09:26:30 +00:00
Shpuld Shpuldson
910b82e231 Use last seen notif instead of first unseen notif for sinceId 2020-01-14 11:13:59 +02:00
Shpuld Shpuldson
b10b92a876 clean up code, fix prediction bug 2020-01-14 10:06:14 +02:00
Shpuld Shpuldson
b32888194c fix merge conflicts 2020-01-13 23:47:32 +02:00
Shpuld Shpuldson
33abbed5a1 usable-but-buggy: picker, adding/removing reaction on click, search, styles 2020-01-13 23:34:39 +02:00
Henry Jameson
c3cd66335f i18n & fixes 2020-01-13 22:26:31 +02:00
Henry Jameson
9f7af191e8 tabs & toggled (ex pressed) buttons 2020-01-13 22:19:19 +02:00
Henry Jameson
4b8e0f0afa buttonPressed & buttonDisabled slots 2020-01-13 21:30:55 +02:00
Henry Jameson
8a7f3fc16a selectedPost and selectedMenu support 2020-01-13 20:40:16 +02:00
Maksim Pechnikov
99db89fa17 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-01-13 14:45:43 +03:00
Henry Jameson
29a0b4a593 fix shadow and opacity 2020-01-13 02:08:39 +02:00
Henry Jameson
9af0042452 updated breezy theme 2020-01-13 02:02:40 +02:00
Henry Jameson
9943e1cc43 removed references to v3compat 2020-01-13 02:02:31 +02:00
Henry Jameson
8d2f2866f6 computed colors support 2020-01-13 01:56:29 +02:00
Henry Jameson
5881c13adc computed color display support in color_input 2020-01-13 01:55:10 +02:00
Henry Jameson
fa2fcc8827 better fallbacks in UI 2020-01-13 01:54:56 +02:00
Henry Jameson
8f63bbb64f poll slot renamed, lightBg customization implemented 2020-01-13 00:33:04 +02:00
Henry Jameson
40ba3e2252 added more slots to UI 2020-01-12 23:41:11 +02:00
Henry Jameson
21d9c87b34 fix tests 2020-01-12 23:05:32 +02:00
Henry Jameson
3492d7f81e eslint 2020-01-12 17:59:41 +02:00
Henry Jameson
39dd08e694 replace hsl's l with relative luminance for better lightness detection 2020-01-12 17:58:26 +02:00
Henry Jameson
88f83fc9fa overhaul how style-switcher makes state, removed tons of copy-paste 2020-01-12 17:46:07 +02:00
Henry Jameson
d52d181227 more fixes 2020-01-12 15:04:05 +02:00
Henry Jameson
4418baf62a fix 2020-01-12 04:16:04 +02:00
Henry Jameson
d342f32a94 fix 2020-01-12 04:05:26 +02:00
Henry Jameson
1aea1f217e remove debug 2020-01-12 04:01:31 +02:00
Henry Jameson
a9a1fc37f5 fixes, cleanup 2020-01-12 04:00:41 +02:00
Henry Jameson
f31ed7e5a8 remove snapshot data from breezy 2020-01-12 03:53:08 +02:00
Henry Jameson
622c9d388e Refactoring, forgotten files 2020-01-12 03:44:06 +02:00
Henry Jameson
38f2b969e4 simplified definition for text color by accounting for layers automatically,
fixed badge notification text color by adding 'bw' option for textColor
2020-01-11 23:07:41 +02:00
HJ
7257189ea7 Merge branch 'pleroma-amoled-theme' into 'develop'
Add default pleroma AMOLED dark theme

See merge request pleroma/pleroma-fe!1039
2020-01-07 23:39:14 +00:00
Sierra
ae2ae00d41 Add AMOLED dark theme 2020-01-07 21:13:51 +00:00
Henry Jameson
cce64077b5 Refactored style_setter to be more declarative instead of walls of copypasted code 2020-01-06 22:55:14 +02:00
Maksim Pechnikov
2810f10d14 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop 2020-01-06 15:47:36 +03:00
HJ
ad97e03b59 Merge branch 'fix-move-type-notification' into 'develop'
Fix for move type notification

See merge request pleroma/pleroma-fe!1026
2020-01-03 10:16:42 +00:00
HJ
215662afde Merge branch 'develop' into 'fix-move-type-notification'
# Conflicts:
#   static/fontello.json
2020-01-03 09:05:48 +00:00
Henry Jameson
a2f676d317 Improved ColorInput to showcase transparent color, improved global input styles
a bit
2020-01-02 23:48:52 +02:00
Henry Jameson
c7e9f21da0 color input and opacity input now use Checkbox component. Cleanup. 2020-01-02 22:44:54 +02:00
Henry Jameson
adbab6ad2a added optional checkbox for opacity, similar to color input 2020-01-02 21:36:01 +02:00
Henry Jameson
4bb1c98e0f Replaced v3compat with source to reduce code complexity. Made more slots
customizable. `theme` now contains a snapshot of theme generated for better
compatiblity and future-proofing
2020-01-02 20:36:10 +02:00
HJ
1a82a00a2b Merge branch 'mfa_fix' into 'develop'
mfa fix

See merge request pleroma/pleroma-fe!1036
2019-12-30 14:45:49 +00:00
Wyatt Benno
816c077c4f mfa fix 2019-12-30 19:27:44 +09:00
Henry Jameson
332d31dc02 support for "transparent" color keyword 2019-12-30 00:45:48 +02:00
Henry Jameson
6e11924c27 underlay customization, updated contrast calculations to account for alpha blending 2019-12-28 18:49:35 +02:00
Henry Jameson
1a78461443 fixed import-export 2019-12-28 17:02:34 +02:00
Henry Jameson
e5a34870f0 Accent works 2019-12-28 15:55:42 +02:00
HJ
b8f4b18ae5 Merge branch 'streaming' into 'develop'
Streaming and Backend Interactor service overhaul, removed the need for copypasting

See merge request pleroma/pleroma-fe!1012
2019-12-26 16:49:42 +00:00
Henry Jameson
bd07e5de1c unify showimmideately 2019-12-26 14:35:46 +02:00
Henry Jameson
43197c4243 Some error handling 2019-12-26 14:12:35 +02:00
Henry Jameson
b619477573 Merge remote-tracking branch 'upstream/develop' into streaming
* upstream/develop: (51 commits)
  toggle_activation api is also deprecated
  use vuex action
  refactor toggleActivationStatus
  replace setActivationStatus api with new one
  use flex for stickers
  i18n/update-ja_easy
  Use a centralized fallback for missing values and use instance.federating instead of instance.federation.enabled
  Add fallback in case BE does not report federating status in nodeinfo
  The value we are looking for is federationPolicy.enabled, not federationPolicy.federating
  Logic should be to hide TWKN if not federating OR if instance is not public
  Finally trust eslint
  More lint
  More lint
  Lint
  mfa: removed unused code
  increase icon width a little bit in the nav panel
  add icons to nav panel
  Revert "Merge branch 'revert-96cab6d8' into 'develop'"
  Support "native" captcha
  Revert "Merge branch 'oauth-extra-scopes' into 'develop'"
  ...
2019-12-26 12:47:51 +02:00
Maksim Pechnikov
50bb8865c5 dd 2019-12-18 21:17:06 +03:00
HJ
f7029a27eb Merge branch '716' into 'develop'
Fix "Deactivation of remote accounts from frontend does not work"

Closes #716

See merge request pleroma/pleroma-fe!1006
2019-12-18 00:51:41 +00:00
taehoon
4e4c4af422 toggle_activation api is also deprecated 2019-12-15 14:32:04 -05:00
taehoon
36376ce57c use vuex action 2019-12-15 14:32:04 -05:00
taehoon
45e7f93c49 refactor toggleActivationStatus 2019-12-15 14:32:04 -05:00
taehoon
506822bed0 replace setActivationStatus api with new one 2019-12-15 14:32:04 -05:00
taehoon
54f692622a wire up staff accounts with correct store data 2019-12-15 14:30:09 -05:00
HJ
b739edb509 Merge branch 'fix-sticker-height' into 'develop'
fix sticker picker height in emojo picker

See merge request pleroma/pleroma-fe!1022
2019-12-15 17:59:27 +00:00
Absturztaube
32d7a49b9d use flex for stickers 2019-12-15 17:58:37 +01:00
HJ
c1a0e23947 Merge branch 'revert-c2c48ec2' into 'develop'
Reinstate `push` and `admin` scopes

See merge request pleroma/pleroma-fe!1034
2019-12-14 14:12:41 +00:00
feld
3691093572 Merge branch 'i18b/update-ja_easy' into 'develop'
i18n/update-ja_easy

See merge request pleroma/pleroma-fe!1002
2019-12-13 17:05:14 +00:00
Hakaba Hitoyo
1cba6c56f0 i18n/update-ja_easy 2019-12-13 17:05:13 +00:00
feld
749a399944 Merge branch 'issue_124' into 'develop'
Change 403 messaging

See merge request pleroma/pleroma-fe!1020
2019-12-13 17:02:09 +00:00
feld
0b49e798e0 Merge branch 'feature/lockdown-timelines-private-mode' into 'develop'
interaction with BE private mode

See merge request pleroma/pleroma-fe!989
2019-12-13 16:58:29 +00:00
HJ
766a674a48 Merge branch 'upgrade-babel' into 'develop'
Upgrade babel to v7

Closes #733

See merge request pleroma/pleroma-fe!1029
2019-12-13 10:21:29 +00:00
HJ
9789123b1c Merge branch 'mfa/login_form' into 'develop'
mfa: fix login and recovery form

See merge request pleroma/pleroma-fe!1031
2019-12-13 10:18:50 +00:00
Mark Felder
d899d06973 Use a centralized fallback for missing values and use instance.federating instead of
instance.federation.enabled
2019-12-12 15:29:50 -06:00
Mark Felder
8d14036a23 Add fallback in case BE does not report federating status in nodeinfo 2019-12-12 15:17:23 -06:00
Mark Felder
0743fbb28b The value we are looking for is federationPolicy.enabled, not federationPolicy.federating
Also the || true fallback does not work and always becomes true
2019-12-12 13:56:07 -06:00
Mark Felder
2514dc183f Logic should be to hide TWKN if not federating OR if instance is not public
Private instances should not show any timelines
2019-12-12 13:51:50 -06:00
Mark Felder
7ddd5af081 Finally trust eslint 2019-12-12 13:46:07 -06:00
Mark Felder
afe5b3a82d More lint 2019-12-12 13:41:52 -06:00
Mark Felder
211d25cd5a More lint 2019-12-12 13:39:18 -06:00
Mark Felder
3eeb3dc572 Lint 2019-12-12 13:37:32 -06:00
Mark Felder
821a2bcc68 Merge branch 'develop' into feature/lockdown-timelines-private-mode 2019-12-12 13:32:52 -06:00
feld
051b9703df Merge branch 'nav-icons' into 'develop'
Add icons to nav panel

See merge request pleroma/pleroma-fe!1016
2019-12-12 19:15:14 +00:00
Maksim Pechnikov
addacf36d1 mfa: removed unused code 2019-12-12 21:19:13 +03:00
Henry Jameson
585702b1ce fix desktop notifications not working with streaming 2019-12-12 18:53:36 +02:00
taehoon
a412b53801 increase icon width a little bit in the nav panel 2019-12-12 10:42:27 -05:00
taehoon
7fa294f11c add icons to nav panel 2019-12-12 10:42:27 -05:00
Ivan Tashkinov
341416b0e0 Revert "Merge branch 'revert-96cab6d8' into 'develop'"
This reverts merge request !1032
2019-12-12 14:43:48 +00:00
HJ
c7376b8325 Merge branch 'support-native-captcha' into 'develop'
Support "native" captcha

See merge request pleroma/pleroma-fe!1033
2019-12-12 12:24:35 +00:00
HJ
a621382a3f Merge branch 'load-button-fix' into 'develop'
Fix css runtime loading issue

Closes #734

See merge request pleroma/pleroma-fe!1030
2019-12-12 12:23:01 +00:00
Egor Kislitsyn
ed3144eb11 Support "native" captcha 2019-12-12 18:19:46 +07:00
lain
c2c48ec25c Merge branch 'revert-96cab6d8' into 'develop'
Revert "Merge branch 'oauth-extra-scopes' into 'develop'"

See merge request pleroma/pleroma-fe!1032
2019-12-12 09:42:41 +00:00
lain
b399235848 Revert "Merge branch 'oauth-extra-scopes' into 'develop'"
This reverts merge request !1024
2019-12-12 09:38:24 +00:00
seven
b973ee5915 must use h in higher babel-plugin-transform-vue-jsx 2019-12-12 12:13:31 +05:00
Maksim Pechnikov
f70fe28f64 mfa: fix login and recovery form 2019-12-12 08:42:21 +03:00
seven
386719b0d0 fix css runtime loading issue 2019-12-12 08:33:40 +05:00
seven
d7bc1aff1d fix babelrc plugin config 2019-12-12 06:35:48 +05:00
Henry Jameson
63a5f50e7c fix deletes causing errors 2019-12-11 18:20:43 +02:00
HJ
3cc6f80628 Merge branch 'hideSitename' into 'develop'
Hide instance url/link/text in header using hideSitename instance option

See merge request pleroma/pleroma-fe!1018
2019-12-11 15:59:46 +00:00
taehoon
fee3226705 add documentation for new instance option 2019-12-11 10:14:31 -05:00
taehoon
d0c78989aa hide instance url/link/text in header using hideSitename option 2019-12-11 10:14:30 -05:00
rinpatch
abb6747f43 Merge branch 'fix/mfa_routes' into 'develop'
fixed typo

See merge request pleroma/pleroma-fe!1027
2019-12-11 13:14:40 +00:00
Maksim Pechnikov
d6dc2bad1f fixed typo 2019-12-11 15:59:29 +03:00
rinpatch
96cab6d811 Merge branch 'oauth-extra-scopes' into 'develop'
OAuth 'push' and 'admin' scopes support

See merge request pleroma/pleroma-fe!1024
2019-12-11 09:57:32 +00:00
kPherox
c3e7806acb
remove unused fallback 2019-12-11 18:48:18 +09:00
kPherox
b4acbf5311
Add user migrates filter to interactions 2019-12-11 18:30:26 +09:00
kPherox
e8333fff8d
change the expression of move 2019-12-11 18:30:23 +09:00
seven
cb92865dac upgrade babel-register 2019-12-11 14:22:11 +05:00
seven
e6d5b9c0bb update babelrc 2019-12-11 14:21:06 +05:00
seven
424e78891a upgrade babel-plugin-transform-runtime 2019-12-11 14:19:56 +05:00
seven
773fa454be upgrade babel-plugin-lodash 2019-12-11 14:02:51 +05:00
seven
c141c7a753 babel-plugin-add-module-exports is not necessary for babel v7 2019-12-11 14:01:53 +05:00
seven
d79dfb9495 upgrade babel-plugin-transform-vue-jsx 2019-12-11 14:00:36 +05:00
seven
a5cce10a7d update babelrc presets config 2019-12-11 13:56:53 +05:00
seven
4f9aba1a7c upgrade babel preset 2019-12-11 13:56:08 +05:00
seven
1af536d68f upgrade Babel core to v7 2019-12-11 13:52:03 +05:00
Henry Jameson
6acd889589 Option to enable streaming 2019-12-10 21:30:27 +02:00
kPherox
31aa177eea
Fix target account link 2019-12-11 04:02:25 +09:00
kPherox
6af870cd90
Add view for moves notifications 2019-12-11 00:00:45 +09:00
kPherox
2bc63720a5
fix parse for move type notifications 2019-12-11 00:00:36 +09:00
Absturztaube
7e3a4fa8ec fix invisible tab-switcher in emoji picker 2019-12-09 22:16:51 +01:00
Absturztaube
f6d8f245e6 Revert "fix sticker picker height in emojo picker"
This reverts commit 914c783984.
2019-12-09 22:15:38 +01:00
Wyatt Benno
8ee8033955 Set error data 2019-12-09 10:31:57 +09:00
Wyatt Benno
1a043d4350 remove console 2019-12-09 09:11:31 +09:00
Wyatt Benno
e86af0c965 Change naming, make more general 2019-12-09 09:02:34 +09:00
Henry Jameson
505fb26061 better wrapper for websocket 2019-12-08 19:18:38 +02:00
Henry Jameson
1b1620a755 Merge remote-tracking branch 'upstream/develop' into streaming
* upstream/develop:
  Remove whitespace hack on empty post content
  Change output directory of fontello
  add html-webpack-plugin to karma config
  use another fork of fontello-webpack-plugin
  add animate-spin class
  remove needless code
  use another approach for versioning font files
  versioning the font resources through webpack
  fix "can't find property of undefined" errors in mrf transparency panel
  move mention button right next to mute button
  restore muted users collapsing logic on other user’s profiles
2019-12-08 16:07:30 +02:00
Henry Jameson
ff95d865d2 Updated streaming and improved error-handling, some more refactoring to api 2019-12-08 16:05:41 +02:00
HJ
e60d9f2d5a Merge branch 'fix/remove-status-hack' into 'develop'
Remove whitespace hack on empty post content

See merge request pleroma/pleroma-fe!1023
2019-12-08 13:00:21 +00:00
Ivan Tashkinov
a06705d939 Added OAuth 'push' and 'admin' scopes. 2019-12-08 13:52:26 +03:00
rinpatch
3b11860d34 Remove whitespace hack on empty post content
It's no longer necessary since the backend handles posts with empty
content fine and also fixes an odd whitespace when attachment links are
disabled.
2019-12-08 02:05:50 +03:00
Absturztaube
914c783984 fix sticker picker height in emojo picker 2019-12-07 10:29:53 +01:00
Wyatt Benno
01855f315c Wording updates 2019-12-06 09:38:55 +09:00
HJ
4e24ce2185 Merge branch 'fix-font-load-for-pleroma-be' into 'develop'
Change output directory of fontello

Closes pleroma-support#14

See merge request pleroma/pleroma-fe!1021
2019-12-05 13:53:04 +00:00
kPherox
9aac873d6b
Change output directory of fontello 2019-12-05 22:48:41 +09:00
Wyatt Benno
13fc2612ae Change 403 messaging 2019-12-05 11:48:37 +09:00
HJ
7b1d5a4f5c Merge branch '701' into 'develop'
Versioning the font resources using webpack

Closes #701

See merge request pleroma/pleroma-fe!1017
2019-12-03 20:15:06 +00:00
taehoon
d37caeeded add html-webpack-plugin to karma config 2019-12-03 14:40:51 -05:00
taehoon
36589f32d1 use another fork of fontello-webpack-plugin 2019-12-03 13:26:00 -05:00
taehoon
9d44015ab4 add animate-spin class 2019-12-03 11:16:38 -05:00
taehoon
57f46e68e4 remove needless code 2019-12-03 10:34:17 -05:00
taehoon
afd4524c39 use another approach for versioning font files 2019-12-03 10:32:46 -05:00
taehoon
0082ed837e versioning the font resources through webpack 2019-12-02 10:24:43 -05:00
Shpuld Shpludson
5096bff16c Merge branch 'fix/mrf-js-errors' into 'develop'
fix "can't find property of undefined" errors in mrf transparency panel

See merge request pleroma/pleroma-fe!1008
2019-12-02 12:20:25 +00:00
Shpuld Shpludson
fa38a41e42 fix "can't find property of undefined" errors in mrf transparency panel 2019-12-02 12:20:24 +00:00
Shpuld Shpludson
d3adffbefe Merge branch '719' into 'develop'
Fix "Muted users not being collapsed on other user's profiles"

Closes #719

See merge request pleroma/pleroma-fe!1013
2019-12-02 12:17:43 +00:00
Shpuld Shpludson
0c6737f336 Merge branch '712' into 'develop'
Move mention button right next to mute button

Closes #712

See merge request pleroma/pleroma-fe!1015
2019-12-02 12:08:12 +00:00
taehoon
7ebf3602d5 move mention button right next to mute button 2019-11-26 19:57:27 -05:00
taehoon
40e774e05a restore muted users collapsing logic on other user’s profiles 2019-11-25 12:25:01 -05:00
Henry Jameson
172ebaf4e6 improved initial notifications fetching 2019-11-24 22:01:12 +02:00
Henry Jameson
319bb4ac28 initial streaming work 2019-11-24 18:50:28 +02:00
Henry Jameson
ddb6fb9217 Backend Interactor service overhaul, removed the need for copypasting 2019-11-24 13:57:46 +02:00
kPherox
bfdf7c876c
Change field name to right justify 2019-11-20 19:26:04 +09:00
kPherox
a15baa8962
Use fields_html only 2019-11-20 19:26:04 +09:00
kPherox
d2e334daa3
Add tooltip 2019-11-20 19:26:02 +09:00
kPherox
87940ead8a
Change css selectors to classname from elementname 2019-11-20 18:59:37 +09:00
HJ
41d2fa2fd6 Merge branch 'i18n/improve-easy-pedantic-japanese-switching-system' into 'develop'
[i18n] Improve easy/pedantic Japanese switching

See merge request pleroma/pleroma-fe!1003
2019-11-19 17:02:45 +00:00
Hakaba Hitoyo
55da4462a4 [i18n] Improve easy/pedantic Japanese switching 2019-11-19 17:02:45 +00:00
kPherox
004827a7f1
Change profile fields design to horizontal 2019-11-20 00:19:47 +09:00
kPherox
2bc549a66a
Fix emoji size 2019-11-20 00:19:47 +09:00
kPherox
ca4d5950d0
Display user profile fields 2019-11-20 00:19:47 +09:00
HJ
0eda60eeb4 Merge branch 'greentext-strikes-back' into 'develop'
⑨ Added greentext support ⑨

Closes #9

See merge request pleroma/pleroma-fe!994
2019-11-19 14:22:17 +00:00
Shpuld Shpludson
aa1b812484 Merge branch 'iss-149/profile-fields-normalize' into 'develop'
Normalize profile fields

See merge request pleroma/pleroma-fe!995
2019-11-19 14:15:41 +00:00
kPherox
a55486f8d7 Normalize profile fields 2019-11-19 14:15:41 +00:00
Shpuld Shpludson
8b37996805 Merge branch 'fix-fetch-follow-request-for-mobile' into 'develop'
Fix follow request for mobile

See merge request pleroma/pleroma-fe!1005
2019-11-19 14:07:15 +00:00
kPherox
0995658757 backend interactor service: implement startFetchingFollowRequest
backend interactor service: remove unused fetchFollowRequests
2019-11-19 14:07:15 +00:00
Shpuld Shpludson
377b8988b6 Merge branch 'badge-checkbox' into 'develop'
Show badge visibility user setting checkbox only if needed

See merge request pleroma/pleroma-fe!999
2019-11-16 17:36:01 +00:00
taehoon
44cd5ef814 show badge visibility user setting checkbox only if needed 2019-11-16 12:12:21 -05:00
Shpuld Shpludson
10bb22b5cf Merge branch 'feature/japanese-translation' into 'develop'
Use kana+kanji as default for Japanese translation

See merge request pleroma/pleroma-fe!1001
2019-11-16 16:28:12 +00:00
AkiraFukushima
67c95c9d06 Use kana+kanji as default for Japanese translation 2019-11-17 01:11:19 +09:00
rinpatch
748e9c5203 Merge branch 'chore/remove-outdated-changelog' into 'develop'
Remove outdated changelog file

See merge request pleroma/pleroma-fe!1000
2019-11-15 19:58:09 +00:00
rinpatch
a9022d0c32 Remove outdated changelog file
This hasn't been updated in 2 years and we have CHANGELOG.md now.
2019-11-15 22:56:16 +03:00
rinpatch
9a81a61759 Merge branch 'patch-1' into 'develop'
Fix translation (https://blob.cat/notice/9oyYO1RzcNbJXxKxeq)

See merge request pleroma/pleroma-fe!998
2019-11-15 16:59:20 +00:00
Shpuld Shpuldson
de945ba3e9 wip commit, add basic popover for emoji reaction select 2019-11-15 16:29:25 +02:00
Shpuld Shpuldson
d007502629 add fetching for emoji reactions, draft design 2019-11-15 08:39:21 +02:00
Mew Mew
3ecfbc8ea2 Fix translation (https://blob.cat/notice/9oyYO1RzcNbJXxKxeq) 2019-11-15 05:09:01 +00:00
Henry Jameson
28efd7d862 use yarn, try to restart pipeline 2019-11-14 23:46:19 +02:00
Henry Jameson
bd2a682b83 tests + updates 2019-11-14 22:40:20 +02:00
rinpatch
0300502a96 Merge branch '695' into 'develop'
Close image modal by clicking image

Closes #695

See merge request pleroma/pleroma-fe!996
2019-11-14 19:24:08 +00:00
taehoon
90fc6b0774 close image modal by clicking image 2019-11-14 14:07:05 -05:00
Henry Jameson
51ea295704 eslint 2019-11-14 00:52:38 +02:00
Henry Jameson
bce750c571 making dtluna proud or disgusted 2019-11-14 00:49:31 +02:00
Henry Jameson
897131572f Made it optional 2019-11-14 00:47:20 +02:00
Henry Jameson
692ee0e95a Fix regex, tag detector condition 2019-11-14 00:41:14 +02:00
Henry Jameson
50dc9df8a4 adds greentext, also small fixes 2019-11-14 00:18:14 +02:00
kaniini
1f42283b8d Merge branch 'friend-follower-count-display' into 'develop'
Show "Hidden" instead of zero when followers/following counts are hidden

See merge request pleroma/pleroma-fe!993
2019-11-13 21:22:35 +00:00
taehoon
58839ecef8 change N/A to Hidden 2019-11-12 13:31:30 -05:00
taehoon
85685d6478 add a translation 2019-11-12 11:42:07 -05:00
taehoon
949f47063b show N/A when count is hidden 2019-11-12 11:41:55 -05:00
Ariadne Conill
43d4d17b41 side drawer: same treatment 2019-11-11 14:37:14 -06:00
Ariadne Conill
cb5f73148a app: search API is not available in private mode so disable it 2019-11-11 14:28:10 -06:00
Ariadne Conill
1f9674350c nav panel: disable TWKN if federation disabled, disable Public and TWKN if privateMode is enabled 2019-11-11 14:28:07 -06:00
Ariadne Conill
21f1637e43 nav panel: refactor to use vuex mapState 2019-11-11 14:14:44 -06:00
Ariadne Conill
99fd096ddd boot: track whether private mode is enabled or not 2019-11-11 14:06:31 -06:00
Ariadne Conill
621ac0bdc7 docs: document FE interaction with the BE private setting 2019-11-11 14:06:31 -06:00
kaniini
3dae1cf396 Merge branch 'ocd-triggered' into 'develop'
achieve the perfect speeeeen in media-upload

See merge request pleroma/pleroma-fe!991
2019-11-11 19:51:05 +00:00
Henry Jameson
9e774fffbf achieve the perfect speeeeen in media-upload 2019-11-11 21:45:40 +02:00
Shpuld Shpludson
7502ee9734 Merge branch '704' into 'develop'
Fix "hideISP setting checkbox is broken"

Closes #704

See merge request pleroma/pleroma-fe!990
2019-11-10 20:00:16 +00:00
taehoon
3c3f2c654e add hideISP to defaultState of config module 2019-11-10 14:42:01 -05:00
kaniini
c873a18c64 Merge branch 'feature/about-page' into 'develop'
Feature/about page

Closes #699

See merge request pleroma/pleroma-fe!985
2019-11-09 17:38:45 +00:00
Ariadne Conill
a2a94c4b7b add changelog entry 2019-11-09 11:33:47 -06:00
Ariadne Conill
c24f95b498 mrf transparency panel: refactor to use vuex mapState 2019-11-09 11:32:18 -06:00
Ariadne Conill
6d6b5f3dbb mrf transparency panel: remove unneeded components{} 2019-11-09 11:16:19 -06:00
Ariadne Conill
a4ae956a62 boot: cleanup resolveStaffAccounts 2019-11-09 00:34:05 -06:00
Ariadne Conill
1946661911 update terms of service instructions 2019-11-09 00:27:09 -06:00
Ariadne Conill
6dfe3cc911 lint 2019-11-09 00:23:22 -06:00
Ariadne Conill
90f764224d about: add MRF transparency panel 2019-11-09 00:09:32 -06:00
Ariadne Conill
20ccd93a17 about: add staff panel 2019-11-08 23:21:07 -06:00
Ariadne Conill
5db77c839b about page: fix hiding of instance-specific panel, flow ToS and ISP better 2019-11-08 21:57:09 -06:00
Ariadne Conill
6cede475be nav panel: add link to about page 2019-11-08 21:53:53 -06:00
HJ
044c9ad056 Merge branch 'feature/redirect-external-user-to-id' into 'develop'
[Feature] Redirect remote user to internal ID

See merge request pleroma/pleroma-fe!921
2019-11-08 22:27:25 +00:00
Hakaba Hitoyo
e4820012a3 redirect /remote-users/:username@:hostname -> /users/:id, /remote-users/:hostname/:username -> /users/:id 2019-11-08 22:27:25 +00:00
HJ
2b68134ab0 Merge branch 'emoji-optimizations' into 'develop'
Emoji fixes, optimizations and improvements

Closes #690, #686, #682, #674, and #678

See merge request pleroma/pleroma-fe!969
2019-11-08 22:01:42 +00:00
Henry Jameson
a3501d58d8 clear filter on reopen, fix error message in console 2019-11-08 23:57:20 +02:00
Henry Jameson
23137dfd4b reset position when reopening emoji picker 2019-11-08 21:44:36 +02:00
Henry Jameson
a69946923b eslint fix 2019-11-08 21:35:58 +02:00
Henry Jameson
a43f1614ca fix not being able to see unicode emojis when there few of them when searching
on emoji-a-ton instances
2019-11-08 21:28:51 +02:00
Henry Jameson
9338c81f4a replace sanity button with loading on scroll 2019-11-08 21:25:13 +02:00
kaniini
5679dcdd18 Merge branch 'eslint-fix' into 'develop'
Fix eslint warnings

See merge request pleroma/pleroma-fe!984
2019-11-08 18:46:44 +00:00
Henry Jameson
a38d16273d fix search not working, use computer property instead of state 2019-11-08 20:12:01 +02:00
Henry Jameson
0dcb696e26 Merge remote-tracking branch 'upstream/develop' into emoji-optimizations
* upstream/develop: (95 commits)
  Lightbox/modal multi image improvements - #381
  '/api/pleroma/profile/mfa' -> '/api/pleroma/accounts/mfa'
  Add ability to change user's email
  translations-de-batch-1
  eu-translate update
  profile-banner rounding css, fixes #690
  fix indentation
  remove needless ref
  show preview popover when hover numbered replies
  refactor conditions
  do not make too many nested div
  add fetchStatus action
  refactor status loading logic
  split status preview popover into a separate component
  uninstall mobile-detect library
  listen both events
  minor css fix
  restrict distance at top side only
  set different trigger event in desktop and mobile by default
  fix eslint warnings
  ...
2019-11-08 19:48:31 +02:00
taehoon
c1478b0887 fix eslint warnings 2019-11-08 11:14:01 -05:00
Shpuld Shpludson
632773ba91 Merge branch 'issue_381' into 'develop'
Lightbox/modal multi image improvements - #381

See merge request pleroma/pleroma-fe!982
2019-11-08 06:16:26 +00:00
Wyatt Benno
f66026bf20 Lightbox/modal multi image improvements - #381 2019-11-08 06:16:26 +00:00
kaniini
df18ef30d0 Merge branch 'issue/209-2' into 'develop'
'/api/pleroma/profile/mfa' -> '/api/pleroma/accounts/mfa'

See merge request pleroma/pleroma-fe!838
2019-11-08 02:42:32 +00:00
Maksim
ded022a1d2 '/api/pleroma/profile/mfa' -> '/api/pleroma/accounts/mfa' 2019-11-08 02:42:32 +00:00
kaniini
e0a1b14eab Merge branch 'feature/change-email' into 'develop'
Add ability to change user's email

Closes pleroma#1297

See merge request pleroma/pleroma-fe!983
2019-11-08 02:21:19 +00:00
Sergey Suprunenko
e3381cdef1 Add ability to change user's email 2019-11-08 02:21:19 +00:00
kaniini
326b2416a0 Merge branch 'develop' into 'develop'
Make mammal theme look more like gargsite

See merge request pleroma/pleroma-fe!802
2019-11-08 01:33:50 +00:00
kaniini
b32a43fae5 Merge branch 'translations-de' into 'develop'
translations-de-batch-1

See merge request pleroma/pleroma-fe!978
2019-11-08 01:29:02 +00:00
Matrix-Sasuke
18acc7af29 translations-de-batch-1 2019-11-08 01:29:01 +00:00
kaniini
092adf9831 Merge branch 'es-translate' into 'develop'
[i18n] Spanish update

Closes #383

See merge request pleroma/pleroma-fe!981
2019-11-08 01:12:09 +00:00
Tarteka
28524ab4a6 eu-translate update 2019-10-30 22:31:55 +01:00
Tarteka
fe4845a7c1 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into develop 2019-10-30 22:17:19 +01:00
Tarteka
a178346f1e Merge branch 'master' of https://git.pleroma.social/pleroma/pleroma-fe into develop 2019-10-30 22:16:12 +01:00
HJ
74f5f168d6 Merge branch 'develop' into 'develop'
profile-banner rounding css, fixes #690

Closes #690

See merge request pleroma/pleroma-fe!979
2019-10-30 06:00:32 +00:00
DYM
1d2ddaf2d0 profile-banner rounding css, fixes #690 2019-10-30 03:15:57 +00:00
HJ
21989c673e Merge branch 'settings-refactor' into 'develop'
Settings refactor

See merge request pleroma/pleroma-fe!960
2019-10-29 07:41:29 +00:00
Henry Jameson
b66564a30d Merge remote-tracking branch 'upstream/develop' into settings-refactor
* upstream/develop: (89 commits)
  remove needless ref
  show preview popover when hover numbered replies
  refactor conditions
  do not make too many nested div
  add fetchStatus action
  refactor status loading logic
  split status preview popover into a separate component
  uninstall mobile-detect library
  listen both events
  minor css fix
  restrict distance at top side only
  set different trigger event in desktop and mobile by default
  fix eslint warnings
  fix popper go behind the top bar
  migrate Popper to v-popover
  fix popper go behind the top bar
  fix eslint warnings
  reset font-size to normal text size using rem
  use top placement by default
  hide status preview popper when hover popper content
  ...
2019-10-29 09:36:16 +02:00
Henry Jameson
c79b2501d2 fix indentation 2019-10-29 09:35:42 +02:00
Shpuld Shpludson
42f428d90e Merge branch 'eu-translate' into 'develop'
[i18n] basque update and fix

See merge request pleroma/pleroma-fe!966
2019-10-29 07:04:51 +00:00
Shpuld Shpludson
c79da5c456 Merge branch '599' into 'develop'
Fix "Posts get cut off when there is not enough space to display them at the bottom"

Closes #599

See merge request pleroma/pleroma-fe!863
2019-10-29 06:37:23 +00:00
Shpuld Shpludson
3a3db35985 Merge branch 'patch-3' into 'develop'
Little fix to some strings on es.json

See merge request pleroma/pleroma-fe!967
2019-10-29 06:06:58 +00:00
Henry Jameson
6ade3be5b4 fix loadEmojiInsane button submitting the form 2019-10-27 19:20:38 +02:00
taehoon
237d95b0f7 remove needless ref 2019-10-24 23:50:50 -04:00
taehoon
fbd1922567 show preview popover when hover numbered replies 2019-10-24 22:55:02 -04:00
taehoon
c5e391b606 refactor conditions 2019-10-24 22:41:15 -04:00
taehoon
644343ccda do not make too many nested div 2019-10-24 22:27:23 -04:00
taehoon
f969e9ab3d add fetchStatus action 2019-10-24 22:21:33 -04:00
taehoon
e00cf288f5 refactor status loading logic 2019-10-24 22:14:53 -04:00
taehoon
62b2648a3e split status preview popover into a separate component 2019-10-24 16:53:36 -04:00
taehoon
54a26be90c uninstall mobile-detect library 2019-10-24 16:13:00 -04:00
taehoon
95e211ccb7 listen both events 2019-10-24 16:11:28 -04:00
taehoon
052a00dadb minor css fix 2019-10-24 15:15:33 -04:00
taehoon
17295429e5 restrict distance at top side only 2019-10-24 15:15:33 -04:00
taehoon
c009f17651 set different trigger event in desktop and mobile by default 2019-10-24 15:15:33 -04:00
taehoon
c9ba37ba2c fix eslint warnings 2019-10-24 15:15:33 -04:00
taehoon
39e92e76b9 fix popper go behind the top bar 2019-10-24 15:15:33 -04:00
taehoon
85c897403a migrate Popper to v-popover 2019-10-24 15:15:33 -04:00
taehoon
2f7f6967fd fix popper go behind the top bar 2019-10-24 15:15:33 -04:00
taehoon
e834b9d88b fix eslint warnings 2019-10-24 15:15:33 -04:00
taehoon
1504b272d2 reset font-size to normal text size using rem 2019-10-24 15:15:33 -04:00
taehoon
0f65280e20 use top placement by default 2019-10-24 15:15:33 -04:00
taehoon
72fe385ec4 hide status preview popper when hover popper content 2019-10-24 15:15:33 -04:00
taehoon
498d7bcb5e use better name 2019-10-24 15:15:33 -04:00
taehoon
5d6fcb3bb3 css cleanup 2019-10-24 15:15:33 -04:00
taehoon
a26ec64b3b fix minor css issues in status preview 2019-10-24 15:15:33 -04:00
taehoon
565d53812b reposition popper after fetching status 2019-10-24 15:15:33 -04:00
taehoon
5faafdb428 use popper for status preview 2019-10-24 15:15:32 -04:00
HJ
f5c37231e1 Merge branch 'improve-gallery-sizing-logic' into 'develop'
Improve gallery sizing logic

See merge request pleroma/pleroma-fe!975
2019-10-23 16:17:56 +00:00
Henry Jameson
da3094eab7 fix scrolling to attachments bottom 2019-10-22 23:53:23 +03:00
taehoon
d76b83efc8 set flex-shrink and flex-basis explicitly 2019-10-22 14:47:21 -04:00
taehoon
b9c281c553 set flex amount correctly 2019-10-22 07:17:02 -04:00
taehoon
ad04522206 update flex-grow calculation logic 2019-10-22 07:17:02 -04:00
taehoon
0396c6f29d keep image natural ratio in gallery row 2019-10-22 07:17:02 -04:00
taehoon
6c4d23714a populate gallery row height without getting width 2019-10-22 07:17:01 -04:00
HJ
cd95618520 Merge branch 'modal-scroll-lock' into 'develop'
Lock body scroll when modal is open globally

See merge request pleroma/pleroma-fe!974
2019-10-22 05:53:23 +00:00
taehoon
eb695fd61d refactor using Set 2019-10-21 20:57:36 -04:00
taehoon
d3a6c030f8 clean up 2019-10-21 20:53:34 -04:00
taehoon
6084a5b6fe update event name 2019-10-21 20:52:31 -04:00
taehoon
c23a87d8ff update condition 2019-10-21 15:56:16 -04:00
taehoon
2cadeeb724 move modal animation keyframes definition 2019-10-21 15:37:14 -04:00
taehoon
c217483640 migrate viewClass prop to class attribute 2019-10-21 15:36:03 -04:00
taehoon
b3699a7c7c fix eslint errors 2019-10-18 12:39:54 -04:00
taehoon
5eeded5675 fix message input not auto-focusing bug 2019-10-18 12:24:03 -04:00
taehoon
95ad5ccaf1 revert changes to render modal into portal 2019-10-18 12:22:12 -04:00
taehoon
d69b8794b0 use higher css specificity 2019-10-18 12:13:11 -04:00
taehoon
a302ec1f08 fix eslint warnings 2019-10-18 11:57:54 -04:00
taehoon
215232cc30 remove needless ref definition 2019-10-18 11:54:42 -04:00
taehoon
a41ffea146 render modals into the “modal” portal 2019-10-18 11:53:38 -04:00
taehoon
d502baaffc remove needless console.log 2019-10-18 07:28:59 -04:00
taehoon
9709075476 remove needless importing 2019-10-18 07:28:29 -04:00
taehoon
2231025c41 fix eslint warning 2019-10-18 07:08:34 -04:00
taehoon
0df0876cf1 move modal css into the correct place 2019-10-18 07:07:16 -04:00
taehoon
348d6664eb refactor all kind of modals using the modal component 2019-10-18 07:05:01 -04:00
taehoon
07ec18fe11 add reusable modal component 2019-10-18 07:04:24 -04:00
taehoon
093d785fbf handle multiple body scroll lockers 2019-10-17 16:03:41 -04:00
taehoon
8db1fa506c lock body scroll when user reporting modal is open 2019-10-17 16:00:19 -04:00
taehoon
776f0ef774 lock body scroll when post status modal is open 2019-10-17 15:43:59 -04:00
HJ
051e6ea5ca Merge branch 'issue/684' into 'develop'
[#684] updated FollowCard component

See merge request pleroma/pleroma-fe!972
2019-10-17 19:03:07 +00:00
Maksim Pechnikov
b3f590ceb3 clear code 2019-10-17 20:29:18 +03:00
HJ
835bbd8b5f Merge branch 'fix/accessibility-reply-highlight' into 'develop'
Fix reply arrow highlighting in some accessibility tools

See merge request pleroma/pleroma-fe!973
2019-10-17 14:34:11 +00:00
eal
1287836eee Fix reply arrow highlighting in some accessibility tools
The cursor style needs to be "pointer" even before hovering, since
keyboard-driven browsing never hovers over the elements.
2019-10-17 16:44:22 +03:00
Maksim Pechnikov
60828f119c updated FollowCard component 2019-10-17 16:19:52 +03:00
HJ
d2079ecef4 Merge branch 'feature/require-password-reset' into 'develop'
Require password reset

See merge request pleroma/pleroma-fe!958
2019-10-16 10:00:26 +00:00
Maxim Filippov
37be781312 Require password reset 2019-10-16 10:00:26 +00:00
HJ
c4497f645f Update CHANGELOG.md 2019-10-15 15:48:34 +00:00
HJ
d2feba1487 Merge branch 'feature/following_reblogs' into 'develop'
[#664]  implementes to hide/show reblogs from a specific user.

See merge request pleroma/pleroma-fe!956
2019-10-15 06:26:12 +00:00
Henry Jameson
6266148745 Reserve space for emoji picker button in emoji input 2019-10-14 19:56:46 +03:00
Maksim Pechnikov
d53e7e3125 fix orders of a buttons 2019-10-11 16:54:25 +03:00
Maksim Pechnikov
b8d8d02384 revert lint autofix 2019-10-11 16:41:59 +03:00
Maksim Pechnikov
b497882e0e fix position account actions 2019-10-11 14:25:59 +03:00
HJ
8b2d873057 Merge branch 'es-translate' into 'develop'
[i18n] spanish new strings translations

See merge request pleroma/pleroma-fe!968
2019-10-10 17:02:34 +00:00
Henry Jameson
1400d723f2 fix picker not filling on opening, removed console log 2019-10-10 19:58:00 +03:00
Henry Jameson
c000879f2f moved emoji fetching from user to instance since it's its state anyway 2019-10-09 22:50:00 +03:00
Henry Jameson
b02de56fcb always preload first batch of emoji to avoid unnecessary UI jumps 2019-10-09 22:33:15 +03:00
Henry Jameson
a54c8b994e another missed thing 2019-10-09 21:32:32 +03:00
Maksim Pechnikov
69fb015e9f removed unused code 2019-10-09 16:20:51 +03:00
Maksim Pechnikov
e3f6001b3e update css 2019-10-09 15:36:26 +03:00
Maksim Pechnikov
a65b328239 remove unused code 2019-10-09 08:30:48 +03:00
Maksim Pechnikov
f6c0e06884 Merge branch 'develop' into feature/following_reblogs 2019-10-09 08:15:37 +03:00
Henry Jameson
792eaf5625 fix! i noticed it!! 2019-10-08 23:57:58 +03:00
HJ
7d3330b7b6 Merge branch 'issue/679' into 'develop'
[#679] fix follow request on search page

See merge request pleroma/pleroma-fe!970
2019-10-08 19:06:57 +00:00
Henry Jameson
fa4e69ec8c eslint 2019-10-08 21:38:27 +03:00
Henry Jameson
81d86a39fe fixed emoji picker showing up beyond viewport 2019-10-08 21:38:27 +03:00
Henry Jameson
bed109ae46 start loading emoji when picker is open 2019-10-08 21:38:27 +03:00
Henry Jameson
37b8490c01 remove the "textbox grows the 'wrong' way" behavior, replace it with more
conditions to scroll to bottom
2019-10-08 21:38:27 +03:00
Henry Jameson
6511a744a2 arbitrary limit with option to overcome it 2019-10-08 21:38:27 +03:00
Henry Jameson
29e6e62e7c emoji picker gradual render 2019-10-08 21:38:27 +03:00
Henry Jameson
91ca1db778 moved emoji stuff away from after-store and into users module since we only need
emoji after login
2019-10-08 21:38:27 +03:00
Maksim Pechnikov
7fede8572d change icon 2019-10-08 17:32:58 +03:00
Maksim Pechnikov
78e8a49f40 fix follow request on search page 2019-10-08 17:07:01 +03:00
Maksim Pechnikov
541a71c3a5 Merge branch 'develop' into feature/following_reblogs 2019-10-08 16:49:03 +03:00
Maksim Pechnikov
a26d550137 updated user_card 2019-10-08 16:46:54 +03:00
Maksim Pechnikov
9c305c5f93 Revert "added acccount_actions component"
This reverts commit 188b6f56ed.
2019-10-08 10:21:40 +03:00
tarteka
16c03995cb [i18n] spanish new strings translations
update to translate the latest text strings
2019-10-07 21:21:16 +02:00
Henry Jameson
d0800d0bd8 removed unused thing 2019-10-07 20:44:03 +03:00
Henry Jameson
e7532464e3 Replaced most trivial checkboxes with Checkbox component 2019-10-07 20:43:23 +03:00
Echedey López Romero
97f9628bea Little fix to "login"/"description" and "register" strings to es.json referenced as verbs. 2019-10-07 12:34:38 +00:00
tarteka
67436ed144 update and fix 2019-10-07 10:22:17 +02:00
Henry Jameson
8ee50f9f16 replace checkboxes in user-settings with Checkbox component 2019-10-07 00:05:21 +03:00
Henry Jameson
0be86304d2 Fix tests, more replacing with mergedConfig 2019-10-06 23:28:30 +03:00
HJ
122323f35c Merge branch 'docs/add-links' into 'develop'
Minor documentation improvements

See merge request pleroma/pleroma-fe!965
2019-10-04 14:30:29 +00:00
rinpatch
c07bf59da7 Move the epigraph after the heading so MkDocs can pick up the heading 2019-10-04 17:24:36 +03:00
rinpatch
2060dd8377 Add links to directions in the beginning of CONFIGURATION.md 2019-10-04 17:12:14 +03:00
rinpatch
e82405ae35 Merge branch 'docs-sync' into 'develop'
CI: trigger doc rebuild on commits to develop

See merge request pleroma/pleroma-fe!964
2019-10-03 16:09:54 +00:00
rinpatch
4b8c9a03f2 CI: trigger doc rebuild on commits to develop 2019-10-03 18:48:16 +03:00
HJ
84dbc86624 Merge branch 'admin-link' into 'develop'
Add Admin panel link to navigation for admins

See merge request pleroma/pleroma-fe!954
2019-10-02 20:12:44 +00:00
taehoon
33759e4153 update admin url 2019-10-02 13:28:16 -04:00
taehoon
7e5a3fa09f update copy 2019-10-01 07:36:42 -04:00
taehoon
503f086487 add trailing slash to admin url 2019-10-01 07:36:42 -04:00
taehoon
d9b01643e2 open in a new tab 2019-10-01 07:36:42 -04:00
taehoon
093fcee902 add admin link to the side drawer 2019-10-01 07:36:41 -04:00
taehoon
4f75ad9905 add admin link to nav 2019-10-01 07:36:41 -04:00
taehoon
57fedd63ca add gauge icon 2019-10-01 07:36:41 -04:00
kaniini
f3fdc92f15 Merge branch 'fix-regex-normalizer' into 'develop'
fix regex shortcode problem

Closes #675

See merge request pleroma/pleroma-fe!963
2019-10-01 06:29:31 +00:00
Henry Jameson
a2923570c3 fix regex shortcode problem 2019-09-30 23:45:03 +03:00
Maksim Pechnikov
188b6f56ed added acccount_actions component 2019-09-30 20:36:14 +03:00
Shpuld Shpludson
bcfdd68e70 Merge branch 'i18n/update-ja_pedantic' into 'develop'
i18n/Update Pedantic Japanese Messages

See merge request pleroma/pleroma-fe!962
2019-09-30 05:09:05 +00:00
Hakaba Hitoyo
194979783e i18n/Update Pedantic Japanese Messages 2019-09-30 05:09:05 +00:00
Shpuld Shpludson
b90137631f Merge branch 'i18n/update-ja' into 'develop'
i18n/Update Japanese Messages

See merge request pleroma/pleroma-fe!961
2019-09-30 05:07:57 +00:00
Hakaba Hitoyo
087a5b612d i18n/Update Japanese Messages 2019-09-30 05:07:57 +00:00
Shpuld Shpludson
767b965780 Merge branch '672' into 'develop'
Make post status modal state persistent unless reply user is changed

Closes #672

See merge request pleroma/pleroma-fe!959
2019-09-30 05:05:12 +00:00
Henry Jameson
20fc259350 fixed default values for multi-choice configurations, should also fix warnings 2019-09-30 00:04:43 +03:00
Henry Jameson
39b71e5dd6 Removed all whole mess of manual watch/data declaration, now fully automatic 2019-09-29 23:47:26 +03:00
Henry Jameson
979e170bd6 created mergedConfig getter to avoid obnoxious checks for undefined everywhere 2019-09-29 22:33:15 +03:00
taehoon
50d9ed0007 reset post status form only when reply user is changed 2019-09-28 16:35:39 -04:00
kaniini
aadd36f3ec Merge branch 'refactor-who-to-follow' into 'develop'
Small refactoring in who to follow page

See merge request pleroma/pleroma-fe!932
2019-09-26 22:32:40 +00:00
Hakaba Hitoyo
bc17839e52 Small refactoring in who to follow page 2019-09-26 22:32:39 +00:00
kaniini
9ef0e65b25 Merge branch 'feature/add-discoverable-preference' into 'develop'
Feature/Add _Allow user discovery services_ preference

See merge request pleroma/pleroma-fe!947
2019-09-26 22:31:28 +00:00
Hakaba Hitoyo
194dd88118 Feature/Add _Allow user discovery services_ preference 2019-09-26 22:31:28 +00:00
kaniini
4369ce6f1b Merge branch 'hide-followers-follows-count' into 'develop'
Added a setting to hide follow/follower count from the user profile

See merge request pleroma/pleroma-fe!951
2019-09-26 22:20:01 +00:00
Maksim Pechnikov
19cb98b85f Merge branch 'develop' into feature/following_reblogs 2019-09-26 21:14:31 +03:00
Maksim Pechnikov
c02433b7e6 revert font 2019-09-26 16:35:00 +03:00
HJ
501208d350 Merge branch 'emoji-selector-update' into 'develop'
Emoji selector update

Closes #101

See merge request pleroma/pleroma-fe!895
2019-09-26 05:27:59 +00:00
Henry Jameson
836cb817d1 fix tests 2019-09-25 20:54:07 +03:00
Henry Jameson
a3305799c7 Merge remote-tracking branch 'upstream/develop' into emoji-selector-update
* upstream/develop: (42 commits)
  Fix formatting in oc.json
  avoid using global class
  fix logo moving bug when lightbox is open
  Reserve scrollbar gap when body scroll is locked
  setting display: initial makes trouble, instead, toggle display: none using classname
  lock body scroll
  add body-scroll-lock directive
  install body-scroll-lock
  wire up props with PostStatusModal
  rename component
  recover autofocusing behavior
  refactor MobilePostStatusModal using new PostStatusModal
  add new module and modal to post new status
  remove needless condition
  add mention button
  wire up user state with global store
  collapse fav/repeat notifications from muted users
  do not collapse thread muted posts in conversation
  detect thread-muted posts
  do not change word based muting logic
  ...
2019-09-25 20:26:49 +03:00
Henry Jameson
2f26e8acc5 eslint 2019-09-25 20:23:55 +03:00
Henry Jameson
e6d2cf77af fix emoji inputs in user-settings, styles update 2019-09-25 20:11:06 +03:00
Henry Jameson
0b300e1708 bump z-index so that picker/suggest doesn't get overlapped by mobile button 2019-09-25 20:01:06 +03:00
Henry Jameson
e805303d3a Scroll emoji picker into view if it's obstructed 2019-09-25 19:58:15 +03:00
Henry Jameson
e3ceae0989 very important fix 2019-09-25 19:32:30 +03:00
Henry Jameson
0d6a9f5a62 comment, cleanup and improve autoresize/autoscroll 2019-09-25 19:30:55 +03:00
Shpuld Shpuldson
e55645aec1 Fix formatting in oc.json 2019-09-25 10:25:44 +03:00
Shpuld Shpludson
170372b2bc Merge branch '616' into 'develop'
Lock body scroll when lightbox is open

Closes #616

See merge request pleroma/pleroma-fe!886
2019-09-25 07:16:23 +00:00
Shpuld Shpludson
49ea63ddf3 Merge branch 'develop' into 'develop'
[i18n] Update for the Occitan language file

See merge request pleroma/pleroma-fe!901
2019-09-25 07:12:34 +00:00
Shpuld Shpludson
7a1081aa66 Merge branch 'es-translate' into 'develop'
[i18n] Update es translate

See merge request pleroma/pleroma-fe!944
2019-09-25 07:10:11 +00:00
Shpuld Shpludson
4c55e0d1be Merge branch 'eu-translate' into 'develop'
[i18n] update eu translate

See merge request pleroma/pleroma-fe!943
2019-09-25 07:09:57 +00:00
Shpuld Shpludson
ccba92a27c Merge branch '639-2' into 'develop'
Add "Mention user" button to user card

Closes #639

See merge request pleroma/pleroma-fe!955
2019-09-25 06:41:26 +00:00
Shpuld Shpludson
61bb02ef06 Merge branch '657' into 'develop'
Collapse fav/repeat notifications from muted users

Closes #657

See merge request pleroma/pleroma-fe!945
2019-09-25 06:24:41 +00:00
Henry Jameson
0f55359b49 fix 2019-09-25 08:43:02 +03:00
Henry Jameson
4f563e6efb account for parent padding, too 2019-09-25 08:36:30 +03:00
Henry Jameson
daa0e284c3 forgotten file 2019-09-25 00:21:55 +03:00
Henry Jameson
ca92e29401 WIP: fixed autoscroll, restructured Post Status Form's resize method "a bit" 2019-09-25 00:17:04 +03:00
Henry Jameson
2154152d08 fix some bugs 2019-09-24 00:06:53 +03:00
Henry Jameson
6f0257cd7d autoscroll post form on typing + some minor improvements 2019-09-23 22:12:25 +03:00
Henry Jameson
7b4cb38734 split spam mode into two separate options (one in settings page) 2019-09-23 20:36:49 +03:00
eugenijm
aafb29c589 Added a setting to hide follow/follower count from the user profile 2019-09-23 16:19:21 +03:00
Maksim Pechnikov
f0b9f5d29c use repeats intead boosts 2019-09-22 14:45:42 +03:00
Maksim Pechnikov
8ad145598d fontello/ added eye icon 2019-09-21 16:25:45 +03:00
Maksim Pechnikov
8721fb57fc added support hide\show reblogs from a specific user 2019-09-21 16:24:47 +03:00
taehoon
7fe6ba2401 avoid using global class 2019-09-20 11:35:47 -04:00
taehoon
37ae0fd92c fix logo moving bug when lightbox is open 2019-09-20 11:35:47 -04:00
taehoon
92be5a6877 Reserve scrollbar gap when body scroll is locked 2019-09-20 11:35:47 -04:00
taehoon
ae70439447 setting display: initial makes trouble, instead, toggle display: none using classname 2019-09-20 11:35:47 -04:00
taehoon
ad504768fe lock body scroll 2019-09-20 11:35:47 -04:00
taehoon
8b321f6f1f add body-scroll-lock directive 2019-09-20 11:35:47 -04:00
taehoon
60c3501d35 install body-scroll-lock 2019-09-20 11:35:47 -04:00
taehoon
c8a18f387c wire up props with PostStatusModal 2019-09-20 11:29:31 -04:00
taehoon
d6a941a128 rename component 2019-09-20 11:29:29 -04:00
taehoon
0c8038d4f6 recover autofocusing behavior 2019-09-20 11:29:27 -04:00
taehoon
a9f33272a8 refactor MobilePostStatusModal using new PostStatusModal 2019-09-20 11:29:26 -04:00
taehoon
f4bbf1d4e2 add new module and modal to post new status 2019-09-20 11:29:24 -04:00
taehoon
90981dcce6 remove needless condition 2019-09-20 11:29:23 -04:00
taehoon
5ff899b455 add mention button 2019-09-20 11:29:21 -04:00
taehoon
f8139e369c wire up user state with global store 2019-09-20 11:25:00 -04:00
taehoon
8618857aa3 collapse fav/repeat notifications from muted users 2019-09-20 11:25:00 -04:00
Shpuld Shpludson
dcef84363f Merge branch 'muting-fixes' into 'develop'
Properly detect thread-muted posts and set `with_muted` when fetching notifications

See merge request pleroma/pleroma-fe!941
2019-09-20 15:23:13 +00:00
rinpatch
1306fac38f Merge branch 'develop' into 'muting-fixes'
# Conflicts:
#   src/components/status/status.js
2019-09-16 11:38:37 +00:00
Shpuld Shpludson
9b163d2816 Merge branch '656' into 'develop'
Do not collapse thread muted posts when it's expanded/on the thread page and do not collapse muted user's posts on muted user's profile page

Closes #656

See merge request pleroma/pleroma-fe!953
2019-09-16 07:27:06 +00:00
HJ
3cd23ae2d4 Apply suggestion to src/components/emoji_input/emoji_input.js 2019-09-16 07:23:56 +00:00
Henry Jameson
c933f5edfc changelog 2019-09-15 17:22:14 +03:00
HJ
c78c7e7734 Update docs/USER_GUIDE.md 2019-09-15 13:43:42 +00:00
Henry Jameson
f961ce0f98 docs update 2019-09-15 16:41:14 +03:00
Henry Jameson
db961af3c8 unit test for emoji input, for now covering only insertion mechanism 2019-09-15 16:01:57 +03:00
Henry Jameson
312e2aa14f fix bottom-left icons being too damn wide 2019-09-15 12:51:39 +03:00
Henry Jameson
a1ed1b9b53 improved post form's icons at bottom display 2019-09-15 12:30:07 +03:00
Henry Jameson
e366adbb6c updated logic for padding with spaces, improved spam mode 2019-09-15 12:30:02 +03:00
Henry Jameson
d2fe797821 update status/user card to use same gradient mask fading effect instead of
background hack
2019-09-15 02:14:40 +03:00
Henry Jameson
f0cb6fe03f Fixed scrollability not being obvious, added fade effect 2019-09-15 01:16:54 +03:00
taehoon
baebf08d20 do not collapse thread muted posts in conversation 2019-09-13 22:59:45 -04:00
taehoon
6a3f283256 detect thread-muted posts 2019-09-13 22:59:24 -04:00
taehoon
2f79a7b4a0 do not change word based muting logic 2019-09-13 16:55:17 -04:00
taehoon
b10558f721 do not collapse muted user's posts on muted user's media timeline 2019-09-13 16:17:51 -04:00
taehoon
09deb69bc7 do not collapse muted user's posts on muted user's profile page 2019-09-13 15:38:04 -04:00
Shpuld Shpludson
09db4ceb1a Merge branch 'fix/italics-not-selectable' into 'develop'
fix italics not being selectable

See merge request pleroma/pleroma-fe!952
2019-09-13 17:21:15 +00:00
Shpuld Shpuldson
794481d76c fix italics not being selectable 2019-09-13 20:16:05 +03:00
Henry Jameson
3505e53756 review/naming + bugfix for stickers 2019-09-12 20:36:43 +03:00
Henry Jameson
9bd0ed7912 updated logic for hiding picker and also added ability to hide suggestions with
esc key
2019-09-12 20:25:11 +03:00
Henry Jameson
0d8b68632b Remove emoji zoom 2019-09-12 20:25:11 +03:00
Shpuld Shpludson
4a469d7fe3 Merge branch 'fix/follow-request-detection' into 'develop'
Utilize `user.requested` to display follow request status on user card

Closes #635

See merge request pleroma/pleroma-fe!942
2019-09-12 07:02:11 +00:00
Shpuld Shpludson
2bb053dd71 Merge branch 'develop' into 'develop'
Develop

See merge request pleroma/pleroma-fe!950
2019-09-12 06:58:19 +00:00
davidyin
a8cddecd41 fix some translation about blocks 2019-09-11 22:37:19 -07:00
davidyin
d0fc509ad1 Complete the Chinese language file based on the version 0.9.999 2019-09-10 19:50:06 -07:00
HJ
4f0195b05c Apply suggestion to src/components/emoji_picker/emoji_picker.vue 2019-09-10 18:39:45 +00:00
tarteka
6217ef4718 fix some translates 2019-09-10 10:09:07 +02:00
Shpuld Shpludson
753d15ed37 Merge branch '651' into 'develop'
Fix "Needless context api requests when click timeago in conversation page"

Closes #651

See merge request pleroma/pleroma-fe!934
2019-09-09 19:47:58 +00:00
HJ
9651293956 Apply suggestion to src/components/emoji_picker/emoji_picker.js 2019-09-09 19:42:33 +00:00
Shpuld Shpludson
a4a4c46fe7 Merge branch '648-2' into 'develop'
Fix wrong body css while toggling visibility

Closes #648

See merge request pleroma/pleroma-fe!930
2019-09-09 19:22:11 +00:00
Henry Jameson
9146bee7aa better hitbox for status emoji 2019-09-08 21:18:52 +03:00
Henry Jameson
7360a4d9ef fix aspect 2019-09-08 17:11:45 +03:00
HJ
2237da0151 Apply suggestion to src/components/emoji_input/emoji_input.js 2019-09-08 14:08:39 +00:00
Henry Jameson
4f88bb4ea1 scale emoji on hover 2019-09-08 17:01:28 +03:00
Henry Jameson
83f45167b6 added emoji zoom for picker 2019-09-08 16:56:54 +03:00
Henry Jameson
94afc5ee19 fixed scroll when switching back to emoji 2019-09-08 15:57:49 +03:00
Henry Jameson
14df84d89b fixed some bugs, added spam mode, minor collateral fixes 2019-09-08 15:51:17 +03:00
Henry Jameson
db086fe1fd Merge remote-tracking branch 'upstream/develop' into emoji-selector-update
* upstream/develop: (116 commits)
  Password reset page
  add a comment
  force img updating immediately
  Fixed "sequimiento" to "seguimiento".
  Replace `/api/externalprofile/show.json` with a MastoAPI equialent
  Use mastodon api in follow requests
  "Optional" in lowercase.
  Update es.json
  fix pin/unpin status logic
  rename a mutation
  update
  fix user avatar fallback logic
  remove dead code
  Corrected "Media Proxy" translation.
  Update es.json
  make bio textarea resizable vertically only
  remove dead code
  Make image orientation consistent on FF, fix videos w/ modal
  remove dead code
  fix crazy watch logic in conversation
  ...
2019-09-08 13:44:29 +03:00
tarteka
5026d3719a fix some translates 2019-09-07 09:07:34 +02:00
tarteka
17a97ee6f5 fix some translates 2019-09-07 09:00:25 +02:00
taehoon
ea5b36a597 refactor toggling body visibility using class 2019-09-06 11:17:29 -04:00
taehoon
9727009147 update prop name 2019-09-06 11:17:05 -04:00
taehoon
482cd52f77 stop fetching whole conversation when change highlighted status 2019-09-06 11:17:04 -04:00
taehoon
c1f3b0dc75 refactoring 2019-09-06 11:17:04 -04:00
taehoon
214ab22c4c update prop binding 2019-09-06 11:17:04 -04:00
taehoon
d7c68d408f accept status id instead of status obj as statusoid prop 2019-09-06 11:17:04 -04:00
tarteka
1167bafb19 Update es translate 2019-09-06 14:58:20 +02:00
tarteka
f48d12b4bc update eu translate 2019-09-06 14:24:37 +02:00
Shpuld Shpludson
e75ac9ddbc Merge branch 'mastoapi-externalprofile' into 'develop'
Replace `/api/externalprofile/show.json` with a MastoAPI equialent

See merge request pleroma/pleroma-fe!938
2019-09-06 04:13:21 +00:00
Shpuld Shpludson
702dc6963c Merge branch 'password-reset' into 'develop'
Password reset page

Closes #213

See merge request pleroma/pleroma-fe!884
2019-09-05 11:23:28 +00:00
Eugenij
8ee5abb1a5 Password reset page 2019-09-05 11:23:28 +00:00
rinpatch
424d4ab57e Utilize user.requested to display follow request status on user card
Closes #635
2019-09-05 11:17:53 +03:00
rinpatch
b33667a743 Avoid iterating over statuses to set thread_muted if the backend does
not support the extension
2019-09-04 22:17:29 +03:00
rinpatch
1a5a7bbebf Set thread_muted for all statuses with the same conversation id on
status mute/unmute
2019-09-04 21:11:13 +03:00
HJ
c89703a359 Merge branch '655' into 'develop'
Fix "User avatar not updating immediately when switching user profile"

Closes #655

See merge request pleroma/pleroma-fe!940
2019-09-04 16:55:07 +00:00
taehoon
d194431642 add a comment 2019-09-04 11:24:24 -04:00
taehoon
cdbb8ca8b9 force img updating immediately 2019-09-04 11:24:24 -04:00
rinpatch
66a34b7ecf Properly detect thread-muted posts and set with_muted when fetching
notifications
2019-09-04 12:20:33 +03:00
HJ
a1aada2454 Merge branch 'patch-2' into 'develop'
Fixed "sequimiento" to "seguimiento". Spanish translation.

See merge request pleroma/pleroma-fe!939
2019-09-03 21:16:11 +00:00
Echedey López Romero
d1244e4896 Fixed "sequimiento" to "seguimiento". 2019-09-03 17:51:50 +00:00
rinpatch
457290e81e Replace /api/externalprofile/show.json with a MastoAPI equialent
`/api/v1/accounts/:id` supports remote nicknames since pleroma!1622
2019-09-03 19:59:28 +03:00
HJ
49159e6db3 Merge branch 'mastoapi-follow-reqs' into 'develop'
Use mastodon api in follow requests

See merge request pleroma/pleroma-fe!937
2019-09-03 10:58:17 +00:00
rinpatch
8e3d6f5c28 Use mastodon api in follow requests 2019-09-03 13:50:26 +03:00
Shpuld Shpludson
6238fe3633 Merge branch '652' into 'develop'
Fix "TypeError: Cannot set property 'pinned' of undefined"

Closes #652

See merge request pleroma/pleroma-fe!936
2019-09-03 04:48:24 +00:00
Shpuld Shpludson
c43a5ab992 Merge branch 'patch-1' into 'develop'
Some corrections to the spanish translation

See merge request pleroma/pleroma-fe!929
2019-09-03 04:11:16 +00:00
Shpuld Shpludson
fbfedf0084 Merge branch 'fix/attachment-css' into 'develop'
Make image orientation consistent on FF, fix videos w/ modal

See merge request pleroma/pleroma-fe!926
2019-09-03 04:09:56 +00:00
Echedey López Romero
66e9f17c58 "Optional" in lowercase. 2019-09-02 11:41:30 +00:00
Echedey López Romero
4f82ea0fea Update es.json 2019-09-01 21:57:07 +00:00
taehoon
daf7d4e661 fix pin/unpin status logic 2019-09-01 13:07:43 -04:00
taehoon
13b80b5c7c rename a mutation 2019-09-01 13:07:43 -04:00
HJ
9825a857f3 Merge branch 'docs' into 'develop'
Documentation

See merge request pleroma/pleroma-fe!718
2019-08-31 19:44:44 +00:00
Henry Jameson
9e3891de61 Merge remote-tracking branch 'upstream/docs' into docs
* upstream/docs:
  Apply suggestion to docs/HACKING.md
  Apply suggestion to docs/CONFIGURATION.md
2019-08-31 22:39:56 +03:00
Henry Jameson
2dfba76772 update 2019-08-31 22:39:26 +03:00
Henry Jameson
18ec13d796 Merge remote-tracking branch 'upstream/develop' into docs
* upstream/develop: (193 commits)
  fix user avatar fallback logic
  remove dead code
  make bio textarea resizable vertically only
  remove dead code
  remove dead code
  fix crazy watch logic in conversation
  show three dot button only if needed
  hide mute conversation button to guests
  update keyBy
  generate idObj at timeline level
  fix pin showing logic in conversation
  Show a message when JS is disabled
  Initialize chat only if user is logged in and it wasn't initialized before
  i18n/Update Japanese
  i18n/Update pedantic Japanese
  sync profile tab state with location query
  refactor TabSwitcher
  use better name of controlled prop
  fix potential bug to render active tab in controlled way
  remove unused param
  ...
2019-08-31 22:38:02 +03:00
Shpuld Shpludson
018a650166 Merge branch 'remove-dead-code' into 'develop'
Remove dead code

See merge request pleroma/pleroma-fe!927
2019-08-29 17:16:57 +00:00
Shpuld Shpludson
814ba88f1c Merge branch 'fix-user-avatar-fallback' into 'develop'
Fix broken user avatar fallback logic

See merge request pleroma/pleroma-fe!933
2019-08-29 17:10:18 +00:00
taehoon
9476fbba5a fix user avatar fallback logic 2019-08-28 14:02:04 -04:00
taehoon
c01d2543d5 remove dead code 2019-08-28 13:06:57 -04:00
Echedey López Romero
a15810afc8 Corrected "Media Proxy" translation. 2019-08-27 19:07:07 +00:00
Echedey López Romero
50bf9e633b Update es.json 2019-08-26 21:37:39 +00:00
HJ
8c465719cc Merge branch '650' into 'develop'
Make bio textarea resizable vertically only

Closes #650

See merge request pleroma/pleroma-fe!928
2019-08-26 21:18:11 +00:00
taehoon
e1c2c5cfed make bio textarea resizable vertically only 2019-08-26 16:00:19 -04:00
HJ
8e33934e50 Merge branch 'remove-dead-code' into 'develop'
Remove dead code

See merge request pleroma/pleroma-fe!925
2019-08-26 18:34:56 +00:00
taehoon
a0712270aa remove dead code 2019-08-26 14:29:40 -04:00
Shpuld Shpuldson
15c4088a68 Make image orientation consistent on FF, fix videos w/ modal 2019-08-26 14:08:30 +03:00
taehoon
7b5cdab7cd remove dead code 2019-08-25 16:58:13 -04:00
Shpuld Shpludson
0e21c3cdd9 Merge branch '646' into 'develop'
Fix "Making hundreds of needless api requests in profile page"

Closes #646

See merge request pleroma/pleroma-fe!923
2019-08-25 20:03:06 +00:00
taehoon
9b8bf655e1 fix crazy watch logic in conversation 2019-08-23 13:49:39 -04:00
Shpuld Shpludson
d7647be812 Merge branch '645' into 'develop'
Show "Mute Conversation" menu item and three dot button to users and only if needed

Closes #645

See merge request pleroma/pleroma-fe!922
2019-08-21 04:56:38 +00:00
taehoon
65579796ed show three dot button only if needed 2019-08-20 17:00:28 -04:00
taehoon
92a0c475f7 hide mute conversation button to guests 2019-08-20 16:55:42 -04:00
Shpuld Shpludson
6504d8ca0f Merge branch '640' into 'develop'
Fix "Mixed pin markers from multiple users"

Closes #640

See merge request pleroma/pleroma-fe!919
2019-08-18 08:24:56 +00:00
taehoon
4bedbfea3c update keyBy 2019-08-17 22:10:01 -04:00
taehoon
1146119d6a generate idObj at timeline level 2019-08-17 14:33:32 -04:00
taehoon
4b444708f2 fix pin showing logic in conversation 2019-08-17 14:33:32 -04:00
Shpuld Shpludson
61f61947ad Merge branch 'feature/noscript-message' into 'develop'
Show a message when JS is disabled

Closes pleroma#827

See merge request pleroma/pleroma-fe!822
2019-08-17 08:26:00 +00:00
Sergey Suprunenko
6795769b93 Show a message when JS is disabled 2019-08-17 08:26:00 +00:00
Shpuld Shpludson
7f35489e3e Merge branch 'fix/chat-issues' into 'develop'
Initialize chat only if user is logged in and it wasn't initialized before

Closes pleroma#1067, pleroma#856, pleroma#1080, and #394

See merge request pleroma/pleroma-fe!894
2019-08-17 08:18:42 +00:00
Sergey Suprunenko
d74f6ed6ea Initialize chat only if user is logged in and it wasn't initialized before 2019-08-17 08:18:42 +00:00
Shpuld Shpludson
58713e342d Merge branch 'eu-translate' into 'develop'
add Basque translate

See merge request pleroma/pleroma-fe!900
2019-08-17 08:16:45 +00:00
Shpuld Shpludson
84c3403143 Merge branch 'es-translate' into 'develop'
[i18n] Spanish corrections

See merge request pleroma/pleroma-fe!904
2019-08-17 08:15:06 +00:00
Shpuld Shpludson
aef97bc9bc Merge branch 'update-nb' into 'develop'
Update norwegian bokmål translation

See merge request pleroma/pleroma-fe!906
2019-08-17 08:14:47 +00:00
Shpuld Shpludson
71eccabbe0 Merge branch 'i18n/update-japanese' into 'develop'
i18n/Update Japanese

See merge request pleroma/pleroma-fe!911
2019-08-17 08:14:18 +00:00
Hakaba Hitoyo
091fb5573c i18n/Update Japanese 2019-08-17 08:14:17 +00:00
Shpuld Shpludson
271cf18f3c Merge branch 'i18n/update-pedantic-japanese' into 'develop'
i18n/Update pedantic Japanese

See merge request pleroma/pleroma-fe!912
2019-08-17 08:14:00 +00:00
Hakaba Hitoyo
fc68c3907d i18n/Update pedantic Japanese 2019-08-17 08:14:00 +00:00
Shpuld Shpludson
e8fad7a460 Merge branch 'telugu-translation' into 'develop'
i18n: Translated to Telugu (44.3%)

See merge request pleroma/pleroma-fe!913
2019-08-17 08:13:29 +00:00
Shpuld Shpludson
e5fe4f420c Merge branch '564' into 'develop'
Restore scroll position for user profile when navigate back and forward

Closes #636 and #564

See merge request pleroma/pleroma-fe!914
2019-08-17 08:12:21 +00:00
taehoon
7dfcabb543 sync profile tab state with location query 2019-08-15 13:25:38 -04:00
taehoon
e8c22fbfa3 refactor TabSwitcher 2019-08-15 13:25:38 -04:00
taehoon
6e51774ccb use better name of controlled prop 2019-08-15 13:25:38 -04:00
taehoon
eafd53f994 fix potential bug to render active tab in controlled way 2019-08-15 13:25:38 -04:00
taehoon
9dd9ba0205 remove unused param 2019-08-15 13:25:38 -04:00
taehoon
df3e80b7c3 use key prop instead of dataset to identify active tab 2019-08-15 13:25:38 -04:00
taehoon
cd14566a34 remove useless index param of onSwitch 2019-08-15 13:25:38 -04:00
taehoon
539913673f reset error state when load new profile 2019-08-15 13:25:38 -04:00
taehoon
2e0603bdca clear timelines only if load user not viewed previously 2019-08-15 13:25:38 -04:00
HJ
9f6be4fe65 Merge branch 'fix/fix-link-to-external-users-in-who-to-follow-page' into 'develop'
Fix/Fix links to external users in Who to follow page

See merge request pleroma/pleroma-fe!918
2019-08-15 17:19:49 +00:00
Hakaba Hitoyo
dd340bb9e3 Fix/Fix links to external users in Who to follow page 2019-08-15 17:19:49 +00:00
Shpuld Shpludson
877a71fa41 Merge branch '293' into 'develop'
Detect hashtag using rel instead of class

Closes #293

See merge request pleroma/pleroma-fe!908
2019-08-14 05:24:19 +00:00
Shpuld Shpludson
0ea1f6f582 Merge branch 'fix-chrome-logo' into 'develop'
Fix logo being all kinds of fucked on chrome by recovering autoprefixer

See merge request pleroma/pleroma-fe!917
2019-08-14 05:23:44 +00:00
Henry Jameson
aeae25b74e revives autoprefixer which went AWOL during Webpack v1 -> v4 migration 2019-08-14 01:18:07 +03:00
taehoon
9229f28edb rel also accepts list, update rel detection logic 2019-08-13 13:11:37 -04:00
taehoon
5aa2c44487 use hashtag class detection as fallback 2019-08-12 15:22:39 -04:00
taehoon
5e99bad417 detect hashtag using rel instead of class 2019-08-12 14:48:11 -04:00
Shpuld Shpludson
58b9b6c0a2 Merge branch '638' into 'develop'
Fix inconsistent space bug between panels

Closes #638

See merge request pleroma/pleroma-fe!916
2019-08-12 18:42:58 +00:00
taehoon
0bce615fe8 hide ISP if the panel content is empty 2019-08-12 14:29:11 -04:00
HJ
07086ec9ae Merge branch '637' into 'develop'
Fix user card overflow bug

Closes #637

See merge request pleroma/pleroma-fe!915
2019-08-12 18:04:52 +00:00
taehoon
a71d14704f fix user card overflow bug 2019-08-12 13:59:39 -04:00
Henry Jameson
5851f97eb0 fixed a lot of bugs with emoji picker, improved relevant components 2019-08-12 20:03:48 +03:00
Henry Jameson
579b5c9e77 initial attempts at making emoji-picker somewhat extensible 2019-08-12 14:20:08 +03:00
Henry Jameson
036882d27c rename for consistency 2019-08-12 13:51:05 +03:00
shpuld
f1bdbeabf0 fix js error on mute 2019-08-10 15:53:46 +03:00
Joseph Nuthalpati
5e0b4e06ec
i18n: Translated to Telugu (44.3%)
Verified that the translation strings work by running Pleroma-FE locally.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-08-10 16:50:59 +05:30
HJ
7e2d48a26e Merge branch 'fix/incorrect-follow-request-status' into 'develop'
Fix sent follow request detection

See merge request pleroma/pleroma-fe!910
2019-08-09 12:57:05 +00:00
rinpatch
114b5f6eff Apply suggestion to src/services/follow_manipulate/follow_manipulate.js 2019-08-09 12:26:58 +00:00
rinpatch
5f3ac6625f Apply suggestion to src/services/follow_manipulate/follow_manipulate.js 2019-08-09 12:25:58 +00:00
rinpatch
e83b321ff2 Apply suggestion to src/services/follow_manipulate/follow_manipulate.js 2019-08-09 12:01:57 +00:00
rinpatch
766bcc2a72 Fix sent follow request detection
This fixes `requestFollow` using the relationship instead of user object,
resulting in `sent` always being false for locked users, and also removes
assumptions about follow request being sent, instead relying on
`requested` from user relationship.
2019-08-09 15:01:13 +03:00
HJ
59f2931361 Merge branch 'fix/text-dont-media-viewer' into 'develop'
fix english settings label regarding how to view videos

See merge request pleroma/pleroma-fe!909
2019-08-09 08:31:02 +00:00
matrixsasuke
3e7f0ecf9b fix english settings label regarding how to view videos 2019-08-09 08:03:21 +02:00
shpuld
d4c366a123 fix extra buttons merge bug 2019-08-08 21:24:40 +03:00
Shpuld Shpludson
a45f258a2c Merge branch '632' into 'develop'
Fix gif image zoom bug on hover

Closes #632

See merge request pleroma/pleroma-fe!905
2019-08-08 10:12:46 +00:00
Shpuld Shpludson
acb788d575 Merge branch '631' into 'develop'
Hide image block in rich media preview in case of broken image

Closes #631

See merge request pleroma/pleroma-fe!902
2019-08-08 10:10:58 +00:00
Shpuld Shpludson
74cf601094 Merge branch '627' into 'develop'
Fix "Post status modal disappearing on mobile landscape mode"

Closes #627

See merge request pleroma/pleroma-fe!899
2019-08-08 10:10:23 +00:00
Shpuld Shpludson
92380652fe Merge branch 'feat/conversation-muting' into 'develop'
Add Conversation/Thread Muting

See merge request pleroma/pleroma-fe!876
2019-08-08 10:09:07 +00:00
morguldir
b9fd3bebc5
Update norwegian bokmål translation 2019-08-08 00:47:48 +02:00
taehoon
4d54c67daa make size of gif image and preview equal 2019-08-06 22:41:27 -04:00
taehoon
32b4d4d223 css improvements 2019-08-06 20:53:10 -04:00
taehoon
a13c945143 do not unmount post status modal in desktop 2019-08-06 20:53:09 -04:00
taehoon
bb9cee84a3 hide rich media preview image in case of broken image 2019-08-06 20:52:42 -04:00
HJ
17dc7357d5 Merge branch 'issue-617' into 'develop'
Handle JSONified errors while registering

Closes #617

See merge request pleroma/pleroma-fe!888
2019-08-06 18:03:32 +00:00
Lee Starnes
4fc27414d2 Handle JSONified errors while registering
Closes #617
2019-08-06 18:03:31 +00:00
tarteka
c0e8d1a809 Corrections and semantics changes for Spanish translation 2019-08-05 15:23:39 +02:00
Exilat
39106dc545 Update oc.json 2019-08-03 14:04:49 +00:00
Exilat
920bd05081 Update for Interactions, new search, sticker picker, update copy. 2019-08-03 13:55:05 +00:00
tarteka
5f6456703c add Basque translate 2019-08-01 18:21:32 +02:00
HJ
5d70ada203 Apply suggestion to docs/HACKING.md 2019-08-01 15:51:15 +00:00
Shpuld Shpludson
0e6489d840 Merge branch 'patch-2' into 'develop'
Update es.json (add sticker)

See merge request pleroma/pleroma-fe!893
2019-07-31 17:46:40 +00:00
Shpuld Shpludson
f031e96334 Merge branch '618' into 'develop'
Ability to enlarge profile picture in profile page

Closes #618

See merge request pleroma/pleroma-fe!890
2019-07-31 17:46:24 +00:00
Shpuld Shpludson
f4b9efff77 Merge branch 'focus-on-search-input' into 'develop'
Focus on the search input when the search icon is clicked

See merge request pleroma/pleroma-fe!896
2019-07-31 17:39:35 +00:00
Eugenij
254648991d Focus on the search input when the search icon is clicked 2019-07-31 17:39:35 +00:00
Shpuld Shpludson
3f4cb1d58e Merge branch '626' into 'develop'
Prevent scrolling top when click search input

Closes #626

See merge request pleroma/pleroma-fe!898
2019-07-31 17:39:26 +00:00
taehoon
af75791f1b prevent scrolling top when click search input 2019-07-31 12:20:05 -04:00
taehoon
be7a508d89 add zoom-in indication to avatar 2019-07-28 21:05:13 -04:00
taehoon
1e613ae9b3 add zoom-in icon 2019-07-28 21:05:13 -04:00
taehoon
b2bd128f05 allow zooming avatar in profile panel header 2019-07-28 21:05:13 -04:00
taehoon
5881d92eb7 use $route instead of $router.currentRoute 2019-07-28 21:05:13 -04:00
taehoon
7c2982064e enlarge avatar in profile page 2019-07-28 21:05:13 -04:00
Henry Jameson
fd66afe1e5 linting 2019-07-29 00:10:43 +03:00
HJ
8aa3e7d52e Merge branch '549' into 'develop'
Prevent showing pinned statuses twice

Closes #549

See merge request pleroma/pleroma-fe!812
2019-07-28 21:05:22 +00:00
taehoon
18a41e785e update unit test 2019-07-28 16:55:34 -04:00
Henry Jameson
03c2f29b0a cleanup and appropriation for new emoji-input component API, styles updates 2019-07-28 16:07:01 +03:00
Henry Jameson
4c78fdb393 rename emoji-selector to emoji-picker 2019-07-28 14:41:22 +03:00
Henry Jameson
259e8c52ee post-merge fix 2019-07-28 13:33:05 +03:00
Henry Jameson
b3aff9bbae Merge remote-tracking branch 'upstream/develop' into emoji-selector-update
* upstream/develop: (469 commits)
  Feature/add sticker picker
  guard more secure routes
  guard secure routes by redirecting to root
  closest can returns itself as well
  find inside status-content div only
  try to use the closest a tag as target
  Update es.json
  Also apply keyword filter to subjects
  Remove files I accidentally pushed in
  fix issues caused by merges in usersearch on @
  Add user search at
  fix eslint warnings
  remove vue-popperjs
  fix moderation menu partially hidden by usercard boundary
  migrate popper css
  rewrite ModerationTools using v-tooltip
  make popover position for status action dropdow relative to parent node
  rewrite ExtraButtons using v-tooltip
  install v-tooltip
  i18n/Update pedantic Japanese translation
  ...
2019-07-28 13:30:29 +03:00
Shpuld Shpludson
d3f6b581d1 Merge branch 'develop' into 'feat/conversation-muting'
# Conflicts:
#   src/components/extra_buttons/extra_buttons.js
#   src/components/extra_buttons/extra_buttons.vue
2019-07-26 12:44:32 +00:00
taehoon
d785ed5a05 rewrite unit tests 2019-07-25 23:34:56 -04:00
taehoon
a443a5203e add more unit tests for elimination logic 2019-07-25 14:17:48 -04:00
taehoon
65ef039316 add unit test for elimination logic 2019-07-25 08:03:41 -04:00
taehoon
53c9517a4a use array.includes instead of array.indexOf 2019-07-24 22:42:06 -04:00
taehoon
0f8ace4836 update status eliminating logic 2019-07-24 21:02:37 -04:00
taehoon
876c6de806 fix typos 2019-07-24 21:02:37 -04:00
taehoon
dca384f123 update prop syntax 2019-07-24 21:02:37 -04:00
taehoon
d7dc070667 put two loops in one parent 2019-07-24 21:02:37 -04:00
taehoon
ae829e8df1 move pinned statuses showing logic in timeline 2019-07-24 21:02:37 -04:00
taehoon
4826d72549 update prop name 2019-07-24 21:02:37 -04:00
taehoon
7f9feacd26 prevent showing pinned statuses twice 2019-07-24 21:02:37 -04:00
tarteka
6380f7df16 Update es.json (add sticker) 2019-07-24 22:06:45 +00:00
HJ
4827e4d972 Merge branch 'feature/add-sticker-picker' into 'develop'
Feature/add sticker picker

See merge request pleroma/pleroma-fe!885
2019-07-24 19:35:52 +00:00
absturztaube
fa6210872f Feature/add sticker picker
Squash to avoid storing commits with stickers in it to avoid possible copyright problems and excess storage space. --hj
2019-07-24 19:35:52 +00:00
Shpuld Shpludson
28f777cb8a Merge branch '587' into 'develop'
Protect secure routes which require auth

Closes #587

See merge request pleroma/pleroma-fe!892
2019-07-24 16:17:06 +00:00
taehoon
8375d7a3aa guard more secure routes 2019-07-24 11:08:05 -04:00
taehoon
ad29e20324 guard secure routes by redirecting to root 2019-07-24 11:08:05 -04:00
Shpuld Shpludson
1f8f2e26e3 Merge branch 'patch-2' into 'develop'
Update es.json

See merge request pleroma/pleroma-fe!889
2019-07-24 13:32:57 +00:00
Shpuld Shpludson
c2cef3055d Merge branch '592' into 'develop'
Allow to click hyperlink inside markdown/html content

Closes #592

See merge request pleroma/pleroma-fe!891
2019-07-24 13:23:04 +00:00
taehoon
1cefaa8446 closest can returns itself as well 2019-07-23 20:59:37 -04:00
taehoon
17ad5bbdf9 find inside status-content div only 2019-07-23 15:44:41 -04:00
taehoon
09efcb48a4 try to use the closest a tag as target 2019-07-23 15:43:03 -04:00
tarteka
51fc0a5c52 Update es.json 2019-07-23 15:16:03 +00:00
kaniini
e448950023 Merge branch 'fix/keyword-filter' into 'develop'
Also apply keyword filter to subjects

See merge request pleroma/pleroma-fe!887
2019-07-22 20:06:57 +00:00
Toromino
fb9f254f8d Also apply keyword filter to subjects 2019-07-20 19:06:54 +02:00
shpuld
9c2c00992d Remove files I accidentally pushed in 2019-07-18 17:25:06 +03:00
shpuld
619608ea7a fix issues caused by merges in usersearch on @ 2019-07-18 17:22:51 +03:00
Shpuld Shpludson
029dc7405e Merge branch 'add-user-search-at' into 'develop'
Add user search at

See merge request pleroma/pleroma-fe!852
2019-07-18 03:40:02 +00:00
Wyatt Benno
5909baba7c Add user search at 2019-07-18 03:40:02 +00:00
HJ
cc2e35f499 Merge branch '609' into 'develop'
Fix popper issues using another popper library

Closes #612 and #609

See merge request pleroma/pleroma-fe!881
2019-07-16 20:49:49 +00:00
taehoon
051b3b5141 fix eslint warnings 2019-07-15 21:22:41 -04:00
taehoon
d35a16b4bd remove vue-popperjs 2019-07-15 21:22:41 -04:00
taehoon
e3ac71968b fix moderation menu partially hidden by usercard boundary 2019-07-15 21:22:41 -04:00
taehoon
c4789a348f migrate popper css 2019-07-15 21:22:41 -04:00
taehoon
4f74392641 rewrite ModerationTools using v-tooltip 2019-07-15 21:22:41 -04:00
taehoon
b9c547828e make popover position for status action dropdow relative to parent node 2019-07-15 21:22:41 -04:00
taehoon
005815c825 rewrite ExtraButtons using v-tooltip 2019-07-15 21:22:40 -04:00
taehoon
1727c815f8 install v-tooltip 2019-07-15 21:22:40 -04:00
HJ
f734a72116 Merge branch 'fix/respect-hide-post-stats' into 'develop'
Hide favs/rts properly when hide post stats is enabled

See merge request pleroma/pleroma-fe!877
2019-07-15 21:47:45 +00:00
Shpuld Shpludson
e86f6edb7c Merge branch 'patch-2' into 'develop'
Update es.json

See merge request pleroma/pleroma-fe!794
2019-07-15 19:21:37 +00:00
Shpuld Shpludson
bfc6f7b3ec Merge branch 'revert-0a7c60c3' into 'develop'
Revert "Merge branch 'csp-header' into 'develop'"

See merge request pleroma/pleroma-fe!880
2019-07-15 19:21:01 +00:00
Shpuld Shpludson
c649e202b3 Merge branch 'i18n/update-pedantic-japanese-traslation' into 'develop'
i18n/Update pedantic Japanese translation

See merge request pleroma/pleroma-fe!882
2019-07-15 19:18:40 +00:00
Hakaba Hitoyo
54b45ec4a3 i18n/Update pedantic Japanese translation 2019-07-15 19:18:40 +00:00
Shpuld Shpludson
34ca0d369f Merge branch 'i18n/update-japanese-trasnlation' into 'develop'
i18n/Update easy Japanese trasnlation

See merge request pleroma/pleroma-fe!878
2019-07-15 19:18:20 +00:00
Hakaba Hitoyo
f665ac83e7 i18n/Update easy Japanese trasnlation 2019-07-15 19:18:20 +00:00
Shpuld Shpludson
3370dd80dc Merge branch 'develop' into 'feat/conversation-muting'
# Conflicts:
#   src/services/api/api.service.js
2019-07-15 19:09:01 +00:00
Shpuld Shpludson
e9b452575b Merge branch 'new-search' into 'develop'
New search

See merge request pleroma/pleroma-fe!832
2019-07-15 16:42:27 +00:00
Eugenij
69a4bcb238 New search 2019-07-15 16:42:27 +00:00
HJ
0c06410584 Merge branch '482-subscribe-user' into 'develop'
Implement ability to subscribe to a user

Closes #482

See merge request pleroma/pleroma-fe!771
2019-07-15 06:50:31 +00:00
taehoon
ff90d864cc fix wrong eslint comments 2019-07-12 15:11:54 -04:00
taehoon
78594f61d4 add a todo comment 2019-07-12 15:10:30 -04:00
taehoon
57c5d269b8 add bell-ringing icon 2019-07-11 12:52:05 -04:00
taehoon
b2dbf01a72 eslint —fix 2019-07-10 21:01:08 -04:00
taehoon
9712e324e5 hide subscribe button unless following 2019-07-10 21:01:08 -04:00
taehoon
81d1d30586 revert font change 2019-07-10 21:01:08 -04:00
taehoon
1237d0d2b8 use normal bell for unsubscribed state 2019-07-10 21:01:08 -04:00
taehoon
4f26299bd5 update copy 2019-07-10 21:01:08 -04:00
taehoon
0f4cccd115 improve ui 2019-07-10 21:01:08 -04:00
taehoon
38ba5fe028 change subscribe button to icon button 2019-07-10 21:01:08 -04:00
taehoon
e503243be3 add bell-off font icon 2019-07-10 21:01:08 -04:00
taehoon
2ab00387fe clean up + add btn-group css class 2019-07-10 21:01:07 -04:00
taehoon
e1d6e56e1b clean up layout 2019-07-10 21:01:07 -04:00
taehoon
0fc154d9d4 clean up UserCard css 2019-07-10 21:01:07 -04:00
taehoon
dbe2decc59 clean up UserCard template 2019-07-10 21:01:07 -04:00
taehoon
3b9ab0e343 no need to covert to boolean 2019-07-10 21:01:07 -04:00
taehoon
670cbfdd1c change subscribing to subscribed 2019-07-10 21:01:07 -04:00
taehoon
0c52d69a52 update copy 2019-07-10 21:01:07 -04:00
taehoon
ace3b399ff support i18n 2019-07-10 21:01:07 -04:00
taehoon
deee07d6fb show subscribe button only if user is logged in 2019-07-10 21:01:07 -04:00
taehoon
646d197bf1 mutate updated relationship to the store 2019-07-10 21:01:07 -04:00
taehoon
e9e6daa76e show text in progress only when slot is given 2019-07-10 21:01:07 -04:00
taehoon
f4a16e6541 add subscribing to user entity normalizer 2019-07-10 21:01:07 -04:00
taehoon
4cf402ff21 migrate SubscribeButton to the existing common component 2019-07-10 21:01:07 -04:00
jared
d5e8315e83 #482 - add subscribe button 2019-07-10 21:01:07 -04:00
jared
f2c95f9d0b #482 - add new endpoints to subscribe to the user 2019-07-10 21:01:07 -04:00
feld
114a36c9be Revert "Merge branch 'csp-header' into 'develop'"
This reverts merge request !856
2019-07-10 22:30:32 +00:00
HJ
0a7c60c303 Merge branch 'csp-header' into 'develop'
Add Content-Security-Policy header

See merge request pleroma/pleroma-fe!856
2019-07-10 18:44:27 +00:00
taehoon
34d95454b3 add csp header to dev server 2019-07-10 13:49:53 -04:00
Shpuld Shpludson
cf2dc5b683 Merge branch '582' into 'develop'
Refactor user search api, better api error response handling

See merge request pleroma/pleroma-fe!844
2019-07-10 16:58:49 +00:00
Tae Hoon
532b76eb64 Refactor user search api, better api error response handling 2019-07-10 16:58:49 +00:00
shpuld
59ade4084e Hide favs/rts properly when hide post stats is enabled 2019-07-09 16:50:23 +03:00
HJ
2f87540612 Merge branch '588' into 'develop'
Sync the counters in Favs and Repeats view and near the buttons

Closes #588

See merge request pleroma/pleroma-fe!854
2019-07-09 13:46:06 +00:00
taehoon
0131effb01 add comments 2019-07-07 22:49:18 -04:00
taehoon
ab4d7d9616 refetch favs and repeats separately 2019-07-07 22:49:18 -04:00
taehoon
e9b6e0e2b7 refetch favs and repeats when stats are changed 2019-07-07 22:49:18 -04:00
taehoon
17498ef906 update favs and repeats stats using favoritedByUsers and rebloggedByUsers data 2019-07-07 22:49:18 -04:00
HJ
6b4fe1c2d9 Merge branch 'fix/console-errors-with-reply-filter' into 'develop'
Fix console errors in status.js

See merge request pleroma/pleroma-fe!875
2019-07-07 23:27:46 +00:00
shpuld
7ed9d17ce7 Add thread muting to context menu of status 2019-07-07 23:02:09 +03:00
shpuld
e5879e3d4d check for user before checking users props 2019-07-07 22:23:04 +03:00
Shpuld Shpludson
54b0f90133 Merge branch 'eslint-fix' into 'develop'
Fix shitton warning eslint gives

See merge request pleroma/pleroma-fe!871
2019-07-07 19:12:33 +00:00
Shpuld Shpludson
171673113f Merge branch 'revoke-token' into 'develop'
Revoke oAuth token on logout

Closes pleroma#952

See merge request pleroma/pleroma-fe!864
2019-07-07 18:29:36 +00:00
Shpuld Shpludson
c8794b2b84 Merge branch '580' into 'develop'
Fix backend version string parsing

Closes #580

See merge request pleroma/pleroma-fe!868
2019-07-07 10:30:45 +00:00
Shpuld Shpludson
e7ff9b5227 Merge branch '600-2' into 'develop'
Preserve formatting of status content

Closes #600

See merge request pleroma/pleroma-fe!872
2019-07-07 10:21:55 +00:00
Shpuld Shpludson
19b5aea081 Merge branch 'preserve-follows-followers-visibility-settings' into 'develop'
Set hide_follows and hide_followers settings when parsing Mastodon format

See merge request pleroma/pleroma-fe!873
2019-07-07 10:20:55 +00:00
Eugenij
14ec12b4f6 Set hide_follows and hide_followers settings when parsing Mastodon format 2019-07-07 10:20:55 +00:00
Shpuld Shpludson
e80ed386be Merge branch 'fix-hmr' into 'develop'
fix hot reload always reloading the page

See merge request pleroma/pleroma-fe!874
2019-07-07 10:20:36 +00:00
Henry Jameson
020c6d1bcf all the manual fixes 2019-07-07 00:54:17 +03:00
Henry Jameson
1ec4caa0bb fix merge conflict 2019-07-06 23:52:10 +03:00
HJ
8f53796420 Merge branch 'develop' into 'eslint-fix'
# Conflicts:
#   src/components/post_status_form/post_status_form.vue
2019-07-06 20:43:38 +00:00
Henry Jameson
4991e34c49 fix hot reload always reloading the page 2019-07-06 23:42:03 +03:00
Egor Kislitsyn
9fc9925488 Use target from the settings 2019-07-06 18:14:19 +07:00
taehoon
bba4b57dd8 preserve formatting of content 2019-07-05 21:57:48 -04:00
taehoon
c712754150 add unit tests 2019-07-05 13:38:52 -04:00
taehoon
66842efd81 update regex for commit hash 2019-07-05 11:11:31 -04:00
Shpuld Shpludson
60b413d02c Merge branch '602' into 'develop'
Fix mixed profiles bug on user profile page

Closes #586

See merge request pleroma/pleroma-fe!865
2019-07-05 13:28:15 +00:00
Shpuld Shpludson
7ec02445cc Merge branch 'develop' into 'develop'
[i18n] Update of the Occitan translation

See merge request pleroma/pleroma-fe!866
2019-07-05 13:22:49 +00:00
Shpuld Shpludson
4f0ba97be9 Merge branch '603' into 'develop'
Hide text format when only plaintext is available

Closes #603

See merge request pleroma/pleroma-fe!867
2019-07-05 13:22:04 +00:00
Henry Jameson
8d6750d9c2 eslint --fix --ext .js,.vue src 2019-07-05 10:17:44 +03:00
Henry Jameson
2c2b84d31d npm eslint --fix . 2019-07-05 10:02:14 +03:00
HJ
6bea363b9d Merge branch 'fix-android-emoji-autocompletion' into 'develop'
Fix android emoji autocompletion

Closes #606

See merge request pleroma/pleroma-fe!869
2019-07-04 18:55:13 +00:00
Henry Jameson
f86f4b514f Support compositionupdate event to properly show autocomplete popup for IMEs and
android
2019-07-03 23:08:51 +03:00
taehoon
6c6aa8446d place scope selector on the left consistently 2019-07-03 12:19:25 -04:00
taehoon
0c102deeed hide text format when only plaintext is available 2019-07-02 16:36:14 -04:00
taehoon
d8e210df4d update test for clearTimeline action 2019-07-02 15:07:18 -04:00
taehoon
b70c2bfef7 make sure that user timelines are empty when opening profile page 2019-07-02 14:43:01 -04:00
taehoon
0e9b8be88c clear userId property of timeline by default in clearTimeline action 2019-07-02 14:32:46 -04:00
Egor Kislitsyn
52319acf58 Revoke oAuth token 2019-07-02 15:33:40 +07:00
Exilat
fe500c44ed Update oc.json 2019-06-30 14:24:34 +00:00
HJ
225090bb79 Apply suggestion to docs/CONFIGURATION.md 2019-06-28 12:29:44 +00:00
Henry Jameson
b3e9a5a718 fix link? 2019-06-27 21:27:51 +03:00
Henry Jameson
e1c2cf47ce PROFILE 2019-06-27 21:26:52 +03:00
HJ
6afee3013f fix email highlight 2019-06-26 21:19:35 +00:00
Henry Jameson
277553094b formatting fix 2019-06-27 00:16:42 +03:00
Henry Jameson
c79c8f26c8 deletion update 2019-06-27 00:15:27 +03:00
Henry Jameson
185a4d8ab2 DOCUMENTATION 2019-06-27 00:10:51 +03:00
Henry Jameson
27b898f5c9 More configuration 2019-06-26 23:44:05 +03:00
Henry Jameson
926285685b HACKERMAN 2 2019-06-26 23:16:06 +03:00
HJ
69d3b8b20e Merge branch 'docs-settings' into 'docs'
Documentations: Add docs for settings.

See merge request pleroma/pleroma-fe!851
2019-06-26 12:24:30 +00:00
HJ
3354aea356 Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:51:38 +00:00
HJ
0fc04893af Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:48:25 +00:00
HJ
624277c406 Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:47:48 +00:00
HJ
afb8ef1983 Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:47:31 +00:00
HJ
c95a3f0a1a Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:47:30 +00:00
HJ
c6a29b48eb Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:47:26 +00:00
HJ
0892c13c2c Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:46:19 +00:00
HJ
0b4c6127c5 Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:46:16 +00:00
HJ
b02a92e9f6 Apply suggestion to docs/USER_GUIDE.md 2019-06-26 11:46:13 +00:00
HJ
221db9f210 Merge branch 'fix-emoji-input' into 'develop'
fix all known problems with clicks on autocomplete emojis

See merge request pleroma/pleroma-fe!857
2019-06-25 21:38:45 +00:00
Henry Jameson
82464b3a7e review 2019-06-26 00:34:09 +03:00
Henry Jameson
9dbafa4c78 lint fix 2019-06-25 21:39:33 +03:00
Henry Jameson
01bda605a7 fix all known problems with clicks on autocomplete emojis 2019-06-25 21:31:43 +03:00
Shpuld Shpludson
a6bcd56c9f Merge branch 'fix/gallery-margin-fix' into 'develop'
fix specificity that made attachments misalign

See merge request pleroma/pleroma-fe!855
2019-06-25 16:30:21 +00:00
Shpuld Shpludson
b059deb551 fix specificity that made attachments misalign 2019-06-25 16:30:21 +00:00
HJ
8d33832fe1 Merge branch 'clearer-user-profile-tabs' into 'develop'
Clearer user profile tabs when status is empty

See merge request pleroma/pleroma-fe!847
2019-06-25 06:32:08 +00:00
Wyatt Benno
f2d84ef233 Keep statuses always enabled 2019-06-25 10:27:41 +09:00
HJ
bb8e2b1933 Merge branch 'timeline-skip-fix' into 'develop'
timeline-skip-fix

See merge request pleroma/pleroma-fe!850
2019-06-24 22:08:09 +00:00
lain
7dfd50c7c8 Apply suggestion to docs/USER_GUIDE.md 2019-06-24 22:07:03 +00:00
lain
bd8e1c9e23 Apply suggestion to docs/USER_GUIDE.md 2019-06-24 22:06:19 +00:00
lain
9bc7b19500 Apply suggestion to docs/USER_GUIDE.md 2019-06-24 22:06:02 +00:00
Henry Jameson
3fb165b0c8 H A C K E R M A N 2019-06-25 00:51:13 +03:00
HJ
05aec11906 Merge branch '591' into 'develop'
Add resolve param to user search api request

Closes #591

See merge request pleroma/pleroma-fe!853
2019-06-24 17:31:54 +00:00
taehoon
1c03bd0ebc add resolve param to user search api request 2019-06-24 07:49:22 -04:00
Wyatt Benno
7a5d06a6cf change isPinned to noIdUpdate 2019-06-24 12:01:13 +09:00
Shpuld Shpludson
79d39356c4 Merge branch 'fix/not-all-polls-showing-up' into 'develop'
Fix: problems with polls state

See merge request pleroma/pleroma-fe!849
2019-06-22 14:01:36 +00:00
Shpuld Shpludson
947f69a953 Fix: problems with polls state 2019-06-22 14:01:36 +00:00
Shpuld Shpludson
c2b48c32a2 Merge branch 'fix/move-character-counter' into 'develop'
Move character counter into the input box

See merge request pleroma/pleroma-fe!848
2019-06-22 13:41:02 +00:00
Shpuld Shpludson
30a340955e Move character counter into the input box 2019-06-22 13:41:02 +00:00
HJ
5a8f3dddfd Merge branch 'fix-token-auth-login' into 'develop'
Fix broken token authentication

See merge request pleroma/pleroma-fe!846
2019-06-22 07:47:30 +00:00
lain
0ba0f8f1f1 Documentations: Add docs for settings. 2019-06-21 12:47:54 +02:00
Wyatt Benno
a1c50c3fc1 fix for #553 2019-06-21 10:31:00 +09:00
Wyatt Benno
308c4c9789 Make scss change for tab switcher only 2019-06-21 08:35:02 +09:00
taehoon
bd377148ad delete state.token instead of setting false 2019-06-20 11:48:31 -04:00
taehoon
8a32731e4d use clientSecret in login flow 2019-06-20 11:48:30 -04:00
taehoon
c23228f196 fix error breaking logout flow 2019-06-20 11:48:30 -04:00
taehoon
268e9ce504 make sure to clear old token when logout 2019-06-20 11:48:29 -04:00
Shpuld Shpludson
03a27c6d48 Merge branch 'fix/polls-to-module' into 'develop'
Move poll state handling to its own module

See merge request pleroma/pleroma-fe!845
2019-06-20 13:02:04 +00:00
Shpuld Shpludson
e5e9bb27f3 Move poll state handling to its own module 2019-06-20 13:02:04 +00:00
Shpuld Shpludson
eca533aab6 Merge branch 'fix/messed-up-long-polls' into 'develop'
Fix/messed up long polls

See merge request pleroma/pleroma-fe!843
2019-06-20 13:00:10 +00:00
Shpuld Shpludson
44a03922e6 Fix/messed up long polls 2019-06-20 13:00:10 +00:00
Wyatt Benno
066efd5b3c A small sass fix for #577 2019-06-20 16:15:49 +09:00
HJ
752ee9d70c Merge branch '584' into 'develop'
Fix "Status submission box overlap and alignment issues"

Closes #584

See merge request pleroma/pleroma-fe!835
2019-06-19 12:27:12 +00:00
taehoon
90fda1f245 reset margin property of form controls 2019-06-19 07:55:54 -04:00
HJ
c4fcdc7125 Merge branch 'mr-origin-740' into 'develop'
Update french translation

See merge request pleroma/pleroma-fe!829
2019-06-18 20:39:59 +00:00
Shpuld Shpludson
0cfa28a7de Merge branch 'feature/polls-attempt-2' into 'develop'
Feature/polls attempt 2

See merge request pleroma/pleroma-fe!826
2019-06-18 20:28:31 +00:00
lain
0eed2ccca8 Feature/polls attempt 2 2019-06-18 20:28:31 +00:00
Dashie
57dbfc269c
Update translation with review comments 2019-06-18 22:14:02 +02:00
Dashie
64d7dd60cc
Update file with current en.json 2019-06-18 21:22:22 +02:00
Satak
3fcc4ba288
Update fr.json
added missing ,
2019-06-18 21:22:21 +02:00
Satak
ceffe72f6f
Update fr.json
stoped at line 134, more to do below
2019-06-18 21:22:15 +02:00
HJ
69eff65130 Merge branch 'refactor-emoji-input' into 'develop'
EmojiInput refactoring

Closes #565

See merge request pleroma/pleroma-fe!824
2019-06-18 19:17:37 +00:00
Henry Jameson
46e0122067 review 2019-06-18 22:13:03 +03:00
Henry Jameson
0032802f0a review 2019-06-18 21:30:35 +03:00
HJ
e5020d6936 Update emoji-input.js 2019-06-18 17:49:43 +00:00
Shpuld Shpludson
c0c012ccf9 Merge branch 'fix-user-search' into 'develop'
fix user search

See merge request pleroma/pleroma-fe!839
2019-06-18 16:32:11 +00:00
HJ
3cd4201ce4 Merge branch '573' into 'develop'
Apply font smoothing in webkit and firefox

Closes #573

See merge request pleroma/pleroma-fe!841
2019-06-18 16:31:33 +00:00
HJ
195057040c Merge branch 'fix/minor-fixes-console-warnings-stretching' into 'develop'
Misc fixes: Fix uploads stretching on chrome, fix warnings in console

See merge request pleroma/pleroma-fe!842
2019-06-18 16:31:20 +00:00
Shpuld Shpludson
76efbcbe92 Misc fixes: Fix uploads stretching on chrome, fix warnings in console 2019-06-18 16:31:20 +00:00
taehoon
2b5ac611c9 apply font smoothing in webkit and firefox 2019-06-17 23:34:20 -04:00
Henry Jameson
de03eda9f3 fix user search 2019-06-17 23:39:30 +03:00
HJ
ac46de3972 Merge branch 'mastoapi-login-and-config-fixes' into 'develop'
Mastoapi login and config fixes

See merge request pleroma/pleroma-fe!833
2019-06-17 20:17:58 +00:00
HJ
22a3351208 Apply suggestion to src/services/backend_interactor_service/backend_interactor_service.js 2019-06-17 20:12:11 +00:00
Henry Jameson
5f4a8dcc05 properly position the caret after replacement 2019-06-17 21:24:10 +03:00
HJ
3ec9ef8975 Apply suggestion to docs/CONFIGURATION.md 2019-06-17 16:08:32 +00:00
HJ
886b097a67 Apply suggestion to docs/CONFIGURATION.md 2019-06-17 16:06:01 +00:00
HJ
201ea169fe Apply suggestion to docs/USER_GUIDE.md 2019-06-17 11:40:31 +00:00
HJ
8543bab582 Apply suggestion to docs/USER_GUIDE.md 2019-06-17 11:39:23 +00:00
HJ
934ca66d87 Apply suggestion to docs/USER_GUIDE.md 2019-06-17 11:38:54 +00:00
HJ
65520d7a01 Apply suggestion to docs/USER_GUIDE.md 2019-06-17 11:38:22 +00:00
HJ
ee9bacee7a Apply suggestion to docs/USER_GUIDE.md 2019-06-17 11:37:03 +00:00
HJ
8caf13bbce Apply suggestion to src/services/api/api.service.js 2019-06-17 08:20:02 +00:00
lain
8d2e63a8e4 Merge branch 'fix-mfa' into 'develop'
fix MFA crashing on user-settings page

See merge request pleroma/pleroma-fe!834
2019-06-17 07:33:39 +00:00
Henry Jameson
5a70eda5e8 fix 2019-06-16 21:54:27 +03:00
Henry Jameson
bda36c64c0 User guide + updates 2019-06-16 21:53:00 +03:00
Henry Jameson
06c84a9cf3 fix MFA crashing on user-settings page 2019-06-16 20:36:21 +03:00
Henry Jameson
b00da17788 Merge remote-tracking branch 'upstream/develop' into docs
* upstream/develop: (374 commits)
  fix typo
  rename mutations according to actual property names
  fix
  fix
  fix logged out post-update
  fix user banner
  fix
  AMERICA
  comments
  No longer sending extra data, renamed some properties
  Revert "add TOTP/Recovery Form for mobile version"
  Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js
  i18n/Update Japanese translation
  render modal at the root level using portal
  install portal vue
  Small improve of the who to follow panel layout
  Fix/Small fix in the who to follow page
  remove console spam
  i18n
  wire up user.description with masto api data
  ...
2019-06-16 20:24:03 +03:00
Henry Jameson
b72aa97098 fixup! Removed formattingOptionsEnabled in favor of relying on BE-provided list of accepted formatting options 2019-06-16 20:23:07 +03:00
Henry Jameson
6744396f82 getting and setting user background via MastoAPI 2019-06-16 20:17:59 +03:00
Henry Jameson
e3638af031 Removed formattingOptionsEnabled in favor of relying on BE-provided list of
accepted formatting options
2019-06-16 20:16:52 +03:00
HJ
1db3c785d8 Merge branch 'masto-register-app-secret' into 'develop'
Proper clientId/secret/token caching, MastoAPI registration

Closes #554

See merge request pleroma/pleroma-fe!806
2019-06-16 11:18:21 +00:00
HJ
1fc460a7a5 Merge branch 'hotfix-token-auth' into 'develop'
Fix broken token authentication

See merge request pleroma/pleroma-fe!831
2019-06-13 19:05:05 +00:00
taehoon
de2504ad6c fix typo 2019-06-13 15:00:13 -04:00
Henry Jameson
acbeea59ff rename mutations according to actual property names 2019-06-13 10:11:17 +03:00
Henry Jameson
f9c3aabea4 Merge remote-tracking branch 'upstream/develop' into masto-register-app-secret
* upstream/develop:
  fix user banner
2019-06-13 10:05:53 +03:00
Henry Jameson
0988065f50 fix 2019-06-13 10:05:22 +03:00
Henry Jameson
dba8d8910c fix 2019-06-13 10:00:06 +03:00
Henry Jameson
d551b39859 fix logged out post-update 2019-06-13 09:48:43 +03:00
HJ
2e77a3ffef Merge branch 'hotfix-user-background' into 'develop'
fix user banner

See merge request pleroma/pleroma-fe!828
2019-06-12 22:53:24 +00:00
Henry Jameson
d1fd3e3a1c fix user banner 2019-06-13 01:48:41 +03:00
Henry Jameson
edb24da016 fix 2019-06-13 01:02:08 +03:00
Henry Jameson
c8a57ad32e Merge remote-tracking branch 'upstream/develop' into masto-register-app-secret
* upstream/develop:
  Revert "add TOTP/Recovery Form for mobile version"
2019-06-13 00:51:14 +03:00
Henry Jameson
1e94aecbc9 AMERICA 2019-06-13 00:47:06 +03:00
Henry Jameson
6cd4546873 comments 2019-06-13 00:44:25 +03:00
Henry Jameson
af75c6d1ea No longer sending extra data, renamed some properties 2019-06-13 00:39:51 +03:00
Henry Jameson
77511a5338 Merge remote-tracking branch 'upstream/develop' into masto-register-app-secret
* upstream/develop:
  Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js
  i18n/Update Japanese translation
  render modal at the root level using portal
  install portal vue
  Small improve of the who to follow panel layout
  Fix/Small fix in the who to follow page
  remove console spam
  i18n
  wire up user.description with masto api data
  i18n/Add Japanese with kanji (2)
  move drowdown menu to popper
  notification controls: redesign entirely
  entity normalizer: collapse data.pleroma if blocks
  wire up notification settings
  do not miss statusnet_profile_url of mentions
  Translation to Hebrew of everything other than theme_helpers and style.
  Translate up to settings.
  mastoapi login works
2019-06-13 00:07:28 +03:00
HJ
e53f11c30f Merge branch 'feature/2fa' into 'develop'
adds 2FA/two_factor_authentication support

See merge request pleroma/pleroma-fe!556
2019-06-12 20:16:55 +00:00
Maksim
77eceedbf7 Revert "add TOTP/Recovery Form for mobile version"
This reverts commit a3811f944819430c278b6da6b08dc322a9b9ff65.
2019-06-12 20:16:55 +00:00
HJ
9df99c5205 Merge branch 'masto-login-fixes' into 'develop'
MastoAPI login

See merge request pleroma/pleroma-fe!805
2019-06-12 19:42:25 +00:00
HJ
a7b0b07e6f Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js 2019-06-12 11:44:14 +00:00
Henry Jameson
a05fd042df fix small annoyance 2019-06-12 10:56:08 +03:00
Henry Jameson
0535d2c14c fixed some bugs i found, also cleaned up some stuff + documentation 2019-06-11 21:18:09 +03:00
HJ
855080b896 Merge branch 'update-japanese-translation' into 'develop'
i18n/Update Japanese translation

See merge request pleroma/pleroma-fe!815
2019-06-11 12:10:47 +00:00
Hakaba Hitoyo
322c9fbfb6 i18n/Update Japanese translation 2019-06-11 12:10:47 +00:00
Henry Jameson
41eeaf35d9 self-review 2019-06-10 18:57:53 +03:00
Henry Jameson
e536a56250 Linting 2019-06-09 22:40:38 +03:00
Henry Jameson
4d12cd617a fix textarea not resizing properly 2019-06-09 21:23:56 +03:00
Henry Jameson
8a02647de4 more bugfixes related to keybinds and nonworking stuff 2019-06-09 21:17:24 +03:00
Henry Jameson
20923d590c Some comments, added sorting for emojis 2019-06-09 20:41:12 +03:00
Henry Jameson
76b9a66e98 fixed several bugs 2019-06-09 20:40:46 +03:00
kaniini
33554e8d1d Merge branch '547' into 'develop'
Fix "Delete account modal partially hidden" issue

Closes #547

See merge request pleroma/pleroma-fe!803
2019-06-08 17:40:15 +00:00
Henry Jameson
a3cc8cc5d8 sorting 2019-06-08 17:15:48 +03:00
Henry Jameson
0a778160cc styles 2019-06-08 17:15:42 +03:00
Henry Jameson
8872b4802e standartized autocomplete panel suggesions format, fixed some bugs 2019-06-08 16:23:58 +03:00
Henry Jameson
ca3140fd3e Merge remote-tracking branch 'upstream/develop' into refactor-emoji-input
* upstream/develop:
  Small improve of the who to follow panel layout
  Fix/Small fix in the who to follow page
2019-06-08 14:31:49 +03:00
Henry Jameson
96f31716f9 slot-based emoji input/autocomplete component 2019-06-07 00:17:49 +03:00
taehoon
9c8af14908 render modal at the root level using portal 2019-06-06 13:37:27 -04:00
taehoon
5740123ee6 install portal vue 2019-06-06 13:37:26 -04:00
HJ
0ecf23881d Merge branch 'small-improve-of-who-to-follow-panel-layout' into 'develop'
Small improve of the who to follow panel layout

See merge request pleroma/pleroma-fe!821
2019-06-05 17:43:35 +00:00
Hakaba Hitoyo
5b274364ce Small improve of the who to follow panel layout 2019-06-05 17:43:35 +00:00
HJ
e9e7b36c69 Merge branch 'fix/avatars-in-who-to-follow-page-are-missing' into 'develop'
Fix/Small fix in the who to follow page

See merge request pleroma/pleroma-fe!820
2019-06-04 08:04:47 +00:00
Hakaba Hitoyo
809d872b2d Fix/Small fix in the who to follow page 2019-06-04 08:04:47 +00:00
Shpuld Shpludson
7ce9b7be07 Merge branch 'fix/remove-notifications-console-spam' into 'develop'
fix: Remove some console spam

See merge request pleroma/pleroma-fe!818
2019-06-01 09:15:53 +00:00
shpuld
4526939dae remove console spam 2019-06-01 12:10:00 +03:00
kaniini
b4796ccbf6 Merge branch 'feature/notification-controls' into 'develop'
wire up notification settings

See merge request pleroma/pleroma-fe!809
2019-06-01 05:16:15 +00:00
feld
9c0ec9b794 Merge branch 'fix/interactions-i18n' into 'develop'
Interactions i18n

See merge request pleroma/pleroma-fe!817
2019-05-31 15:19:10 +00:00
Mark Felder
f67f14495b i18n 2019-05-31 10:13:06 -05:00
Shpuld Shpludson
50618b81c8 Merge branch '543' into 'develop'
Fix "stale user settings shown after save"

Closes #543

See merge request pleroma/pleroma-fe!813
2019-05-29 17:08:27 +00:00
Shpuld Shpludson
6045708a5d Merge branch 'fix-dropdown' into 'develop'
move drowdown menu to popper

Closes #559

See merge request pleroma/pleroma-fe!814
2019-05-29 16:55:28 +00:00
taehoon
0532995847 wire up user.description with masto api data 2019-05-29 12:32:14 -04:00
HJ
152617e20d Merge branch 'i18n/add-pedantic-japanese-2' into 'develop'
i18n/Add Japanese with kanji (2)

Closes #522

See merge request pleroma/pleroma-fe!816
2019-05-29 05:31:03 +00:00
Hakaba Hitoyo
443794b000 i18n/Add Japanese with kanji (2) 2019-05-29 05:31:03 +00:00
Henry Jameson
6c7eeb93fe move drowdown menu to popper 2019-05-27 00:13:08 +03:00
William Pitcock
855566f887 notification controls: redesign entirely 2019-05-25 23:44:36 +00:00
William Pitcock
ac97cd3e46 entity normalizer: collapse data.pleroma if blocks 2019-05-25 22:59:04 +00:00
William Pitcock
28ca504576 wire up notification settings 2019-05-25 07:34:59 +00:00
HJ
ab34a75bcf Merge branch '556' into 'develop'
Fix User links/mentions opening in new tab issue

Closes #556

See merge request pleroma/pleroma-fe!808
2019-05-23 05:34:15 +00:00
taehoon
2af35b8404 do not miss statusnet_profile_url of mentions 2019-05-22 23:47:20 -04:00
HJ
45961331b6 Merge branch 'update-hebrew-transalation' into 'develop'
Update he.json

See merge request pleroma/pleroma-fe!807
2019-05-22 18:50:32 +00:00
j1t
4249a2fd6f Translation to Hebrew of everything other than theme_helpers and style. 2019-05-22 21:33:05 +03:00
Henry Jameson
e7a2a7267d Proper clientId/secret/token caching, MastoAPI registration 2019-05-22 19:13:41 +03:00
j1t
3b3e4ffc54 Translate up to settings. 2019-05-22 01:46:08 +03:00
Henry Jameson
fc12b63fcc mastoapi login works 2019-05-21 23:35:40 +03:00
HJ
233506f6c1 Merge branch 'fix-pipelines' into 'develop'
Fix pipelines and clean up console output

See merge request pleroma/pleroma-fe!804
2019-05-21 18:27:43 +00:00
Henry Jameson
52475dbf23 Fix pipelines and clean up console output 2019-05-21 21:22:00 +03:00
HJ
0fc7cbfa24 Merge branch 'fetags' into 'develop'
add tags to data and to status component

See merge request pleroma/pleroma-fe!801
2019-05-20 21:02:29 +00:00
HJ
b78ad8998d Merge branch 'masto-remains' into 'develop'
Interactions 2.0, removing last bits of qvitter api. Only login/register and change background remains after that

See merge request pleroma/pleroma-fe!792
2019-05-20 20:54:05 +00:00
Moonman
0f824ff311 switch from method to computed property 2019-05-20 15:23:36 -04:00
HJ
b436e0dd12 Merge branch 'webpack-4-dart-sass' into 'develop'
Massive update for dependencies

See merge request pleroma/pleroma-fe!734
2019-05-20 18:09:14 +00:00
Shpuld Shpludson
5b8f5eddbf Merge branch 'feature/remove-hypenation' into 'develop'
Remove auto-hyphenation

See merge request pleroma/pleroma-fe!800
2019-05-20 16:43:15 +00:00
marcin mikołajczak
08aa9e2903 Remove fonts section, make buttons change color on hover/press 2019-05-20 14:46:25 +00:00
=
fd1d318540 Make mammal theme look more like gargsite
Signed-off-by: = <=>
2019-05-20 15:29:02 +02:00
Moonman
f6600a35a5 formatting 2019-05-20 00:15:58 -04:00
Moonman
fc9acf8fb6 add tags to data and to status component 2019-05-20 00:03:50 -04:00
Senko-san
229c65959e Remove auto-hyphenation
Auto-hyphenation has terrible heuristics on all browsers, disable it.

Source: https://justmarkup.com/articles/2019-01-28-a-look-at-css-hyphenation-in-2019/
2019-05-20 00:43:35 +01:00
HJ
4ea0db5cb1 Merge branch '540' into 'develop'
Fix wrong mouse pointer hot zone in the post status box

Closes #540

See merge request pleroma/pleroma-fe!795
2019-05-19 19:39:19 +00:00
taehoon
205a9821e6 make staff label visible 2019-05-19 14:28:29 -04:00
taehoon
e01ffc67c6 move visibility-tray css in local scope 2019-05-19 14:28:29 -04:00
taehoon
34ffcb028a refactor css 2019-05-19 14:28:29 -04:00
taehoon
9adbc2c17f make only screen name as link 2019-05-19 14:28:29 -04:00
taehoon
9e6a91e755 refactor css for visibility tray 2019-05-19 14:28:29 -04:00
Henry Jameson
15b3651a30 moved setting styles into common to avoid bug with shared styles 2019-05-19 20:42:44 +03:00
HJ
facf076d47 Merge branch '542' into 'develop'
Hide three dot menu button if has no items

Closes #542

See merge request pleroma/pleroma-fe!797
2019-05-19 14:38:57 +00:00
taehoon
07d0143bda hide three dot menu button if has no items 2019-05-19 09:16:47 -04:00
Shpuld Shpludson
5bf208f2d1 Merge branch 'fix/mobile-zoom' into 'develop'
Eliminate automatic zooming on mobile

See merge request pleroma/pleroma-fe!799
2019-05-18 16:56:20 +00:00
Mark Felder
0a6858eab8 Eliminate automatic zooming on mobile 2019-05-18 11:00:50 -05:00
kaniini
e14a15845c Merge branch 'bugfix/emoji-tooltip' into 'develop'
entity normalizer: add tooltip text to emojis

Closes #544

See merge request pleroma/pleroma-fe!798
2019-05-17 20:15:12 +00:00
William Pitcock
00ad97fcfa entity normalizer: add tooltip text to emojis 2019-05-17 20:10:50 +00:00
HJ
23c4c0c758 Merge branch '541' into 'develop'
Update Admin API urls in accordance with new docs

Closes #541

See merge request pleroma/pleroma-fe!796
2019-05-16 18:30:12 +00:00
taehoon
2457dd9b91 rename for consistency's sake 2019-05-16 14:02:37 -04:00
taehoon
b6731bd9af update admin api urls in accordance with new docs 2019-05-16 13:21:14 -04:00
HJ
2be3d5fd5f Merge branch 'fix/line-up-text-format-picker' into 'develop'
Line up rich text format picker with the status form

See merge request pleroma/pleroma-fe!785
2019-05-15 19:53:33 +00:00
Shpuld Shpludson
81278651d9 Line up rich text format picker with the status form 2019-05-15 19:53:33 +00:00
HJ
fedcc71676 Merge branch '468-pin-status' into 'develop'
Add ability to pin posts

Closes #468

See merge request pleroma/pleroma-fe!770
2019-05-15 18:26:09 +00:00
Henry Jameson
aa24ac7ea6 fix lint 2019-05-15 20:49:46 +03:00
Henry Jameson
7976d118ca Cleanup, little documentation, localization 2019-05-15 20:44:35 +03:00
taehoon
2ce0186327 update api service functions 2019-05-15 12:04:26 -04:00
taehoon
daba688f46 remove needless importing 2019-05-15 12:04:26 -04:00
taehoon
f68653d0dd show pinned state only in the user timeline 2019-05-15 12:04:26 -04:00
taehoon
110c9d3b26 improve performance by caching pinned status ids into user object 2019-05-15 12:04:26 -04:00
taehoon
87de130ee5 apply status normalizer 2019-05-15 12:04:26 -04:00
taehoon
98358d30bb update font 2019-05-15 12:04:26 -04:00
taehoon
2af088969a improve error handling logic 2019-05-15 12:04:26 -04:00
taehoon
12f8269f01 make sure to have rights property of user object 2019-05-15 12:04:26 -04:00
taehoon
1747cd8771 use text color instead 2019-05-15 12:04:26 -04:00
taehoon
19e79895bb revert unnecessary changes 2019-05-15 12:04:26 -04:00
taehoon
beaf512573 add translation 2019-05-15 12:04:26 -04:00
taehoon
d76bd0044f fix typo 2019-05-15 12:04:26 -04:00
taehoon
32be0e15d1 use pinned property from status directly 2019-05-15 12:04:26 -04:00
taehoon
f8186bfc74 show immediately pinned statuses 2019-05-15 12:04:26 -04:00
taehoon
a601337a20 clean up 2019-05-15 12:04:26 -04:00
taehoon
93e9bc019e clean up fetchPinnedStatuses api service 2019-05-15 12:04:26 -04:00
taehoon
8308315038 revert removeStatus changes 2019-05-15 12:04:26 -04:00
taehoon
1229622fed refactor error handling of pinStatus 2019-05-15 12:04:25 -04:00
taehoon
ce1d19136d refactor pin/unpin status logic 2019-05-15 12:04:25 -04:00
taehoon
e8abe1273b filter pinned statuses based on pinned entity instead of a separate user entity 2019-05-15 12:04:25 -04:00
taehoon
cd0a7afa06 remove pinned timeline, instead, use simple entity of user object 2019-05-15 12:04:25 -04:00
taehoon
9e22d6212a revert pinned timeline polling logic 2019-05-15 12:04:25 -04:00
dave
8095ce8f62 #468 - hide status menu after action button is clicked 2019-05-15 12:04:25 -04:00
dave
075ddc34f1 #468 - shwo pin button for valid statuses (public & unlisted) 2019-05-15 12:04:25 -04:00
dave
9fc997500e #468 - add extra buttons for status actions 2019-05-15 12:04:25 -04:00
dave
80ef855a63 #468 - add ellipsis font icon 2019-05-15 12:04:25 -04:00
dave
006bf1ce63 #468 - fix plus button size issue, use scss variable properly 2019-05-15 12:04:25 -04:00
dave
e6268c492e #468 - clean up 2019-05-15 12:04:25 -04:00
dave
5ab0e71500 #468 - show pin status API error 2019-05-15 12:04:24 -04:00
dave
df207593e9 #468 - update pinned status after actions(remove, add) 2019-05-15 12:04:24 -04:00
dave
f1ff48ffd6 #468 - remove unpinned status from timeline 2019-05-15 12:04:24 -04:00
dave
2c89d49a3d #468 - show pinned timeline and add pinned label to the status 2019-05-15 12:04:24 -04:00
dave
e28b19645a #468 - show pin for own statuses only 2019-05-15 12:04:24 -04:00
dave
1aa0e8d7e0 #468 - pin/unpin status 2019-05-15 12:04:24 -04:00
dave
b491e6acbe #468 - add pin icon 2019-05-15 12:04:24 -04:00
dave
affbe8700e #468 - integrate endpoints 2019-05-15 12:04:24 -04:00
HJ
9eac355851 Merge branch '539' into 'develop'
Show post reply button and count when logged out as well

Closes #539

See merge request pleroma/pleroma-fe!793
2019-05-15 15:55:17 +00:00
tarteka
bacbfc1154 Update es.json 2019-05-15 09:16:49 +00:00
taehoon
5e0235fa63 make reply icon not hoverable if disabled 2019-05-14 22:45:57 -04:00
taehoon
731ad0a48b show reply button and count when logged out as well 2019-05-14 22:44:56 -04:00
Henry Jameson
543604fd2d removed unused masto api, added initial version of interactions timeline 2019-05-14 22:48:44 +03:00
Henry Jameson
04fa2aefb3 get rid of reply-left, we decided it should go long time ago 2019-05-14 19:49:03 +03:00
Henry Jameson
addeb85220 fix prod build 2019-05-13 21:54:25 +03:00
Henry Jameson
750dca4a10 Merge remote-tracking branch 'upstream/develop' into webpack-4-dart-sass
* upstream/develop: (116 commits)
  Fix small mistake in Polish translation
  link interaction avatars to the user profile
  Use more clear explanation in the scope notice, make sure the hide button doesn't overlap with text in notice.
  use backendInteractor
  refactor api service functions using new helper
  clean up
  update favorite number earlier
  update status interaction upon retweet action response
  sync up favoritedBy with favorite/unfavorite action
  do not regenerate status object
  reduce needless calculation
  Move scope visibility notice to the status form, make it dismissible
  Revert "eliminate expandable prop in favor of inConversation"
  status attention doesn’t have relationship entities
  make it short
  fix wrong inlineExpanded
  expanded is always false, eliminate it
  eliminate expandable prop in favor of inConversation
  fix conversationId comparision bug using integer format
  Display additional scope description above the status form for mobile users.
  ...
2019-05-13 20:38:54 +03:00
HJ
2322610b62 Merge branch 'patch-3' into 'develop'
Fix small mistake in Polish translation

See merge request pleroma/pleroma-fe!790
2019-05-10 07:49:35 +00:00
Marcin Mikołajczak
caf9e627a7 Fix small mistake in Polish translation 2019-05-10 06:52:01 +00:00
HJ
cd67b1f496 Merge branch '527' into 'develop'
Fix "Liking/reprööting posts while post is highlighted in conversation fails to update the liked/reprööted status"

Closes #527

See merge request pleroma/pleroma-fe!787
2019-05-09 17:17:26 +00:00
HJ
177e53cf6a Merge branch 'mobile-scope' into 'develop'
Display additional scope description above the status form for mobile users.

Closes #505

See merge request pleroma/pleroma-fe!767
2019-05-09 17:13:50 +00:00
HJ
d5d7658418 Merge branch '530' into 'develop'
Link interaction avatars to the user profile

Closes #530

See merge request pleroma/pleroma-fe!788
2019-05-08 19:40:08 +00:00
taehoon
31e14cd45d link interaction avatars to the user profile 2019-05-08 12:04:33 -04:00
eugenijm
a89010843d Use more clear explanation in the scope notice, make sure the hide button doesn't overlap with text in notice. 2019-05-08 16:50:39 +03:00
taehoon
7d60ab322e use backendInteractor 2019-05-07 23:36:35 -04:00
taehoon
26131266a9 refactor api service functions using new helper 2019-05-07 23:27:22 -04:00
taehoon
a54cf47ba5 clean up 2019-05-07 23:21:19 -04:00
taehoon
28c2a700e1 update favorite number earlier 2019-05-07 23:19:46 -04:00
taehoon
ff3a7e8b5b update status interaction upon retweet action response 2019-05-07 23:17:52 -04:00
taehoon
f75e40e462 sync up favoritedBy with favorite/unfavorite action 2019-05-07 16:43:54 -04:00
taehoon
78a4ab98af do not regenerate status object 2019-05-07 16:20:24 -04:00
taehoon
9a9d66dca1 reduce needless calculation 2019-05-07 15:54:49 -04:00
HJ
157d4e601e Merge branch 'fix/floating-button' into 'develop'
Mobile Post button fix

Closes #506

See merge request pleroma/pleroma-fe!769
2019-05-07 18:40:49 +00:00
Shpuld Shpludson
496ccd0bb3 Merge branch 'patch-2' into 'develop'
Update es.json

See merge request pleroma/pleroma-fe!784
2019-05-07 17:35:28 +00:00
Shpuld Shpludson
58ef6258d6 Merge branch '515' into 'develop'
Fix broken filtering for replies in the timeline

Closes #515

See merge request pleroma/pleroma-fe!786
2019-05-07 17:33:56 +00:00
eugenijm
4af343374a Move scope visibility notice to the status form, make it dismissible 2019-05-07 19:13:45 +03:00
taehoon
917e82e8ee Revert "eliminate expandable prop in favor of inConversation"
This reverts commit 1455e1f9d5.
2019-05-06 21:36:55 -04:00
taehoon
134b1894d6 status attention doesn’t have relationship entities 2019-05-06 16:41:12 -04:00
taehoon
44a18eb838 make it short 2019-05-06 16:17:29 -04:00
taehoon
1a3799bfac fix wrong inlineExpanded 2019-05-06 16:16:43 -04:00
taehoon
3adfbc0357 expanded is always false, eliminate it 2019-05-06 15:30:36 -04:00
taehoon
1455e1f9d5 eliminate expandable prop in favor of inConversation 2019-05-06 15:29:24 -04:00
Shpuld Shpludson
081f9a926a Merge branch '519' into 'develop'
Fix conversationId comparison bug using integer format

Closes #519

See merge request pleroma/pleroma-fe!781
2019-05-06 17:33:15 +00:00
taehoon
a27a2f78ac fix conversationId comparision bug using integer format 2019-05-06 13:24:11 -04:00
Shpuld Shpludson
01552d0b45 Merge branch '520' into 'develop'
Fix Tweet input box wiped bug when window's width shrunk

Closes #520

See merge request pleroma/pleroma-fe!783
2019-05-06 17:13:47 +00:00
eugenijm
befaa477a3 Display additional scope description above the status form for mobile users. 2019-05-06 18:10:58 +03:00
tarteka
bfd25a5c3f Update es.json 2019-05-06 08:38:24 +00:00
taehoon
489927bdc9 toggle showing new status form instead of toggle mouting 2019-05-05 23:00:45 -04:00
Shpuld Shpludson
4819009d21 Merge branch '523' into 'develop'
Make sure media modal to be on top of reporting modal

Closes #523

See merge request pleroma/pleroma-fe!782
2019-05-05 18:32:50 +00:00
taehoon
bc41a7b305 make sure media modal to be above reporting modal 2019-05-05 13:48:25 -04:00
HJ
8e1c5841e9 Merge branch '441-reporting' into 'develop'
Reporting

Closes #441

See merge request pleroma/pleroma-fe!695
2019-05-04 13:59:27 +00:00
taehoon
9787d99672 update api services 2019-05-03 11:40:06 -04:00
taehoon
220a7e89d5 use native scrollbar 2019-05-03 11:40:06 -04:00
taehoon
abad528dd4 refactor using List component 2019-05-03 11:40:06 -04:00
taehoon
8561bf6612 remove transition css 2019-05-03 11:40:06 -04:00
taehoon
19a0476985 update api endpoint url 2019-05-03 11:40:06 -04:00
taehoon
ddc7c870f4 rewrite checkbox component 2019-05-03 11:40:06 -04:00
taehoon
58a420f2b3 fix panel title overflow issue in mobile 2019-05-03 11:40:06 -04:00
taehoon
0bb8247822 fix double scrollbar display bug in mobile 2019-05-03 11:40:06 -04:00
taehoon
e97f8a4728 prevent parent scroll 2019-05-03 11:40:06 -04:00
taehoon
6b1e305a18 use custom scrollbar 2019-05-03 11:40:06 -04:00
taehoon
01cc7e4480 modal style improvements 2019-05-03 11:40:06 -04:00
taehoon
2e6eab51b8 Update promisedRequest helper to support json payload 2019-05-03 11:40:06 -04:00
taehoon
f364068e10 Improve mobile layout 2019-05-03 11:40:06 -04:00
taehoon
91502a25a4 Add a css class to the checkbox indicator 2019-05-03 11:40:06 -04:00
taehoon
cf72ebb407 update copy 2019-05-03 11:40:05 -04:00
taehoon
5d0bae5569 update generic error message 2019-05-03 11:40:05 -04:00
taehoon
d115d98a1b add translations 2019-05-03 11:40:05 -04:00
taehoon
471085f0f3 add error message 2019-05-03 11:40:05 -04:00
taehoon
dfc56dfee2 reset modal state if api request is completed 2019-05-03 11:40:05 -04:00
taehoon
1b07c6ae4f add processing state and close modal after api request is completed 2019-05-03 11:40:05 -04:00
taehoon
1878e56c16 reset modal state when userId is changed 2019-05-03 11:40:05 -04:00
taehoon
02d169b92c add promisedRequest helper 2019-05-03 11:40:05 -04:00
taehoon
cea6ea42f0 add api service function 2019-05-03 11:40:05 -04:00
taehoon
2cda9010df add user reporting modal 2019-05-03 11:40:05 -04:00
Shpuld Shpludson
0438031da4 Merge branch 'develop' into 'develop'
[i18n]Update oc.json

See merge request pleroma/pleroma-fe!777
2019-05-03 14:57:04 +00:00
Shpuld Shpludson
513613a4b2 Merge branch 'patch-2' into 'develop'
Update es.json

See merge request pleroma/pleroma-fe!779
2019-05-03 14:56:45 +00:00
Shpuld Shpludson
b47820905c Merge branch '516-autoload' into 'develop'
Autoload older notifications when scrolled to the bottom

Closes #516

See merge request pleroma/pleroma-fe!780
2019-05-03 14:47:54 +00:00
taehoon
6ae3c1cfcf autoload older notifications when scrolled to the bottom 2019-05-03 07:52:22 -04:00
tarteka
09253420a2 Update es.json 2019-05-03 00:22:14 +00:00
Shpuld Shpludson
b4122c1003 Merge branch '502-notification' into 'develop'
Fix notifications div scrolling issue on mobile

Closes #502

See merge request pleroma/pleroma-fe!778
2019-05-02 16:19:56 +00:00
taehoon
f8ae631d8c fix notifications div scrolling issue on mobile 2019-05-02 08:21:02 -04:00
HJ
2d07f26dd7 Merge branch 'feat/title-alt-for-avatars' into 'develop'
#513 Title/alt for avatars

See merge request pleroma/pleroma-fe!776
2019-05-01 20:30:40 +00:00
Exilat
b98bab52a9 Update oc.json 2019-05-01 16:40:40 +00:00
shpuld
c44c048356 add title and alt for avatars, fix console errors in avatarlist 2019-05-01 17:33:56 +03:00
HJ
a954f56e34 Merge branch 'brendenbice1222/pleroma-fe-issues/pleroma-fe-202-show-boosted-users' into 'develop'
Show favoriting and repeating users in hilighted status

See merge request pleroma/pleroma-fe!768
2019-04-30 17:39:33 +00:00
Shpuld Shpludson
b1bd5bd08e Merge branch 'develop' into 'brendenbice1222/pleroma-fe-issues/pleroma-fe-202-show-boosted-users'
# Conflicts:
#   src/services/api/api.service.js
2019-04-30 15:11:30 +00:00
HJ
0f7f685c5e Merge branch '437-user-profile-settings' into 'develop'
Transition to MastoAPI: user profile settings

Closes #437

See merge request pleroma/pleroma-fe!682
2019-04-30 06:05:52 +00:00
eugenijm
b18fea8508 Debounce floating post button autohide 2019-04-29 22:53:30 +03:00
shpuld
da08388d6a filter outside of component 2019-04-29 22:36:39 +03:00
eugenijm
ae1496cfb4 Make floating post button configurable 2019-04-29 21:32:29 +03:00
HJ
d94fdd0617 Merge branch '220-import-export-blocks-mutes' into 'develop'
Allow import/export of blocks

See merge request pleroma/pleroma-fe!717
2019-04-29 18:15:58 +00:00
HJ
6d1d09bcc0 Merge branch '509' into 'develop'
Show ellipsis for long user name and screen name

Closes #509

See merge request pleroma/pleroma-fe!775
2019-04-29 18:11:07 +00:00
taehoon
5b16e36828 remove & 2019-04-29 13:57:44 -04:00
taehoon
a793835566 add a comment 2019-04-29 13:53:21 -04:00
taehoon
b1f8221a0a show ellipsis for long user name and screen name 2019-04-29 13:27:10 -04:00
Henry Jameson
1387589ac9 fixed build speed 2019-04-28 22:03:03 +03:00
Henry Jameson
3e68514981 fix tests 2019-04-28 20:46:01 +03:00
Henry Jameson
75bc508fae attempt 2 2019-04-28 20:30:26 +03:00
taehoon
3665c86d70 use default_scope parameter 2019-04-27 21:51:17 -04:00
taehoon
904a64de89 use json content type 2019-04-27 14:20:32 -04:00
taehoon
2c4af6693a clean up 2019-04-27 14:04:30 -04:00
taehoon
ab19669bf1 refactoring 2019-04-27 08:31:06 -04:00
taehoon
95bc2d727b add “export blocks” feature 2019-04-27 08:31:06 -04:00
taehoon
13abe64f87 fix wrong function binding 2019-04-27 08:31:06 -04:00
taehoon
08eaf9bd33 make reusable Exporter component 2019-04-27 08:31:06 -04:00
taehoon
0ab2f9dfa5 add “block import” feature 2019-04-27 08:31:06 -04:00
taehoon
6ea4154084 change api function name 2019-04-27 08:31:06 -04:00
taehoon
6d0e98a1c2 make Importer component reusable 2019-04-27 08:31:06 -04:00
taehoon
18bb209ace add uploading icon css 2019-04-27 08:31:06 -04:00
taehoon
903bce40c3 move formData generating logic to api.service 2019-04-27 08:31:06 -04:00
taehoon
562120ae48 split out follow’s importer as a separate component 2019-04-27 08:31:06 -04:00
taehoon
ac0b45fa14 Update avatar uploading 2019-04-27 08:30:08 -04:00
taehoon
e14720419f Switch to mastoapi for updating user profile 2019-04-27 08:30:08 -04:00
taehoon
909d11825d Switch to mastoapi for updating banner 2019-04-27 08:30:08 -04:00
taehoon
808e1ac11c Switch to mastoapi for updating avatar
# Conflicts:
#	src/services/api/api.service.js
2019-04-27 08:30:08 -04:00
Henry Jameson
e0247e21f6 Merge remote-tracking branch 'upstream/develop' into webpack-4-dart-sass
* upstream/develop: (126 commits)
  entity normalizer: hook up in_reply_to_account_acct
  add BBCode strings
  fix follow button not updating bug in follow-card
  refer searched user objects from the global user rep
  set max-width of textarea in settings page
  Remove space in the timeline setting copy
  user_card.vue: Fix .emoji to apply to img
  Update oc.json
  Update oc.json
  Update oc.json
  Update oc.json
  replace pencil with wrench icon
  rebuild fontello with wrench icon added
  fetch all friends using pagination
  stop fetching user relationship when user is unauthorized
  Revert "recover border between basic-user-card using list component"
  remove extra spacing
  code readability
  fix typos
  clean up
  ...
2019-04-27 12:26:17 +03:00
HJ
9e2fa50b74 Merge branch 'bugfix/in-reply-to-account-acct' into 'develop'
entity normalizer: hook up in_reply_to_account_acct

See merge request pleroma/pleroma-fe!773
2019-04-27 07:19:16 +00:00
William Pitcock
f4420cbf9f entity normalizer: hook up in_reply_to_account_acct 2019-04-27 04:52:11 +00:00
kaniini
8575f65852 Merge branch 'strings/bbcode' into 'develop'
add BBCode strings

See merge request pleroma/pleroma-fe!772
2019-04-26 22:52:27 +00:00
William Pitcock
55823b8d67 add BBCode strings 2019-04-26 22:48:21 +00:00
HJ
e351f8630c Merge branch '492' into 'develop'
Fix Follow/Mute/Block not functional issue in the user search page

Closes #492

See merge request pleroma/pleroma-fe!754
2019-04-25 12:32:29 +00:00
Henry Jameson
2b5cf61a8f firefox 2019-04-24 21:53:51 +03:00
shpuld
8af8f719e4 fix i18n 2019-04-22 21:37:27 +03:00
shpuld
3e23b34168 fix overflow behavior 2019-04-22 21:07:29 +03:00
taehoon
445b54c553 fix follow button not updating bug in follow-card 2019-04-22 11:17:01 -04:00
taehoon
f2f3fa81d8 refer searched user objects from the global user rep 2019-04-22 11:17:01 -04:00
shpuld
d417945427 Merge branch 'develop' into brendenbice1222/pleroma-fe-issues/pleroma-fe-202-show-boosted-users 2019-04-22 17:24:35 +03:00
Shpuld Shpludson
c8f967d5c0 Merge branch '500' into 'develop'
Set max-width of textarea in settings page

Closes #500

See merge request pleroma/pleroma-fe!761
2019-04-22 14:00:09 +00:00
Shpuld Shpludson
4b173b5182 Merge branch '487' into 'develop'
Fix broken Follow Export

Closes #487

See merge request pleroma/pleroma-fe!762
2019-04-22 13:59:12 +00:00
Shpuld Shpludson
ffecbc2e79 Merge branch 'develop' into 'develop'
[i18n] Update for Occitan language

See merge request pleroma/pleroma-fe!765
2019-04-22 13:20:13 +00:00
Shpuld Shpludson
98742979c8 Merge branch '501' into 'develop'
Remove space in the timeline setting copy

Closes #501

See merge request pleroma/pleroma-fe!763
2019-04-22 13:15:07 +00:00
Shpuld Shpludson
9183c9e845 Merge branch 'change-pencil-to-wrentch' into 'develop'
Change pencil icon to wrentch

See merge request pleroma/pleroma-fe!764
2019-04-22 13:11:14 +00:00
Shpuld Shpludson
b7c16ad68e Merge branch 'bugfix/user-card-emojis-2' into 'develop'
user_card.vue: Fix .emoji to apply to img

See merge request pleroma/pleroma-fe!766
2019-04-22 13:06:15 +00:00
taehoon
f7baa6e190 set max-width of textarea in settings page 2019-04-21 14:06:32 -04:00
taehoon
aefd4551a3 Remove space in the timeline setting copy 2019-04-21 14:06:10 -04:00
Haelwenn (lanodan) Monnier
14d506154e
user_card.vue: Fix .emoji to apply to img 2019-04-20 21:12:56 +02:00
Exilat
ed9aa8df76 Update oc.json 2019-04-20 14:44:43 +00:00
Exilat
213891ac71 Update oc.json 2019-04-20 14:38:04 +00:00
Exilat
69468c7c41 Update oc.json 2019-04-20 14:35:14 +00:00
Exilat
44f18caf4d Update oc.json 2019-04-20 14:29:04 +00:00
Brenden Bice
6aee2ed63f replace pencil with wrench icon
# Conflicts:
#	src/components/user_card/user_card.vue
2019-04-19 13:24:35 -04:00
Brenden Bice
d6be4fd921 rebuild fontello with wrench icon added
# Conflicts:
#	static/font/css/fontello-codes.css
#	static/font/css/fontello-embedded.css
#	static/font/css/fontello-ie7-codes.css
#	static/font/css/fontello-ie7.css
#	static/font/css/fontello.css
#	static/font/demo.html
#	static/font/font/fontello.eot
#	static/font/font/fontello.svg
#	static/font/font/fontello.ttf
#	static/font/font/fontello.woff
#	static/font/font/fontello.woff2
2019-04-19 13:20:02 -04:00
taehoon
3565b18712 fetch all friends using pagination 2019-04-19 00:27:06 -04:00
HJ
61d04b8823 Merge branch '497' into 'develop'
Stop fetching user relationship when user is unauthorized

Closes #497

See merge request pleroma/pleroma-fe!759
2019-04-18 06:16:36 +00:00
taehoon
992c8e1f77 stop fetching user relationship when user is unauthorized 2019-04-17 22:47:56 -04:00
Shpuld Shpludson
ed0f10e9ee Merge branch '227-bulk-delete' into 'develop'
Add "bulk mute/unmute/block/unblock" feature

See merge request pleroma/pleroma-fe!733
2019-04-17 15:43:05 +00:00
taehoon
de945e5f88 Revert "recover border between basic-user-card using list component"
This reverts commit 1d56d486f1f679e793e710969ad54cce5fdb1ebc.

# Conflicts:
#	src/components/follow_requests/follow_requests.vue
#	src/components/user_search/user_search.vue
#	src/components/who_to_follow/who_to_follow.vue
2019-04-17 11:32:49 -04:00
taehoon
bd88a481c6 remove extra spacing 2019-04-17 11:32:49 -04:00
taehoon
e67fecff0a code readability 2019-04-17 11:32:49 -04:00
taehoon
bb38a43117 fix typos 2019-04-17 11:32:49 -04:00
taehoon
a89236f67c clean up 2019-04-17 11:32:49 -04:00
taehoon
10ecc2c816 make sure to use filtered selected keys 2019-04-17 11:32:49 -04:00
taehoon
ecff6acf2d support indeterminate checkbox state 2019-04-17 11:32:49 -04:00
taehoon
3f5e798de7 render span tag only if it has content 2019-04-17 11:32:49 -04:00
taehoon
988849116d update model and props properties 2019-04-17 11:32:49 -04:00
taehoon
8088043a0c import scss variables 2019-04-17 11:32:49 -04:00
taehoon
1144025f30 update checkbox importing path 2019-04-17 11:32:49 -04:00
taehoon
468aec0de1 rewrite checkbox component as non-functional 2019-04-17 11:32:49 -04:00
taehoon
ac9ddfb1e2 support i18n 2019-04-17 11:32:49 -04:00
taehoon
7f6bd538f3 ui improvements 2019-04-17 11:32:49 -04:00
taehoon
c81bde0c1d clean up 2019-04-17 11:32:49 -04:00
taehoon
d3cad54aa3 add bulk mute/unmute buttons and wire up to vuex 2019-04-17 11:32:49 -04:00
taehoon
13c8f10f4b wire up bulk action buttons to vuex 2019-04-17 11:32:49 -04:00
taehoon
7e74a13fcf add a comment 2019-04-17 11:32:49 -04:00
taehoon
1afef1037e show list header only if there are items 2019-04-17 11:32:49 -04:00
taehoon
ac62e47c70 pass down empty slot 2019-04-17 11:32:49 -04:00
taehoon
67919f95a6 make border of list header thicker 2019-04-17 11:32:49 -04:00
taehoon
8fa639f252 add bulk action buttons 2019-04-17 11:32:49 -04:00
taehoon
403c7bbe6c add reusable progress-button cmoponent 2019-04-17 11:32:49 -04:00
taehoon
fe7766bc61 replace scope attributes by slot-scope 2019-04-17 11:32:49 -04:00
taehoon
d4e43e0e26 add border-bottom to the header 2019-04-17 11:32:49 -04:00
taehoon
7a8ffcd79b support header slot 2019-04-17 11:32:49 -04:00
taehoon
cf2c411db3 add header to selectable-list component 2019-04-17 11:32:49 -04:00
taehoon
83faa96f1b remove border-bottom of the last list item 2019-04-17 11:32:49 -04:00
taehoon
ca26776b4e recover border between basic-user-card using list component 2019-04-17 11:32:49 -04:00
taehoon
f066ccd28b show empty slot only if it has content 2019-04-17 11:32:49 -04:00
taehoon
b8ec13c8fd let not selectable-list know about getKey prop 2019-04-17 11:32:49 -04:00
taehoon
32035217b8 clean up 2019-04-17 11:32:49 -04:00
taehoon
792ae1697e refactor selectable-list using list component 2019-04-17 11:32:49 -04:00
taehoon
d806038ad3 add border-bottom style to the list component as well 2019-04-17 11:32:49 -04:00
taehoon
80d83b46d9 move border-bottom style to the list 2019-04-17 11:32:49 -04:00
taehoon
3a318dc373 add some styling to the selectable-list component 2019-04-17 11:32:48 -04:00
taehoon
f6e9f28745 use key properly 2019-04-17 11:32:48 -04:00
taehoon
e0b2463750 save selected items to the state 2019-04-17 11:32:48 -04:00
taehoon
d9b3f5be47 use SelectableList for blocks/mutes list 2019-04-17 11:32:48 -04:00
taehoon
23b9d1eaa3 rename selectable_row to selectable_list 2019-04-17 11:32:48 -04:00
taehoon
39efe9c522 remove unused yarn package 2019-04-17 11:32:48 -04:00
taehoon
0bf451bb36 remove withList hoc 2019-04-17 11:32:48 -04:00
taehoon
738a3dc02d refactor using List component 2019-04-17 11:32:48 -04:00
taehoon
1cec2b6969 use reusable List vue component instead of withList hoc
Using slot is the preferred way in vue
2019-04-17 11:32:48 -04:00
taehoon
4b292564d8 add SelectableRow component 2019-04-17 11:32:48 -04:00
taehoon
a509990937 add checkbox component 2019-04-17 11:32:48 -04:00
shpuld
75a650aa6d update styles and remove unnecessary stuff 2019-04-17 18:28:44 +03:00
Shpuld Shpludson
e9f4244b26 Merge branch '494' into 'develop'
Fix UserProfile showing wrong user card in the header

Closes #498 and #494

See merge request pleroma/pleroma-fe!757
2019-04-17 15:27:19 +00:00
taehoon
2e86a4eb4f fix mess in UserProfile component 2019-04-15 16:49:33 -04:00
Shpuld Shpludson
55410c91fa Merge branch '489' into 'develop'
Fix Blocked status inconsistency between Blocks setting tab and Following profile tab

Closes #489

See merge request pleroma/pleroma-fe!751
2019-04-15 19:58:15 +00:00
Shpuld Shpludson
efa93d0829 Merge branch '227-quick-add' into 'develop'
Support user searching to mute/block directly in the mutes/blocks tab

See merge request pleroma/pleroma-fe!727
2019-04-15 18:21:52 +00:00
taehoon
329dc833b3 clean up 2019-04-14 23:44:50 -04:00
taehoon
d874ca905c support i18n 2019-04-14 23:44:50 -04:00
taehoon
948baba9d3 add muted user to the mutes list in real time 2019-04-14 23:44:50 -04:00
taehoon
d58e08cf52 add search to the mutes tab as well 2019-04-14 23:44:50 -04:00
taehoon
0bdb0e5a81 rename Autosuggest component 2019-04-14 23:44:49 -04:00
taehoon
1cf9780e05 make more generic 2019-04-14 23:44:49 -04:00
taehoon
fc5f4fba8c make more generic 2019-04-14 23:44:49 -04:00
taehoon
8410add394 make UserAutoSuggest component more generic 2019-04-14 23:44:49 -04:00
taehoon
5c2c222252 add blocked user to the blocked list on real time 2019-04-14 23:44:49 -04:00
taehoon
9184435887 remove blocked one from the results on real time 2019-04-14 23:44:49 -04:00
taehoon
33467880ed improve ui 2019-04-14 23:44:49 -04:00
taehoon
60b07eeaa4 filter out blocked user or me from the results 2019-04-14 23:44:49 -04:00
taehoon
69f9ea987c make blocking functional in the search results 2019-04-14 23:44:49 -04:00
taehoon
fd4289e45a improve ui 2019-04-14 23:44:49 -04:00
taehoon
787737c80d hide results on outside click 2019-04-14 23:44:49 -04:00
taehoon
6d3187b449 remove needless dependency 2019-04-14 23:44:49 -04:00
taehoon
b2eb43e3c8 rename css classes 2019-04-14 23:44:49 -04:00
taehoon
94e67ff118 rewrite USerAutoSuggest without any dependency 2019-04-14 23:44:49 -04:00
taehoon
da5844205c add user autosuggest component 2019-04-14 23:44:49 -04:00
taehoon
d05bd31092 setup vue-autosuggest 2019-04-14 23:44:49 -04:00
taehoon
e7010d73ac store friends/followers in the global user repository 2019-04-14 23:41:38 -04:00
Shpuld Shpludson
936eb23bdf Merge branch 'issues/pleroma-fe-496-following-follower-error' into 'develop'
Fix error message on no more data fetched

Closes #496

See merge request pleroma/pleroma-fe!756
2019-04-14 19:15:02 +00:00
Henry Jameson
fd171da0dc attempt at making it work 2019-04-13 18:28:50 +03:00
Brenden Bice
41845389a9 display no message on empty data fetched from api 2019-04-12 23:12:22 -04:00
Brenden Bice
2ae0507575 remove error message on no more following 2019-04-12 23:09:05 -04:00
HJ
fa33e3ec58 Merge branch 'fix-notif-user' into 'develop'
Fix wrong usercard notification

Closes #493

See merge request pleroma/pleroma-fe!755
2019-04-12 07:53:46 +00:00
Henry Jameson
7d01b3d8ba Fix wrong usercard notification 2019-04-12 10:49:22 +03:00
Brenden Bice
8ed4eb8a7f refactor showing favs and repeats logic 2019-04-11 23:26:13 -04:00
Brenden Bice
f74a6b4b57 display favs & reblogged users on expanded post in timeline view 2019-04-11 23:26:13 -04:00
Brenden Bice
efd20967df display avatars only on highlighted post 2019-04-11 23:26:13 -04:00
Brenden Bice
8cac0dec6f add fadein effect to panel 2019-04-11 23:26:13 -04:00
Brenden Bice
246fab328f remove commented code 2019-04-11 23:26:13 -04:00
Brenden Bice
fcea3d62cb display avatars list on highlighted post 2019-04-11 23:26:13 -04:00
Brenden Bice
b75d899c7a use transition wrapper component 2019-04-11 23:26:13 -04:00
Brenden Bice
1f4fcf56cd remove custom fadein logic 2019-04-11 23:26:13 -04:00
Brenden Bice
e734370e33 use a tag for favs/repeated title 2019-04-11 23:26:13 -04:00
Brenden Bice
2d826abb41 use normal font weight instead of lighter 2019-04-11 23:26:13 -04:00
Brenden Bice
84b6ff9f99 use filter array function 2019-04-11 23:26:13 -04:00
Brenden Bice
7885955344 remove important in the property value 2019-04-11 23:26:13 -04:00
Brenden Bice
c1001da860 remove important in css property 2019-04-11 23:26:13 -04:00
Brenden Bice
c361b41641 use global fallback variable 2019-04-11 23:26:13 -04:00
Brenden Bice
7dea2d470e remove duplicates from avatars list 2019-04-11 23:26:13 -04:00
Brenden Bice
80ba4f27c8 add hover effect to label 2019-04-11 23:26:13 -04:00
Brenden Bice
94730c9ff7 update design of stats section 2019-04-11 23:26:13 -04:00
Brenden Bice
f6847c163c adjust avatar size of avatar list 2019-04-11 23:26:13 -04:00
Brenden Bice
db2733b265 set fall back value of border color 2019-04-11 23:26:13 -04:00
Brenden Bice
5be03eb161 handle 0 length of avatars 2019-04-11 23:26:12 -04:00
Brenden Bice
a8de515155 use i18n for title text 2019-04-11 23:26:12 -04:00
Brenden Bice
45b69dc312 add avatar list section title 2019-04-11 23:26:12 -04:00
Brenden Bice
87a4cd450c adjust space between avatars 2019-04-11 23:26:12 -04:00
Brenden Bice
df622e6ed6 layout avatars side by side 2019-04-11 23:26:12 -04:00
Brenden Bice
0f5ea9c164 apply theming to avatars list 2019-04-11 23:26:12 -04:00
Brenden Bice
8a2f55644c improve code quality 2019-04-11 23:26:12 -04:00
Brenden Bice
8c9bcdc6c1 rename favourite to favorite 2019-04-11 23:26:12 -04:00
Brenden Bice
6511166631 display favs & favorited user in one line 2019-04-11 23:26:12 -04:00
Brenden Bice
df68ce4d83 set maximum avatars count to 15 2019-04-11 23:26:12 -04:00
Brenden Bice
0c3a922341 use promisedRequest for api call 2019-04-11 23:26:12 -04:00
Brenden Bice
4ab2ddb03c improve code quality 2019-04-11 23:26:12 -04:00
Brenden Bice
d19bee0b66 fetch parent post boost users information 2019-04-11 23:26:12 -04:00
Brenden Bice
44d07ceb25 support mobile size screen 2019-04-11 23:26:12 -04:00
Brenden Bice
0d8eb1d00b set default avatar background 2019-04-11 23:26:12 -04:00
Brenden Bice
2db607f49c limit avatars list to display 10 2019-04-11 23:26:12 -04:00
Brenden Bice
ff25966702 display users in stacked avatarlist 2019-04-11 23:26:12 -04:00
Brenden Bice
85457fc917 fetch reblogged users 2019-04-11 23:26:12 -04:00
Brenden Bice
2d339cd3b8 fetch favorited users 2019-04-11 23:26:12 -04:00
HJ
fd3811d651 Merge branch '480-replies' into 'develop'
Display replies to statuses in real time

Closes #480

See merge request pleroma/pleroma-fe!737
2019-04-11 18:51:41 +00:00
taehoon
ab7a418d80 maintain conversationsObject storage 2019-04-11 12:46:06 -04:00
taehoon
fa16d66c52 remove unused importing 2019-04-11 07:56:26 -04:00
taehoon
724602bdc1 get statuses in a conversation from the global repository instead of local state 2019-04-11 07:56:26 -04:00
Henry Jameson
77db9c5c69 karma stuff, still broken tho 2019-04-10 22:36:37 +03:00
Henry Jameson
35fb4ac40e more rules 2019-04-10 22:09:39 +03:00
Henry Jameson
b1eea5d830 all the failing rules 2019-04-10 22:04:12 +03:00
Henry Jameson
262760d258 revert unnecessary changes 2019-04-10 21:48:42 +03:00
HJ
8c2efc5a5c Merge branch 'restore-yarnlock' into 'develop'
restore yarnlock

See merge request pleroma/pleroma-fe!749
2019-04-10 18:13:17 +00:00
Henry Jameson
ab58b735cd restore yarnlock 2019-04-10 21:09:26 +03:00
HJ
84505e01f5 Merge branch 'issue-436-mastoapi-notifications' into 'develop'
#436: integrate mastoAPI notifications

Closes #436

See merge request pleroma/pleroma-fe!678
2019-04-10 17:28:42 +00:00
dave
76cd01e99b #436 - remove yarn.lock 2019-04-10 13:22:54 -04:00
dave
40e9eebf91 #436 - merge develop 2019-04-10 12:54:33 -04:00
HJ
d94a7b6318 Merge branch 'fix-local' into 'develop'
Fix wrong property read in pleroma object

See merge request pleroma/pleroma-fe!747
2019-04-10 12:06:35 +00:00
Henry Jameson
18cb97a2bd Fix wrong local 2019-04-10 15:02:14 +03:00
Shpuld Shpludson
ed3aceff5c Merge branch 'mastoapi/update-extension-support' into 'develop'
Update entity normalizer to include more pleroma-specific fields

See merge request pleroma/pleroma-fe!745
2019-04-10 03:14:58 +00:00
Shpuld Shpludson
25601c6873 Merge branch 'fix-emoji-picker' into 'develop'
support new custom emoji format

Closes #484

See merge request pleroma/pleroma-fe!746
2019-04-10 03:14:51 +00:00
Henry Jameson
a25aabfa10 support new custom emoji format 2019-04-09 22:54:14 +03:00
dave
d498a26af5 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-04-09 15:42:05 -04:00
Henry Jameson
dfd89b0bbc revert, it's still missing 2019-04-09 22:28:36 +03:00
Henry Jameson
d95fc02810 add support for pleroma-specific fields 2019-04-09 22:26:57 +03:00
Shpuld Shpludson
d7cf841dfe Merge branch '486-expand-button' into 'develop'
#486 - remove expand button on conversation page

Closes #486

See merge request pleroma/pleroma-fe!742
2019-04-09 18:52:18 +00:00
jared
5df049ca31 #486 - remove expand button on conversation page 2019-04-09 14:10:51 -04:00
Shpuld Shpludson
b3ace226fb Merge branch 'fix/prevent-repeated-fetching' into 'develop'
#485 Prevent repeated fetching

Closes #485

See merge request pleroma/pleroma-fe!738
2019-04-09 18:05:46 +00:00
jasper
011f04c196 fix small bug 2019-04-09 09:19:48 -07:00
jasper
b7d7c21617 Add await to login befor redirect to friends timeline 2019-04-09 08:57:41 -07:00
jasper
1570e779b1 Prevent repeated fetching 2019-04-09 08:38:13 -07:00
Shpuld Shpludson
1e9ddcb0da Merge branch 'fix/notification-bugs' into 'develop'
#474 Fix notification bugs

Closes #474

See merge request pleroma/pleroma-fe!728
2019-04-09 15:24:33 +00:00
dave
d3218807b4 #436 - merge develop 2019-04-08 21:04:59 -04:00
Shpuld Shpludson
546ced43d9 Merge branch 'moderation-menu' into 'develop'
Moderation menu #310

See merge request pleroma/pleroma-fe!595
2019-04-08 19:01:40 +00:00
dave
b0da32fea2 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-04-08 14:29:12 -04:00
jared
7f6f025792 #101 - remove unused code 2019-04-08 13:32:39 -04:00
Shpuld Shpludson
2f725c570b Merge branch 'debug_message' into 'develop'
remove debug message

See merge request pleroma/pleroma-fe!735
2019-04-08 16:49:52 +00:00
Maksim
7259e02a10 remove debug message 2019-04-08 16:49:51 +00:00
jared
885f4c9924 #101 - bind outside click, add emoji to post status form 2019-04-08 12:02:50 -04:00
jared
2ab915b486 #101 - click outside of emoji implementation 2019-04-08 11:50:12 -04:00
jared
820a6543c7 #101 - update caret pos after emoji's inserted 2019-04-08 11:10:26 -04:00
Henry Jameson
6471bec0d9 update node 2019-04-07 20:54:55 +03:00
Henry Jameson
5d2177a048 fix obvious bug 2019-04-07 20:36:55 +03:00
Henry Jameson
9108737d55 Webpack 4, ESLint with Vue, Node-sass, updated dependencies overall. New linting. 2019-04-07 20:33:11 +03:00
jared
b4e53576f2 #101 - bind scroll event, highlight relevent section by tabs 2019-04-05 14:51:25 -04:00
jared
093f0b23f7 #101 - merge develop 2019-04-05 14:08:13 -04:00
Shpuld Shpludson
8c7f765dff Merge branch 'issue-469-safe-dm-from-BE' into 'develop'
Issue 469 safe dm from be

Closes #469

See merge request pleroma/pleroma-fe!726
2019-04-04 19:38:03 +00:00
jasper
1c04cd2036 Add space 2019-04-04 09:06:53 -07:00
jasper
a1275be4c0 Separate timeline and notification 2019-04-04 09:03:56 -07:00
jasper
7c2b65e9a3 Remove useless codes 2019-04-03 09:08:23 -07:00
jasper
ea27483f27 Fix notification bugs 2019-04-03 09:04:46 -07:00
dave
fe756fe30d #436 - revert stripe html for notification 2019-04-03 11:17:23 -04:00
dave
6ed26ce65d #436 - notification html to text content 2019-04-03 10:58:39 -04:00
dave
6fa014505c #436 - revert notification silience config 2019-04-03 10:53:11 -04:00
jared
3b78c9c755 #101 - update hard-coded server url 2019-04-02 13:38:07 -04:00
dave
70071b870f #469 - update text copy 2019-04-02 12:46:22 -04:00
dave
67258571c5 #469 - update behavior of safe_dm 2019-04-02 11:19:45 -04:00
jared
79efe0646c merge develop 2019-04-02 10:53:33 -04:00
dave
9d5ed04147 #469 - clean up 2019-04-02 10:28:38 -04:00
dave
c9a9b3122d #469 - DM warning text should vary based on BE setting 2019-04-02 10:26:14 -04:00
dave
8b3f037f87 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-04-02 10:07:36 -04:00
eugenijm
6b6878bde0 Added moderation menu 2019-04-01 23:30:06 +03:00
Shpuld Shpludson
ac28e8c2f9 Merge branch 'feature/mobile-improvements-3' into 'develop'
Mobile notifications in nav bar, separate mobile navbar to its own component

See merge request pleroma/pleroma-fe!703
2019-04-01 19:57:31 +00:00
Shpuld Shpludson
a595febcb8 Merge branch 'develop' into 'develop'
[i18n] Update oc.json for !611 and !691

See merge request pleroma/pleroma-fe!712
2019-04-01 19:49:16 +00:00
shpuld
89c9448532 fix conflict 2019-04-01 22:47:37 +03:00
Shpuld Shpludson
ae3b92ce85 Merge branch 'fix/sending-requests-when-loading' into 'develop'
#463 Add Promise.all to send requests when loading

Closes #463

See merge request pleroma/pleroma-fe!723
2019-04-01 19:45:08 +00:00
Shpuld Shpludson
3b38e1b8a7 Merge branch 'patch-2' into 'develop'
Update Polish translation

See merge request pleroma/pleroma-fe!719
2019-04-01 19:44:11 +00:00
shpuld
46de457f50 Merge branch 'develop' into feature/mobile-improvements-3 2019-04-01 22:42:06 +03:00
shpuld
2879495b8a remove window width copypasta 2019-04-01 22:41:34 +03:00
Shpuld Shpludson
df366a586d Merge branch '471-timeline-since-id' into 'develop'
#471 - fix timeline fetch with since_id

Closes #471

See merge request pleroma/pleroma-fe!722
2019-04-01 19:33:45 +00:00
HJ
3c2931529e Merge branch 'minimal-scopes-mode' into 'develop'
Initial work on deprecating scopeModesEnabled in favor of minimalScopeMode

See merge request pleroma/pleroma-fe!633
2019-04-01 19:32:37 +00:00
jasper
90939f198b Fix login handling 2019-04-01 12:32:13 -07:00
HJ
c17de4b638 Merge branch '470-toggle-subject-content' into 'develop'
Resolve "Handling subjects/spoiler_text/cw not working properly"

Closes #470

See merge request pleroma/pleroma-fe!721
2019-04-01 18:45:24 +00:00
jasper
8fc10dc177 Add Promise.all to send requests when loading 2019-04-01 10:46:30 -07:00
jared
d856c2745c #471 - fix timeline fetch with since_id 2019-04-01 13:25:48 -04:00
jared
dee9ab7bda #470 - update button text capitalization 2019-04-01 13:04:40 -04:00
jared
487a194f6d #470 - handle cases without subject 2019-04-01 13:01:28 -04:00
jared
6847e70a49 #470 - update i18n 2019-04-01 12:58:23 -04:00
jared
748b1ed167 #470 - fix subject and content toggle issue 2019-04-01 12:54:34 -04:00
dave
6482201dc9 #436 - sync notification & timeline users 2019-04-01 12:22:49 -04:00
dave
0af2f8e4fd #436 - merge develop & resolve conflict 2019-04-01 12:13:11 -04:00
Shpuld Shpludson
6c24ae9b0b Merge branch 'fix/user-card-buttons' into 'develop'
#467 Fix/Muted and Blocked not "pressed" on User Card

Closes #467

See merge request pleroma/pleroma-fe!720
2019-04-01 15:38:14 +00:00
jasper
80277e5571 Remove useless comma 2019-04-01 07:27:12 -07:00
jasper
4a2f676f2e Fix user card in notification 2019-04-01 07:26:13 -07:00
dave
21ea5adc8b #436 - apply patch and clean up 2019-03-31 21:59:18 -04:00
dave
b909796683 #436 - update notification 2019-03-31 15:15:16 -04:00
dave
06fd3a9c5f #436 - apply patch 2019-03-31 14:50:34 -04:00
dave
ecacc933e7 #436 - keep original naming 2019-03-31 13:47:23 -04:00
dave
0db66e2905 #436 - keep original naming 2019-03-31 13:41:22 -04:00
dave
8efcfc69e8 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-03-31 11:03:43 -04:00
Marcin Mikołajczak
6828c7d74c Update Polish translation 2019-03-31 13:50:51 +00:00
Henry Jameson
6c7cf7d9b5 some initial documentation about configuration 2019-03-31 15:32:11 +03:00
Henry Jameson
0792732822 final touches 2019-03-30 12:42:42 +02:00
Henry Jameson
4dc64438e9 aaaaggghh 2019-03-30 12:41:42 +02:00
Henry Jameson
995daf70b7 fix lint 2019-03-30 12:34:13 +02:00
Henry Jameson
9f4a9bff46 Merge remote-tracking branch 'upstream/develop' into minimal-scopes-mode
* upstream/develop: (173 commits)
  Fix: Change condition
  fix typo
  update store according to retweeted status
  #433 - update sort by for conversation
  display replies_count right after reply icon
  expose replies_count from mastodon api
  Apparently, MastoAPI gives status in ancestors if you try opening a repeat...
  make side drawer use gesture service and fix its animations
  review/remove error hiding
  errata
  review
  #433 - sort conversation for retweets and clean up
  Revert "Merge branch 'revert-987b5162' into 'develop'"
  Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"
  Add await to login action'
  Remove console log
  Fix warnings in user profile routing
  Add tests for gesture service, fix bug with perpendicular directions
  #255 - clean up autocomplete form
  #255 - clean up user settings page with self-closing html tags
  ...
2019-03-30 12:31:50 +02:00
Henry Jameson
e89a622005 fix formatting 2019-03-30 12:29:28 +02:00
Henry Jameson
beaf4fcf8a fix formatting 2019-03-30 12:26:53 +02:00
Henry Jameson
bf927122df Review 2019-03-30 12:25:23 +02:00
jared
2ee8d21366 #101 - update emoji with fontello icon 2019-03-29 16:34:59 -04:00
jared
3172b4e7c1 #101 - insert emoji from emoji selector 2019-03-29 15:56:50 -04:00
jared
f9071dac25 #101 - show emojis in groups, clean up 2019-03-29 12:48:52 -04:00
jared
2c4e80aab3 #101 - add emoji selector basic mockup 2019-03-29 11:49:32 -04:00
Shpuld Shpludson
0117f6af9f Merge branch 'issues/#465' into 'develop'
update store according to retweeted status

Closes #465

See merge request pleroma/pleroma-fe!713
2019-03-29 15:33:16 +00:00
Shpuld Shpludson
e329a362e0 Merge branch 'fix/warnings-in-user-profile' into 'develop'
#461 Fix warnings about user-profile

Closes #461

See merge request pleroma/pleroma-fe!708
2019-03-29 15:32:40 +00:00
dave
783cc00dd0 merge develop & resolve conflict 2019-03-29 10:11:28 -04:00
jasper
e6f9b1517b Fix: Change condition 2019-03-28 18:43:03 -07:00
Shpuld Shpludson
25370083b6 Merge branch '255-emoji-input' into 'develop'
#255 - add emoji input component

Closes #255

See merge request pleroma/pleroma-fe!706
2019-03-28 21:09:48 +00:00
shpuld
c06bcf3303 add gesture to close notifications drawer 2019-03-28 22:54:45 +02:00
shpuld
31010779f6 Merge branch 'develop' into feature/mobile-improvements-3 2019-03-28 22:25:40 +02:00
Shpuld Shpludson
c829b1a5f4 Merge branch 'feat/gesture-service' into 'develop'
Add a gesture service for easier touch gestures

See merge request pleroma/pleroma-fe!714
2019-03-28 20:20:16 +00:00
shpuld
1e2c304f76 fix typo 2019-03-28 22:11:05 +02:00
Shpuld Shpludson
ee9aa40001 Merge branch 'issues/#466' into 'develop'
show replies count right after reply icon

Closes #466

See merge request pleroma/pleroma-fe!716
2019-03-28 20:09:59 +00:00
Shpuld Shpludson
7e8c2acc98 Merge branch 'issue-433-status-reply-form' into 'develop'
Issue 433 status reply form

Closes #433

See merge request pleroma/pleroma-fe!674
2019-03-28 20:08:40 +00:00
Brenden Bice
8e4ddcb843 update store according to retweeted status 2019-03-28 13:20:09 -04:00
dave
a39fc49e84 #433 - update sort by for conversation 2019-03-28 10:02:33 -04:00
dave
e24145e233 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-433-status-reply-form 2019-03-28 09:54:55 -04:00
Brenden Bice
6b5a84e2b3 display replies_count right after reply icon 2019-03-28 03:47:00 -04:00
Brenden Bice
95639fbd63 expose replies_count from mastodon api 2019-03-28 03:46:41 -04:00
HJ
e2e3a65c44 Merge branch 'fix/convos-masto' into 'develop'
Apparently, MastoAPI gives status in ancestors if you try opening a repeat...

Closes #460

See merge request pleroma/pleroma-fe!715
2019-03-27 20:55:24 +00:00
Henry Jameson
31a71ee3ee Apparently, MastoAPI gives status in ancestors if you try opening a repeat... 2019-03-27 22:50:19 +02:00
HJ
86696167b7 Merge branch 'issue-457-mastodon-tag-timeline' into 'develop'
#457 - update tag timeline endpoint to MastoAPI

Closes #457

See merge request pleroma/pleroma-fe!707
2019-03-27 20:44:58 +00:00
shpuld
0eff4bd0ac make side drawer use gesture service and fix its animations 2019-03-27 22:44:25 +02:00
dave
30084a1204 merge develop and resolve conflict 2019-03-27 16:41:05 -04:00
HJ
aed0943678 Merge branch 'mastoapi/actions' into 'develop'
transition to MastoAPI: Basic user/statuses manipulation

See merge request pleroma/pleroma-fe!669
2019-03-27 20:28:55 +00:00
Henry Jameson
66ab131bd4 Merge remote-tracking branch 'upstream/develop' into mastoapi/actions
* upstream/develop:
  errata
  review
  Revert "Merge branch 'revert-987b5162' into 'develop'"
  Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"
  Add await to login action'
  correctly paginate on MastoAPI
  #442 - update placeholder linebreak
  #442 - clean up Bio placeholder text
  wip support for follower/following, a bit broken and with regression
  switch direct messages to mastoapi
  switch public and TWKN to MastoAPI
  undo this change since BE returns empty object for relationship, add in a separate MR
  updates normalizer for proper user handling and adds support for friends tl via mastoapi
2019-03-27 22:24:38 +02:00
HJ
4d66b9cf45 Merge branch 'mastoapi/followers' into 'develop'
MastoAPI support for followers/friends(following)

See merge request pleroma/pleroma-fe!667
2019-03-27 20:18:44 +00:00
Henry Jameson
c2c7e12aad review/remove error hiding 2019-03-27 22:18:43 +02:00
Henry Jameson
a5e71d1dd1 Merge remote-tracking branch 'upstream/develop' into mastoapi/followers
* upstream/develop:
  Revert "Merge branch 'revert-987b5162' into 'develop'"
  Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"
  Add await to login action'
  switch direct messages to mastoapi
  switch public and TWKN to MastoAPI
2019-03-27 22:14:26 +02:00
Henry Jameson
ff18e339cf Merge remote-tracking branch 'upstream/develop' into mastoapi/followers
* upstream/develop:
  #442 - update placeholder linebreak
  #442 - clean up Bio placeholder text
  undo this change since BE returns empty object for relationship, add in a separate MR
  updates normalizer for proper user handling and adds support for friends tl via mastoapi
2019-03-27 22:12:51 +02:00
Henry Jameson
0a031aae20 errata 2019-03-27 22:04:59 +02:00
Henry Jameson
fb2aca06de review 2019-03-27 22:02:46 +02:00
dave
43e97e590c #433 - sort conversation for retweets and clean up 2019-03-27 16:00:54 -04:00
HJ
f6e779a084 Merge branch 'masto-api/direct' into 'develop'
switch direct messages to mastoapi

See merge request pleroma/pleroma-fe!649
2019-03-27 19:53:56 +00:00
HJ
ea50f55148 Merge branch 'develop' into 'masto-api/direct'
# Conflicts:
#   src/services/api/api.service.js
2019-03-27 19:48:41 +00:00
HJ
3870adf51f Merge branch 'mastoapi/friends-tl' into 'develop'
Mastoapi/friends tl

See merge request pleroma/pleroma-fe!711
2019-03-27 19:40:51 +00:00
Exilat
e1e0b8b254 Update oc.json for !611 and !691 2019-03-27 18:46:40 +00:00
dave
0e2931e7de Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-433-status-reply-form 2019-03-27 13:50:51 -04:00
Shpuld Shpludson
85e9e52090 Merge branch 'fix/add-await-to-login-request' into 'develop'
!701 Add await to login action in after_store

See merge request pleroma/pleroma-fe!709
2019-03-27 16:22:31 +00:00
jared
37b33fc615 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into 255-emoji-input 2019-03-27 11:13:06 -04:00
dave
578b412177 #457 - merge develop and resolve conflict 2019-03-27 11:09:30 -04:00
Henry Jameson
b3a6bec17b Revert "Merge branch 'revert-987b5162' into 'develop'"
This reverts commit 96753e6a5f, reversing
changes made to 987b5162a7.
2019-03-27 11:17:04 +02:00
HJ
e750b2f197 Merge branch 'mastoapi/public-tl' into 'develop'
switch public and TWKN to MastoAPI

See merge request pleroma/pleroma-fe!650
2019-03-27 08:54:57 +00:00
HJ
96753e6a5f Merge branch 'revert-987b5162' into 'develop'
Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"

See merge request pleroma/pleroma-fe!710
2019-03-27 08:51:35 +00:00
HJ
95459ff0bc Revert "Merge branch 'mastoapi/friends-tl' into 'develop'"
This reverts merge request !647
2019-03-27 08:47:54 +00:00
jasper
2d05aef24b Add await to login action' 2019-03-26 14:26:26 -07:00
jasper
26955af60b Remove console log 2019-03-26 13:36:33 -07:00
jasper
ab99d5ef95 Fix warnings in user profile routing 2019-03-26 13:35:08 -07:00
shpuld
c50e64f8ee Add tests for gesture service, fix bug with perpendicular directions 2019-03-26 22:11:45 +02:00
jared
8fe9101f0b #255 - clean up autocomplete form 2019-03-26 14:53:27 -04:00
jared
6dc2cedab0 #255 - clean up user settings page with self-closing html tags 2019-03-26 13:42:27 -04:00
jared
2927454233 #255 - support textarea and update user settings page 2019-03-26 13:40:37 -04:00
Shpuld Shpludson
987b5162a7 Merge branch 'mastoapi/friends-tl' into 'develop'
Switch friends TL to MastoAPI

See merge request pleroma/pleroma-fe!647
2019-03-26 17:24:37 +00:00
dave
982be05873 #457 - update tag timeline endpoint to MastoAPI 2019-03-26 11:40:34 -04:00
dave
5fd589d5e7 merge develop & resolve conflict 2019-03-26 10:52:46 -04:00
jared
441deb405d Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into 255-emoji-input 2019-03-26 09:38:45 -04:00
jared
b97a033839 #255 - add emoji input component 2019-03-25 22:38:15 -04:00
HJ
2f1e690478 Merge branch 'issue-442-placeholder-fix' into 'develop'
#442 - clean up Bio placeholder text

Closes #442

See merge request pleroma/pleroma-fe!689
2019-03-25 22:29:17 +00:00
shpuld
e23c19468a somewhat functioning gesture service 2019-03-25 22:44:58 +02:00
dave
467647d5d7 #433 - fix retweet abnormal behavior 2019-03-25 16:09:40 -04:00
HJ
04217fc660 Merge branch 'develop' into 'mastoapi/friends-tl'
# Conflicts:
#   src/services/api/api.service.js
2019-03-25 19:21:48 +00:00
Henry Jameson
d766059dee correctly update relationship on follow/unfollow 2019-03-25 21:19:24 +02:00
Henry Jameson
82f077feb9 fixup! Merge remote-tracking branch 'upstream/develop' into mastoapi/actions 2019-03-25 21:12:54 +02:00
Henry Jameson
0ffd43954e Merge remote-tracking branch 'upstream/develop' into mastoapi/actions
* upstream/develop: (87 commits)
  review
  Update attachment normalizer
  Add fallback for attachments uploaded via the other platforms
  Get correct mimetype through entity_normalizer
  Set default parameter
  Switch to mastoapi for posting status and uploading media
  Revert changes
  prevent text pasting if image is pasted
  remove border radius of suggested emojis
  #450 - dispatch login after saved state is loaded
  #448 - fix timeline fetch error when status text is null
  #451 - add class to username span
  No need to fetch mutes on load anymore 🙌
  switch to mastoapi
  switch to mastoapi
  masto api sends muted property now
  No need to fetch user data using old api anymore 🎉
  Switch to mastoapi
  reactivity fixes
  less hackery, more direct usage of mastoapi
  ...
2019-03-25 21:12:15 +02:00
dave
c5ec4829a7 #433 - consider page on focused 2019-03-25 15:10:45 -04:00
HJ
3025532ecf Merge branch 'develop' into 'mastoapi/public-tl'
# Conflicts:
#   src/services/api/api.service.js
2019-03-25 19:09:22 +00:00
Henry Jameson
72749834f3 Merge remote-tracking branch 'upstream/develop' into masto-api/direct
* upstream/develop: (40 commits)
  review
  Update attachment normalizer
  Add fallback for attachments uploaded via the other platforms
  Get correct mimetype through entity_normalizer
  Set default parameter
  Switch to mastoapi for posting status and uploading media
  Revert changes
  prevent text pasting if image is pasted
  remove border radius of suggested emojis
  #450 - dispatch login after saved state is loaded
  #448 - fix timeline fetch error when status text is null
  #451 - add class to username span
  No need to fetch mutes on load anymore 🙌
  switch to mastoapi
  switch to mastoapi
  masto api sends muted property now
  No need to fetch user data using old api anymore 🎉
  Switch to mastoapi
  reactivity fixes
  less hackery, more direct usage of mastoapi
  ...
2019-03-25 21:06:58 +02:00
Henry Jameson
968e6c7fe8 correctly paginate on MastoAPI 2019-03-25 21:04:52 +02:00
dave
73dfb00be2 #433 - remove needless nesting/bloating 2019-03-25 14:59:47 -04:00
dave
1a68a9db36 #433 - Fix conversation page highlight, fetch conversation on converation page 2019-03-25 14:55:58 -04:00
dave
6143b1ce0f Resolve merge conflict,
Fix few issues (conversation page highlight, fetch conversation, ...)
2019-03-25 14:47:54 -04:00
Henry Jameson
50960c7cfc Merge remote-tracking branch 'upstream/develop' into mastoapi/followers
* upstream/develop: (87 commits)
  review
  Update attachment normalizer
  Add fallback for attachments uploaded via the other platforms
  Get correct mimetype through entity_normalizer
  Set default parameter
  Switch to mastoapi for posting status and uploading media
  Revert changes
  prevent text pasting if image is pasted
  remove border radius of suggested emojis
  #450 - dispatch login after saved state is loaded
  #448 - fix timeline fetch error when status text is null
  #451 - add class to username span
  No need to fetch mutes on load anymore 🙌
  switch to mastoapi
  switch to mastoapi
  masto api sends muted property now
  No need to fetch user data using old api anymore 🎉
  Switch to mastoapi
  reactivity fixes
  less hackery, more direct usage of mastoapi
  ...
2019-03-25 20:32:12 +02:00
shpuld
b13a751926 start creating gesture service 2019-03-25 20:27:44 +02:00
HJ
854d0e8051 Merge branch 'mastoapi/convos' into 'develop'
Fetching convos via MastoAPI

See merge request pleroma/pleroma-fe!662
2019-03-25 18:17:53 +00:00
Henry Jameson
cb122e3a99 review 2019-03-25 20:11:06 +02:00
Henry Jameson
3b5fc88989 Merge remote-tracking branch 'upstream/develop' into mastoapi/convos
* upstream/develop: (34 commits)
  Update attachment normalizer
  Add fallback for attachments uploaded via the other platforms
  Get correct mimetype through entity_normalizer
  Set default parameter
  Switch to mastoapi for posting status and uploading media
  Revert changes
  prevent text pasting if image is pasted
  remove border radius of suggested emojis
  #450 - dispatch login after saved state is loaded
  #448 - fix timeline fetch error when status text is null
  #451 - add class to username span
  No need to fetch mutes on load anymore 🙌
  switch to mastoapi
  switch to mastoapi
  masto api sends muted property now
  No need to fetch user data using old api anymore 🎉
  Switch to mastoapi
  Add comment
  Reset statusnet_blocking of all fetched users first while refreshing block list
  Add hideMutedPosts setting and wire up to post-returning endpoints
  ...
2019-03-25 19:54:15 +02:00
Shpuld Shpludson
b02085f2ef Merge branch 'issue-450-user-data-populate' into 'develop'
#450 - dispatch login after saved state is loaded

Closes #450

See merge request pleroma/pleroma-fe!701
2019-03-25 16:57:05 +00:00
Shpuld Shpludson
57b82e9236 Merge branch 'file-paste' into 'develop'
#455 - prevent text pasting if image is pasted

Closes #455

See merge request pleroma/pleroma-fe!705
2019-03-25 16:52:25 +00:00
Shpuld Shpludson
182eab051d Merge branch 'develop' into 'develop'
Remove border radius of suggested emojis

See merge request pleroma/pleroma-fe!704
2019-03-25 16:52:01 +00:00
HJ
153ad57007 Merge branch '435-mastoapi-composing-new-post' into 'develop'
Transition to MastoAPI: composing new status and media upload

Closes #435

See merge request pleroma/pleroma-fe!686
2019-03-25 16:42:20 +00:00
taehoon
932652e335 Update attachment normalizer 2019-03-25 12:19:33 -04:00
dave
6a9159b255 #433 - fix broken conversation page 2019-03-25 10:50:09 -04:00
dave
4cec0d589d Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-433-status-reply-form 2019-03-25 10:22:16 -04:00
taehoon
6fdbc182ca Add fallback for attachments uploaded via the other platforms 2019-03-24 21:16:57 -04:00
taehoon
909c315a44 Get correct mimetype through entity_normalizer 2019-03-24 21:16:57 -04:00
taehoon
966add1b29 Set default parameter 2019-03-24 21:16:57 -04:00
taehoon
9802344603 Switch to mastoapi for posting status and uploading media 2019-03-24 21:16:56 -04:00
HJ
01d0531699 Merge branch '227-manage-blocks-mutes' into 'develop'
Transition to MastoAPI: Mute & Block and Add Mutes management tab

See merge request pleroma/pleroma-fe!611
2019-03-24 17:15:21 +00:00
taehoon
f03747e841 Revert changes 2019-03-24 13:04:47 -04:00
nik
b241539d4d prevent text pasting if image is pasted 2019-03-23 22:45:24 -05:00
nik
05634d222d remove border radius of suggested emojis 2019-03-23 22:26:31 -05:00
shpuld
fd12263cac merge develop in 2019-03-23 22:21:57 +02:00
shpuld
85584021fb make notifications close on navigation 2019-03-23 22:03:38 +02:00
Shpuld Shpludson
f86a5dc804 Merge branch 'issue-448-status-text-null' into 'develop'
#448 - fix timeline fetch error when status text is null

Closes #448

See merge request pleroma/pleroma-fe!700
2019-03-23 14:17:47 +00:00
Shpuld Shpludson
e9b58f1af7 Merge branch 'issue-452-unfollow-button' into 'develop'
#452 - unfollow button issue

Closes #452

See merge request pleroma/pleroma-fe!698
2019-03-23 07:45:42 +00:00
Shpuld Shpludson
f3f006c8e3 Merge branch 'issue-451-long-user-name' into 'develop'
#451 - long username on follow/follower tabs

Closes #451

See merge request pleroma/pleroma-fe!697
2019-03-23 07:45:04 +00:00
dave
31d09931c8 #450 - dispatch login after saved state is loaded 2019-03-22 14:04:22 -04:00
dave
d70928792d #448 - fix timeline fetch error when status text is null 2019-03-22 13:15:11 -04:00
dave
ed4540530b #451 - add class to username span 2019-03-22 10:42:21 -04:00
lambda
277790e462 Merge branch '438-mastoapi-user-search' into 'develop'
Transition to MastoAPI: user search

Closes #438

See merge request pleroma/pleroma-fe!677
2019-03-22 11:16:25 +00:00
taehoon
9fa1bc63b0 No need to fetch mutes on load anymore 🙌 2019-03-21 21:58:02 -04:00
taehoon
a64e744c1b switch to mastoapi 2019-03-21 21:53:24 -04:00
taehoon
8702d23a13 switch to mastoapi 2019-03-21 21:44:59 -04:00
taehoon
379e33f6a5 masto api sends muted property now 2019-03-21 21:31:16 -04:00
taehoon
883a84b313 No need to fetch user data using old api anymore 🎉 2019-03-21 21:30:30 -04:00
taehoon
af85a3f244 Switch to mastoapi 2019-03-21 21:27:10 -04:00
Henry Jameson
e617ed285e reactivity fixes 2019-03-22 00:05:20 +02:00
Henry Jameson
67719e9a23 less hackery, more direct usage of mastoapi 2019-03-21 23:45:18 +02:00
Henry Jameson
d6c62fa50f minor UI improvements - keep current behavior of showing originating post initially 2019-03-21 23:27:14 +02:00
Henry Jameson
ee94a6732a why did i do that 2019-03-21 22:49:26 +02:00
Henry Jameson
307b4ba698 Merge remote-tracking branch 'upstream/develop' into mastoapi/convos
* upstream/develop: (47 commits)
  #449 - fix auth token fetch issue
  Make select tag use --inputText as text color
  #444 - remote follow clean up
  #444 - show `remote follow` button when logged out
  Add button to save without cropping
  post-merge fixes
  [i18n] Update oc.json
  after store: fix setting postFormats field
  fix user-card avatar falling into permament failed state
  fix flake id users not fetching correctly
  fix console error
  afterStoreSetup: Move log in and theme load to afterStoreSetup.
  afterStoreSetup: Handle 404 cases.
  afterStoreSetup: Emoji and nodeinfo refactor.
  afterStoreSetup: refactor TOS and panel fetching, handle 404s.
  afterStoreSetup: refactor.
  Load persistedStated with async/await.
  whoops
  レインせんぱいにサンキュー
  fix embedded relationship card parsing
  ...
2019-03-21 22:40:20 +02:00
taehoon
a0bccbce94 Add comment 2019-03-21 16:39:41 -04:00
taehoon
d7919109ec Reset statusnet_blocking of all fetched users first while refreshing block list 2019-03-21 16:39:41 -04:00
taehoon
9857002bf5 Add hideMutedPosts setting and wire up to post-returning endpoints 2019-03-21 16:33:02 -04:00
Henry Jameson
fe13b1b75a Merge remote-tracking branch 'upstream/develop' into mastoapi/friends-tl
* upstream/develop: (47 commits)
  #449 - fix auth token fetch issue
  Make select tag use --inputText as text color
  #444 - remote follow clean up
  #444 - show `remote follow` button when logged out
  Add button to save without cropping
  post-merge fixes
  [i18n] Update oc.json
  after store: fix setting postFormats field
  fix user-card avatar falling into permament failed state
  fix flake id users not fetching correctly
  fix console error
  afterStoreSetup: Move log in and theme load to afterStoreSetup.
  afterStoreSetup: Handle 404 cases.
  afterStoreSetup: Emoji and nodeinfo refactor.
  afterStoreSetup: refactor TOS and panel fetching, handle 404s.
  afterStoreSetup: refactor.
  Load persistedStated with async/await.
  whoops
  レインせんぱいにサンキュー
  fix embedded relationship card parsing
  ...
2019-03-21 22:28:29 +02:00
taehoon
300259fd97 Add todo comment 2019-03-21 16:26:15 -04:00
taehoon
333afd2138 Minor code refactoring 2019-03-21 16:26:15 -04:00
taehoon
d65422a6a5 Improve fetch error handling using a util 2019-03-21 16:26:13 -04:00
taehoon
9b690209d0 Reset old mutes state after fetching new mutes data 2019-03-21 16:21:28 -04:00
taehoon
302310a653 Remove old muting logic 2019-03-21 16:19:09 -04:00
taehoon
a6ce191cbc Update MuteCard ui 2019-03-21 16:19:05 -04:00
taehoon
859ed4f34f Fetct full data of muted users after fetchMutes api call 2019-03-21 16:19:05 -04:00
taehoon
f04cbc8875 Add mute/unmute mutations 2019-03-21 16:19:05 -04:00
taehoon
3255950b0e Add mute/unmute featrue and mutes management tab 2019-03-21 16:19:03 -04:00
Henry Jameson
faef769b40 Merge remote-tracking branch 'upstream/develop' into masto-api/direct
* upstream/develop: (47 commits)
  #449 - fix auth token fetch issue
  Make select tag use --inputText as text color
  #444 - remote follow clean up
  #444 - show `remote follow` button when logged out
  Add button to save without cropping
  post-merge fixes
  [i18n] Update oc.json
  after store: fix setting postFormats field
  fix user-card avatar falling into permament failed state
  fix flake id users not fetching correctly
  fix console error
  afterStoreSetup: Move log in and theme load to afterStoreSetup.
  afterStoreSetup: Handle 404 cases.
  afterStoreSetup: Emoji and nodeinfo refactor.
  afterStoreSetup: refactor TOS and panel fetching, handle 404s.
  afterStoreSetup: refactor.
  Load persistedStated with async/await.
  whoops
  レインせんぱいにサンキュー
  fix embedded relationship card parsing
  ...
2019-03-21 22:11:02 +02:00
dave
23bae67146 #452 - update button class name 2019-03-21 15:03:54 -04:00
dave
8932c53706 #451 - update styling 2019-03-21 14:58:28 -04:00
dave
dfcdf4f32c #452 - unfollow button issue 2019-03-21 13:19:10 -04:00
dave
1c6e5d3688 #451 - long username on follow/follower tabs 2019-03-21 13:06:37 -04:00
Shpuld Shpludson
66e60572bc Merge branch 'issue-449-auto-token-fetch' into 'develop'
#449 - fix auth token fetch issue

Closes #449

See merge request pleroma/pleroma-fe!696
2019-03-21 16:12:33 +00:00
dave
db3b48d444 #449 - fix auth token fetch issue 2019-03-21 12:04:57 -04:00
Shpuld Shpludson
c2b7aff325 Merge branch 'issue-444-remote-follow' into 'develop'
#444 - show `remote follow` button when logged out

Closes #444

See merge request pleroma/pleroma-fe!692
2019-03-21 15:46:05 +00:00
Shpuld Shpludson
9890e41440 Merge branch 'feature/bypass-avatar-cropper' into 'develop'
#443 Add button to save without cropping

Closes #443

See merge request pleroma/pleroma-fe!691
2019-03-21 15:44:26 +00:00
Shpuld Shpludson
9e17853b2c Merge branch 'patch-2' into 'develop'
[i18n] Update oc.json

See merge request pleroma/pleroma-fe!684
2019-03-21 15:38:19 +00:00
Shpuld Shpludson
a284a267ce Merge branch 'develop' into 'develop'
Fixing typos and badly translated strings (Portuguese)

See merge request pleroma/pleroma-fe!676
2019-03-21 15:37:05 +00:00
Shpuld Shpludson
57cd6f8018 Merge branch 'feature/version-info' into 'develop'
Added new tab to display versions of BE/FE

Closes #397

See merge request pleroma/pleroma-fe!671
2019-03-21 15:25:59 +00:00
shpuld
f389128e53 make mobile notifs drawer more like an actual drawer, make mobile nav buttons bigger to press, fix alert dot 2019-03-20 22:09:29 +02:00
HJ
0659d2fd3a Merge branch 'patch-1' into 'develop'
Make select tag use --inputText as text color

See merge request pleroma/pleroma-fe!693
2019-03-20 13:12:51 +00:00
Marcin Mikołajczak
4ace0866da Make select tag use --inputText as text color 2019-03-20 11:52:58 +00:00
dave
96c88b334c #444 - remote follow clean up 2019-03-19 14:41:50 -04:00
dave
07b8115a37 #444 - show remote follow button when logged out 2019-03-19 14:36:27 -04:00
jasper
3108722eda Add button to save without cropping 2019-03-18 18:19:42 -07:00
dave
13e727b5ee #436: sync notification with timeline 2019-03-18 14:42:09 -04:00
dave
060d3b0713 #436: implement is_seen logic 2019-03-18 12:30:34 -04:00
dave
55d7bd6d4e Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-03-18 10:37:26 -04:00
dave
5717d97182 #442 - update placeholder linebreak 2019-03-18 10:35:13 -04:00
dave
543cc0d285 #442 - clean up Bio placeholder text 2019-03-17 16:59:08 -04:00
HJ
96f9eab700 Merge branch 'mastoapi/emojis' into 'develop'
MastoAPI: emoji support

See merge request pleroma/pleroma-fe!659
2019-03-17 14:08:01 +00:00
dave
241503346f #436: clean up based on comment 2019-03-17 10:08:01 -04:00
Henry Jameson
4cdfd5fb86 post-merge fixes 2019-03-17 14:41:05 +02:00
Henry Jameson
30c0cafff1 Merge remote-tracking branch 'upstream/develop' into mastoapi/emojis
* upstream/develop: (34 commits)
  after store: fix setting postFormats field
  fix user-card avatar falling into permament failed state
  fix flake id users not fetching correctly
  fix console error
  afterStoreSetup: Move log in and theme load to afterStoreSetup.
  afterStoreSetup: Handle 404 cases.
  afterStoreSetup: Emoji and nodeinfo refactor.
  afterStoreSetup: refactor TOS and panel fetching, handle 404s.
  afterStoreSetup: refactor.
  Load persistedStated with async/await.
  whoops
  レインせんぱいにサンキュー
  fix embedded relationship card parsing
  actually use embedded relationship if it's present
  instead of filtering nulls, let's just not have them in the first place
  #434 - fix plain text issue
  Add floating post-status button on mobile
  Update user settings icon to pencil
  I18n: Update Czech translation
  user_card.vue: Copy over .status-content img styling
  ...
2019-03-17 13:32:56 +02:00
Exilat
7babbce522 [i18n] Update oc.json 2019-03-15 17:23:30 +00:00
dave
e5786f32a7 #436: merge develop 2019-03-15 11:28:33 -04:00
taehoon
6e60873a3d Switch to mastoapi for user search 2019-03-15 11:03:11 -04:00
HJ
9364964b01 Merge branch 'mastoapi/user-stuff' into 'develop'
Transition to MastoAPI: user data

See merge request pleroma/pleroma-fe!655
2019-03-15 13:14:41 +00:00
lambda
92eb55c7bc Merge branch 'bugfix/nodeinfo-post-formats' into 'develop'
after store: fix setting postFormats field

See merge request pleroma/pleroma-fe!683
2019-03-15 13:03:35 +00:00
lambda
c626f84336 Merge branch 'afterstore-refactor' into 'develop'
afterStoreSetup: Move log in and theme load to afterStoreSetup.

See merge request pleroma/pleroma-fe!680
2019-03-15 13:03:19 +00:00
dave
8ade93bb4d #436: update test 2019-03-14 22:36:11 -04:00
dave
935aae054f #436: add is_local for statuses 2019-03-14 22:07:42 -04:00
HJ
ebc6a75d30 Merge branch 'issue-434-plain-text' into 'develop'
#434 - fix plain text issue

Closes #434

See merge request pleroma/pleroma-fe!675
2019-03-14 22:03:33 +00:00
William Pitcock
f93d4a3754 after store: fix setting postFormats field 2019-03-14 21:35:45 +00:00
Henry Jameson
71c12fa3a5 fix user-card avatar falling into permament failed state 2019-03-14 23:07:28 +02:00
Henry Jameson
6420c93e98 fix flake id users not fetching correctly 2019-03-14 23:07:28 +02:00
shpuld
0a86d39ba9 remove notifications from sidebar, make notifications appear on login only 2019-03-14 20:40:56 +02:00
dave
97a3f9c0f5 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-436-mastoapi-notifications 2019-03-14 14:24:23 -04:00
Henry Jameson
885a3a77df fix console error 2019-03-14 18:50:51 +02:00
dave
52326e6551 #436: remove clear & dismiss UI updates 2019-03-14 11:57:24 -04:00
shpuld
f19284357e make nav bar slide, move mobile post status to mobile nav 2019-03-14 17:46:04 +02:00
dave
06fda27511 #436: update unit testing 2019-03-14 08:06:40 -04:00
dave
e5e1d4c643 #436: fix notification order, follow type link issue, duplicate key 2019-03-14 07:55:39 -04:00
Edijs
3c5c09c74f Merge branch 'develop' into feature/version-info 2019-03-13 15:24:09 -07:00
dave
93a2510ede #436: update is_local 2019-03-13 15:43:48 -04:00
dave
78951964fb #436: update entity_normalizer 2019-03-13 15:34:45 -04:00
dave
2f7d890ad2 #436: add dismiss button, disable is_seen part 2019-03-13 14:08:03 -04:00
lain
5318227c37 afterStoreSetup: Move log in and theme load to afterStoreSetup. 2019-03-13 13:29:34 +01:00
lambda
9fd44e4a52 Merge branch 'afterstore-refactor' into 'develop'
Afterstore refactor

See merge request pleroma/pleroma-fe!679
2019-03-13 12:08:28 +00:00
lain
48ac96cfc7 afterStoreSetup: Handle 404 cases. 2019-03-13 12:41:39 +01:00
lain
446785ddce afterStoreSetup: Emoji and nodeinfo refactor. 2019-03-13 12:26:40 +01:00
lain
f535ccd925 afterStoreSetup: refactor TOS and panel fetching, handle 404s. 2019-03-13 12:10:57 +01:00
lain
c030e62254 afterStoreSetup: refactor. 2019-03-13 11:57:30 +01:00
lain
1387dfb889 Load persistedStated with async/await. 2019-03-13 11:29:45 +01:00
shpuld
7ce8fe9214 merge develop, add mobile nav component 2019-03-12 23:50:54 +02:00
dave
cd9a7dd488 #436: integrate mastoAPI notifications 2019-03-12 17:16:57 -04:00
Henry Jameson
644eba87fe whoops 2019-03-12 22:14:41 +02:00
Henry Jameson
27cbe3ca65 レインせんぱいにサンキュー 2019-03-12 22:10:22 +02:00
Henry Jameson
ce8b5fcd11 fix embedded relationship card parsing 2019-03-12 21:49:03 +02:00
Henry Jameson
b9877a4323 actually use embedded relationship if it's present 2019-03-11 23:45:24 +02:00
Rond
03f1b95252 fixing typos and badly translated strings 2019-03-11 18:26:40 -03:00
Henry Jameson
a6a162177b instead of filtering nulls, let's just not have them in the first place 2019-03-11 23:08:09 +02:00
dave
130fb7ae1e #434 - fix plain text issue 2019-03-11 16:48:27 -04:00
Henry Jameson
4efcda1b41 Added some tests 2019-03-11 22:41:08 +02:00
dave
63d7c7bd80 #433: persistency of status form 2019-03-11 16:24:37 -04:00
Shpuld Shpludson
7c26435e66 Merge branch 'develop' into 'master'
Update master with bugfixes (and other changes)

See merge request pleroma/pleroma-fe!673
2019-03-11 18:53:34 +00:00
dave
19015a4ae7 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into issue-433-status-reply-form 2019-03-11 13:41:55 -04:00
Shpuld Shpludson
f397537642 Merge branch 'feature/mobile-improvements-2' into 'develop'
Add floating post-status button on mobile

See merge request pleroma/pleroma-fe!628
2019-03-11 16:51:37 +00:00
Shpuld Shpludson
4a27c6d8d3 Add floating post-status button on mobile 2019-03-11 16:51:37 +00:00
Shpuld Shpludson
bb1a4e11f8 Merge branch '382-update-user-settings-icon' into 'develop'
Update user settings icon to pencil

Closes #382

See merge request pleroma/pleroma-fe!602
2019-03-11 16:48:16 +00:00
taehoon
d8e938bb5e Update user settings icon to pencil 2019-03-11 11:52:49 -04:00
dave
4f455eefe5 #433: do not remove the reply dialog 2019-03-11 10:52:28 -04:00
lambda
f52a33f711 Merge branch 'develop' into 'develop'
Only connect to chat upon authenticating

Closes #403

See merge request pleroma/pleroma-fe!666
2019-03-11 14:43:40 +00:00
lambda
ed3bf6f027 Merge branch 'i18n-cs' into 'develop'
I18n: Update Czech translation

See merge request pleroma/pleroma-fe!651
2019-03-11 14:28:44 +00:00
Lorem Ipsum
3414fce53b I18n: Update Czech translation 2019-03-11 14:28:44 +00:00
HJ
89d684af4e Merge branch 'emoji-limit-profile' into 'develop'
user_card.vue: Set img.emoji to 32×32px

See merge request pleroma/pleroma-fe!665
2019-03-11 09:45:16 +00:00
Haelwenn (lanodan) Monnier
d0e78df220
user_card.vue: Copy over .status-content img styling 2019-03-11 05:14:49 +01:00
Edijs
9c60934786 Code refactoring 2019-03-10 18:13:01 -07:00
Edijs
8952761370 Version links to BE/FE 2019-03-10 18:06:51 -07:00
Henry Jameson
06d39b62a8 fixed tests, review fixes, now storing local users with downcase screen name for
better compatibility
2019-03-11 02:17:58 +02:00
Edijs
068c9724e4 Added new tab to display versions of BE/FE 2019-03-10 16:58:12 -07:00
slice
e618c6ffb0
Only connect to chat when authenticating in the first place
To avoid duplication of the connection, the chat socket is destroyed
upon logging out.
2019-03-10 11:25:36 -07:00
Henry Jameson
4a5aef8883 basic user and status actions implemented 2019-03-10 19:15:07 +02:00
Henry Jameson
0b1506a4c0 wip support for follower/following, a bit broken and with regression 2019-03-10 18:05:51 +02:00
slice
a67881b096
Check for websocket token before connecting to chat
Closes #403. Previously, a socket to the chat channel would be opened if
chat is enabled, regardless if the user is logged in or not. This patch
only allows a connection to be opened if a wsToken (websocket token) is
present, which prevents websocket errors from unauthenticated users.
2019-03-10 01:54:26 -08:00
Haelwenn (lanodan) Monnier
07a46f7736
user_card.vue: Set img.emoji to 32×32px
Related to https://git.pleroma.social/pleroma/pleroma/merge_requests/792
2019-03-10 01:56:51 +01:00
Henry Jameson
49b0f0a04a Fetching convos via MastoAPI. Had to change conversation component a bit for
better support, since MastoAPI doesn't have coversation ids
2019-03-09 18:33:49 +02:00
Henry Jameson
489f840d84 fix error 2019-03-09 11:54:11 +02:00
Henry Jameson
f3a9200b7c some test fixes, disabled one test for now since logic now is even more async in general 2019-03-09 02:47:20 +02:00
Henry Jameson
47211fb32c emoji adder 2019-03-09 02:23:50 +02:00
Henry Jameson
a02a74e9b9 attempt at fixing switching to user TL 2019-03-09 01:51:36 +02:00
Henry Jameson
fe624f6114 fix reply-to marker, also whoops console log 2019-03-09 01:34:15 +02:00
Henry Jameson
690c1dcd7a revert some stuff, turns out it's actually breaking. Fixed some local user things 2019-03-09 01:19:56 +02:00
Henry Jameson
4f3a220487 Since BE doesn't support fetching user by screen name over MastoAPI we'll gonna
just fetching it over QvitterAPI real quick :DDDDDDDDD
2019-03-08 22:40:57 +02:00
Henry Jameson
853e0bc26f switch to mastoapi for user timeline 2019-03-08 00:50:58 +02:00
Henry Jameson
ee49409049 Partially transitioned user data to MastoAPI. Added support for fetching
relationship data. Upgraded code to be more resilient to nulls caused by missing
data in either APIs
2019-03-08 00:35:30 +02:00
Henry Jameson
6e2946f352 switch direct messages to mastoapi 2019-03-07 20:21:07 +02:00
Henry Jameson
8522063b2c switch public and TWKN to MastoAPI 2019-03-07 20:16:35 +02:00
Henry Jameson
c038d0c12a undo this change since BE returns empty object for relationship, add in a
separate MR
2019-03-07 20:04:29 +02:00
Henry Jameson
2e59ab738b updates normalizer for proper user handling and adds support for friends tl via mastoapi 2019-03-07 19:49:41 +02:00
Shpuld Shpludson
7e9c8c3d21 Merge branch 'develop' into 'master'
Update master

See merge request pleroma/pleroma-fe!646
2019-03-07 15:11:11 +00:00
shpuld
c7e180080a more work with notifications drawer 2019-03-03 16:33:40 +02:00
Henry Jameson
6184c88ac7 Initial work on deprecating scopeModesEnabled in favor of minimalScopeMode 2019-03-03 15:45:17 +02:00
shpuld
1d3b1ac934 start working on one tap notifications 2019-03-02 16:57:32 +02:00
Shpuld Shpludson
4800169f36 Merge branch 'cherry-pick-254b0afa' into 'master'
Merge default content-type fix into master

See merge request pleroma/pleroma-fe!609
2019-02-22 16:34:29 +00:00
Shpuld Shpludson
2d453e6355 Merge branch 'issue-383-content-type' into 'develop'
#383: content type error

Closes #383

See merge request pleroma/pleroma-fe!603

(cherry picked from commit 254b0afab7)

09822cc1 #383: content type error
2019-02-22 16:03:58 +00:00
Henry Jameson
533597fe25 bad defaults 2019-02-21 20:27:29 +02:00
580 changed files with 65782 additions and 17251 deletions

View file

@ -1,5 +1,5 @@
{ {
"presets": ["es2015", "stage-2", "env"], "presets": ["@babel/preset-env"],
"plugins": ["transform-runtime", "lodash", "transform-vue-jsx"], "plugins": ["@babel/plugin-transform-runtime", "lodash", "@vue/babel-plugin-jsx"],
"comments": false "comments": false
} }

View file

@ -1,14 +1,17 @@
module.exports = { module.exports = {
root: true, root: true,
parser: 'babel-eslint',
parserOptions: { parserOptions: {
parser: 'babel-eslint',
sourceType: 'module' sourceType: 'module'
}, },
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
extends: 'standard', extends: [
'standard',
'plugin:vue/recommended'
],
// required to lint *.vue files // required to lint *.vue files
plugins: [ plugins: [
'html' 'vue'
], ],
// add your custom rules here // add your custom rules here
rules: { rules: {
@ -17,6 +20,7 @@ module.exports = {
// allow async-await // allow async-await
'generator-star-spacing': 0, 'generator-star-spacing': 0,
// allow debugger during development // allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'vue/require-prop-types': 0
} }
} }

View file

@ -1,24 +1,31 @@
# This file is a template, and might need editing before it works on your project. # This file is a template, and might need editing before it works on your project.
# Official framework image. Look for the different tagged releases at: # Official framework image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/node/tags/ # https://hub.docker.com/r/library/node/tags/
image: node:7 image: node:12
stages: stages:
- lint - lint
- build - build
- test - test
- deploy
lint: lint:
stage: lint stage: lint
script: script:
- yarn - yarn
- npm run lint - npm run lint
- npm run stylelint
test: test:
stage: test stage: test
variables:
APT_CACHE_DIR: apt-cache
script: script:
- mkdir -pv $APT_CACHE_DIR && apt-get -qq update
- apt install firefox-esr -y --no-install-recommends
- firefox --version
- yarn - yarn
- npm run unit - yarn unit
build: build:
stage: build stage: build
@ -28,3 +35,13 @@ build:
artifacts: artifacts:
paths: paths:
- dist/ - dist/
docs-deploy:
stage: deploy
image: alpine:latest
only:
- develop@pleroma/pleroma-fe
before_script:
- apk add curl
script:
- curl -X POST -F"token=$DOCS_PIPELINE_TRIGGER" -F'ref=master' https://git.pleroma.social/api/v4/projects/673/trigger/pipeline

1
.mailmap Normal file
View file

@ -0,0 +1 @@
rinpatch <rin@patch.cx> <rinpatch@sdf.org>

19
.stylelintrc.json Normal file
View file

@ -0,0 +1,19 @@
{
"extends": [
"stylelint-rscss/config",
"stylelint-config-recommended",
"stylelint-config-standard"
],
"rules": {
"declaration-no-important": true,
"rscss/no-descendant-combinator": false,
"rscss/class-format": [
true,
{
"component": "pascal-case",
"variant": "^-[a-z]\\w+",
"element": "^[a-z]\\w+"
}
]
}
}

13
BREAKING_CHANGES.md Normal file
View file

@ -0,0 +1,13 @@
# v1.0
## Removed features/radically changed behavior
### formattingOptionsEnabled
as of !833 `formattingOptionsEnabled` is no longer available and instead FE check for available post formatting options and enables formatting control if there's more than one option.
### minimalScopesMode
As of !633, `scopeOptions` is no longer available and instead is changed for `minimalScopesMode` (default: `false`)
Reasoning is that scopeOptions option originally existed mostly as a backwards-compatibility with GNU Social which only had `public` scope available and using scope selector would''t work. Since at some point we dropped GNU Social support, this option was mostly a nuisance (being default `false`'), however some people think scopes are an annoyance to a certain degree and want as less of that feature as possible.
Solution - to only show minimal set among: *Direct*, *User default* and *Scope of post replying to*. This also makes it impossible to reply to a DM with a non-DM post from UI.
*This setting is admin-default, user-configurable. Admin can choose different default for their instance but user can override it.*

View file

@ -1,35 +0,0 @@
## 2017-02-20
- Overall CSS styling fixes
- Current theme is displayed in theme selector
- Theme selector is moved to the settings page
- Oembed attachments will now display correctly
- Styling changes to the user info cards
- Notification count in title
- Better Notification handling (persistance, mark as read)
- Post statuses with ctrl+enter
- Links in statuses open in a new tab
- Optimized mobile view
- Fix crash on persistance failure
- Compress persisted state
- Sync mutes with backend (SEE NOTE BELOW)
Pleroma will now try to get the current mutes from the backend. Sadly, a bug in
Qvitter will not allow getting the mutes from the endpoint, because it will
ignore HTTP Basic authentication. Mutes will still persist in Pleroma through
localstorage, but the mutes from Qvitter won't be picked up if the call fails.
The patch for Qvitter:
--- a/actions/apiqvittermutes.php
+++ b/actions/apiqvittermutes.php
@@ -74,7 +74,7 @@ class ApiQvitterMutesAction extends ApiPrivateAuthAction
{
parent::handle();
- $this->target = Profile::current();
+ $this->target = $this->scoped;
if(!$this->target instanceof Profile) {
$this->clientError(_('You have to be logged in to view your mutes.'), 403);

305
CHANGELOG.md Normal file
View file

@ -0,0 +1,305 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased
### Fixed
- AdminFE button no longer scrolls page to top when clicked
- Pinned statuses no longer appear at bottom of user timeline (still appear as part of the timeline when fetched deep enough)
- Fixed many many bugs related to new mentions, including spacing and alignment issues
- Links in profile bios now properly open in new tabs
- Inline images now respect their intended width/height attributes
- Links with `&` in them work properly now
- Interaction list popovers now properly emojify names
- Completely hidden posts still had 1px border
- Attachments are ALWAYS in same order as user uploaded, no more "videos first"
- Attachment description is prefilled with backend-provided default when uploading
- Proper visual feedback that next image is loading when browsing
### Changed
- (You)s are optional (opt-in) now, bolding your nickname is also optional (opt-out)
- User highlight background now also covers the `@`
- Reverted back to textual `@`, svg version is opt-in.
- Settings window has been throughly rearranged to make make more sense and make navication settings easier.
- Uploaded attachments are uniform with displayed attachments
- Flash is watchable in media-modal (takes up nearly full screen though due to sizing issues)
- Notifications about likes/repeats/emoji reacts are now minimized so they always take up same amount of space irrelevant to size of post.
### Added
- Options to show domains in mentions
- Option to show user avatars in mention links (opt-in)
- Option to disable the tooltip for mentions
- Option to completely hide muted threads
- Ability to open videos in modal even if you disabled that feature, via an icon button
- New button on attachment that indicates that attachment has a description and shows a bar filled with description
- Attachments are truncated just like post contents
- Media modal now also displays description and counter position in gallery (i.e. 1/5)
- Ability to rearrange order of attachments when uploading
- Enabled users to zoom and pan images in media viewer with mouse and touch
## [2.4.2] - 2022-01-09
### Added
- Added Apply and Reset buttons to the bottom of theme tab to minimize UI travel
- Implemented user option to always show floating New Post button (normally mobile-only)
- Display reasons for instance specific policies
- Added functionality to cancel follow request
### Fixed
- Fixed link to external profile not working on user profiles
- Fixed mobile shoutbox display
- Fixed favicon badge not working in Chrome
- Escape html more properly in subject/display name
## [2.4.0] - 2021-08-08
### Added
- Added a quick settings to timeline header for easier access
- Added option to mark posts as sensitive by default
- Added quick filters for notifications
- Implemented user option to change sidebar position to the right side
- Implemented user option to hide floating shout panel
- Implemented "edit profile" button if viewing own profile which opens profile settings
### Fixed
- Fixed follow request count showing in the wrong location in mobile view
## [2.3.0] - 2021-03-01
### Fixed
- Button to remove uploaded media in post status form is now properly placed and sized.
- Fixed shoutbox not working in mobile layout
- Fixed missing highlighted border in expanded conversations again
- Fixed some UI jumpiness when opening images particularly in chat view
- Fixed chat unread badge looking weird
- Fixed punycode names not working properly
- Fixed notifications crashing on an invalid notification
### Changed
- Display 'people voted' instead of 'votes' for multi-choice polls
- Changed the "Timelines" link in side panel to toggle show all timeline options inside the panel
- Renamed "Timeline" to "Home Timeline" to be more clear
- Optimized chat to not get horrible performance after keeping the same chat open for a long time
- When opening emoji picker or react picker, it automatically focuses the search field
- Language picker now uses native language names
### Added
- Added reason field for registration when approval is required
- Group staff members by role in the About page
## [2.2.3] - 2021-01-18
### Added
- Added Report button to status ellipsis menu for easier reporting
### Fixed
- Follows/Followers tabs on user profiles now display the content properly.
- Handle punycode in screen names
- Fixed local dev mode having non-functional websockets in some cases
- Show notices for websocket events (errors, abnormal closures, reconnections)
- Fix not being able to re-enable websocket until page refresh
- Fix annoying issue where timeline might have few posts when streaming is enabled
### Changed
- Don't filter own posts when they hit your wordfilter
## [2.2.2] - 2020-12-22
### Added
- Mouseover titles for emojis in reaction picker
- Support to input emoji into the search box in reaction picker
- Added some missing unicode emoji
- Added the upload limit to the Features panel in the About page
- Support for solid color wallpaper, instance doesn't have to define a wallpaper anymore
### Fixed
- Fixed the occasional bug where screen would scroll 1px when typing into a reply form
- Fixed timeline errors locking timelines
- Fixed missing highlighted border in expanded conversations
- Fixed custom emoji not working in profile field names
- Fixed pinned statuses not appearing in user profiles
- Fixed some elements not being keyboard navigation friendly
- Fixed error handling when updating various profile images
- Fixed your latest chat messages disappearing when closing chat view and opening it again during the same session
- Fixed custom emoji not showing in poll options before voting
- Fixed link color not applied to instance name in topbar
### Changed
- Errors when fetching are now shown with popup errors instead of "Error fetching updates" in panel headers
- Made reply/fav/repeat etc buttons easier to hit
- Adjusted timeline menu clickable area to match the visible button
- Moved external source link from status heading to the ellipsis menu
- Disabled horizontal textarea resize
- Wallpaper is now top-aligned, horizontally centered.
## [2.2.1] - 2020-11-11
### Fixed
- Fixed regression in react popup alignment and overflowing
## [2.2.0] - 2020-11-06
### Added
- New option to optimize timeline rendering to make the site more responsive (enabled by default)
- New instance option `logoLeft` to move logo to the left side in desktop nav bar
- Import/export a muted users
- Proper handling of deletes when using websocket streaming
- Added optimistic chat message sending, so you can start writing next message before the previous one has been sent
- Added a small red badge to the favicon when there's unread notifications
- Added the NSFW alert to link previews
### Fixed
- Fixed clicking NSFW hider through status popover
- Fixed chat-view back button being hard to click
- Fixed fresh chat notifications being cleared immediately while leaving the chat view and not having time to actually see the messages
- Fixed multiple regressions in CSS styles
- Fixed multiple issues with input fields when using CJK font as default
- Fixed search field in navbar infringing into logo in some cases
- Fixed not being able to load the chat history in vertical screens when the message list doesn't take the full height of the scrollable container on the first fetch.
### Changed
- Clicking immediately when timeline shifts is now blocked to prevent misclicks
- Icons changed from fontello (FontAwesome 4 + others) to FontAwesome 5 due to problems with fontello.
- Some icons changed for better accessibility (lock, globe)
- Logo is now clickable
- Changed default logo to SVG version
## [2.1.2] - 2020-09-17
### Fixed
- Fixed chats list not updating its order when new messages come in
- Fixed chat messages sometimes getting lost when you receive a message at the same time
## [2.1.1] - 2020-09-08
### Changed
- Polls will be hidden with status content if "Collapse posts with subjects" is enabled and the post is collapsed.
### Fixed
- Network fetches don't pile up anymore but wait for previous ones to finish to reduce throttling.
- Autocomplete won't stop at the second @, so it'll still work with "@lain@l" and not start over.
- Fixed weird autocomplete behavior when you write ":custom_emoji: ?"
## [2.1.0] - 2020-08-28
### Added
- Autocomplete domains from list of known instances
- 'Bot' settings option and badge
- Added profile meta data fields that can be set in profile settings
- Added option to reset avatar/banner in profile settings
- Descriptions can be set on uploaded files before posting
- Added status preview option to preview your statuses before posting
- When a post is a reply to an unavailable post, the 'Reply to'-text has a strike-through style
- Added ability to see all favoriting or repeating users when hovering the number on highlighted statuses
- Bookmarks
### Changed
- Change heart to thumbs up in reaction picker
- Close the media modal on navigation events
- Add colons to the emoji alt text, to make them copyable
- Add better visual indication for drag-and-drop for files
- When disabling attachments, the placeholder links now show an icon and the description instead of just IMAGE or VIDEO etc
- Remove unnecessary options for 'automatic loading when loading older' and 'reply previews'
- Greentext now has separate color slot for it
- Removed the use of with_move parameters when fetching notifications
- Push notifications now are the same as normal notfication, and are localized.
- Updated Notification Settings to match new BE API
### Fixed
- Custom Emoji will display in poll options now.
- Status ellipsis menu closes properly when selecting certain options
- Cropped images look correct in Chrome
- Newlines in the muted words settings work again
- Clicking on non-latin hashtags won't open a new window
- Uploading and drag-dropping multiple files works correctly now.
- Subject field now appears disabled when posting
- Fix status ellipsis menu being cut off in notifications column
- Fixed autocomplete sometimes not returning the right user when there's already some results
- Videos and audio and misc files show description as alt/title properly now
- Clicking on non-image/video files no longer opens an empty modal
- Audio files can now be played back in the frontend with hidden attachments
- Videos are not cropped awkwardly in the uploads section anymore
- Reply filtering options in Settings -> Filtering now work again using filtering on server
- Don't show just blank-screen when cookies are disabled
- Add status idempotency to prevent accidental double posting when posting returns an error
- Weird bug related to post being sent seemingly after pasting with keyboard (hopefully)
- Multiple issues with muted statuses/notifications
## [2.0.5] - 2020-05-12
### Added
- Added private notifications option for push notifications
- 'Copy link' button for statuses (in the ellipsis menu)
### Changed
- Registration page no longer requires email if the server is configured not to require it
### Fixed
- Status ellipsis menu closes properly when selecting certain options
## [2.0.3] - 2020-05-02
### Fixed
- Show more/less works correctly with auto-collapsed subjects and long posts
- RTL characters won't look messed up in notifications
### Changed
- Emoji autocomplete will match any part of the word and not just start, for example :drool will now helpfully suggest :blobcatdrool: and :blobcatdroolreach:
### Added
- Follow request notification support
## [2.0.2] - 2020-04-08
### Fixed
- Favorite/Repeat avatars not showing up on private instances/non-public posts
- Autocorrect getting triggered in the captcha field
- Overflow on long domains in follow/move notifications
### Changed
- Polish translation updated
## [2.0.0] - 2020-02-28
### Added
- Tons of color slots including ones for hover/pressed/toggled buttons
- Experimental `--variable[,mod]` syntax support for color slots in themes. the `mod` makes color brighter/darker depending on background color (makes darker color brighter/darker depending on background color)
- Paper theme by Shpuld
- Icons in nav panel
- Private mode support
- Support for 'Move' type notifications
- Pleroma AMOLED dark theme
- User level domain mutes, under User Settings -> Mutes
- Emoji reactions for statuses
- MRF keyword policy disclosure
### Changed
- Updated Pleroma default themes
- theme engine update to 3 (themes v2.1 introduction)
- massive internal changes in theme engine - slowly away from "generate things separately with spaghetti code" towards "feed all data into single 'generateTheme' function and declare slot inheritance and all in a separate file"
- Breezy theme updates to make it closer to actual Breeze in some aspects
- when using `--variable` in shadows it no longer uses the actual CSS3 variable, instead it generates color from other slots
- theme doesn't get saved to local storage when opening FE anonymously
- Captcha now resets on failed registrations
- Notifications column now cleans itself up to optimize performance when tab is left open for a long time
- 403 messaging
### Fixed
- Fixed loader-spinner not disappearing when a status preview fails to load
- anon viewers won't get theme data saved to local storage, so admin changing default theme will have an effect for users coming back to instance.
- Single notifications left unread when hitting read on another device/tab
- Registration fixed
- Deactivation of remote accounts from frontend
- Fixed NSFW unhiding not working with videos when using one-click unhiding/displaying
- Improved performance of anything that uses popovers (most notably statuses)
## [1.1.7 and earlier] - 2019-12-14
### Added
- Ability to hide/show repeats from user
- User profile button clutter organized into a menu
- Emoji picker
- Started changelog anew
- Ability to change user's email
- About page
- Added remote user redirect
### Changed
- changed the way fading effects for user profile/long statuses works, now uses css-mask instead of gradient background hacks which weren't exactly compatible with semi-transparent themes
### Fixed
- improved hotkey behavior on autocomplete popup

View file

@ -3,6 +3,7 @@ Contributors of this project.
- Constance Variable (lambadalambda@social.heldscal.la): Code - Constance Variable (lambadalambda@social.heldscal.la): Code
- Coco Snuss (cocosnuss@social.heldscal.la): Code - Coco Snuss (cocosnuss@social.heldscal.la): Code
- wakarimasen (wakarimasen@shitposter.club): NSFW hiding image - wakarimasen (wakarimasen@shitposter.club): NSFW hiding image
- eris (eris@disqordia.space): Code
- dtluna (dtluna@social.heldscal.la): Code - dtluna (dtluna@social.heldscal.la): Code
- sonyam (sonyam@social.heldscal.la): Background images - sonyam (sonyam@social.heldscal.la): Background images
- hakui (hakui@freezepeach.xyz): CSS and styling - hakui (hakui@freezepeach.xyz): CSS and styling

View file

@ -1,8 +1,8 @@
# pleroma_fe # Pleroma-FE
> A single column frontend for both Pleroma and GS servers. > A single column frontend designed for Pleroma.
![screenshot](https://i.imgur.com/DJVqSJ0.png) ![screenshot](/uploads/796c5ecf985ed1e2b0943ee0df131ed0/DJVqSJ0.png)
# For Translators # For Translators
@ -11,7 +11,6 @@ To translate Pleroma-FE, add your language to [src/i18n/messages.js](https://git
# FOR ADMINS # FOR ADMINS
You don't need to build Pleroma-FE yourself. Those using the Pleroma backend will be able to use it out of the box. You don't need to build Pleroma-FE yourself. Those using the Pleroma backend will be able to use it out of the box.
For the GNU social backend, check out https://git.pleroma.social/pleroma/pleroma-fe/wikis/dual-boot-with-qvitter to see how to run Pleroma-FE and Qvitter at the same time.
## Build Setup ## Build Setup
@ -41,7 +40,7 @@ FE Build process also leaves current commit hash in global variable `___pleromaf
# Configuration # Configuration
Edit config.json for configuration. scopeOptionsEnabled gives you input fields for CWs and the scope settings. Edit config.json for configuration.
## Options ## Options

View file

@ -21,6 +21,7 @@ var compiler = webpack(webpackConfig)
var devMiddleware = require('webpack-dev-middleware')(compiler, { var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath, publicPath: webpackConfig.output.publicPath,
writeToDisk: true,
stats: { stats: {
colors: true, colors: true,
chunks: false chunks: false
@ -31,8 +32,13 @@ var hotMiddleware = require('webpack-hot-middleware')(compiler)
// force page reload when html-webpack-plugin template changes // force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function (compilation) { compiler.plugin('compilation', function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
hotMiddleware.publish({ action: 'reload' }) // FIXME: This supposed to reload whole page when index.html is changed,
cb() // however now it reloads entire page on every breath, i suppose the order
// of plugins changed or something. It's a minor thing and douesn't hurt
// disabling it, constant reloads hurt much more
// hotMiddleware.publish({ action: 'reload' })
// cb()
}) })
}) })

View file

@ -1,6 +1,7 @@
var path = require('path') var path = require('path')
var config = require('../config') var config = require('../config')
var ExtractTextPlugin = require('extract-text-webpack-plugin') var sass = require('sass')
var MiniCssExtractPlugin = require('mini-css-extract-plugin')
exports.assetsPath = function (_path) { exports.assetsPath = function (_path) {
var assetsSubDirectory = process.env.NODE_ENV === 'production' var assetsSubDirectory = process.env.NODE_ENV === 'production'
@ -11,51 +12,52 @@ exports.assetsPath = function (_path) {
exports.cssLoaders = function (options) { exports.cssLoaders = function (options) {
options = options || {} options = options || {}
// generate loader string to be used with extract text plugin
function generateLoaders (loaders) {
var sourceLoader = loaders.map(function (loader) {
var extraParamChar
if (/\?/.test(loader)) {
loader = loader.replace(/\?/, '-loader?')
extraParamChar = '&'
} else {
loader = loader + '-loader'
extraParamChar = '?'
}
return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
}).join('!')
function generateLoaders (loaders) {
// Extract CSS when that option is specified // Extract CSS when that option is specified
// (which is the case during production build) // (which is the case during production build)
if (options.extract) { if (options.extract) {
return ExtractTextPlugin.extract('vue-style-loader', sourceLoader) return [MiniCssExtractPlugin.loader].concat(loaders)
} else { } else {
return ['vue-style-loader', sourceLoader].join('!') return ['vue-style-loader'].concat(loaders)
} }
} }
// http://vuejs.github.io/vue-loader/configurations/extract-css.html // http://vuejs.github.io/vue-loader/configurations/extract-css.html
return { return [
css: generateLoaders(['css']), {
postcss: generateLoaders(['css']), test: /\.(post)?css$/,
less: generateLoaders(['css', 'less']), use: generateLoaders(['css-loader', 'postcss-loader']),
sass: generateLoaders(['css', 'sass?indentedSyntax']), },
scss: generateLoaders(['css', 'sass']), {
stylus: generateLoaders(['css', 'stylus']), test: /\.less$/,
styl: generateLoaders(['css', 'stylus']) use: generateLoaders(['css-loader', 'postcss-loader', 'less-loader']),
},
{
test: /\.sass$/,
use: generateLoaders([
'css-loader',
'postcss-loader',
{
loader: 'sass-loader',
options: {
indentedSyntax: true
} }
}
])
},
{
test: /\.scss$/,
use: generateLoaders(['css-loader', 'postcss-loader', 'sass-loader'])
},
{
test: /\.styl(us)?$/,
use: generateLoaders(['css-loader', 'postcss-loader', 'stylus-loader']),
},
]
} }
// Generate loaders for standalone style files (outside of .vue) // Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) { exports.styleLoaders = function (options) {
var output = [] return exports.cssLoaders(options)
var loaders = exports.cssLoaders(options)
for (var extension in loaders) {
var loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
loader: loader
})
}
return output
} }

View file

@ -3,6 +3,8 @@ var config = require('../config')
var utils = require('./utils') var utils = require('./utils')
var projectRoot = path.resolve(__dirname, '../') var projectRoot = path.resolve(__dirname, '../')
var ServiceWorkerWebpackPlugin = require('serviceworker-webpack-plugin') var ServiceWorkerWebpackPlugin = require('serviceworker-webpack-plugin')
var CopyPlugin = require('copy-webpack-plugin');
var { VueLoaderPlugin } = require('vue-loader')
var env = process.env.NODE_ENV var env = process.env.NODE_ENV
// check env & config/index.js to decide weither to enable CSS Sourcemaps for the // check env & config/index.js to decide weither to enable CSS Sourcemaps for the
@ -11,6 +13,8 @@ var cssSourceMapDev = (env === 'development' && config.dev.cssSourceMap)
var cssSourceMapProd = (env === 'production' && config.build.productionSourceMap) var cssSourceMapProd = (env === 'production' && config.build.productionSourceMap)
var useCssSourceMap = cssSourceMapDev || cssSourceMapProd var useCssSourceMap = cssSourceMapDev || cssSourceMapProd
var now = Date.now()
module.exports = { module.exports = {
entry: { entry: {
app: './src/main.js' app: './src/main.js'
@ -20,83 +24,110 @@ module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath, publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js' filename: '[name].js'
}, },
resolve: { optimization: {
extensions: ['', '.js', '.vue'], splitChunks: {
fallback: [path.join(__dirname, '../node_modules')], chunks: 'all'
alias: {
'vue$': 'vue/dist/vue.runtime.common',
'src': path.resolve(__dirname, '../src'),
'assets': path.resolve(__dirname, '../src/assets'),
'components': path.resolve(__dirname, '../src/components')
} }
}, },
resolveLoader: { resolve: {
fallback: [path.join(__dirname, '../node_modules')] extensions: ['.js', '.jsx', '.vue'],
modules: [
path.join(__dirname, '../node_modules')
],
alias: {
'static': path.resolve(__dirname, '../static'),
'src': path.resolve(__dirname, '../src'),
'assets': path.resolve(__dirname, '../src/assets'),
'components': path.resolve(__dirname, '../src/components'),
'vue-i18n': 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js'
}
}, },
module: { module: {
noParse: /node_modules\/localforage\/dist\/localforage.js/, noParse: /node_modules\/localforage\/dist\/localforage.js/,
preLoaders: [ rules: [
{ {
test: /\.vue$/, enforce: 'pre',
loader: 'eslint', test: /\.(js|vue)$/,
include: projectRoot, include: projectRoot,
exclude: /node_modules/ exclude: /node_modules/,
use: {
loader: 'eslint-loader',
options: {
formatter: require('eslint-friendly-formatter'),
sourceMap: config.build.productionSourceMap,
extract: true
}
}
}, },
{ {
test: /\.js$/, enforce: 'post',
loader: 'eslint', test: /\.(json5?|ya?ml)$/, // target json, json5, yaml and yml files
include: projectRoot, type: 'javascript/auto',
exclude: /node_modules/ loader: '@intlify/vue-i18n-loader',
} include: [ // Use `Rule.include` to specify the files of locale messages to be pre-compiled
], path.resolve(__dirname, '../src/i18n')
loaders: [ ]
},
{ {
test: /\.vue$/, test: /\.vue$/,
loader: 'vue' loader: 'vue-loader',
options: {
compilerOptions: {
isCustomElement(tag) {
if (tag === 'pinch-zoom') {
return true
}
return false
}
}
}
}, },
{ {
test: /\.jsx?$/, test: /\.jsx?$/,
loader: 'babel',
include: projectRoot, include: projectRoot,
exclude: /node_modules\/(?!tributejs)/ exclude: /node_modules\/(?!tributejs)/,
}, use: 'babel-loader'
{
test: /\.json$/,
loader: 'json'
}, },
{ {
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url', use: {
query: { loader: 'url-loader',
options: {
limit: 10000, limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]') name: utils.assetsPath('img/[name].[hash:7].[ext]')
} }
}
}, },
{ {
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url', use: {
query: { loader: 'url-loader',
options: {
limit: 10000, limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]') name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
} }
} }
]
}, },
eslint: {
formatter: require('eslint-friendly-formatter')
},
vue: {
loaders: utils.cssLoaders({ sourceMap: useCssSourceMap }),
postcss: [
require('autoprefixer')({
browsers: ['last 2 versions']
})
] ]
}, },
plugins: [ plugins: [
new ServiceWorkerWebpackPlugin({ new ServiceWorkerWebpackPlugin({
entry: path.join(__dirname, '..', 'src/sw.js'), entry: path.join(__dirname, '..', 'src/sw.js'),
filename: 'sw-pleroma.js' filename: 'sw-pleroma.js'
}),
new VueLoaderPlugin(),
// This copies Ruffle's WASM to a directory so that JS side can access it
new CopyPlugin({
patterns: [
{
from: "node_modules/ruffle-mirror/*",
to: "static/ruffle",
flatten: true
},
],
options: {
concurrency: 100,
},
}) })
] ]
} }

View file

@ -12,20 +12,21 @@ Object.keys(baseWebpackConfig.entry).forEach(function (name) {
module.exports = merge(baseWebpackConfig, { module.exports = merge(baseWebpackConfig, {
module: { module: {
loaders: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
}, },
mode: 'development',
// eval-source-map is faster for development // eval-source-map is faster for development
devtool: '#eval-source-map', devtool: '#eval-source-map',
plugins: [ plugins: [
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': config.dev.env, 'process.env': config.dev.env,
'COMMIT_HASH': JSON.stringify('DEV'), 'COMMIT_HASH': JSON.stringify('DEV'),
'DEV_OVERRIDES': JSON.stringify(config.dev.settings) 'DEV_OVERRIDES': JSON.stringify(config.dev.settings),
'__VUE_OPTIONS_API__': true,
'__VUE_PROD_DEVTOOLS__': false
}), }),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(), new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin // https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
filename: 'index.html', filename: 'index.html',

View file

@ -4,7 +4,7 @@ var utils = require('./utils')
var webpack = require('webpack') var webpack = require('webpack')
var merge = require('webpack-merge') var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf') var baseWebpackConfig = require('./webpack.base.conf')
var ExtractTextPlugin = require('extract-text-webpack-plugin') var MiniCssExtractPlugin = require('mini-css-extract-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin') var HtmlWebpackPlugin = require('html-webpack-plugin')
var env = process.env.NODE_ENV === 'testing' var env = process.env.NODE_ENV === 'testing'
? require('../config/test.env') ? require('../config/test.env')
@ -13,39 +13,37 @@ var env = process.env.NODE_ENV === 'testing'
let commitHash = require('child_process') let commitHash = require('child_process')
.execSync('git rev-parse --short HEAD') .execSync('git rev-parse --short HEAD')
.toString(); .toString();
console.log(commitHash)
var webpackConfig = merge(baseWebpackConfig, { var webpackConfig = merge(baseWebpackConfig, {
mode: 'production',
module: { module: {
loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, extract: true })
}, },
devtool: config.build.productionSourceMap ? '#source-map' : false, devtool: config.build.productionSourceMap ? '#source-map' : false,
optimization: {
minimize: true,
splitChunks: {
chunks: 'all'
}
},
output: { output: {
path: config.build.assetsRoot, path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'), filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')
},
vue: {
loaders: utils.cssLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
}, },
plugins: [ plugins: [
// http://vuejs.github.io/vue-loader/workflow/production.html // http://vuejs.github.io/vue-loader/workflow/production.html
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': env, 'process.env': env,
'COMMIT_HASH': JSON.stringify(commitHash), 'COMMIT_HASH': JSON.stringify(commitHash),
'DEV_OVERRIDES': JSON.stringify(undefined) 'DEV_OVERRIDES': JSON.stringify(undefined),
'__VUE_OPTIONS_API__': true,
'__VUE_PROD_DEVTOOLS__': false
}), }),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.optimize.OccurenceOrderPlugin(),
// extract css into its own file // extract css into its own file
new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')), new MiniCssExtractPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css')
}),
// generate dist index.html with correct asset hash for caching. // generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html // you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin // see https://github.com/ampedandwired/html-webpack-plugin
@ -67,25 +65,11 @@ var webpackConfig = merge(baseWebpackConfig, {
chunksSortMode: 'dependency' chunksSortMode: 'dependency'
}), }),
// split vendor js into its own file // split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to // extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated // prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({ // new webpack.optimize.SplitChunksPlugin({
name: 'manifest', // name: ['app', 'vendor']
chunks: ['vendor'] // }),
})
] ]
}) })

View file

@ -3,6 +3,11 @@ const path = require('path')
let settings = {} let settings = {}
try { try {
settings = require('./local.json') settings = require('./local.json')
if (settings.target && settings.target.endsWith('/')) {
// replacing trailing slash since it can conflict with some apis
// and that's how actual BE reports its url
settings.target = settings.target.replace(/\/$/, '')
}
console.log('Using local dev server settings (/config/local.json):') console.log('Using local dev server settings (/config/local.json):')
console.log(JSON.stringify(settings, null, 2)) console.log(JSON.stringify(settings, null, 2))
} catch (e) { } catch (e) {
@ -47,7 +52,15 @@ module.exports = {
target, target,
changeOrigin: true, changeOrigin: true,
cookieDomainRewrite: 'localhost', cookieDomainRewrite: 'localhost',
ws: true ws: true,
headers: {
'Origin': target
}
},
'/oauth/revoke': {
target,
changeOrigin: true,
cookieDomainRewrite: 'localhost'
} }
}, },
// CSS Sourcemaps off by default because relative paths are "buggy" // CSS Sourcemaps off by default because relative paths are "buggy"

114
docs/CONFIGURATION.md Normal file
View file

@ -0,0 +1,114 @@
# Pleroma-FE configuration and customization for instance administrators
* *For user configuration, see [Pleroma-FE user guide](../user_guide)*
* *For local development server configuration, see [Hacking, tweaking, contributing](HACKING.md)*
## Where configuration is stored
PleromaFE gets its configuration from several sources, in order of preference (the one above overrides ones below it)
1. `/api/statusnet/config.json` - this is generated on Backend and contains multiple things including instance name, char limit etc. It also contains FE/Client-specific data, PleromaFE uses `pleromafe` field of it. For more info on changing config on BE, look [here](../backend/configuration/cheatsheet.md#frontend_configurations)
2. `/static/config.json` - this is a static FE-provided file, containing only FE specific configuration. This file is completely optional and could be removed but is useful as a fallback if some configuration JSON property isn't present in BE-provided config. It's also a reference point to check what default configuration are and what JSON properties even exist. In local dev mode it could be used to override BE configuration, more about that in HACKING.md. File is located [here](https://git.pleroma.social/pleroma/pleroma-fe/blob/develop/static/config.json).
3. Built-in defaults. Those are hard-coded defaults that are used when `/static/config.json` is not available and BE-provided configuration JSON is missing some JSON properties. ( [Code](https://git.pleroma.social/pleroma/pleroma-fe/blob/develop/src/modules/instance.js) )
## Instance-defaults
Important note that some configurations are treated as "instance default" - it means user is able to change this configuration for themselves. Currently, defaults are only applied for new visitors and people who haven't changed the option in question. If you change some instance default option, there is a chance it won't affect some users.
There's currently no mechanism for user-settings synchronization across several browsers, *user* essentially means *visitor*, most user settings are stored in local storage/IndexedDB and not tied to an account in any way.
## Options
### `alwaysShowSubjectInput`
`true` - will always show subject line input, `false` - only show when it's not empty (i.e. replying). To hide subject line input completely, set it to `false` and `subjectLineBehavior` to `"noop"`
### `background`
Default image background. Be aware of using too big images as they may take longer to load. Currently image is fitted with `background-size: cover` which means "scaled and cropped", currently left-aligned. De-facto instance default, user can choose their own background, if they remove their own background, instance default will be used instead.
### `collapseMessageWithSubject`
Collapse post content when post has a subject line (content warning). Instance-default.
### `disableChat`
hides the chat (TODO: even if it's enabled on backend)
### `greentext`
Changes lines prefixed with the `>` character to have a green text color
### `hideFilteredStatuses`
Removes filtered statuses from timelines.
### `hideMutedPosts`
Removes muted statuses from timelines.
### `hidePostStats`
Hide repeats/favorites counters for posts.
### `hideSitename`
Hide instance name in header.
### `hideUserStats`
Hide followers/friends counters for users.
### `loginMethod`
`"password"` - show simple password field
`"token"` - show button to log in with external method (will redirect to login form, more details in BE documentation)
### `logo`, `logoMask`, `logoMargin`
Instance `logo`, could be any image, including svg. By default it assumes logo used will be monochrome-with-alpha one, this is done to be compatible with both light and dark themes, so that white logo designed with dark theme in mind won't be invisible over light theme, this is done via [CSS3 Masking](https://www.html5rocks.com/en/tutorials/masking/adobe/). Basically - it will take alpha channel of the image and fill non-transparent areas of it with solid color. If you really want colorful logo - it can be done by setting `logoMask` to `false`.
`logoMargin` allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout.
### `minimalScopesMode`
Limit scope selection to *Direct*, *User default* and *Scope of post replying to*. This also makes it impossible to reply to a DM with a non-DM post from PleromaFE.
### `nsfwCensorImage`
Use custom image for NSFW'd images
### `postContentType`
Default post formatting option (markdown/bbcode/plaintext/etc...)
### `redirectRootNoLogin`, `redirectRootLogin`
These two settings should point to where FE should redirect visitor when they login/open up website root
### `scopeCopy`
Copy post scope (visibility) when replying to a post. Instance-default.
### `sidebarRight`
Change alignment of sidebar and panels to the right. Defaults to `false`.
### `showFeaturesPanel`
Show panel showcasing instance features/settings to logged-out visitors
### `showInstanceSpecificPanel`
This allows you to include arbitrary HTML content in a panel below navigation menu. PleromaFE looks for an html page `instance/panel.html`, by default it's not provided in FE, but BE bundles some [default one](https://git.pleroma.social/pleroma/pleroma/blob/develop/priv/static/instance/panel.html). De-facto instance-defaults, since user can hide instance-specific panel.
### `subjectLineBehavior`
How to handle subject line (CW) when replying to a post.
* `"email"` - like EMail - prepend `re: ` to subject line if it doesn't already start with it.
* `"masto"` - like Mastodon - copy it as is.
* `"noop"` - do not copy
Instance-default.
### `theme`
Default theme used for new users. De-facto instance-default, user can change theme.
### `webPushNotifications`
Enables [PushAPI](https://developer.mozilla.org/en-US/docs/Web/API/Push_API) - based notifications for users. Instance-default.
## Indirect configuration
Some features are configured depending on how backend is configured. In general the approach is "if backend allows it there's no need to hide it, if backend doesn't allow it there's no need to show it.
### Chat
**TODO somewhat broken, see: disableChat** chat can be disabled by disabling it in backend
### Private Mode
If the `private` instance setting is enabled in the backend, features that are not accessible without authentication, such as the timelines and search will be disabled for unauthenticated users.
### Rich text formatting in post formatting
Rich text formatting options are displayed depending on how many formatting options are enabled on backend, if you don't want your users to use rich text at all you can only allow "text/plain" one, frontend then will only display post text format as a label instead of dropdown (just so that users know for example if you only allow Markdown, only BBCode or only Plain text)
### Who to follow
This is a panel intended for users to find people to follow based on randomness or on post contents. Being potentially privacy unfriendly feature it needs to be enabled and configured in backend to be enabled.

100
docs/HACKING.md Normal file
View file

@ -0,0 +1,100 @@
# Hacking, tweaking, contributing
## What PleromaFE even is, how it works
PleromaFE is an SPA (Single-Page Application) backed by [Vue](https://vuejs.org/) framework. It means that it's just a nearly-empty HTML page with bunch of JavaScript that actually generates and controls DOM (i.e. html elements) in Runtime. Currently, there's no way around it - you have to have Javascript enabled in the browser to make it work, there is a theoretical possibility to generate some HTML server-side but it's not implemented yet.
You can serve static html page and everything from any HTTP(S) server but currently it will try to access /api/ path at same domain it's running on, meaning that as of right now you cannot put it on one domain and access the other without proxying requests.
Development server does exactly that - it serves static html page with javascript and all other assets, adds some code to automatically reload when changes to code are made and proxies requests to some other server.
## Setting up develop server
Setting up development server is fairly straight-forward.
1. On your system you must have **[Node.js](https://nodejs.org/) version 8** and newer installed. For older systems or systems that do not package node you can try [NodeSource](https://github.com/nodesource/distributions) repositories. *Windows support theoretically possible but isn't tested.*
2. For fetching dependencies and running basic tasks you will *[Yarn](https://yarnpkg.com/)* installed.
3. Clone the repository, `cd` into it and run `yarn` to fetch dependencies.
4. If you want to point development server at some instance you will need to copy `config/local.example.json` to `config/local.json` and change the `target` to point at instance you want, otherwise it will point to `localhost:4000` which is default address for locally-run Pleroma Backend
5. Run `yarn dev` - it will start the server.
6. Open `localhost:8080` in your browser, it might take a while initially until everything is built first time.
## Setting up production build
This could be a bit trickier, you basically need steps 1-4 from *develop build* instructions, and run `yarn build` which will compile and copy eveything needed for production into `dist` folder. As said before, this technically could be used anywhere with some details.
### Replacing your instance's frontend with custom FE build
This is the most easiest way to use and test FE build: you just need to copy or symlink contents of `dist` folder into backend's [static directory](../backend/configuration/static_dir.md), by default it is located in `instance/static`, or in `/var/lib/pleroma/static` for OTP release installations, create it if it doesn't exist already. Be aware that running `yarn build` wipes the contents of `dist` folder.
### Running production build locally or on a separate server
This is **highly experimental** and only tried once, with no actual simple solution available yet
You will need an HTTP server that can proxy requests for `/api`, `/instance`, `/nodeinfo` and show index.html for every 404 page.
For nginx you'll probably need something like this:
```nginx
server {
listen 80 default_server;
index index.html index.htm index.nginx-debian.html;
root /var/www/html
location /api {
proxy_pass https://example.tld;
}
location /instance {
proxy_pass https://example.tld;
}
location /nodeinfo {
proxy_pass https://example.tld;
}
location / {
try_files $uri $uri/ /index.html;
}
}
```
(ed. note: this is close to what i used last time i had to do it, it may not work and need additions, i basically adjusted default nginx server in debian)
## Basic architecture
### API, Data, Operations
In 99% cases PleromaFE uses [MastoAPI](https://docs.joinmastodon.org/api/) with [Pleroma Extensions](../backend/API/differences_in_mastoapi_responses.md) to fetch the data. The rest is either QvitterAPI leftovers or pleroma-exclusive APIs. QvitterAPI doesn't exactly have documentation and uses different JSON structure and sometimes different parameters and workflows, [this](https://twitter-api.readthedocs.io/en/latest/index.html) could be a good reference though. Some pleroma-exclusive API may still be using QvitterAPI JSON structure.
PleromaFE supports both formats by transforming them into internal format which is basically QvitterAPI one with some additions and renaming. All data is passed trough [Entity Normalizer](https://git.pleroma.social/pleroma/pleroma-fe/-/blob/develop/src/services/entity_normalizer/entity_normalizer.service.js) which can serve as a reference of API and what's actually used, it's also a host for all the hacks and data transformation.
For most part, PleromaFE tries to store all the info it can get in global vuex store - every user and post are passed trough updating mechanism where data is either added or merged with existing data, reactively updating the information throughout UI, so if in newest request user's post counter increased, it will be instantly updated in open user profile cards. This is also used to find users, posts and sometimes to build timelines and/or request parameters.
PleromaFE also tries to persist this store, however only stable data is stored, such as user authentication and preferences, user highlights. Persistence is performed by saving and loading chunk of vuex store in browser's LocalStorage/IndexedDB.
TODO: Refactor API code and document it here
### Themes
PleromaFE uses custom theme "framework" which is pretty much just a style tag rendered by vue which only contains CSS3 variables. Every color used in UI should be derived from theme. Theme is stored in a JSON object containing color, opacity, shadow and font information, with most of it being optional.
The most basic theme can consist of 4 to 8 "basic colors", which is also what previous version of themes allowed, with all other colors being derived from those basic colors, i.e. "light background" will be "background" color lightened/darkened, "panel header" will be same as "foreground". The idea is that you can specify just basic color palette and everything else will be generated automatically, but if you really need to tweak some specific color - you can.
As said before - older version only allowed 4 to 8 colors, it also used arrays instead of objects, we still support that. The basic colors are: background, foreground, text, links, red, orange, blue, green. First 4 are mandatory, last 4 have default fallbacks since ever more ancient theme formats only had 4 colors.
Note that with older version themes used different internal naming when persisting state.
Themes are meant to be backwards and somewhat forwards compatible - new colors should properly inherit from some existing one, making it compatible with older versions. When loading newer version of theme all unrecognized colors will be ignored, which for most part should be fine, however adding new features (gradients, masks, whatever it might be) might be breaky.
Lastly, pleroma provides some contrast information and generates readable text color automatically, which is done by tracking background/text color pairs and their contrast - if contrast too low it will try to use background color with inverted lightness, if it's still unacceptable it will fall back to pure black/white.
### Still Image
Most images are wrapped in a component called StillImage, which does one simple thing - tries to detect if image is a GIF and if it is (and user has enabled relevant setting) it will show `<canvas>` with that image instead of actual image. It uses standard method to render an image into canvas which renders first frame of a GIF if it's animated (obviously because canvas by itself isn't animated and you'd need to animate it yourself in JS), it will show actual image on hover. Statuses also allow playing animated avatars when you hover over a post, not just image itself.
## Contributing
Feel free to contribute, most preferred way is by starting a Merge Request in GitLab. Please try to use descriptive names for your branches and merge requests, avoid naming them "fix-issue-777" "777" and so on.

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

8
docs/index.md Normal file
View file

@ -0,0 +1,8 @@
# Introduction to Pleroma-FE
## What is Pleroma-FE?
Pleroma-FE is the default user-facing frontend for Pleroma. It's user interface is modeled after Qvitter which is modeled after an older Twitter design. It provides a simple 2-column interface for microblogging. While being simple by default it also provides many powerful customization options.
## How can I use it?
If your instance uses Pleroma-FE, you can acces it by going to your instance (e.g. <https://pleroma.soykaf.com>). You can read more about it's basic functionality in the [Pleroma-FE User Guide](./user_guide/). We also have [a guide for administrators](./CONFIGURATION.md) and for [hackers/contributors](./HACKING.md).

44
docs/user_guide/index.md Normal file
View file

@ -0,0 +1,44 @@
# General overview
> Be prepared for breaking changes, unexpected behavior and this user guide becoming obsolete and wrong.
> If there was no insanity
>
> it would be necessary to create it.
>
> --Catbag
Pleroma-FE is the default user-facing frontend for Pleroma. If your instance uses Pleroma-FE, you can access it by going to your instance (e.g. <https://pleroma.soykaf.com>). After logging in you will have two columns in front of you. Here we're going to keep it to the default behaviour, but some instances swap the left and right columns. If you're on such an instance what we refer to as the left column will be on your right and vice versa.
### Left column
- first block: This section is dedicated to [posting](posting_reading_basic_functions.md)
- second block: Here you can switch between the different views for the right column.
- Optional third block: This is the Instance panel that can be activated, but is deactivated by default. It's fully customisable by instance admins and by default has links to the Pleroma-FE and Mastodon-FE.
- fourth block: This is the Notifications block, here you will get notified whenever somebody mentions you, follows you, repeats or favorites one of your statuses
### Right column
This is where the interesting stuff happens! There are different views depending on what you choose in the second block of the left panel.
- **Timelines** Depending on the [timeline](timelines.md) you will see different statuses, but each status has a standard structure:
- Profile pic, name and link to profile. An optional left-arrow if it's a reply to another status (hovering will reveal the reply-to status). Clicking on the profile pic will uncollapse the user's profile where you can find information about the account and can [follow, mute or block the account](users_follow_mute_block.md).
- An arrow icon on the right side allows you to open the status on the instance where it's originating from.
- A `+` button on the rightmost side allows you to Expand/Collapse an entire discussion thread.
- The text of the status, including mentions and attachments. If you click on a mention, it will automatically open the profile page of that person.
- Four buttons (left to right): Reply, Repeat, Favorite and Add Reaction. The three dots next to it are a dropdown menu for extra options including simple moderation, bookmarking, deleting posts, pinning your own posts to your profile and more.
- **Interactions** shows all interactions you've had with people on the network, basically same as notifications except grouped in convenient way.
- **Chats** is the chat feature. You can find your friends and start chatting with them. At the moment chat are only one-on-one, but once groups are introduced groupchats will also be possible.
- **About** is the about-page and lists the staff, the TOS, activated MRF's, and enabled features
### Top right
- The magnifier icon opens the search screen
- You can search for statuses, people and hashtags.
- You can import statuses from remote servers by pasting the url to the post in the search field.
- If you want to search for users that your instance doesn't know about yet, you can search for them using the full `name@instance.tld` handle. You can also use the full url from their remote profile.
- The gear icon gives you [settings](settings.md)
- If you have admin rights, you'll see an icon that opens the admin interface
- The last icon is to log out
### Bottom right
On the bottom right you have the Shoutbox. Here you can communicate with people on the same instance in realtime. It is local-only, very basic and will most probably be removed once the Chats functionality allows group chats.

View file

@ -0,0 +1,76 @@
# Posting, reading, basic functions.
!!! warning
Depending on your instance some of the options might not be available or have different defaults
After registering and logging in you're presented with your timeline in right column and new post form with timeline list and notifications in the left column.
Posts will contain the text you are posting, but some content will be modified:
1. Mentions: Mentions have the form of @user or @user<span></span>@instance.tld. These will become links to the user's profile. In addition, the mentioned user will always get a notification about the post they have been mentioned in, so only mention users that you want to receive this message.
2. URLs: URLs like `http://example.com` will be automatically be turned into a clickable links.
3. Hashtags: Hashtags like #cofe will also be turned into links.
4. There is a default character limit of 5000 characters.
Let's clear up some basic stuff. When you post something it's called a **post** or it could be called a **status** or even a **toot** or a **prööt** depending on whom you ask. Post has body/content but it also has some other stuff in it - from attachments, visibility scope, subject line...
**Emoji** are small images embedded in text, there are two major types of emoji: [unicode emoji](https://en.wikipedia.org/wiki/Emoji) and custom emoji. While unicode emoji are universal and standardized, they can appear differently depending on where you are using them or may not appear at all on older systems. Custom emoji are a more *fun* kind - instance administrator can define many images as *custom emoji* for their users. This works very simple - custom emoji is defined by its *shortcode* and an image, so that any shortcode enclosed in colons get replaced with image if such shortcode exist.
Let's say there's a `:pleroma:` emoji defined on an instance. That means
> First time using :pleroma: pleroma!
will become
> First time using ![pleroma](../assets/example_emoji.png) pleroma!
Note that you can only use emoji defined on your instance, you cannot "copy" someone else's emoji, and will have to ask your administrator to copy emoji from other instance to yours.
Lastly, there's two convenience options for emoji: an emoji picker (smiley face to the right of "submit" button) and autocomplete suggestions - when you start typing :shortcode: it will automatically try to suggest you emoji and complete the shortcode for you if you select one. If emoji doesn't show up in suggestions nor in emoji picker it means there's no such emoji on your instance, if shortcode doesn't match any defined emoji it will appear as text.
**Attachments** are fairly simple - you can attach any file to a post as long as the file is within maximum size limits. If you're uploading explicit material you can mark all of your attachments as sensitive (or add the `#nsfw` tag) - it will hide the images and videos behind a warning so that it won't be displayed instantly.
**Subject line** also known as **CW** (Content Warning) could be used as a header to the post and/or to warn others about contents of the post having something that might upset somebody or something among those lines. Several applications allow to hide post content leaving only subject line visible. Using a subject line will not mark your images as sensitive, you will have to do that explicitly (see above).
**Visiblity scope** controls who will be able to see your posts. There are four scopes available:
1. `Public`: This is the default, and some fediverse software, like GNU Social, only supports this. This means that your post is accessible by anyone and will be shown in the public timelines.
2. `Unlisted`: This is the same as public, but your post won't appear in the public timelines. The post will still be accessible by anyone who comes across it (for example, by looking at your profile) or by direct linking. They will also appear in public searches.
3. `Followers only`: This will show your post only to your followers. Only they will be able to interact with it. Be careful: When somebody follows you, they will be able to see all your previous `followers only` posts as well! If you want to restrict who can follow you, consider [locking your account down to only approved followers](../settings#profile).
4. `Direct`: This will only send the message to the people explicitly mentioned in the post.
A few things to consider about the security and usage of these scopes:
- None of these options will change the fact that the messages are all saved in the database unencrypted. They will be visible to your server admin and to any other admin of a server who receives this post. Do not share information that you would consider secret or dangerous. Use encrypted messaging systems for these things.
- Follower-only posts can lead to fragmented conversations. If you post a follower-only post and somebody else replies to it with a follower-only post, only people following both of you will see the whole conversation thread. Everybody else will only see half of it. Keep this in mind and keep conversations public if possible.
- Changing scopes during a thread or adding people to a direct message will not retroactively make them see the whole conversation. If you add someone to a direct message conversation, they will not see the post that happened before they were mentioned.
* **Reply-to** if you are replying to someone, your post will also contain a note that your post is referring to the post you're replying to. Person you're replying to will receive a notification *even* if you remove them from mentioned people. You won't receive notifications when replying to your own posts, but it's useful to reply to your own posts to provide people some context if it's a follow-up to a previous post. There's a small "Reply to ..." label under post author's name which you can hover on to see what post it's referring to.
Sometimes you may encounter posts that seem different than what they are supposed to. For example, you might see a direct message without any mentions in the text. This can happen because internally, the Fediverse has a different addressing mechanism similar to email, with `to` and `cc` fields. While these are not directly accessible in PleromaFE, other software in the Fediverse might generate those posts. Do not worry in these cases, these are normal and not a bug.
## Rich text
By default new posts you make are plaintext, meaning you can't make text **bold** or add custom links or make lists or anything like that. However if your instance allows it you can use Markdown or BBCode or HTML to spice up your text, however there are certain limitations to what HTML tags and what features of Markdown you can use.
Here is a small example of some text in markdown.
```
This is an example of markdown text using **bold** and *cursive* text.
To get a newline we add two spaces at the end of the previous line.
Let's also add a list
* with
* some
* items
```
If you set the input-method to Markdown, and post this, it will look something like
![example_markdown](../assets/example_markdown.png)
## Other actions
In addition to posting you can also *favorite* posts also known as *liking* them and *repeat* posts (also known as *retweeting*, *boosting* and even *reprööting*). Favoriting a post increments a counter on it, notifies the post author of your affection towards that post and also adds that post to your "favorited" posts list (in your own profile, "Favorites" tab). Reprööting a post does all that and also repeats this post to your followers and your profile page with a note "*user* repeated post".
Your own posts can be deleted, but this will only reliably delete the post from your own instance. Other instances will receive a deletion notice, but there's no way to force them to actually delete a post. In addition, not all instances that contain the message might even receive the deletion notice, because they might be offline or not known to have the post because they received it through a repeat. Lastly, deletion notice might not reach certain frontends and clients - post will be visible for them until page refresh or cache clear, they probably won't be able to interact with it apart from replying to it (which will have reply-to mark missing).
If you are a moderator, you can also delete posts by other people. If those people are on your instance, it will delete the post and send out the deletion notice to other servers. If they are not on your instance, it will just remove the post from your local instance.
There's also an option to report a user's post which can be used to notify your (and optionally the other instance's) admin that someone is being naughty.

116
docs/user_guide/settings.md Normal file
View file

@ -0,0 +1,116 @@
# Settings
On the top-right you will see a gear icon. Click it to open the settings.
## General
### Interface
- **Interface language** is where you can set the interface language. The default language is the one that you set in your browser settings.
- **Hide instance-specific panel** hides the panel in the lower left that usually contains general information about the server. This will only be visible if your admin has activated this panel and is deactivated by default.
### Timeline
- **Hide posts of muted users** If this is set, 'muting' a user will completely hide their posts instead of collapsing them.
- **Collapse posts with subjects** This will collapse posts that contain a subject, hiding their content. Subjects are also sometimes called content warnings.
- **Enable automatic streaming of new posts when scrolled to the top** With this enabled, new posts will automatically stream in when you are scrolled to the top. Otherwise, you will see a button on the timeline that will let you display the new posts.
- **Pause streaming when tab is not focused** This pauses the automatic streaming that the previous option enables when the tab is out of focus. This is useful if you don't want to miss any new posts.
- **Enable automatic loading when scrolled to the bottom** When this is disabled, a button will be shown on the bottom of the timeline that will let you load older posts.
- **Enable reply-link preview on hover** Status posts in the timeline and notifications contain links to replies and to the post they are a reply to. If this setting is enabled, hovering over that link will display that linked post in a small hovering overlay.
### Composing
- **Copy scope when replying** makes the scope of a reply be the same as the scope of the post it is replying to. This is useful to prevent accidentally moving private discussions to public, or vice versa.
- **Always show subject field** Whether or not to display the 'subject' input field in the post form. If you do not want to use subjects, you can deactivate this.
- **Copy subject when replying** controls if the subject of a post will be copied from the post it is replying to.
- **Post status content type** selects the default content type of your post. The options are: Plain text, HTML, BBCode and Markdown.
- **Minimize scope selection options** will reduce the visibility scopes to 'direct', your default post scope and post scope of post you're replying to.
- **Automatically hide New Post button** hides the floating "New post" button when scrolling on mobile view.
- **Pad emoji with spaces when adding from picker** Will add spaces around emoji you select it from the picker.
### Attachments
- **Hide attachments in timeline** Do not display attachments in timelines. They will still display in expanded conversations. This is useful to save bandwidth and for browsing in public.
- **Hide attachments in conversations** Also hide attachments in expanded conversations.
- **Maximum amount of thumbnails per post** Exactly that :)
- **Enable clickthrough NSFW attachment hiding** Hide attachments that are marked as NSFW/sensitive behind a click-through image.`
- **Preload images** This will preload the hidden images so that they display faster when clicking through.
- **Open NSFW attachments with just one click** Directly open NSFW attachments in a maximised state instead of revealing the image thumbnail.
- **Play-on-hover GIFs** With this activated, GIFs images and avatars will only be animated on mouse hover. Otherwise, they will be always animated. This is very useful if your timeline looks too flashy from people's animated avatars and eases the CPU load.
- **Loop videos** Whether to loop videos indefinitely.
- **Loop only videos without sound** Some instances will use videos without sounds instead of GIFs. This will make only those videos autoplay.
- **Play videos directly in the media viewer** Play videos right in the timeline instead of opening it in a modal
- **Don't crop the attachment in thumbnails** if enabled, images in attachments will be fit entirely inside the container instead of being zoomed in and cropped.
### Notifications
- **Enable web push notifications** this enables Web Push notifications, to allow receiving notifications even when the page isn't opened, doesn't affect regular notifications.
### Fun
- **Meme arrows** will make `> greentext` be shown in green (using the "green" from the theme that is used).
## Profile
Here you can set up how you appear to other users among with some other settings:
- **Name** is text that displays next to your avatar in posts. Please note that you **cannot** change your *@handle*
- **Bio** will be displayed under your profile - you can put anything you want there you want for everyone to see.
- **Restrict your account to approved followers only** makes your account "locked", when people follow you - you have to approve or deny their follow requests, this gives more control over who sees your followers only posts.
- **Default visibility scope** is your default post scope for new posts
- **Strip rich text from all posts** strips rich text formatting (bold/italics/lists etc) from all incoming posts. This will only affect newly fetched posts.
If you're admin or moderator on your instance you also get **Show [role] badge in my profile** - this controls whether to show "Admin" or "Moderator** label on your profile page.
**For all options mentioned above you have to click "Submit" button for changes to take place**
- **Avatar** this changes picture next to your posts. Your avatar shouldn't exceed 2 MiB (2097152 bytes) or it could cause problems with certain instances.
- **Banner** this changes background on your profile card. Same as avatar it shouldn't exceed 2 MiB limit.
- **Profile Background** this changes background picture for UI. It isn't shown to anyone else *yet*, but some time later it will be shown when viewing your profisle.
## Security
Here you can change your password, revoke access tokens, configure 2-factor authentication (if available).
## Filtering
- **Types of notifications to show** This controls what kind of notifications will appear in notification column and which notifications to get in your system outside the web page
- **Replies in timeline** You may know that other social networks like Twitter will often not display replies to other people in your timeline, even if you are following the poster. Pleroma usually will show these posts to you to encourage conversation. If you do not like this behavior, you can change it here.
- **Hide post statistics** This hides the number of favorites, number of replies, etc.
- **Hide user statistics** This hides the number of followers, friends, etc.
- **Muted words** allows a list of words that will be muted (i.e. displayed in a collapsed state) on the timeline and in notifications. An easy way to tune down noise in your timeline. By default posts can be expanded if you want to see them.
- **Hide filtered statuses** will hide the filtered / muted posts completely instead of collapsing them.
## Theme
Here you can change the look and feel of Pleroma-FE. You can choose from several instance-provided presets and you can load one from file and save current theme to file. Before you apply new theme you can see what it will look like approximately in preview section.
The themes engine was made to be easy to use while giving an option for powerful in-depth customization - you can just tweak colors on "Common" tab and leave everything else as is.
If there's a little check box next to a color picker it means that color is optional and unless checked will be automatically picked based on some other color or defaults.
For some features you can also adjust transparency of it by changing its opacity, you just need to tick checkbox next to it, otherwise it will be using default opacity.
Contrast information is also provided - you can see how readable text is based on contrast between text color and background, icons under color pickers represent contrast rating based on [WCAG](https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast) - thumbs up means AAA rating (good), half-filled circle means AA rating (acceptable) and warning icon means it doesn't pass the minimal contrast requirement and probably will be less readable, especially for vision-challenged people, you can hover over icon to see more detailed information. *Please note* that if background is not opaque (opacity != 1) contrast will be measured based on "worst case scenario", i.e. behind semi-transparent background lies some solid color that makes text harder to read, this however is still inaccurate because it doesn't account that background can be noisy/busy, making text even harder to read.
Apart from colors you can also tweak shadow and lighting, which is used mostly to give buttons proper relief based on their state, give panes their shade, make things glow etc. It's quite powerful, and basically provides somewhat convenient interface for [CSS Shadows](https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow).
Another thing you can tweak is theme's roundness - some people like sharp edges, some want things more rounded. This is also used if you want circled or square avatars.
Lastly, you can redefine fonts used in UI without changing fonts in your browser or system, this however requires you to enter font's full name and having that font installed on your system.
## Notifications
This screen allows more fine-grained control over what notifications to show to you based on whom it comes from.
## Data Import/Export
This allows you to export and import a list of people you follow and block, in case instance's database gets reverted or if you want to move to another server. Note that you **CANNOT export/import list of people who *follow you***, they'll need to follow you back themselves.
## Mutes and Blocks
These screens give access to full list of people you block/mute, useful for *un*blocking/*un*muting people because blocking/muting them most likely removes them out of your sight completely.
## Version
Just displays the backend and frontend version. Useful to mention in bug reports.

View file

@ -0,0 +1,13 @@
# Timelines
You have several timelines to browse trough
- **Timeline** aka Home Timeline - this timeline contains all posts by people you follow and your own posts, as well as posts mentioning you directly.
- **Bookmarks** all the posts you've bookmarked. You can bookmark a post by clicking the three dots on the bottom right of the post and choose Bookmark.
- **Direct Messages** all posts with `direct` scope addressed to you or mentioning you.
- **Public Timelines** all public posts made by users on the instance you're on
- **The Whole Known Network** also known as **TWKN** or **Federated Timeline** - all public posts known by your instance. Due to nature of the network your instance may not know *all* the posts on the network, so only posts known by your instance are shown there.
Note that by default you will see all posts made by other users on your Home Timeline, this contrast behavior of Twitter and Mastodon, which shows you only non-reply posts and replies to people you follow. You can change said behavior in the [settings](settings.md#filtering).
By default instances will try to send activities (e.g. posts, favorites, etc.) up to 7 days or until the target server received them. For this reason posts that are up to 7 days old and your server didn't know about yet can pop up on your timeline. This is the default behaviour and can be changed by your admin.

View file

@ -0,0 +1,11 @@
# Users: follow, mute, block
When you see someone, you can click on their user picture to view their profile, and click on the userpic in that to see *full* profile. You can **follow** them, **mute** and **block** them.
**Following** is self-explanatory, it adds them to your Home Timeline, lists you as a follower and gives you access to follower-only posts if they have any.
**Muting** collapses posts and notifications made by them, giving you an option to see the post if you're curious. Clients other than PleromaFE may completely remove their posts.
**Blocking** a user removes them from your timeline and notifications and prevents them from following you (automatically unfollows them from you).
Please note that some users can be "locked", meaning instead of following them you send a follow request they need to approve for you to become their follower.

View file

@ -2,14 +2,12 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
<title>Pleroma</title>
<!--server-generated-meta--> <!--server-generated-meta-->
<link rel="icon" type="image/png" href="/favicon.png"> <link rel="icon" type="image/png" href="/favicon.png">
<link rel="stylesheet" href="/static/font/css/fontello.css">
<link rel="stylesheet" href="/static/font/css/animation.css">
</head> </head>
<body style="display: none"> <body class="hidden">
<noscript>To use Pleroma, please enable JavaScript.</noscript>
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>

View file

@ -11,100 +11,116 @@
"unit:watch": "karma start test/unit/karma.conf.js --single-run=false", "unit:watch": "karma start test/unit/karma.conf.js --single-run=false",
"e2e": "node test/e2e/runner.js", "e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e", "test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs" "stylelint": "npx stylelint src/components/status/status.scss",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",
"lint-fix": "eslint --fix --ext .js,.vue src test/unit/specs test/e2e/specs"
}, },
"dependencies": { "dependencies": {
"babel-plugin-add-module-exports": "^0.2.1", "@babel/runtime": "7.17.8",
"babel-plugin-lodash": "^3.2.11", "@chenfengyuan/vue-qrcode": "2.0.0",
"chromatism": "^3.0.0", "@fortawesome/fontawesome-svg-core": "1.3.0",
"cropperjs": "^1.4.3", "@fortawesome/free-regular-svg-icons": "5.15.4",
"diff": "^3.0.1", "@fortawesome/free-solid-svg-icons": "5.15.4",
"karma-mocha-reporter": "^2.2.1", "@fortawesome/vue-fontawesome": "3.0.0-5",
"localforage": "^1.5.0", "@kazvmoe-infra/pinch-zoom-element": "1.2.0",
"node-sass": "^3.10.1", "@vuelidate/core": "2.0.0-alpha.35",
"object-path": "^0.11.3", "@vuelidate/validators": "2.0.0-alpha.27",
"phoenix": "^1.3.0", "body-scroll-lock": "2.7.1",
"sanitize-html": "^1.13.0", "chromatism": "3.0.0",
"sass-loader": "^4.0.2", "click-outside-vue3": "4.0.1",
"vue": "^2.5.13", "cropperjs": "1.5.12",
"vue-chat-scroll": "^1.2.1", "diff": "3.5.0",
"vue-compose": "^0.7.1", "escape-html": "1.0.3",
"vue-i18n": "^7.3.2", "localforage": "1.10.0",
"vue-router": "^3.0.1", "parse-link-header": "1.0.1",
"vue-template-compiler": "^2.3.4", "phoenix": "1.6.2",
"vue-timeago": "^3.1.2", "punycode.js": "2.1.0",
"vuelidate": "^0.7.4", "qrcode": "1",
"vuex": "^3.0.1", "ruffle-mirror": "2021.12.31",
"whatwg-fetch": "^2.0.3" "vue": "^3.2.31",
"vue-i18n": "^9.2.0-beta.34",
"vue-router": "4.0.14",
"vue-template-compiler": "2.6.11",
"vuex": "4.0.2"
}, },
"devDependencies": { "devDependencies": {
"@babel/polyfill": "^7.0.0", "@babel/core": "7.17.8",
"@vue/test-utils": "^1.0.0-beta.26", "@babel/plugin-transform-runtime": "7.17.0",
"autoprefixer": "^6.4.0", "@babel/preset-env": "7.16.11",
"babel-core": "^6.0.0", "@babel/register": "7.17.7",
"babel-eslint": "^7.0.0", "@intlify/vue-i18n-loader": "^5.0.0",
"babel-helper-vue-jsx-merge-props": "^2.0.3", "@ungap/event-target": "0.2.3",
"babel-loader": "^6.0.0", "@vue/babel-helper-vue-jsx-merge-props": "1.2.1",
"babel-plugin-syntax-jsx": "^6.18.0", "@vue/babel-plugin-jsx": "1.1.1",
"babel-plugin-transform-runtime": "^6.0.0", "@vue/compiler-sfc": "^3.1.0",
"babel-plugin-transform-vue-jsx": "3", "@vue/test-utils": "2.0.0-rc.17",
"babel-preset-env": "^1.7.0", "autoprefixer": "6.7.7",
"babel-preset-es2015": "^6.0.0", "babel-eslint": "7.2.3",
"babel-preset-stage-2": "^6.0.0", "babel-loader": "8.2.4",
"babel-register": "^6.0.0", "babel-plugin-lodash": "3.3.4",
"chai": "^3.5.0", "chai": "3.5.0",
"chalk": "^1.1.3", "chalk": "1.1.3",
"chromedriver": "^2.21.2", "chromedriver": "87.0.7",
"connect-history-api-fallback": "^1.1.0", "connect-history-api-fallback": "1.6.0",
"cross-spawn": "^4.0.2", "copy-webpack-plugin": "6.4.1",
"css-loader": "^0.25.0", "cross-spawn": "4.0.2",
"eslint": "^3.7.1", "css-loader": "0.28.11",
"eslint-config-standard": "^6.1.0", "custom-event-polyfill": "1.0.7",
"eslint-friendly-formatter": "^2.0.5", "eslint": "5.16.0",
"eslint-loader": "^1.5.0", "eslint-config-standard": "12.0.0",
"eslint-plugin-html": "^1.5.5", "eslint-friendly-formatter": "2.0.7",
"eslint-plugin-promise": "^2.0.1", "eslint-loader": "2.2.1",
"eslint-plugin-standard": "^2.0.1", "eslint-plugin-import": "2.25.4",
"eventsource-polyfill": "^0.9.6", "eslint-plugin-node": "7.0.1",
"express": "^4.13.3", "eslint-plugin-promise": "4.3.1",
"extract-text-webpack-plugin": "^1.0.1", "eslint-plugin-standard": "4.1.0",
"file-loader": "^0.9.0", "eslint-plugin-vue": "5.2.3",
"function-bind": "^1.0.2", "eventsource-polyfill": "0.9.6",
"html-webpack-plugin": "^2.8.1", "express": "4.17.3",
"http-proxy-middleware": "^0.17.2", "file-loader": "3.0.1",
"inject-loader": "^2.0.1", "function-bind": "1.1.1",
"iso-639-1": "^2.0.3", "html-webpack-plugin": "3.2.0",
"isparta-loader": "^2.0.0", "http-proxy-middleware": "0.21.0",
"json-loader": "^0.5.4", "inject-loader": "2.0.1",
"karma": "^1.3.0", "iso-639-1": "2.1.13",
"karma-coverage": "^1.1.1", "isparta-loader": "2.0.0",
"karma-mocha": "^1.2.0", "json-loader": "0.5.7",
"karma-phantomjs-launcher": "^1.0.0", "karma": "6.3.17",
"karma-sinon-chai": "^1.2.0", "karma-coverage": "1.1.2",
"karma-sourcemap-loader": "^0.3.7", "karma-firefox-launcher": "1.3.0",
"karma-spec-reporter": "0.0.26", "karma-mocha": "2.0.1",
"karma-webpack": "^1.7.0", "karma-mocha-reporter": "2.2.5",
"lodash": "^4.16.4", "karma-sinon-chai": "2.0.2",
"lolex": "^1.4.0", "karma-sourcemap-loader": "0.3.8",
"mocha": "^3.1.0", "karma-spec-reporter": "0.0.33",
"nightwatch": "^0.9.8", "karma-webpack": "4.0.2",
"opn": "^4.0.2", "lodash": "4.17.21",
"ora": "^0.3.0", "lolex": "1.6.0",
"phantomjs-prebuilt": "^2.1.3", "mini-css-extract-plugin": "0.12.0",
"raw-loader": "^0.5.1", "mocha": "3.5.3",
"nightwatch": "0.9.21",
"opn": "4.0.2",
"ora": "0.4.1",
"postcss-loader": "3.0.0",
"raw-loader": "0.5.1",
"sass": "1.20.1",
"sass-loader": "7.2.0",
"selenium-server": "2.53.1", "selenium-server": "2.53.1",
"semver": "^5.3.0", "semver": "5.6.0",
"serviceworker-webpack-plugin": "0.2.3", "serviceworker-webpack-plugin": "1.0.1",
"shelljs": "^0.7.4", "shelljs": "0.8.5",
"sinon": "^1.17.3", "sinon": "2.4.1",
"sinon-chai": "^2.8.0", "sinon-chai": "2.14.0",
"url-loader": "^0.5.7", "stylelint": "13.6.1",
"vue-loader": "^11.1.0", "stylelint-config-standard": "20.0.0",
"vue-style-loader": "^2.0.0", "stylelint-rscss": "0.4.0",
"webpack": "^1.13.2", "url-loader": "1.1.2",
"webpack-dev-middleware": "^1.8.3", "vue-loader": "^16.0.0",
"webpack-hot-middleware": "^2.12.2", "vue-style-loader": "4.1.2",
"webpack-merge": "^0.14.1" "webpack": "4.46.0",
"webpack-dev-middleware": "3.7.3",
"webpack-hot-middleware": "2.24.3",
"webpack-merge": "0.14.1"
}, },
"engines": { "engines": {
"node": ">= 4.0.0", "node": ">= 4.0.0",

5
postcss.config.js Normal file
View file

@ -0,0 +1,5 @@
module.exports = {
plugins: [
require('autoprefixer')
]
}

6
renovate.json Normal file
View file

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
]
}

View file

@ -1,15 +1,21 @@
import UserPanel from './components/user_panel/user_panel.vue' import UserPanel from './components/user_panel/user_panel.vue'
import NavPanel from './components/nav_panel/nav_panel.vue' import NavPanel from './components/nav_panel/nav_panel.vue'
import Notifications from './components/notifications/notifications.vue' import Notifications from './components/notifications/notifications.vue'
import UserFinder from './components/user_finder/user_finder.vue'
import InstanceSpecificPanel from './components/instance_specific_panel/instance_specific_panel.vue' import InstanceSpecificPanel from './components/instance_specific_panel/instance_specific_panel.vue'
import FeaturesPanel from './components/features_panel/features_panel.vue' import FeaturesPanel from './components/features_panel/features_panel.vue'
import WhoToFollowPanel from './components/who_to_follow_panel/who_to_follow_panel.vue' import WhoToFollowPanel from './components/who_to_follow_panel/who_to_follow_panel.vue'
import ChatPanel from './components/chat_panel/chat_panel.vue' import ShoutPanel from './components/shout_panel/shout_panel.vue'
import SettingsModal from './components/settings_modal/settings_modal.vue'
import MediaModal from './components/media_modal/media_modal.vue' import MediaModal from './components/media_modal/media_modal.vue'
import SideDrawer from './components/side_drawer/side_drawer.vue' import SideDrawer from './components/side_drawer/side_drawer.vue'
import MobilePostStatusModal from './components/mobile_post_status_modal/mobile_post_status_modal.vue' import MobilePostStatusButton from './components/mobile_post_status_button/mobile_post_status_button.vue'
import { unseenNotificationsFromStore } from './services/notification_utils/notification_utils' import MobileNav from './components/mobile_nav/mobile_nav.vue'
import DesktopNav from './components/desktop_nav/desktop_nav.vue'
import UserReportingModal from './components/user_reporting_modal/user_reporting_modal.vue'
import PostStatusModal from './components/post_status_modal/post_status_modal.vue'
import GlobalNoticeList from './components/global_notice_list/global_notice_list.vue'
import { windowWidth, windowHeight } from './services/window_utils/window_utils'
import { mapGetters } from 'vuex'
export default { export default {
name: 'app', name: 'app',
@ -17,92 +23,80 @@ export default {
UserPanel, UserPanel,
NavPanel, NavPanel,
Notifications, Notifications,
UserFinder,
InstanceSpecificPanel, InstanceSpecificPanel,
FeaturesPanel, FeaturesPanel,
WhoToFollowPanel, WhoToFollowPanel,
ChatPanel, ShoutPanel,
MediaModal, MediaModal,
SideDrawer, SideDrawer,
MobilePostStatusModal MobilePostStatusButton,
MobileNav,
DesktopNav,
SettingsModal,
UserReportingModal,
PostStatusModal,
GlobalNoticeList
}, },
data: () => ({ data: () => ({
mobileActivePanel: 'timeline', mobileActivePanel: 'timeline'
finderHidden: true,
supportsMask: window.CSS && window.CSS.supports && (
window.CSS.supports('mask-size', 'contain') ||
window.CSS.supports('-webkit-mask-size', 'contain') ||
window.CSS.supports('-moz-mask-size', 'contain') ||
window.CSS.supports('-ms-mask-size', 'contain') ||
window.CSS.supports('-o-mask-size', 'contain')
)
}), }),
created () { created () {
// Load the locale from the storage // Load the locale from the storage
this.$i18n.locale = this.$store.state.config.interfaceLanguage const val = this.$store.getters.mergedConfig.interfaceLanguage
this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })
window.addEventListener('resize', this.updateMobileState)
},
unmounted () {
window.removeEventListener('resize', this.updateMobileState)
}, },
computed: { computed: {
currentUser () { return this.$store.state.users.currentUser }, currentUser () { return this.$store.state.users.currentUser },
background () { userBackground () { return this.currentUser.background_image },
return this.currentUser.background_image || this.$store.state.instance.background instanceBackground () {
return this.mergedConfig.hideInstanceWallpaper
? null
: this.$store.state.instance.background
}, },
enableMask () { return this.supportsMask && this.$store.state.instance.logoMask }, background () { return this.userBackground || this.instanceBackground },
logoStyle () {
return {
'visibility': this.enableMask ? 'hidden' : 'visible'
}
},
logoMaskStyle () {
return this.enableMask ? {
'mask-image': `url(${this.$store.state.instance.logo})`
} : {
'background-color': this.enableMask ? '' : 'transparent'
}
},
logoBgStyle () {
return Object.assign({
'margin': `${this.$store.state.instance.logoMargin} 0`,
opacity: this.finderHidden ? 1 : 0
}, this.enableMask ? {} : {
'background-color': this.enableMask ? '' : 'transparent'
})
},
logo () { return this.$store.state.instance.logo },
bgStyle () { bgStyle () {
return { if (this.background) {
'background-image': `url(${this.background})`
}
},
bgAppStyle () {
return { return {
'--body-background-image': `url(${this.background})` '--body-background-image': `url(${this.background})`
} }
}
}, },
sitename () { return this.$store.state.instance.name }, shout () { return this.$store.state.shout.joined },
chat () { return this.$store.state.chat.channel.state === 'joined' },
suggestionsEnabled () { return this.$store.state.instance.suggestionsEnabled }, suggestionsEnabled () { return this.$store.state.instance.suggestionsEnabled },
showInstanceSpecificPanel () { return this.$store.state.instance.showInstanceSpecificPanel }, showInstanceSpecificPanel () {
unseenNotifications () { return this.$store.state.instance.showInstanceSpecificPanel &&
return unseenNotificationsFromStore(this.$store) !this.$store.getters.mergedConfig.hideISP &&
this.$store.state.instance.instanceSpecificPanelContent
}, },
unseenNotificationsCount () { showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel },
return this.unseenNotifications.length shoutboxPosition () {
return this.$store.getters.mergedConfig.showNewPostButton || false
}, },
showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel } hideShoutbox () {
return this.$store.getters.mergedConfig.hideShoutbox
},
isMobileLayout () { return this.$store.state.interface.mobileLayout },
privateMode () { return this.$store.state.instance.private },
sidebarAlign () {
return {
'order': this.$store.getters.mergedConfig.sidebarRight ? 99 : 0
}
},
...mapGetters(['mergedConfig'])
}, },
methods: { methods: {
scrollToTop () { updateMobileState () {
window.scrollTo(0, 0) const mobileLayout = windowWidth() <= 800
}, const layoutHeight = windowHeight()
logout () { const changed = mobileLayout !== this.isMobileLayout
this.$router.replace('/main/public') if (changed) {
this.$store.dispatch('logout') this.$store.dispatch('setMobileLayout', mobileLayout)
}, }
onFinderToggled (hidden) { this.$store.dispatch('setLayoutHeight', layoutHeight)
this.finderHidden = hidden
},
toggleMobileSidebar () {
this.$refs.sideDrawer.toggleDrawer()
} }
} }
} }

View file

@ -10,13 +10,16 @@
position: fixed; position: fixed;
z-index: -1; z-index: -1;
height: 100%; height: 100%;
width: 100%; left: 0;
right: -20px;
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 0 50%; background-color: var(--wallpaper);
background-image: var(--body-background-image);
background-position: 50% 50px;
} }
i { i[class^='icon-'] {
user-select: none; user-select: none;
} }
@ -30,23 +33,37 @@ h4 {
margin: auto; margin: auto;
min-height: 100vh; min-height: 100vh;
max-width: 980px; max-width: 980px;
background-color: rgba(0,0,0,0.15);
align-content: flex-start; align-content: flex-start;
} }
.underlay {
background-color: rgba(0,0,0,0.15);
background-color: var(--underlay, rgba(0,0,0,0.15));
}
.text-center { .text-center {
text-align: center; text-align: center;
} }
html {
font-size: 14px;
}
body { body {
overscroll-behavior-y: none;
font-family: sans-serif; font-family: sans-serif;
font-family: var(--interfaceFont, sans-serif); font-family: var(--interfaceFont, sans-serif);
font-size: 14px;
margin: 0; margin: 0;
color: $fallback--text; color: $fallback--text;
color: var(--text, $fallback--text); color: var(--text, $fallback--text);
max-width: 100vw; max-width: 100vw;
overflow-x: hidden; overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
&.hidden {
display: none;
}
} }
a { a {
@ -55,7 +72,7 @@ a {
color: var(--link, $fallback--link); color: var(--link, $fallback--link);
} }
button { .button-default {
user-select: none; user-select: none;
color: $fallback--text; color: $fallback--text;
color: var(--btnText, $fallback--text); color: var(--btnText, $fallback--text);
@ -65,13 +82,18 @@ button {
border-radius: $fallback--btnRadius; border-radius: $fallback--btnRadius;
border-radius: var(--btnRadius, $fallback--btnRadius); border-radius: var(--btnRadius, $fallback--btnRadius);
cursor: pointer; cursor: pointer;
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 1), 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset; box-shadow: $fallback--buttonShadow;
box-shadow: var(--buttonShadow); box-shadow: var(--buttonShadow);
font-size: 14px; font-size: 14px;
font-family: sans-serif; font-family: sans-serif;
font-family: var(--interfaceFont, sans-serif); font-family: var(--interfaceFont, sans-serif);
i[class*=icon-] { &.-sublime {
background: transparent;
}
i[class*=icon-],
.svg-inline--fa {
color: $fallback--text; color: $fallback--text;
color: var(--btnText, $fallback--text); color: var(--btnText, $fallback--text);
} }
@ -88,27 +110,96 @@ button {
&:active { &:active {
box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.3), 0px 1px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px -1px 0px 0px rgba(255, 255, 255, 0.2) inset; box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.3), 0px 1px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px -1px 0px 0px rgba(255, 255, 255, 0.2) inset;
box-shadow: var(--buttonPressedShadow); box-shadow: var(--buttonPressedShadow);
color: $fallback--text;
color: var(--btnPressedText, $fallback--text);
background-color: $fallback--fg;
background-color: var(--btnPressed, $fallback--fg);
svg,
i {
color: $fallback--text;
color: var(--btnPressedText, $fallback--text);
}
} }
&:disabled { &:disabled {
cursor: not-allowed; cursor: not-allowed;
opacity: 0.5; color: $fallback--text;
color: var(--btnDisabledText, $fallback--text);
background-color: $fallback--fg;
background-color: var(--btnDisabled, $fallback--fg);
svg,
i {
color: $fallback--text;
color: var(--btnDisabledText, $fallback--text);
}
} }
&.pressed { &.toggled {
color: $fallback--faint; color: $fallback--text;
color: var(--faint, $fallback--faint); color: var(--btnToggledText, $fallback--text);
background-color: $fallback--bg; background-color: $fallback--fg;
background-color: var(--bg, $fallback--bg) background-color: var(--btnToggled, $fallback--fg);
box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.3), 0px 1px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px -1px 0px 0px rgba(255, 255, 255, 0.2) inset;
box-shadow: var(--buttonPressedShadow);
svg,
i {
color: $fallback--text;
color: var(--btnToggledText, $fallback--text);
}
}
&.danger {
// TODO: add better color variable
color: $fallback--text;
color: var(--alertErrorPanelText, $fallback--text);
background-color: $fallback--alertError;
background-color: var(--alertError, $fallback--alertError);
} }
} }
label.select { .button-unstyled {
background: none;
border: none;
outline: none;
display: inline;
text-align: initial;
font-size: 100%;
font-family: inherit;
padding: 0; padding: 0;
line-height: unset;
cursor: pointer;
box-sizing: content-box;
color: inherit;
&.-link {
color: $fallback--link;
color: var(--link, $fallback--link);
}
&.-fullwidth {
width: 100%;
}
&.-hover-highlight {
&:hover svg {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
}
}
} }
input, textarea, .select { input, textarea, .input {
&.unstyled {
border-radius: 0;
background: none;
box-shadow: none;
height: unset;
}
border: none; border: none;
border-radius: $fallback--inputRadius; border-radius: $fallback--inputRadius;
border-radius: var(--inputRadius, $fallback--inputRadius); border-radius: var(--inputRadius, $fallback--inputRadius);
@ -121,51 +212,20 @@ input, textarea, .select {
font-family: sans-serif; font-family: sans-serif;
font-family: var(--inputFont, sans-serif); font-family: var(--inputFont, sans-serif);
font-size: 14px; font-size: 14px;
padding: 8px .5em; margin: 0;
box-sizing: border-box; box-sizing: border-box;
display: inline-block; display: inline-block;
position: relative; position: relative;
height: 28px; height: 28px;
line-height: 16px; line-height: 16px;
hyphens: none; hyphens: none;
padding: 8px .5em;
&:disabled, &[disabled=disabled] { &:disabled, &[disabled=disabled], &.disabled {
cursor: not-allowed; cursor: not-allowed;
opacity: 0.5; opacity: 0.5;
} }
.icon-down-open {
position: absolute;
top: 0;
bottom: 0;
right: 5px;
height: 100%;
color: $fallback--text;
color: var(--text, $fallback--text);
line-height: 28px;
z-index: 0;
pointer-events: none;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
border: none;
color: $fallback--text;
color: var(--text, $fallback--text);
margin: 0;
padding: 0 2em 0 .2em;
font-family: sans-serif;
font-family: var(--inputFont, sans-serif);
font-size: 14px;
width: 100%;
z-index: 1;
height: 28px;
line-height: 16px;
}
&[type=range] { &[type=range] {
background: none; background: none;
border: none; border: none;
@ -174,12 +234,12 @@ input, textarea, .select {
flex: 1; flex: 1;
} }
&[type=radio], &[type=radio] {
&[type=checkbox] {
display: none; display: none;
&:checked + label::before { &:checked + label::before {
color: $fallback--text; box-shadow: 0px 0px 2px black inset, 0px 0px 0px 4px $fallback--fg inset;
color: var(--text, $fallback--text); box-shadow: var(--inputShadow), 0px 0px 0px 4px var(--fg, $fallback--fg) inset;
background-color: var(--accent, $fallback--link);
} }
&:disabled { &:disabled {
&, &,
@ -189,8 +249,46 @@ input, textarea, .select {
} }
} }
+ label::before { + label::before {
flex-shrink: 0;
display: inline-block; display: inline-block;
content: ''; content: '';
transition: box-shadow 200ms;
width: 1.1em;
height: 1.1em;
border-radius: 100%; // Radio buttons should always be circle
box-shadow: 0px 0px 2px black inset;
box-shadow: var(--inputShadow);
margin-right: .5em;
background-color: $fallback--fg;
background-color: var(--input, $fallback--fg);
vertical-align: top;
text-align: center;
line-height: 1.1em;
font-size: 1.1em;
box-sizing: border-box;
color: transparent;
overflow: hidden;
box-sizing: border-box;
}
}
&[type=checkbox] {
display: none;
&:checked + label::before {
color: $fallback--text;
color: var(--inputText, $fallback--text);
}
&:disabled {
&,
& + label,
& + label::before {
opacity: .5;
}
}
+ label::before {
flex-shrink: 0;
display: inline-block;
content: '';
transition: color 200ms; transition: color 200ms;
width: 1.1em; width: 1.1em;
height: 1.1em; height: 1.1em;
@ -211,6 +309,10 @@ input, textarea, .select {
box-sizing: border-box; box-sizing: border-box;
} }
} }
&.resize-height {
resize: vertical;
}
} }
option { option {
@ -220,11 +322,45 @@ option {
background-color: var(--bg, $fallback--bg); background-color: var(--bg, $fallback--bg);
} }
i[class*=icon-] { .hide-number-spinner {
color: $fallback--icon; -moz-appearance: textfield;
color: var(--icon, $fallback--icon) &[type=number]::-webkit-inner-spin-button,
&[type=number]::-webkit-outer-spin-button {
opacity: 0;
display: none;
}
} }
i[class*=icon-], .svg-inline--fa {
color: $fallback--icon;
color: var(--icon, $fallback--icon);
}
.btn-block {
display: block;
width: 100%;
}
.btn-group {
position: relative;
display: inline-flex;
vertical-align: middle;
button {
position: relative;
flex: 1 1 auto;
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}
.container { .container {
display: flex; display: flex;
@ -233,88 +369,10 @@ i[class*=icon-] {
padding: 0 10px 0 10px; padding: 0 10px 0 10px;
} }
.item {
flex: 1;
line-height: 50px;
height: 50px;
overflow: hidden;
display: flex;
flex-wrap: wrap;
.nav-icon {
margin-left: 0.4em;
}
&.right {
justify-content: flex-end;
}
}
.auto-size { .auto-size {
flex: 1 flex: 1
} }
.nav-bar {
padding: 0;
width: 100%;
align-items: center;
position: fixed;
height: 50px;
.logo {
display: flex;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
align-items: stretch;
justify-content: center;
flex: 0 0 auto;
z-index: -1;
transition: opacity;
transition-timing-function: ease-out;
transition-duration: 100ms;
.mask {
mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
background-color: $fallback--fg;
background-color: var(--topBarText, $fallback--fg);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
img {
height: 100%;
object-fit: contain;
display: block;
flex: 0;
}
}
.inner-nav {
margin: auto;
box-sizing: border-box;
padding-left: 10px;
padding-right: 10px;
display: flex;
align-items: center;
flex-basis: 970px;
height: 50px;
a, a i {
color: $fallback--link;
color: var(--topBarLink, $fallback--link);
}
}
}
main-router { main-router {
flex: 1; flex: 1;
} }
@ -371,6 +429,7 @@ main-router {
.panel-heading { .panel-heading {
display: flex; display: flex;
flex: none;
border-radius: $fallback--panelRadius $fallback--panelRadius 0 0; border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;
border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0; border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;
background-size: cover; background-size: cover;
@ -394,28 +453,58 @@ main-router {
color: var(--panelFaint, $fallback--faint); color: var(--panelFaint, $fallback--faint);
} }
.faint-link {
color: $fallback--faint;
color: var(--faintLink, $fallback--faint);
}
.alert { .alert {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow-x: hidden; overflow-x: hidden;
} }
button { .button-default,
flex-shrink: 0; .alert {
}
button, .alert {
// height: 100%; // height: 100%;
line-height: 21px; line-height: 21px;
min-height: 0; min-height: 0;
box-sizing: border-box; box-sizing: border-box;
margin: 0; margin: 0;
margin-left: .25em; margin-left: .5em;
min-width: 1px; min-width: 1px;
align-self: stretch; align-self: stretch;
} }
a { .button-default {
flex-shrink: 0;
&,
i[class*=icon-] {
color: $fallback--text;
color: var(--btnPanelText, $fallback--text);
}
&:active {
background-color: $fallback--fg;
background-color: var(--btnPressedPanel, $fallback--fg);
color: $fallback--text;
color: var(--btnPressedPanelText, $fallback--text);
}
&:disabled {
color: $fallback--text;
color: var(--btnDisabledPanelText, $fallback--text);
}
&.toggled {
color: $fallback--text;
color: var(--btnToggledPanelText, $fallback--text);
}
}
a,
.-link {
color: $fallback--link; color: $fallback--link;
color: var(--panelLink, $fallback--link) color: var(--panelLink, $fallback--link)
} }
@ -426,19 +515,31 @@ main-router {
border-radius: var(--panelRadius, $fallback--panelRadius); border-radius: var(--panelRadius, $fallback--panelRadius);
} }
.panel-footer { /* TODO Should remove timeline-footer from here when we refactor panels into
* separate component and utilize slots
*/
.panel-footer, .timeline-footer {
display: flex;
border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius; border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius); border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);
flex: none;
padding: 0.6em 0.6em;
text-align: left;
line-height: 28px;
align-items: baseline;
border-width: 1px 0 0 0;
border-style: solid;
border-color: var(--border, $fallback--border);
.faint { .faint {
color: $fallback--faint; color: $fallback--faint;
color: var(--panelFaint, $fallback--faint); color: var(--panelFaint, $fallback--faint);
} }
a { a,
.-link {
color: $fallback--link; color: $fallback--link;
color: var(--panelLink, $fallback--link) color: var(--panelLink, $fallback--link);
} }
} }
@ -465,47 +566,13 @@ nav {
color: var(--faint, $fallback--faint); color: var(--faint, $fallback--faint);
box-shadow: 0px 0px 4px rgba(0,0,0,.6); box-shadow: 0px 0px 4px rgba(0,0,0,.6);
box-shadow: var(--topBarShadow); box-shadow: var(--topBarShadow);
box-sizing: border-box;
.back-button {
display: block;
max-width: 99px;
transition-property: opacity, max-width;
transition-duration: 300ms;
transition-timing-function: ease-out;
i {
margin: 0 1em;
}
&.hidden {
opacity: 0;
max-width: 5px;
}
}
}
.menu-button {
display: none;
position: relative;
}
.alert-dot {
border-radius: 100%;
height: 8px;
width: 8px;
position: absolute;
left: calc(50% - 4px);
top: calc(50% - 4px);
margin-left: 6px;
margin-top: -6px;
background-color: $fallback--cRed;
background-color: var(--badgeNotification, $fallback--cRed);
} }
.fade-enter-active, .fade-leave-active { .fade-enter-active, .fade-leave-active {
transition: opacity .2s transition: opacity .2s
} }
.fade-enter, .fade-leave-active { .fade-enter-from, .fade-leave-active {
opacity: 0 opacity: 0
} }
@ -530,31 +597,11 @@ nav {
display: none; display: none;
} }
.panel-switcher {
display: none;
width: 100%;
height: 46px;
button {
display: block;
flex: 1;
max-height: 32px;
margin: 0.5em;
padding: 0.5em;
}
}
@media all and (min-width: 800px) { @media all and (min-width: 800px) {
body { body {
overflow-y: scroll; overflow-y: scroll;
} }
nav {
.back-button {
display: none;
}
}
.sidebar-bounds { .sidebar-bounds {
overflow: hidden; overflow: hidden;
max-height: 100vh; max-height: 100vh;
@ -581,19 +628,24 @@ nav {
flex-grow: 0; flex-grow: 0;
} }
} }
.badge { .badge {
box-sizing: border-box;
display: inline-block; display: inline-block;
border-radius: 99px; border-radius: 99px;
min-width: 22px; max-width: 10em;
max-width: 22px; min-width: 1.7em;
min-height: 22px; height: 1.3em;
max-height: 22px; padding: 0.15em 0.15em;
font-size: 15px;
line-height: 22px;
text-align: center;
vertical-align: middle; vertical-align: middle;
font-weight: normal;
font-style: normal;
font-size: 0.9em;
line-height: 1;
text-align: center;
white-space: nowrap; white-space: nowrap;
padding: 0; overflow: hidden;
text-overflow: ellipsis;
&.badge-notification { &.badge-notification {
background-color: $fallback--cRed; background-color: $fallback--cRed;
@ -622,6 +674,27 @@ nav {
color: var(--alertErrorPanelText, $fallback--text); color: var(--alertErrorPanelText, $fallback--text);
} }
} }
&.warning {
background-color: $fallback--alertWarning;
background-color: var(--alertWarning, $fallback--alertWarning);
color: $fallback--text;
color: var(--alertWarningText, $fallback--text);
.panel-heading & {
color: $fallback--text;
color: var(--alertWarningPanelText, $fallback--text);
}
}
&.success {
background-color: var(--alertSuccess, $fallback--alertWarning);
color: var(--alertSuccessText, $fallback--text);
.panel-heading & {
color: var(--alertSuccessPanelText, $fallback--text);
}
}
} }
.faint { .faint {
@ -638,31 +711,6 @@ nav {
} }
} }
@media all and (min-width: 800px) {
.logo {
opacity: 1 !important;
}
}
.item.right {
text-align: right;
}
.visibility-tray {
font-size: 1.2em;
padding: 3px;
cursor: pointer;
.selected {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
}
div {
padding-top: 5px;
}
}
.visibility-notice { .visibility-notice {
padding: .5em; padding: .5em;
border: 1px solid $fallback--faint; border: 1px solid $fallback--faint;
@ -671,33 +719,29 @@ nav {
border-radius: var(--inputRadius, $fallback--inputRadius); border-radius: var(--inputRadius, $fallback--inputRadius);
} }
@keyframes modal-background-fadein { .notice-dismissible {
from { padding-right: 4rem;
background-color: rgba(0, 0, 0, 0); position: relative;
}
to {
background-color: rgba(0, 0, 0, 0.5);
}
}
.modal-view { .dismiss {
z-index: 1000; position: absolute;
position: fixed;
top: 0; top: 0;
left: 0;
right: 0; right: 0;
bottom: 0; padding: .5em;
display: flex; color: inherit;
justify-content: center; }
align-items: center;
overflow: auto;
animation-duration: 0.2s;
background-color: rgba(0, 0, 0, 0.5);
animation-name: modal-background-fadein;
} }
.button-icon { .fa-scale-110 {
font-size: 1.2em; &.svg-inline--fa {
font-size: 1.1em;
}
}
.fa-old-padding {
&.svg-inline--fa {
padding: 0 0.3em;
}
} }
@keyframes shakeError { @keyframes shakeError {
@ -748,6 +792,22 @@ nav {
display: block; display: block;
margin-right: 0.8em; margin-right: 0.8em;
} }
.main {
margin-bottom: 7em;
}
}
.setting-list,
.option-list{
list-style-type: none;
padding-left: 2em;
li {
margin-bottom: 0.5em;
}
.suboptions {
margin-top: 0.3em
}
} }
.login-hint { .login-hint {
@ -764,6 +824,68 @@ nav {
} }
} }
.btn.btn-default { .btn.button-default {
min-height: 28px; min-height: 28px;
} }
.animate-spin {
animation: spin 2s infinite linear;
display: inline-block;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(359deg);
}
}
.new-status-notification {
position: relative;
font-size: 1.1em;
z-index: 1;
flex: 1;
}
.chat-layout {
// Needed for smoother chat navigation in the desktop Safari (otherwise the chat layout "jumps" as the chat opens).
overflow: hidden;
height: 100%;
// Get rid of scrollbar on body as scrolling happens on different element
body {
overflow: hidden;
}
// Ensures the fixed position of the mobile browser bars on scroll up / down events.
// Prevents the mobile browser bars from overlapping or hiding the message posting form.
@media all and (max-width: 800px) {
body {
height: 100%;
}
#app {
height: 100%;
overflow: hidden;
min-height: auto;
}
#app_bg_wrapper {
overflow: hidden;
}
.main {
overflow: hidden;
height: 100%;
}
#content {
padding-top: 0;
height: 100%;
overflow: visible;
}
}
}

View file

@ -1,56 +1,66 @@
<template> <template>
<div id="app" v-bind:style="bgAppStyle"> <div
<div class="app-bg-wrapper" v-bind:style="bgStyle"></div> id="app-loaded"
<nav class='nav-bar container' @click="scrollToTop()" id="nav"> :style="bgStyle"
<div class='logo' :style='logoBgStyle'> >
<div class='mask' :style='logoMaskStyle'></div> <div
<img :src='logo' :style='logoStyle'> id="app_bg_wrapper"
</div> class="app-bg-wrapper"
<div class='inner-nav'> />
<div class='item'> <MobileNav v-if="isMobileLayout" />
<a href="#" class="menu-button" @click.stop.prevent="toggleMobileSidebar()"> <DesktopNav v-else />
<i class="button-icon icon-menu"></i> <div class="app-bg-wrapper app-container-wrapper" />
<div class="alert-dot" v-if="unseenNotificationsCount"></div> <div
</a> id="content"
<router-link class="site-name" :to="{ name: 'root' }" active-class="home">{{sitename}}</router-link> class="container underlay"
</div> >
<div class='item right'> <div
<user-finder class="button-icon nav-icon mobile-hidden" @toggled="onFinderToggled"></user-finder> class="sidebar-flexer mobile-hidden"
<router-link class="mobile-hidden" :to="{ name: 'settings'}"><i class="button-icon icon-cog nav-icon" :title="$t('nav.preferences')"></i></router-link> :style="sidebarAlign"
<a href="#" class="mobile-hidden" v-if="currentUser" @click.prevent="logout"><i class="button-icon icon-logout nav-icon" :title="$t('login.logout')"></i></a> >
</div>
</div>
</nav>
<div v-if="" class="container" id="content">
<side-drawer ref="sideDrawer" :logout="logout"></side-drawer>
<div class="sidebar-flexer mobile-hidden">
<div class="sidebar-bounds"> <div class="sidebar-bounds">
<div class="sidebar-scroller"> <div class="sidebar-scroller">
<div class="sidebar"> <div class="sidebar">
<user-panel></user-panel> <user-panel />
<nav-panel></nav-panel> <div v-if="!isMobileLayout">
<instance-specific-panel v-if="showInstanceSpecificPanel"></instance-specific-panel> <nav-panel />
<features-panel v-if="!currentUser && showFeaturesPanel"></features-panel> <instance-specific-panel v-if="showInstanceSpecificPanel" />
<who-to-follow-panel v-if="currentUser && suggestionsEnabled"></who-to-follow-panel> <features-panel v-if="!currentUser && showFeaturesPanel" />
<notifications v-if="currentUser"></notifications> <who-to-follow-panel v-if="currentUser && suggestionsEnabled" />
<notifications v-if="currentUser" />
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="main"> <div class="main">
<div v-if="!currentUser" class="login-hint panel panel-default"> <div
<router-link :to="{ name: 'login' }" class="panel-body"> v-if="!currentUser"
class="login-hint panel panel-default"
>
<router-link
:to="{ name: 'login' }"
class="panel-body"
>
{{ $t("login.hint") }} {{ $t("login.hint") }}
</router-link> </router-link>
</div> </div>
<transition name="fade"> <router-view />
<router-view></router-view>
</transition>
</div> </div>
<media-modal></media-modal> <media-modal />
</div> </div>
<chat-panel :floating="true" v-if="currentUser && chat" class="floating-chat mobile-hidden"></chat-panel> <shout-panel
<MobilePostStatusModal /> v-if="currentUser && shout && !hideShoutbox"
:floating="true"
class="floating-shout mobile-hidden"
:class="{ 'left': shoutboxPosition }"
/>
<MobilePostStatusButton />
<UserReportingModal />
<PostStatusModal />
<SettingsModal />
<div id="modal" />
<GlobalNoticeList />
</div> </div>
</template> </template>

View file

@ -17,6 +17,7 @@ $fallback--cGreen: #0fa00f;
$fallback--cOrange: orange; $fallback--cOrange: orange;
$fallback--alertError: rgba(211,16,20,.5); $fallback--alertError: rgba(211,16,20,.5);
$fallback--alertWarning: rgba(111,111,20,.5);
$fallback--panelRadius: 10px; $fallback--panelRadius: 10px;
$fallback--checkboxRadius: 2px; $fallback--checkboxRadius: 2px;
@ -26,3 +27,8 @@ $fallback--tooltipRadius: 5px;
$fallback--avatarRadius: 4px; $fallback--avatarRadius: 4px;
$fallback--avatarAltRadius: 10px; $fallback--avatarAltRadius: 10px;
$fallback--attachmentRadius: 10px; $fallback--attachmentRadius: 10px;
$fallback--chatMessageRadius: 10px;
$fallback--buttonShadow: 0px 0px 2px 0px rgba(0, 0, 0, 1), 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
$status-margin: 0.75em;

View file

@ -1,43 +1,107 @@
import Vue from 'vue' import { createApp } from 'vue'
import VueRouter from 'vue-router' import { createRouter, createWebHistory } from 'vue-router'
import routes from './routes' import vClickOutside from 'click-outside-vue3'
import { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'
import App from '../App.vue' import App from '../App.vue'
import routes from './routes'
import VBodyScrollLock from 'src/directives/body_scroll_lock'
const afterStoreSetup = ({ store, i18n }) => { import { windowWidth } from '../services/window_utils/window_utils'
window.fetch('/api/statusnet/config.json') import { getOrCreateApp, getClientToken } from '../services/new_api/oauth.js'
.then((res) => res.json()) import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
.then((data) => { import { CURRENT_VERSION } from '../services/theme_data/theme_data.service.js'
const { name, closed: registrationClosed, textlimit, uploadlimit, server, vapidPublicKey } = data.site import { applyTheme } from '../services/style_setter/style_setter.js'
import FaviconService from '../services/favicon_service/favicon_service.js'
store.dispatch('setInstanceOption', { name: 'name', value: name }) let staticInitialResults = null
store.dispatch('setInstanceOption', { name: 'registrationOpen', value: (registrationClosed === '0') })
store.dispatch('setInstanceOption', { name: 'textlimit', value: parseInt(textlimit) })
store.dispatch('setInstanceOption', { name: 'server', value: server })
// TODO: default values for this stuff, added if to not make it break on const parsedInitialResults = () => {
// my dev config out of the box. if (!document.getElementById('initial-results')) {
if (uploadlimit) { return null
store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadlimit.uploadlimit) })
store.dispatch('setInstanceOption', { name: 'avatarlimit', value: parseInt(uploadlimit.avatarlimit) })
store.dispatch('setInstanceOption', { name: 'backgroundlimit', value: parseInt(uploadlimit.backgroundlimit) })
store.dispatch('setInstanceOption', { name: 'bannerlimit', value: parseInt(uploadlimit.bannerlimit) })
} }
if (!staticInitialResults) {
staticInitialResults = JSON.parse(document.getElementById('initial-results').textContent)
}
return staticInitialResults
}
const decodeUTF8Base64 = (data) => {
const rawData = atob(data)
const array = Uint8Array.from([...rawData].map((char) => char.charCodeAt(0)))
const text = new TextDecoder().decode(array)
return text
}
const preloadFetch = async (request) => {
const data = parsedInitialResults()
if (!data || !data[request]) {
return window.fetch(request)
}
const decoded = decodeUTF8Base64(data[request])
const requestData = JSON.parse(decoded)
return {
ok: true,
json: () => requestData,
text: () => requestData
}
}
const getInstanceConfig = async ({ store }) => {
try {
const res = await preloadFetch('/api/v1/instance')
if (res.ok) {
const data = await res.json()
const textlimit = data.max_toot_chars
const vapidPublicKey = data.pleroma.vapid_public_key
store.dispatch('setInstanceOption', { name: 'textlimit', value: textlimit })
store.dispatch('setInstanceOption', { name: 'accountApprovalRequired', value: data.approval_required })
if (vapidPublicKey) { if (vapidPublicKey) {
store.dispatch('setInstanceOption', { name: 'vapidPublicKey', value: vapidPublicKey }) store.dispatch('setInstanceOption', { name: 'vapidPublicKey', value: vapidPublicKey })
} }
} else {
throw (res)
}
} catch (error) {
console.error('Could not load instance config, potentially fatal')
console.error(error)
}
}
var apiConfig = data.site.pleromafe const getBackendProvidedConfig = async ({ store }) => {
try {
const res = await window.fetch('/api/pleroma/frontend_configurations')
if (res.ok) {
const data = await res.json()
return data.pleroma_fe
} else {
throw (res)
}
} catch (error) {
console.error('Could not load backend-provided frontend config, potentially fatal')
console.error(error)
}
}
window.fetch('/static/config.json') const getStaticConfig = async () => {
.then((res) => res.json()) try {
.catch((err) => { const res = await window.fetch('/static/config.json')
if (res.ok) {
return res.json()
} else {
throw (res)
}
} catch (error) {
console.warn('Failed to load static/config.json, continuing without it.') console.warn('Failed to load static/config.json, continuing without it.')
console.warn(err) console.warn(error)
return {} return {}
}) }
.then((staticConfig) => { }
const setSettings = async ({ apiConfig, staticConfig, store }) => {
const overrides = window.___pleromafe_dev_overrides || {} const overrides = window.___pleromafe_dev_overrides || {}
const env = window.___pleromafe_mode.NODE_ENV const env = window.___pleromafe_mode.NODE_ENV
@ -51,12 +115,13 @@ const afterStoreSetup = ({ store, i18n }) => {
} }
const copyInstanceOption = (name) => { const copyInstanceOption = (name) => {
store.dispatch('setInstanceOption', {name, value: config[name]}) store.dispatch('setInstanceOption', { name, value: config[name] })
} }
copyInstanceOption('nsfwCensorImage') copyInstanceOption('nsfwCensorImage')
copyInstanceOption('background') copyInstanceOption('background')
copyInstanceOption('hidePostStats') copyInstanceOption('hidePostStats')
copyInstanceOption('hideBotIndication')
copyInstanceOption('hideUserStats') copyInstanceOption('hideUserStats')
copyInstanceOption('hideFilteredStatuses') copyInstanceOption('hideFilteredStatuses')
copyInstanceOption('logo') copyInstanceOption('logo')
@ -74,109 +139,266 @@ const afterStoreSetup = ({ store, i18n }) => {
? 0 ? 0
: config.logoMargin : config.logoMargin
}) })
copyInstanceOption('logoLeft')
store.commit('authFlow/setInitialStrategy', config.loginMethod)
copyInstanceOption('redirectRootNoLogin') copyInstanceOption('redirectRootNoLogin')
copyInstanceOption('redirectRootLogin') copyInstanceOption('redirectRootLogin')
copyInstanceOption('showInstanceSpecificPanel') copyInstanceOption('showInstanceSpecificPanel')
copyInstanceOption('scopeOptionsEnabled') copyInstanceOption('minimalScopesMode')
copyInstanceOption('formattingOptionsEnabled') copyInstanceOption('hideMutedPosts')
copyInstanceOption('collapseMessageWithSubject') copyInstanceOption('collapseMessageWithSubject')
copyInstanceOption('loginMethod')
copyInstanceOption('scopeCopy') copyInstanceOption('scopeCopy')
copyInstanceOption('subjectLineBehavior') copyInstanceOption('subjectLineBehavior')
copyInstanceOption('postContentType') copyInstanceOption('postContentType')
copyInstanceOption('alwaysShowSubjectInput') copyInstanceOption('alwaysShowSubjectInput')
copyInstanceOption('noAttachmentLinks')
copyInstanceOption('showFeaturesPanel') copyInstanceOption('showFeaturesPanel')
copyInstanceOption('hideSitename')
if ((config.chatDisabled)) { copyInstanceOption('sidebarRight')
store.dispatch('disableChat')
} else {
store.dispatch('initializeSocket')
}
return store.dispatch('setTheme', config['theme']) return store.dispatch('setTheme', config['theme'])
}
const getTOS = async ({ store }) => {
try {
const res = await window.fetch('/static/terms-of-service.html')
if (res.ok) {
const html = await res.text()
store.dispatch('setInstanceOption', { name: 'tos', value: html })
} else {
throw (res)
}
} catch (e) {
console.warn("Can't load TOS")
console.warn(e)
}
}
const getInstancePanel = async ({ store }) => {
try {
const res = await preloadFetch('/instance/panel.html')
if (res.ok) {
const html = await res.text()
store.dispatch('setInstanceOption', { name: 'instanceSpecificPanelContent', value: html })
} else {
throw (res)
}
} catch (e) {
console.warn("Can't load instance panel")
console.warn(e)
}
}
const getStickers = async ({ store }) => {
try {
const res = await window.fetch('/static/stickers.json')
if (res.ok) {
const values = await res.json()
const stickers = (await Promise.all(
Object.entries(values).map(async ([name, path]) => {
const resPack = await window.fetch(path + 'pack.json')
var meta = {}
if (resPack.ok) {
meta = await resPack.json()
}
return {
pack: name,
path,
meta
}
}) })
.then(() => { )).sort((a, b) => {
const router = new VueRouter({ return a.meta.title.localeCompare(b.meta.title)
mode: 'history', })
store.dispatch('setInstanceOption', { name: 'stickers', value: stickers })
} else {
throw (res)
}
} catch (e) {
console.warn("Can't load stickers")
console.warn(e)
}
}
const getAppSecret = async ({ store }) => {
const { state, commit } = store
const { oauth, instance } = state
return getOrCreateApp({ ...oauth, instance: instance.server, commit })
.then((app) => getClientToken({ ...app, instance: instance.server }))
.then((token) => {
commit('setAppToken', token.access_token)
commit('setBackendInteractor', backendInteractorService(store.getters.getToken()))
})
}
const resolveStaffAccounts = ({ store, accounts }) => {
const nicknames = accounts.map(uri => uri.split('/').pop())
store.dispatch('setInstanceOption', { name: 'staffAccounts', value: nicknames })
}
const getNodeInfo = async ({ store }) => {
try {
const res = await preloadFetch('/nodeinfo/2.0.json')
if (res.ok) {
const data = await res.json()
const metadata = data.metadata
const features = metadata.features
store.dispatch('setInstanceOption', { name: 'name', value: metadata.nodeName })
store.dispatch('setInstanceOption', { name: 'registrationOpen', value: data.openRegistrations })
store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') })
store.dispatch('setInstanceOption', { name: 'safeDM', value: features.includes('safe_dm_mentions') })
store.dispatch('setInstanceOption', { name: 'shoutAvailable', value: features.includes('chat') })
store.dispatch('setInstanceOption', { name: 'pleromaChatMessagesAvailable', value: features.includes('pleroma_chat_messages') })
store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })
store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: features.includes('polls') })
store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits })
store.dispatch('setInstanceOption', { name: 'mailerEnabled', value: metadata.mailerEnabled })
const uploadLimits = metadata.uploadLimits
store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadLimits.general) })
store.dispatch('setInstanceOption', { name: 'avatarlimit', value: parseInt(uploadLimits.avatar) })
store.dispatch('setInstanceOption', { name: 'backgroundlimit', value: parseInt(uploadLimits.background) })
store.dispatch('setInstanceOption', { name: 'bannerlimit', value: parseInt(uploadLimits.banner) })
store.dispatch('setInstanceOption', { name: 'fieldsLimits', value: metadata.fieldsLimits })
store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames })
store.dispatch('setInstanceOption', { name: 'postFormats', value: metadata.postFormats })
const suggestions = metadata.suggestions
store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled })
store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: suggestions.web })
const software = data.software
store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version })
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: software.name === 'pleroma' })
const priv = metadata.private
store.dispatch('setInstanceOption', { name: 'private', value: priv })
const frontendVersion = window.___pleromafe_commit_hash
store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion })
const federation = metadata.federation
store.dispatch('setInstanceOption', {
name: 'tagPolicyAvailable',
value: typeof federation.mrf_policies === 'undefined'
? false
: metadata.federation.mrf_policies.includes('TagPolicy')
})
store.dispatch('setInstanceOption', { name: 'federationPolicy', value: federation })
store.dispatch('setInstanceOption', {
name: 'federating',
value: typeof federation.enabled === 'undefined'
? true
: federation.enabled
})
const accountActivationRequired = metadata.accountActivationRequired
store.dispatch('setInstanceOption', { name: 'accountActivationRequired', value: accountActivationRequired })
const accounts = metadata.staffAccounts
resolveStaffAccounts({ store, accounts })
} else {
throw (res)
}
} catch (e) {
console.warn('Could not load nodeinfo')
console.warn(e)
}
}
const setConfig = async ({ store }) => {
// apiConfig, staticConfig
const configInfos = await Promise.all([getBackendProvidedConfig({ store }), getStaticConfig()])
const apiConfig = configInfos[0]
const staticConfig = configInfos[1]
await setSettings({ store, apiConfig, staticConfig }).then(getAppSecret({ store }))
}
const checkOAuthToken = async ({ store }) => {
return new Promise(async (resolve, reject) => {
if (store.getters.getUserToken()) {
try {
await store.dispatch('loginUser', store.getters.getUserToken())
} catch (e) {
console.error(e)
}
}
resolve()
})
}
const afterStoreSetup = async ({ store, i18n }) => {
const width = windowWidth()
store.dispatch('setMobileLayout', width <= 800)
FaviconService.initFaviconService()
const overrides = window.___pleromafe_dev_overrides || {}
const server = (typeof overrides.target !== 'undefined') ? overrides.target : window.location.origin
store.dispatch('setInstanceOption', { name: 'server', value: server })
await setConfig({ store })
const { customTheme, customThemeSource } = store.state.config
const { theme } = store.state.instance
const customThemePresent = customThemeSource || customTheme
if (customThemePresent) {
if (customThemeSource && customThemeSource.themeEngineVersion === CURRENT_VERSION) {
applyTheme(customThemeSource)
} else {
applyTheme(customTheme)
}
} else if (theme) {
// do nothing, it will load asynchronously
} else {
console.error('Failed to load any theme!')
}
// Now we can try getting the server settings and logging in
// Most of these are preloaded into the index.html so blocking is minimized
await Promise.all([
checkOAuthToken({ store }),
getInstancePanel({ store }),
getNodeInfo({ store }),
getInstanceConfig({ store })
])
// Start fetching things that don't need to block the UI
store.dispatch('fetchMutes')
getTOS({ store })
getStickers({ store })
const router = createRouter({
history: createWebHistory(),
routes: routes(store), routes: routes(store),
scrollBehavior: (to, _from, savedPosition) => { scrollBehavior: (to, _from, savedPosition) => {
if (to.matched.some(m => m.meta.dontScroll)) { if (to.matched.some(m => m.meta.dontScroll)) {
return false return false
} }
return savedPosition || { x: 0, y: 0 } return savedPosition || { left: 0, top: 0 }
} }
}) })
/* eslint-disable no-new */ const app = createApp(App)
new Vue({
router,
store,
i18n,
el: '#app',
render: h => h(App)
})
})
})
window.fetch('/static/terms-of-service.html') app.use(router)
.then((res) => res.text()) app.use(store)
.then((html) => { app.use(i18n)
store.dispatch('setInstanceOption', { name: 'tos', value: html })
})
window.fetch('/api/pleroma/emoji.json') app.use(vClickOutside)
.then( app.use(VBodyScrollLock)
(res) => res.json()
.then(
(values) => {
const emoji = Object.keys(values).map((key) => {
return { shortcode: key, image_url: values[key] }
})
store.dispatch('setInstanceOption', { name: 'customEmoji', value: emoji })
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: true })
},
(failure) => {
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: false })
}
),
(error) => console.log(error)
)
window.fetch('/static/emoji.json') app.component('FAIcon', FontAwesomeIcon)
.then((res) => res.json()) app.component('FALayers', FontAwesomeLayers)
.then((values) => {
const emoji = Object.keys(values).map((key) => {
return { shortcode: key, image_url: false, 'utf': values[key] }
})
store.dispatch('setInstanceOption', { name: 'emoji', value: emoji })
})
window.fetch('/instance/panel.html') app.mount('#app')
.then((res) => res.text())
.then((html) => {
store.dispatch('setInstanceOption', { name: 'instanceSpecificPanelContent', value: html })
})
window.fetch('/nodeinfo/2.0.json') return app
.then((res) => res.json())
.then((data) => {
const metadata = data.metadata
const features = metadata.features
store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') })
store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') })
store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })
store.dispatch('setInstanceOption', { name: 'postFormats', value: metadata.postFormats })
store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames })
const suggestions = metadata.suggestions
store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled })
store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: suggestions.web })
})
} }
export default afterStoreSetup export default afterStoreSetup

View file

@ -2,24 +2,35 @@ import PublicTimeline from 'components/public_timeline/public_timeline.vue'
import PublicAndExternalTimeline from 'components/public_and_external_timeline/public_and_external_timeline.vue' import PublicAndExternalTimeline from 'components/public_and_external_timeline/public_and_external_timeline.vue'
import FriendsTimeline from 'components/friends_timeline/friends_timeline.vue' import FriendsTimeline from 'components/friends_timeline/friends_timeline.vue'
import TagTimeline from 'components/tag_timeline/tag_timeline.vue' import TagTimeline from 'components/tag_timeline/tag_timeline.vue'
import BookmarkTimeline from 'components/bookmark_timeline/bookmark_timeline.vue'
import ConversationPage from 'components/conversation-page/conversation-page.vue' import ConversationPage from 'components/conversation-page/conversation-page.vue'
import Mentions from 'components/mentions/mentions.vue' import Interactions from 'components/interactions/interactions.vue'
import DMs from 'components/dm_timeline/dm_timeline.vue' import DMs from 'components/dm_timeline/dm_timeline.vue'
import ChatList from 'components/chat_list/chat_list.vue'
import Chat from 'components/chat/chat.vue'
import UserProfile from 'components/user_profile/user_profile.vue' import UserProfile from 'components/user_profile/user_profile.vue'
import Settings from 'components/settings/settings.vue' import Search from 'components/search/search.vue'
import Registration from 'components/registration/registration.vue' import Registration from 'components/registration/registration.vue'
import UserSettings from 'components/user_settings/user_settings.vue' import PasswordReset from 'components/password_reset/password_reset.vue'
import FollowRequests from 'components/follow_requests/follow_requests.vue' import FollowRequests from 'components/follow_requests/follow_requests.vue'
import OAuthCallback from 'components/oauth_callback/oauth_callback.vue' import OAuthCallback from 'components/oauth_callback/oauth_callback.vue'
import UserSearch from 'components/user_search/user_search.vue'
import Notifications from 'components/notifications/notifications.vue' import Notifications from 'components/notifications/notifications.vue'
import LoginForm from 'components/login_form/login_form.vue' import AuthForm from 'components/auth_form/auth_form.js'
import ChatPanel from 'components/chat_panel/chat_panel.vue' import ShoutPanel from 'components/shout_panel/shout_panel.vue'
import WhoToFollow from 'components/who_to_follow/who_to_follow.vue' import WhoToFollow from 'components/who_to_follow/who_to_follow.vue'
import About from 'components/about/about.vue' import About from 'components/about/about.vue'
import RemoteUserResolver from 'components/remote_user_resolver/remote_user_resolver.vue'
export default (store) => { export default (store) => {
return [ const validateAuthenticatedRoute = (to, from, next) => {
if (store.state.users.currentUser) {
next()
} else {
next(store.state.instance.redirectRootNoLogin || '/main/all')
}
}
let routes = [
{ name: 'root', { name: 'root',
path: '/', path: '/',
redirect: _to => { redirect: _to => {
@ -30,24 +41,43 @@ export default (store) => {
}, },
{ name: 'public-external-timeline', path: '/main/all', component: PublicAndExternalTimeline }, { name: 'public-external-timeline', path: '/main/all', component: PublicAndExternalTimeline },
{ name: 'public-timeline', path: '/main/public', component: PublicTimeline }, { name: 'public-timeline', path: '/main/public', component: PublicTimeline },
{ name: 'friends', path: '/main/friends', component: FriendsTimeline }, { name: 'friends', path: '/main/friends', component: FriendsTimeline, beforeEnter: validateAuthenticatedRoute },
{ name: 'tag-timeline', path: '/tag/:tag', component: TagTimeline }, { name: 'tag-timeline', path: '/tag/:tag', component: TagTimeline },
{ name: 'bookmarks', path: '/bookmarks', component: BookmarkTimeline },
{ name: 'conversation', path: '/notice/:id', component: ConversationPage, meta: { dontScroll: true } }, { name: 'conversation', path: '/notice/:id', component: ConversationPage, meta: { dontScroll: true } },
{ name: 'remote-user-profile-acct',
path: '/remote-users/:_(@)?:username([^/@]+)@:hostname([^/@]+)',
component: RemoteUserResolver,
beforeEnter: validateAuthenticatedRoute
},
{ name: 'remote-user-profile',
path: '/remote-users/:hostname/:username',
component: RemoteUserResolver,
beforeEnter: validateAuthenticatedRoute
},
{ name: 'external-user-profile', path: '/users/:id', component: UserProfile }, { name: 'external-user-profile', path: '/users/:id', component: UserProfile },
{ name: 'mentions', path: '/users/:username/mentions', component: Mentions }, { name: 'interactions', path: '/users/:username/interactions', component: Interactions, beforeEnter: validateAuthenticatedRoute },
{ name: 'dms', path: '/users/:username/dms', component: DMs }, { name: 'dms', path: '/users/:username/dms', component: DMs, beforeEnter: validateAuthenticatedRoute },
{ name: 'settings', path: '/settings', component: Settings },
{ name: 'registration', path: '/registration', component: Registration }, { name: 'registration', path: '/registration', component: Registration },
{ name: 'password-reset', path: '/password-reset', component: PasswordReset, props: true },
{ name: 'registration-token', path: '/registration/:token', component: Registration }, { name: 'registration-token', path: '/registration/:token', component: Registration },
{ name: 'friend-requests', path: '/friend-requests', component: FollowRequests }, { name: 'friend-requests', path: '/friend-requests', component: FollowRequests, beforeEnter: validateAuthenticatedRoute },
{ name: 'user-settings', path: '/user-settings', component: UserSettings }, { name: 'notifications', path: '/:username/notifications', component: Notifications, beforeEnter: validateAuthenticatedRoute },
{ name: 'notifications', path: '/:username/notifications', component: Notifications }, { name: 'login', path: '/login', component: AuthForm },
{ name: 'login', path: '/login', component: LoginForm }, { name: 'shout-panel', path: '/shout-panel', component: ShoutPanel, props: () => ({ floating: false }) },
{ name: 'chat', path: '/chat', component: ChatPanel, props: () => ({ floating: false }) },
{ name: 'oauth-callback', path: '/oauth-callback', component: OAuthCallback, props: (route) => ({ code: route.query.code }) }, { name: 'oauth-callback', path: '/oauth-callback', component: OAuthCallback, props: (route) => ({ code: route.query.code }) },
{ name: 'user-search', path: '/user-search', component: UserSearch, props: (route) => ({ query: route.query.query }) }, { name: 'search', path: '/search', component: Search, props: (route) => ({ query: route.query.query }) },
{ name: 'who-to-follow', path: '/who-to-follow', component: WhoToFollow }, { name: 'who-to-follow', path: '/who-to-follow', component: WhoToFollow, beforeEnter: validateAuthenticatedRoute },
{ name: 'about', path: '/about', component: About }, { name: 'about', path: '/about', component: About },
{ name: 'user-profile', path: '/(users/)?:name', component: UserProfile } { name: 'user-profile', path: '/:_(users)?/:name', component: UserProfile }
] ]
if (store.state.instance.pleromaChatMessagesAvailable) {
routes = routes.concat([
{ name: 'chat', path: '/users/:username/chats/:recipient_id', component: Chat, meta: { dontScroll: false }, beforeEnter: validateAuthenticatedRoute },
{ name: 'chats', path: '/users/:username/chats', component: ChatList, meta: { dontScroll: false }, beforeEnter: validateAuthenticatedRoute }
])
}
return routes
} }

View file

@ -1,15 +1,24 @@
import InstanceSpecificPanel from '../instance_specific_panel/instance_specific_panel.vue' import InstanceSpecificPanel from '../instance_specific_panel/instance_specific_panel.vue'
import FeaturesPanel from '../features_panel/features_panel.vue' import FeaturesPanel from '../features_panel/features_panel.vue'
import TermsOfServicePanel from '../terms_of_service_panel/terms_of_service_panel.vue' import TermsOfServicePanel from '../terms_of_service_panel/terms_of_service_panel.vue'
import StaffPanel from '../staff_panel/staff_panel.vue'
import MRFTransparencyPanel from '../mrf_transparency_panel/mrf_transparency_panel.vue'
const About = { const About = {
components: { components: {
InstanceSpecificPanel, InstanceSpecificPanel,
FeaturesPanel, FeaturesPanel,
TermsOfServicePanel TermsOfServicePanel,
StaffPanel,
MRFTransparencyPanel
}, },
computed: { computed: {
showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel } showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel },
showInstanceSpecificPanel () {
return this.$store.state.instance.showInstanceSpecificPanel &&
!this.$store.getters.mergedConfig.hideISP &&
this.$store.state.instance.instanceSpecificPanelContent
}
} }
} }

View file

@ -1,8 +1,10 @@
<template> <template>
<div class="sidebar"> <div class="sidebar">
<instance-specific-panel></instance-specific-panel> <instance-specific-panel v-if="showInstanceSpecificPanel" />
<features-panel v-if="showFeaturesPanel"></features-panel> <staff-panel />
<terms-of-service-panel></terms-of-service-panel> <terms-of-service-panel />
<MRFTransparencyPanel />
<features-panel v-if="showFeaturesPanel" />
</div> </div>
</template> </template>

View file

@ -0,0 +1,54 @@
import { mapState } from 'vuex'
import ProgressButton from '../progress_button/progress_button.vue'
import Popover from '../popover/popover.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faEllipsisV
} from '@fortawesome/free-solid-svg-icons'
library.add(
faEllipsisV
)
const AccountActions = {
props: [
'user', 'relationship'
],
data () {
return { }
},
components: {
ProgressButton,
Popover
},
methods: {
showRepeats () {
this.$store.dispatch('showReblogs', this.user.id)
},
hideRepeats () {
this.$store.dispatch('hideReblogs', this.user.id)
},
blockUser () {
this.$store.dispatch('blockUser', this.user.id)
},
unblockUser () {
this.$store.dispatch('unblockUser', this.user.id)
},
reportUser () {
this.$store.dispatch('openUserReportingModal', { userId: this.user.id })
},
openChat () {
this.$router.push({
name: 'chat',
params: { recipient_id: this.user.id }
})
}
},
computed: {
...mapState({
pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable
})
}
}
export default AccountActions

View file

@ -0,0 +1,93 @@
<template>
<div class="AccountActions">
<Popover
trigger="click"
placement="bottom"
:bound-to="{ x: 'container' }"
remove-padding
>
<template v-slot:content>
<div class="dropdown-menu">
<template v-if="relationship.following">
<button
v-if="relationship.showing_reblogs"
class="btn button-default dropdown-item"
@click="hideRepeats"
>
{{ $t('user_card.hide_repeats') }}
</button>
<button
v-if="!relationship.showing_reblogs"
class="btn button-default dropdown-item"
@click="showRepeats"
>
{{ $t('user_card.show_repeats') }}
</button>
<div
role="separator"
class="dropdown-divider"
/>
</template>
<button
v-if="relationship.blocking"
class="btn button-default btn-block dropdown-item"
@click="unblockUser"
>
{{ $t('user_card.unblock') }}
</button>
<button
v-else
class="btn button-default btn-block dropdown-item"
@click="blockUser"
>
{{ $t('user_card.block') }}
</button>
<button
class="btn button-default btn-block dropdown-item"
@click="reportUser"
>
{{ $t('user_card.report') }}
</button>
<button
v-if="pleromaChatMessagesAvailable"
class="btn button-default btn-block dropdown-item"
@click="openChat"
>
{{ $t('user_card.message') }}
</button>
</div>
</template>
<template v-slot:trigger>
<button class="button-unstyled ellipsis-button">
<FAIcon
class="icon"
icon="ellipsis-v"
/>
</button>
</template>
</Popover>
</div>
</template>
<script src="./account_actions.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.AccountActions {
button.dropdown-item {
margin-left: 0;
}
.ellipsis-button {
width: 2.5em;
margin: -0.5em 0;
padding: 0.5em 0;
text-align: center;
&:not(:hover) .icon {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
}
}
}
</style>

View file

@ -0,0 +1,42 @@
<template>
<div class="async-component-error">
<div>
<h4>
{{ $t('general.generic_error') }}
</h4>
<p>
{{ $t('general.error_retry') }}
</p>
<button
class="btn button-default"
@click="retry"
>
{{ $t('general.retry') }}
</button>
</div>
</div>
</template>
<script>
export default {
emits: ['resetAsyncComponent'],
methods: {
retry () {
this.$emit('resetAsyncComponent')
}
}
}
</script>
<style lang="scss">
.async-component-error {
display: flex;
height: 100%;
align-items: center;
justify-content: center;
.btn {
margin: .5em;
padding: .5em 2em;
}
}
</style>

View file

@ -1,35 +1,100 @@
import StillImage from '../still-image/still-image.vue' import StillImage from '../still-image/still-image.vue'
import Flash from '../flash/flash.vue'
import VideoAttachment from '../video_attachment/video_attachment.vue' import VideoAttachment from '../video_attachment/video_attachment.vue'
import nsfwImage from '../../assets/nsfw.png' import nsfwImage from '../../assets/nsfw.png'
import fileTypeService from '../../services/file_type/file_type.service.js' import fileTypeService from '../../services/file_type/file_type.service.js'
import { mapGetters } from 'vuex'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faFile,
faMusic,
faImage,
faVideo,
faPlayCircle,
faTimes,
faStop,
faSearchPlus,
faTrashAlt,
faPencilAlt,
faAlignRight
} from '@fortawesome/free-solid-svg-icons'
library.add(
faFile,
faMusic,
faImage,
faVideo,
faPlayCircle,
faTimes,
faStop,
faSearchPlus,
faTrashAlt,
faPencilAlt,
faAlignRight
)
const Attachment = { const Attachment = {
props: [ props: [
'attachment', 'attachment',
'description',
'hideDescription',
'nsfw', 'nsfw',
'statusId',
'size', 'size',
'allowPlay', 'setMedia',
'setMedia' 'remove',
'shiftUp',
'shiftDn',
'edit'
], ],
data () { data () {
return { return {
localDescription: this.description || this.attachment.description,
nsfwImage: this.$store.state.instance.nsfwCensorImage || nsfwImage, nsfwImage: this.$store.state.instance.nsfwCensorImage || nsfwImage,
hideNsfwLocal: this.$store.state.config.hideNsfw, hideNsfwLocal: this.$store.getters.mergedConfig.hideNsfw,
preloadImage: this.$store.state.config.preloadImage, preloadImage: this.$store.getters.mergedConfig.preloadImage,
loading: false, loading: false,
img: fileTypeService.fileType(this.attachment.mimetype) === 'image' && document.createElement('img'), img: fileTypeService.fileType(this.attachment.mimetype) === 'image' && document.createElement('img'),
modalOpen: false, modalOpen: false,
showHidden: false showHidden: false,
flashLoaded: false,
showDescription: false
} }
}, },
components: { components: {
Flash,
StillImage, StillImage,
VideoAttachment VideoAttachment
}, },
computed: { computed: {
usePlaceHolder () { classNames () {
return this.size === 'hide' || this.type === 'unknown' return [
{
'-loading': this.loading,
'-nsfw-placeholder': this.hidden,
'-editable': this.edit !== undefined
},
'-type-' + this.type,
this.size && '-size-' + this.size,
`-${this.useContainFit ? 'contain' : 'cover'}-fit`
]
},
usePlaceholder () {
return this.size === 'hide'
},
useContainFit () {
return this.$store.getters.mergedConfig.useContainFit
},
placeholderName () {
if (this.attachment.description === '' || !this.attachment.description) {
return this.type.toUpperCase()
}
return this.attachment.description
},
placeholderIconClass () {
if (this.type === 'image') return 'image'
if (this.type === 'video') return 'video'
if (this.type === 'audio') return 'music'
return 'file'
}, },
referrerpolicy () { referrerpolicy () {
return this.$store.state.instance.mediaProxyAvailable ? '' : 'no-referrer' return this.$store.state.instance.mediaProxyAvailable ? '' : 'no-referrer'
@ -41,36 +106,77 @@ const Attachment = {
return this.nsfw && this.hideNsfwLocal && !this.showHidden return this.nsfw && this.hideNsfwLocal && !this.showHidden
}, },
isEmpty () { isEmpty () {
return (this.type === 'html' && !this.attachment.oembed) || this.type === 'unknown' return (this.type === 'html' && !this.attachment.oembed)
}, },
isSmall () { useModal () {
return this.size === 'small' let modalTypes = []
switch (this.size) {
case 'hide':
case 'small':
modalTypes = ['image', 'video', 'audio', 'flash']
break
default:
modalTypes = this.mergedConfig.playVideosInModal
? ['image', 'video', 'flash']
: ['image']
break
}
return modalTypes.includes(this.type)
}, },
fullwidth () { videoTag () {
return this.type === 'html' || this.type === 'audio' return this.useModal ? 'button' : 'span'
},
...mapGetters(['mergedConfig'])
},
watch: {
localDescription (newVal) {
this.onEdit(newVal)
} }
}, },
methods: { methods: {
linkClicked ({target}) { linkClicked ({ target }) {
if (target.tagName === 'A') { if (target.tagName === 'A') {
window.open(target.href, '_blank') window.open(target.href, '_blank')
} }
}, },
openModal (event) { openModal (event) {
const modalTypes = this.$store.state.config.playVideosInModal if (this.useModal) {
? ['image', 'video'] this.$emit('setMedia')
: ['image'] this.$store.dispatch('setCurrentMedia', this.attachment)
if (fileTypeService.fileMatchesSomeType(modalTypes, this.attachment) || } else if (this.type === 'unknown') {
this.usePlaceHolder window.open(this.attachment.url)
) {
event.stopPropagation()
event.preventDefault()
this.setMedia()
this.$store.dispatch('setCurrent', this.attachment)
} }
}, },
openModalForce (event) {
this.$emit('setMedia')
this.$store.dispatch('setCurrentMedia', this.attachment)
},
onEdit (event) {
this.edit && this.edit(this.attachment, event)
},
onRemove () {
this.remove && this.remove(this.attachment)
},
onShiftUp () {
this.shiftUp && this.shiftUp(this.attachment)
},
onShiftDn () {
this.shiftDn && this.shiftDn(this.attachment)
},
stopFlash () {
this.$refs.flash.closePlayer()
},
setFlashLoaded (event) {
this.flashLoaded = event
},
toggleDescription () {
this.showDescription = !this.showDescription
},
toggleHidden (event) { toggleHidden (event) {
if (this.$store.state.config.useOneClickNsfw && !this.showHidden) { if (
(this.mergedConfig.useOneClickNsfw && !this.showHidden) &&
(this.type !== 'video' || this.mergedConfig.playVideosInModal)
) {
this.openModal(event) this.openModal(event)
return return
} }
@ -88,6 +194,11 @@ const Attachment = {
} else { } else {
this.showHidden = !this.showHidden this.showHidden = !this.showHidden
} }
},
onImageLoad (image) {
const width = image.naturalWidth
const height = image.naturalHeight
this.$emit('naturalSizeLoad', { id: this.attachment.id, width, height })
} }
} }
} }

View file

@ -0,0 +1,268 @@
@import '../../_variables.scss';
.Attachment {
display: inline-flex;
flex-direction: column;
position: relative;
align-self: flex-start;
line-height: 0;
height: 100%;
border-style: solid;
border-width: 1px;
border-radius: $fallback--attachmentRadius;
border-radius: var(--attachmentRadius, $fallback--attachmentRadius);
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
.attachment-wrapper {
flex: 1 1 auto;
height: 100%;
position: relative;
overflow: hidden;
}
.description-container {
flex: 0 1 0;
display: flex;
padding-top: 0.5em;
z-index: 1;
p {
flex: 1;
text-align: center;
line-height: 1.5;
padding: 0.5em;
margin: 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
&.-static {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding-top: 0;
background: var(--popover);
box-shadow: var(--popupShadow);
}
}
.description-field {
flex: 1;
min-width: 0;
}
& .placeholder-container,
& .image-container,
& .audio-container,
& .video-container,
& .flash-container,
& .oembed-container {
display: flex;
justify-content: center;
width: 100%;
height: 100%;
}
.image-container {
.image {
width: 100%;
height: 100%;
}
}
& .flash-container,
& .video-container {
& .flash,
& video {
width: 100%;
height: 100%;
object-fit: contain;
align-self: center;
}
}
.audio-container {
display: flex;
align-items: flex-end;
audio {
width: 100%;
height: 100%;
}
}
.placeholder-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding-top: 0.5em;
}
.play-icon {
position: absolute;
font-size: 64px;
top: calc(50% - 32px);
left: calc(50% - 32px);
color: rgba(255, 255, 255, 0.75);
text-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
&::before {
margin: 0;
}
}
.attachment-buttons {
display: flex;
position: absolute;
right: 0;
top: 0;
margin-top: 0.5em;
margin-right: 0.5em;
z-index: 1;
.attachment-button {
padding: 0;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
text-align: center;
width: 2em;
height: 2em;
margin-left: 0.5em;
font-size: 1.25em;
// TODO: theming? hard to theme with unknown background image color
background: rgba(230, 230, 230, 0.7);
.svg-inline--fa {
color: rgba(0, 0, 0, 0.6);
}
&:hover .svg-inline--fa {
color: rgba(0, 0, 0, 0.9);
}
}
}
.oembed-container {
line-height: 1.2em;
flex: 1 0 100%;
width: 100%;
margin-right: 15px;
display: flex;
img {
width: 100%;
}
.image {
flex: 1;
img {
border: 0px;
border-radius: 5px;
height: 100%;
object-fit: cover;
}
}
.text {
flex: 2;
margin: 8px;
word-break: break-all;
h1 {
font-size: 14px;
margin: 0px;
}
}
}
&.-size-small {
.play-icon {
zoom: 0.5;
opacity: 0.7;
}
.attachment-buttons {
zoom: 0.7;
opacity: 0.5;
}
}
&.-editable {
padding: 0.5em;
& .description-container,
& .attachment-buttons {
margin: 0;
}
}
&.-placeholder {
display: inline-block;
color: $fallback--link;
color: var(--postLink, $fallback--link);
overflow: hidden;
white-space: nowrap;
height: auto;
line-height: 1.5;
&:not(.-editable) {
border: none;
}
&.-editable {
display: flex;
flex-direction: row;
align-items: baseline;
& .description-container,
& .attachment-buttons {
margin: 0;
padding: 0;
position: relative;
}
.description-container {
flex: 1;
padding-left: 0.5em;
}
.attachment-buttons {
order: 99;
align-self: center;
}
}
a {
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
svg {
color: inherit;
}
}
&.-loading {
cursor: progress;
}
&.-contain-fit {
img,
canvas {
object-fit: contain;
}
}
&.-cover-fit {
img,
canvas {
object-fit: cover;
}
}
}

View file

@ -1,240 +1,268 @@
<template> <template>
<div v-if="usePlaceHolder" @click="openModal"> <button
<a class="placeholder" v-if="usePlaceholder"
v-if="type !== 'html'" class="Attachment -placeholder button-unstyled"
target="_blank" :href="attachment.url" :class="classNames"
@click="openModal"
> >
[{{nsfw ? "NSFW/" : ""}}{{type.toUpperCase()}}] <a
v-if="type !== 'html'"
class="placeholder"
target="_blank"
:href="attachment.url"
:alt="attachment.description"
:title="attachment.description"
@click.prevent
>
<FAIcon :icon="placeholderIconClass" />
<b>{{ nsfw ? "NSFW / " : "" }}</b>{{ edit ? '' : placeholderName }}
</a> </a>
<div
v-if="edit || remove"
class="attachment-buttons"
>
<button
v-if="remove"
class="button-unstyled attachment-button"
@click.prevent="onRemove"
>
<FAIcon icon="trash-alt" />
</button>
</div> </div>
<div <div
v-else class="attachment" v-if="size !== 'hide' && !hideDescription && (edit || localDescription || showDescription)"
:class="{[type]: true, loading, 'fullwidth': fullwidth, 'nsfw-placeholder': hidden}" class="description-container"
v-show="!isEmpty" :class="{ '-static': !edit }"
> >
<a class="image-attachment" v-if="hidden" :href="attachment.url" @click.prevent="toggleHidden"> <input
<img class="nsfw" :key="nsfwImage" :src="nsfwImage" :class="{'small': isSmall}"/> v-if="edit"
<i v-if="type === 'video'" class="play-icon icon-play-circled"></i> v-model="localDescription"
type="text"
class="description-field"
:placeholder="$t('post_status.media_description')"
@keydown.enter.prevent=""
>
<p v-else>
{{ localDescription }}
</p>
</div>
</button>
<div
v-else
class="Attachment"
:class="classNames"
>
<div
v-show="!isEmpty"
class="attachment-wrapper"
>
<a
v-if="hidden"
class="image-container"
:href="attachment.url"
:alt="attachment.description"
:title="attachment.description"
@click.prevent.stop="toggleHidden"
>
<img
:key="nsfwImage"
class="nsfw"
:src="nsfwImage"
>
<FAIcon
v-if="type === 'video'"
class="play-icon"
icon="play-circle"
/>
</a> </a>
<div class="hider" v-if="nsfw && hideNsfwLocal && !hidden"> <div
<a href="#" @click.prevent="toggleHidden">Hide</a> v-if="!hidden"
class="attachment-buttons"
>
<button
v-if="type === 'flash' && flashLoaded"
class="button-unstyled attachment-button"
:title="$t('status.attachment_stop_flash')"
@click.prevent="stopFlash"
>
<FAIcon icon="stop" />
</button>
<button
v-if="attachment.description && size !== 'small' && !edit && type !== 'unknown'"
class="button-unstyled attachment-button"
:title="$t('status.show_attachment_description')"
@click.prevent="toggleDescription"
>
<FAIcon icon="align-right" />
</button>
<button
v-if="!useModal && type !== 'unknown'"
class="button-unstyled attachment-button"
:title="$t('status.show_attachment_in_modal')"
@click.prevent="openModalForce"
>
<FAIcon icon="search-plus" />
</button>
<button
v-if="nsfw && hideNsfwLocal"
class="button-unstyled attachment-button"
:title="$t('status.hide_attachment')"
@click.prevent="toggleHidden"
>
<FAIcon icon="times" />
</button>
<button
v-if="shiftUp"
class="button-unstyled attachment-button"
:title="$t('status.move_up')"
@click.prevent="onShiftUp"
>
<FAIcon icon="chevron-left" />
</button>
<button
v-if="shiftDn"
class="button-unstyled attachment-button"
:title="$t('status.move_down')"
@click.prevent="onShiftDn"
>
<FAIcon icon="chevron-right" />
</button>
<button
v-if="remove"
class="button-unstyled attachment-button"
:title="$t('status.remove_attachment')"
@click.prevent="onRemove"
>
<FAIcon icon="trash-alt" />
</button>
</div> </div>
<a v-if="type === 'image' && (!hidden || preloadImage)" <a
@click="openModal" v-if="type === 'image' && (!hidden || preloadImage)"
class="image-attachment" class="image-container"
:class="{'hidden': hidden && preloadImage }" :class="{'-hidden': hidden && preloadImage }"
:href="attachment.url" target="_blank" :href="attachment.url"
:title="attachment.description" target="_blank"
@click.stop.prevent="openModal"
> >
<StillImage :referrerpolicy="referrerpolicy" :mimetype="attachment.mimetype" :src="attachment.large_thumb_url || attachment.url"/> <StillImage
class="image"
:referrerpolicy="referrerpolicy"
:mimetype="attachment.mimetype"
:src="attachment.large_thumb_url || attachment.url"
:image-load-handler="onImageLoad"
:alt="attachment.description"
/>
</a> </a>
<a class="video-container" <a
@click="openModal" v-if="type === 'unknown' && !hidden"
class="placeholder-container"
:href="attachment.url"
target="_blank"
>
<FAIcon
size="5x"
:icon="placeholderIconClass"
/>
<p>
{{ localDescription }}
</p>
</a>
<component
:is="videoTag"
v-if="type === 'video' && !hidden" v-if="type === 'video' && !hidden"
:class="{'small': isSmall}" class="video-container"
:href="allowPlay ? undefined : attachment.url" :class="{ 'button-unstyled': 'isModal' }"
:href="attachment.url"
@click.stop.prevent="openModal"
> >
<VideoAttachment class="video" :attachment="attachment" :controls="allowPlay" /> <VideoAttachment
<i v-if="!allowPlay" class="play-icon icon-play-circled"></i> class="video"
</a> :attachment="attachment"
:controls="!useModal"
@play="$emit('play')"
@pause="$emit('pause')"
/>
<FAIcon
v-if="useModal"
class="play-icon"
icon="play-circle"
/>
</component>
<audio v-if="type === 'audio'" :src="attachment.url" controls></audio> <span
v-if="type === 'audio' && !hidden"
class="audio-container"
:href="attachment.url"
@click.stop.prevent="openModal"
>
<audio
v-if="type === 'audio'"
:src="attachment.url"
:alt="attachment.description"
:title="attachment.description"
controls
@play="$emit('play')"
@pause="$emit('pause')"
/>
</span>
<div @click.prevent="linkClicked" v-if="type === 'html' && attachment.oembed" class="oembed"> <div
<div v-if="attachment.thumb_url" class="image"> v-if="type === 'html' && attachment.oembed"
<img :src="attachment.thumb_url"/> class="oembed-container"
@click.prevent="linkClicked"
>
<div
v-if="attachment.thumb_url"
class="image"
>
<img :src="attachment.thumb_url">
</div> </div>
<div class="text"> <div class="text">
<h1><a :href="attachment.url">{{attachment.oembed.title}}</a></h1> <!-- eslint-disable vue/no-v-html -->
<div v-html="attachment.oembed.oembedHTML"></div> <h1><a :href="attachment.url">{{ attachment.oembed.title }}</a></h1>
<div v-html="attachment.oembed.oembedHTML" />
<!-- eslint-enable vue/no-v-html -->
</div> </div>
</div> </div>
<span
v-if="type === 'flash' && !hidden"
class="flash-container"
:href="attachment.url"
@click.stop.prevent="openModal"
>
<Flash
ref="flash"
class="flash"
:src="attachment.large_thumb_url || attachment.url"
@playerOpened="setFlashLoaded(true)"
@playerClosed="setFlashLoaded(false)"
/>
</span>
</div>
<div
v-if="size !== 'hide' && !hideDescription && (edit || (localDescription && showDescription))"
class="description-container"
:class="{ '-static': !edit }"
>
<input
v-if="edit"
v-model="localDescription"
type="text"
class="description-field"
:placeholder="$t('post_status.media_description')"
@keydown.enter.prevent=""
>
<p v-else>
{{ localDescription }}
</p>
</div>
</div> </div>
</template> </template>
<script src="./attachment.js"></script> <script src="./attachment.js"></script>
<style lang="scss"> <style src="./attachment.scss" lang="scss"></style>
@import '../../_variables.scss';
.attachments {
display: flex;
flex-wrap: wrap;
.attachment.media-upload-container {
flex: 0 0 auto;
max-height: 200px;
max-width: 100%;
display: flex;
video {
max-width: 100%;
}
}
.placeholder {
margin-right: 8px;
margin-bottom: 4px;
}
.nsfw-placeholder {
cursor: pointer;
&.loading {
cursor: progress;
}
}
.attachment {
position: relative;
margin-top: 0.5em;
align-self: flex-start;
line-height: 0;
border-style: solid;
border-width: 1px;
border-radius: $fallback--attachmentRadius;
border-radius: var(--attachmentRadius, $fallback--attachmentRadius);
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
overflow: hidden;
}
.non-gallery.attachment {
&.video {
flex: 1 0 40%;
}
.nsfw {
height: 260px;
}
.small {
height: 120px;
flex-grow: 0;
}
.video {
height: 260px;
display: flex;
}
video {
max-height: 100%;
object-fit: contain;
}
}
.fullwidth {
flex-basis: 100%;
}
// fixes small gap below video
&.video {
line-height: 0;
}
.video-container {
display: flex;
max-height: 100%;
}
.video {
width: 100%;
}
.play-icon {
position: absolute;
font-size: 64px;
top: calc(50% - 32px);
left: calc(50% - 32px);
color: rgba(255, 255, 255, 0.75);
text-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
}
.play-icon::before {
margin: 0;
}
&.html {
flex-basis: 90%;
width: 100%;
display: flex;
}
.hider {
position: absolute;
right: 0;
white-space: nowrap;
margin: 10px;
padding: 5px;
background: rgba(230,230,230,0.6);
font-weight: bold;
z-index: 4;
line-height: 1;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
}
video {
z-index: 0;
}
audio {
width: 100%;
}
img.media-upload {
line-height: 0;
max-height: 200px;
max-width: 100%;
}
.oembed {
line-height: 1.2em;
flex: 1 0 100%;
width: 100%;
margin-right: 15px;
display: flex;
img {
width: 100%;
}
.image {
flex: 1;
img {
border: 0px;
border-radius: 5px;
height: 100%;
object-fit: cover;
}
}
.text {
flex: 2;
margin: 8px;
word-break: break-all;
h1 {
font-size: 14px;
margin: 0px;
}
}
}
.image-attachment {
width: 100%;
height: 100%;
&.hidden {
display: none;
}
.nsfw {
object-fit: cover;
width: 100%;
height: 100%;
}
img {
image-orientation: from-image;
}
}
}
</style>

View file

@ -0,0 +1,27 @@
import { h, resolveComponent } from 'vue'
import LoginForm from '../login_form/login_form.vue'
import MFARecoveryForm from '../mfa_form/recovery_form.vue'
import MFATOTPForm from '../mfa_form/totp_form.vue'
import { mapGetters } from 'vuex'
const AuthForm = {
name: 'AuthForm',
render () {
return h(resolveComponent(this.authForm))
},
computed: {
authForm () {
if (this.requiredTOTP) { return 'MFATOTPForm' }
if (this.requiredRecovery) { return 'MFARecoveryForm' }
return 'LoginForm'
},
...mapGetters('authFlow', ['requiredTOTP', 'requiredRecovery'])
},
components: {
MFARecoveryForm,
MFATOTPForm,
LoginForm
}
}
export default AuthForm

View file

@ -0,0 +1,52 @@
const debounceMilliseconds = 500
export default {
props: {
query: { // function to query results and return a promise
type: Function,
required: true
},
filter: { // function to filter results in real time
type: Function
},
placeholder: {
type: String,
default: 'Search...'
}
},
data () {
return {
term: '',
timeout: null,
results: [],
resultsVisible: false
}
},
computed: {
filtered () {
return this.filter ? this.filter(this.results) : this.results
}
},
watch: {
term (val) {
this.fetchResults(val)
}
},
methods: {
fetchResults (term) {
clearTimeout(this.timeout)
this.timeout = setTimeout(() => {
this.results = []
if (term) {
this.query(term).then((results) => { this.results = results })
}
}, debounceMilliseconds)
},
onInputClick () {
this.resultsVisible = true
},
onClickOutside () {
this.resultsVisible = false
}
}
}

View file

@ -0,0 +1,59 @@
<template>
<div
v-click-outside="onClickOutside"
class="autosuggest"
>
<input
v-model="term"
:placeholder="placeholder"
class="autosuggest-input"
@click="onInputClick"
>
<div
v-if="resultsVisible && filtered.length > 0"
class="autosuggest-results"
>
<slot
v-for="item in filtered"
:item="item"
/>
</div>
</div>
</template>
<script src="./autosuggest.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.autosuggest {
position: relative;
&-input {
display: block;
width: 100%;
}
&-results {
position: absolute;
left: 0;
top: 100%;
right: 0;
max-height: 400px;
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg);
border-style: solid;
border-width: 1px;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
border-radius: $fallback--inputRadius;
border-radius: var(--inputRadius, $fallback--inputRadius);
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
box-shadow: var(--panelShadow);
overflow-y: auto;
z-index: 1;
}
}
</style>

View file

@ -0,0 +1,21 @@
import UserAvatar from '../user_avatar/user_avatar.vue'
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
const AvatarList = {
props: ['users'],
computed: {
slicedUsers () {
return this.users ? this.users.slice(0, 15) : []
}
},
components: {
UserAvatar
},
methods: {
userProfileLink (user) {
return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)
}
}
}
export default AvatarList

View file

@ -0,0 +1,46 @@
<template>
<div class="avatars">
<router-link
v-for="user in slicedUsers"
:key="user.id"
:to="userProfileLink(user)"
class="avatars-item"
>
<UserAvatar
:user="user"
class="avatar-small"
/>
</router-link>
</div>
</template>
<script src="./avatar_list.js" ></script>
<style lang="scss">
@import '../../_variables.scss';
.avatars {
display: flex;
margin: 0;
padding: 0;
// For hiding overflowing elements
flex-wrap: wrap;
height: 24px;
.avatars-item {
margin: 0 0 5px 5px;
&:first-child {
padding-left: 5px;
}
.avatar-small {
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
height: 24px;
width: 24px;
}
}
}
</style>

View file

@ -1,5 +1,6 @@
import UserCard from '../user_card/user_card.vue' import UserCard from '../user_card/user_card.vue'
import UserAvatar from '../user_avatar/user_avatar.vue' import UserAvatar from '../user_avatar/user_avatar.vue'
import RichContent from 'src/components/rich_content/rich_content.jsx'
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
const BasicUserCard = { const BasicUserCard = {
@ -13,7 +14,8 @@ const BasicUserCard = {
}, },
components: { components: {
UserCard, UserCard,
UserAvatar UserAvatar,
RichContent
}, },
methods: { methods: {
toggleUserExpanded () { toggleUserExpanded () {

View file

@ -1,22 +1,45 @@
<template> <template>
<div class="basic-user-card"> <div class="basic-user-card">
<router-link :to="userProfileLink(user)"> <router-link :to="userProfileLink(user)">
<UserAvatar class="avatar" @click.prevent.native="toggleUserExpanded" :src="user.profile_image_url"/> <UserAvatar
class="avatar"
:user="user"
@click.prevent="toggleUserExpanded"
/>
</router-link> </router-link>
<div class="basic-user-card-expanded-content" v-if="userExpanded"> <div
<UserCard :user="user" :rounded="true" :bordered="true"/> v-if="userExpanded"
class="basic-user-card-expanded-content"
>
<UserCard
:user-id="user.id"
:rounded="true"
:bordered="true"
/>
</div> </div>
<div class="basic-user-card-collapsed-content" v-else> <div
<div :title="user.name" class="basic-user-card-user-name"> v-else
<span v-if="user.name_html" v-html="user.name_html"></span> class="basic-user-card-collapsed-content"
<span v-else>{{ user.name }}</span> >
<div
:title="user.name"
class="basic-user-card-user-name"
>
<RichContent
class="basic-user-card-user-name-value"
:html="user.name"
:emoji="user.emoji"
/>
</div> </div>
<div> <div>
<router-link class="basic-user-card-screen-name" :to="userProfileLink(user)"> <router-link
@{{user.screen_name}} class="basic-user-card-screen-name"
:to="userProfileLink(user)"
>
@{{ user.screen_name_ui }}
</router-link> </router-link>
</div> </div>
<slot></slot> <slot />
</div> </div>
</div> </div>
</template> </template>
@ -24,19 +47,11 @@
<script src="./basic_user_card.js"></script> <script src="./basic_user_card.js"></script>
<style lang="scss"> <style lang="scss">
@import '../../_variables.scss';
.basic-user-card { .basic-user-card {
display: flex; display: flex;
flex: 1 0; flex: 1 0;
margin: 0; margin: 0;
padding-top: 0.6em; padding: 0.6em 1em;
padding-right: 1em;
padding-bottom: 0.6em;
padding-left: 1em;
border-bottom: 1px solid;
border-bottom-color: $fallback--border;
border-bottom-color: var(--border, $fallback--border);
&-collapsed-content { &-collapsed-content {
margin-left: 0.7em; margin-left: 0.7em;
@ -54,9 +69,19 @@
} }
} }
&-user-name-value,
&-screen-name {
display: inline-block;
max-width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&-expanded-content { &-expanded-content {
flex: 1; flex: 1;
margin-left: 0.7em; margin-left: 0.7em;
min-width: 0;
} }
} }
</style> </style>

View file

@ -9,10 +9,13 @@ const BlockCard = {
}, },
computed: { computed: {
user () { user () {
return this.$store.getters.userById(this.userId) return this.$store.getters.findUser(this.userId)
},
relationship () {
return this.$store.getters.relationship(this.userId)
}, },
blocked () { blocked () {
return this.user.statusnet_blocking return this.relationship.blocking
} }
}, },
components: { components: {

View file

@ -1,7 +1,12 @@
<template> <template>
<basic-user-card :user="user"> <basic-user-card :user="user">
<div class="block-card-content-container"> <div class="block-card-content-container">
<button class="btn btn-default" @click="unblockUser" :disabled="progress" v-if="blocked"> <button
v-if="blocked"
class="btn button-default"
:disabled="progress"
@click="unblockUser"
>
<template v-if="progress"> <template v-if="progress">
{{ $t('user_card.unblock_progress') }} {{ $t('user_card.unblock_progress') }}
</template> </template>
@ -9,7 +14,12 @@
{{ $t('user_card.unblock') }} {{ $t('user_card.unblock') }}
</template> </template>
</button> </button>
<button class="btn btn-default" @click="blockUser" :disabled="progress" v-else> <button
v-else
class="btn button-default"
:disabled="progress"
@click="blockUser"
>
<template v-if="progress"> <template v-if="progress">
{{ $t('user_card.block_progress') }} {{ $t('user_card.block_progress') }}
</template> </template>

View file

@ -0,0 +1,17 @@
import Timeline from '../timeline/timeline.vue'
const Bookmarks = {
computed: {
timeline () {
return this.$store.state.statuses.timelines.bookmarks
}
},
components: {
Timeline
},
unmounted () {
this.$store.commit('clearTimeline', { timeline: 'bookmarks' })
}
}
export default Bookmarks

View file

@ -0,0 +1,9 @@
<template>
<Timeline
:title="$t('nav.bookmarks')"
:timeline="timeline"
:timeline-name="'bookmarks'"
/>
</template>
<script src="./bookmark_timeline.js"></script>

409
src/components/chat/chat.js Normal file
View file

@ -0,0 +1,409 @@
import _ from 'lodash'
import { WSConnectionStatus } from '../../services/api/api.service.js'
import { mapGetters, mapState } from 'vuex'
import ChatMessage from '../chat_message/chat_message.vue'
import PostStatusForm from '../post_status_form/post_status_form.vue'
import ChatTitle from '../chat_title/chat_title.vue'
import chatService from '../../services/chat_service/chat_service.js'
import { promiseInterval } from '../../services/promise_interval/promise_interval.js'
import { getScrollPosition, getNewTopPosition, isBottomedOut, scrollableContainerHeight, isScrollable } from './chat_layout_utils.js'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faChevronDown,
faChevronLeft
} from '@fortawesome/free-solid-svg-icons'
import { buildFakeMessage } from '../../services/chat_utils/chat_utils.js'
library.add(
faChevronDown,
faChevronLeft
)
const BOTTOMED_OUT_OFFSET = 10
const JUMP_TO_BOTTOM_BUTTON_VISIBILITY_OFFSET = 150
const SAFE_RESIZE_TIME_OFFSET = 100
const MARK_AS_READ_DELAY = 1500
const MAX_RETRIES = 10
const Chat = {
components: {
ChatMessage,
ChatTitle,
PostStatusForm
},
data () {
return {
jumpToBottomButtonVisible: false,
hoveredMessageChainId: undefined,
lastScrollPosition: {},
scrollableContainerHeight: '100%',
errorLoadingChat: false,
messageRetriers: {}
}
},
created () {
this.startFetching()
window.addEventListener('resize', this.handleLayoutChange)
},
mounted () {
window.addEventListener('scroll', this.handleScroll)
if (typeof document.hidden !== 'undefined') {
document.addEventListener('visibilitychange', this.handleVisibilityChange, false)
}
this.$nextTick(() => {
this.updateScrollableContainerHeight()
this.handleResize()
})
this.setChatLayout()
},
unmounted () {
window.removeEventListener('scroll', this.handleScroll)
window.removeEventListener('resize', this.handleLayoutChange)
this.unsetChatLayout()
if (typeof document.hidden !== 'undefined') document.removeEventListener('visibilitychange', this.handleVisibilityChange, false)
this.$store.dispatch('clearCurrentChat')
},
computed: {
recipient () {
return this.currentChat && this.currentChat.account
},
recipientId () {
return this.$route.params.recipient_id
},
formPlaceholder () {
if (this.recipient) {
return this.$t('chats.message_user', { nickname: this.recipient.screen_name_ui })
} else {
return ''
}
},
chatViewItems () {
return chatService.getView(this.currentChatMessageService)
},
newMessageCount () {
return this.currentChatMessageService && this.currentChatMessageService.newMessageCount
},
streamingEnabled () {
return this.mergedConfig.useStreamingApi && this.mastoUserSocketStatus === WSConnectionStatus.JOINED
},
...mapGetters([
'currentChat',
'currentChatMessageService',
'findOpenedChatByRecipientId',
'mergedConfig'
]),
...mapState({
backendInteractor: state => state.api.backendInteractor,
mastoUserSocketStatus: state => state.api.mastoUserSocketStatus,
mobileLayout: state => state.interface.mobileLayout,
layoutHeight: state => state.interface.layoutHeight,
currentUser: state => state.users.currentUser
})
},
watch: {
chatViewItems () {
// We don't want to scroll to the bottom on a new message when the user is viewing older messages.
// Therefore we need to know whether the scroll position was at the bottom before the DOM update.
const bottomedOutBeforeUpdate = this.bottomedOut(BOTTOMED_OUT_OFFSET)
this.$nextTick(() => {
if (bottomedOutBeforeUpdate) {
this.scrollDown()
}
})
},
'$route': function () {
this.startFetching()
},
layoutHeight () {
this.handleResize({ expand: true })
},
mastoUserSocketStatus (newValue) {
if (newValue === WSConnectionStatus.JOINED) {
this.fetchChat({ isFirstFetch: true })
}
}
},
methods: {
// Used to animate the avatar near the first message of the message chain when any message belonging to the chain is hovered
onMessageHover ({ isHovered, messageChainId }) {
this.hoveredMessageChainId = isHovered ? messageChainId : undefined
},
onFilesDropped () {
this.$nextTick(() => {
this.handleResize()
this.updateScrollableContainerHeight()
})
},
handleVisibilityChange () {
this.$nextTick(() => {
if (!document.hidden && this.bottomedOut(BOTTOMED_OUT_OFFSET)) {
this.scrollDown({ forceRead: true })
}
})
},
setChatLayout () {
// This is a hacky way to adjust the global layout to the mobile chat (without modifying the rest of the app).
// This layout prevents empty spaces from being visible at the bottom
// of the chat on iOS Safari (`safe-area-inset`) when
// - the on-screen keyboard appears and the user starts typing
// - the user selects the text inside the input area
// - the user selects and deletes the text that is multiple lines long
// TODO: unify the chat layout with the global layout.
let html = document.querySelector('html')
if (html) {
html.classList.add('chat-layout')
}
this.$nextTick(() => {
this.updateScrollableContainerHeight()
})
},
unsetChatLayout () {
let html = document.querySelector('html')
if (html) {
html.classList.remove('chat-layout')
}
},
handleLayoutChange () {
this.$nextTick(() => {
this.updateScrollableContainerHeight()
this.scrollDown()
})
},
// Ensures the proper position of the posting form in the mobile layout (the mobile browser panel does not overlap or hide it)
updateScrollableContainerHeight () {
const header = this.$refs.header
const footer = this.$refs.footer
const inner = this.mobileLayout ? window.document.body : this.$refs.inner
this.scrollableContainerHeight = scrollableContainerHeight(inner, header, footer) + 'px'
},
// Preserves the scroll position when OSK appears or the posting form changes its height.
handleResize (opts = {}) {
const { expand = false, delayed = false } = opts
if (delayed) {
setTimeout(() => {
this.handleResize({ ...opts, delayed: false })
}, SAFE_RESIZE_TIME_OFFSET)
return
}
this.$nextTick(() => {
this.updateScrollableContainerHeight()
const { offsetHeight = undefined } = this.lastScrollPosition
this.lastScrollPosition = getScrollPosition(this.$refs.scrollable)
const diff = this.lastScrollPosition.offsetHeight - offsetHeight
if (diff < 0 || (!this.bottomedOut() && expand)) {
this.$nextTick(() => {
this.updateScrollableContainerHeight()
this.$refs.scrollable.scrollTo({
top: this.$refs.scrollable.scrollTop - diff,
left: 0
})
})
}
})
},
scrollDown (options = {}) {
const { behavior = 'auto', forceRead = false } = options
const scrollable = this.$refs.scrollable
if (!scrollable) { return }
this.$nextTick(() => {
scrollable.scrollTo({ top: scrollable.scrollHeight, left: 0, behavior })
})
if (forceRead) {
this.readChat()
}
},
readChat () {
if (!(this.currentChatMessageService && this.currentChatMessageService.maxId)) { return }
if (document.hidden) { return }
const lastReadId = this.currentChatMessageService.maxId
this.$store.dispatch('readChat', {
id: this.currentChat.id,
lastReadId
})
},
bottomedOut (offset) {
return isBottomedOut(this.$refs.scrollable, offset)
},
reachedTop () {
const scrollable = this.$refs.scrollable
return scrollable && scrollable.scrollTop <= 0
},
cullOlderCheck () {
window.setTimeout(() => {
if (this.bottomedOut(JUMP_TO_BOTTOM_BUTTON_VISIBILITY_OFFSET)) {
this.$store.dispatch('cullOlderMessages', this.currentChatMessageService.chatId)
}
}, 5000)
},
handleScroll: _.throttle(function () {
if (!this.currentChat) { return }
if (this.reachedTop()) {
this.fetchChat({ maxId: this.currentChatMessageService.minId })
} else if (this.bottomedOut(JUMP_TO_BOTTOM_BUTTON_VISIBILITY_OFFSET)) {
this.jumpToBottomButtonVisible = false
this.cullOlderCheck()
if (this.newMessageCount > 0) {
// Use a delay before marking as read to prevent situation where new messages
// arrive just as you're leaving the view and messages that you didn't actually
// get to see get marked as read.
window.setTimeout(() => {
// Don't mark as read if the element doesn't exist, user has left chat view
if (this.$el) this.readChat()
}, MARK_AS_READ_DELAY)
}
} else {
this.jumpToBottomButtonVisible = true
}
}, 200),
handleScrollUp (positionBeforeLoading) {
const positionAfterLoading = getScrollPosition(this.$refs.scrollable)
this.$refs.scrollable.scrollTo({
top: getNewTopPosition(positionBeforeLoading, positionAfterLoading),
left: 0
})
},
fetchChat ({ isFirstFetch = false, fetchLatest = false, maxId }) {
const chatMessageService = this.currentChatMessageService
if (!chatMessageService) { return }
if (fetchLatest && this.streamingEnabled) { return }
const chatId = chatMessageService.chatId
const fetchOlderMessages = !!maxId
const sinceId = fetchLatest && chatMessageService.maxId
return this.backendInteractor.chatMessages({ id: chatId, maxId, sinceId })
.then((messages) => {
// Clear the current chat in case we're recovering from a ws connection loss.
if (isFirstFetch) {
chatService.clear(chatMessageService)
}
const positionBeforeUpdate = getScrollPosition(this.$refs.scrollable)
this.$store.dispatch('addChatMessages', { chatId, messages }).then(() => {
this.$nextTick(() => {
if (fetchOlderMessages) {
this.handleScrollUp(positionBeforeUpdate)
}
if (isFirstFetch) {
this.updateScrollableContainerHeight()
}
// In vertical screens, the first batch of fetched messages may not always take the
// full height of the scrollable container.
// If this is the case, we want to fetch the messages until the scrollable container
// is fully populated so that the user has the ability to scroll up and load the history.
if (!isScrollable(this.$refs.scrollable) && messages.length > 0) {
this.fetchChat({ maxId: this.currentChatMessageService.minId })
}
})
})
})
},
async startFetching () {
let chat = this.findOpenedChatByRecipientId(this.recipientId)
if (!chat) {
try {
chat = await this.backendInteractor.getOrCreateChat({ accountId: this.recipientId })
} catch (e) {
console.error('Error creating or getting a chat', e)
this.errorLoadingChat = true
}
}
if (chat) {
this.$nextTick(() => {
this.scrollDown({ forceRead: true })
})
this.$store.dispatch('addOpenedChat', { chat })
this.doStartFetching()
}
},
doStartFetching () {
this.$store.dispatch('startFetchingCurrentChat', {
fetcher: () => promiseInterval(() => this.fetchChat({ fetchLatest: true }), 5000)
})
this.fetchChat({ isFirstFetch: true })
},
handleAttachmentPosting () {
this.$nextTick(() => {
this.handleResize()
// When the posting form size changes because of a media attachment, we need an extra resize
// to account for the potential delay in the DOM update.
setTimeout(() => {
this.updateScrollableContainerHeight()
}, SAFE_RESIZE_TIME_OFFSET)
this.scrollDown({ forceRead: true })
})
},
sendMessage ({ status, media, idempotencyKey }) {
const params = {
id: this.currentChat.id,
content: status,
idempotencyKey
}
if (media[0]) {
params.mediaId = media[0].id
}
const fakeMessage = buildFakeMessage({
attachments: media,
chatId: this.currentChat.id,
content: status,
userId: this.currentUser.id,
idempotencyKey
})
this.$store.dispatch('addChatMessages', {
chatId: this.currentChat.id,
messages: [fakeMessage]
}).then(() => {
this.handleAttachmentPosting()
})
return this.doSendMessage({ params, fakeMessage, retriesLeft: MAX_RETRIES })
},
doSendMessage ({ params, fakeMessage, retriesLeft = MAX_RETRIES }) {
if (retriesLeft <= 0) return
this.backendInteractor.sendChatMessage(params)
.then(data => {
this.$store.dispatch('addChatMessages', {
chatId: this.currentChat.id,
updateMaxId: false,
messages: [{ ...data, fakeId: fakeMessage.id }]
})
return data
})
.catch(error => {
console.error('Error sending message', error)
this.$store.dispatch('handleMessageError', {
chatId: this.currentChat.id,
fakeId: fakeMessage.id,
isRetry: retriesLeft !== MAX_RETRIES
})
if ((error.statusCode >= 500 && error.statusCode < 600) || error.message === 'Failed to fetch') {
this.messageRetriers[fakeMessage.id] = setTimeout(() => {
this.doSendMessage({ params, fakeMessage, retriesLeft: retriesLeft - 1 })
}, 1000 * (2 ** (MAX_RETRIES - retriesLeft)))
}
return {}
})
return Promise.resolve(fakeMessage)
},
goBack () {
this.$router.push({ name: 'chats', params: { username: this.currentUser.screen_name } })
}
}
}
export default Chat

View file

@ -0,0 +1,170 @@
.chat-view {
display: flex;
height: calc(100vh - 60px);
width: 100%;
.chat-title {
// prevents chat header jumping on when the user avatar loads
height: 28px;
}
.chat-view-inner {
height: auto;
width: 100%;
overflow: visible;
display: flex;
margin: 0.5em 0.5em 0 0.5em;
}
.chat-view-body {
background-color: var(--chatBg, $fallback--bg);
display: flex;
flex-direction: column;
width: 100%;
overflow: visible;
min-height: 100%;
margin: 0 0 0 0;
border-radius: 10px 10px 0 0;
border-radius: var(--panelRadius, 10px) var(--panelRadius, 10px) 0 0;
&::after {
border-radius: 0;
}
}
.scrollable-message-list {
padding: 0 0.8em;
height: 100%;
overflow-y: scroll;
overflow-x: hidden;
display: flex;
flex-direction: column;
}
.footer {
position: sticky;
bottom: 0;
}
.chat-view-heading {
align-items: center;
justify-content: space-between;
top: 50px;
display: flex;
z-index: 2;
position: sticky;
overflow: hidden;
}
.go-back-button {
cursor: pointer;
width: 28px;
text-align: center;
padding: 0.6em;
margin: -0.6em 0.6em -0.6em -0.6em;
}
.jump-to-bottom-button {
width: 2.5em;
height: 2.5em;
border-radius: 100%;
position: absolute;
right: 1.3em;
top: -3.2em;
background-color: $fallback--fg;
background-color: var(--btn, $fallback--fg);
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.3);
z-index: 10;
transition: 0.35s all;
transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
opacity: 0;
visibility: hidden;
cursor: pointer;
&.visible {
opacity: 1;
visibility: visible;
}
i {
font-size: 1em;
color: $fallback--text;
color: var(--text, $fallback--text);
}
.unread-message-count {
font-size: 0.8em;
left: 50%;
margin-top: -1rem;
padding: 0.1em;
border-radius: 50px;
position: absolute;
}
.chat-loading-error {
width: 100%;
display: flex;
align-items: flex-end;
height: 100%;
.error {
width: 100%;
}
}
}
@media all and (max-width: 800px) {
height: 100%;
overflow: hidden;
.chat-view-inner {
overflow: hidden;
height: 100%;
margin-top: 0;
margin-left: 0;
margin-right: 0;
}
.chat-view-body {
display: flex;
min-height: auto;
overflow: hidden;
height: 100%;
margin: 0;
border-radius: 0;
}
.chat-view-heading {
box-sizing: border-box;
position: static;
z-index: 9999;
top: 0;
margin-top: 0;
border-radius: 0;
/* This practically overlays the panel heading color over panel background
* color. This is needed because we allow transparent panel background and
* it doesn't work well in this "disjointed panel header" case
*/
background:
linear-gradient(to top, var(--panel), var(--panel)),
linear-gradient(to top, var(--bg), var(--bg));
height: 50px;
}
.scrollable-message-list {
display: unset;
overflow-y: scroll;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
}
.footer {
position: sticky;
bottom: auto;
}
}
}

View file

@ -0,0 +1,103 @@
<template>
<div class="chat-view">
<div class="chat-view-inner">
<div
id="nav"
ref="inner"
class="panel-default panel chat-view-body"
>
<div
ref="header"
class="panel-heading chat-view-heading mobile-hidden"
>
<a
class="go-back-button"
@click="goBack"
>
<FAIcon
size="lg"
icon="chevron-left"
/>
</a>
<div class="title text-center">
<ChatTitle
:user="recipient"
:with-avatar="true"
/>
</div>
</div>
<div
ref="scrollable"
class="scrollable-message-list"
:style="{ height: scrollableContainerHeight }"
@scroll="handleScroll"
>
<template v-if="!errorLoadingChat">
<ChatMessage
v-for="chatViewItem in chatViewItems"
:key="chatViewItem.id"
:author="recipient"
:chat-view-item="chatViewItem"
:hovered-message-chain="chatViewItem.messageChainId === hoveredMessageChainId"
@hover="onMessageHover"
/>
</template>
<div
v-else
class="chat-loading-error"
>
<div class="alert error">
{{ $t('chats.error_loading_chat') }}
</div>
</div>
</div>
<div
ref="footer"
class="panel-body footer"
>
<div
class="jump-to-bottom-button"
:class="{ 'visible': jumpToBottomButtonVisible }"
@click="scrollDown({ behavior: 'smooth' })"
>
<span>
<FAIcon icon="chevron-down" />
<div
v-if="newMessageCount"
class="badge badge-notification unread-chat-count unread-message-count"
>
{{ newMessageCount }}
</div>
</span>
</div>
<PostStatusForm
:disable-subject="true"
:disable-scope-selector="true"
:disable-notice="true"
:disable-lock-warning="true"
:disable-polls="true"
:disable-sensitivity-checkbox="true"
:disable-submit="errorLoadingChat || !currentChat"
:disable-preview="true"
:optimistic-posting="true"
:post-handler="sendMessage"
:submit-on-enter="!mobileLayout"
:preserve-focus="!mobileLayout"
:auto-focus="!mobileLayout"
:placeholder="formPlaceholder"
:file-limit="1"
max-height="160"
emoji-picker-placement="top"
@resize="handleResize"
/>
</div>
</div>
</div>
</div>
</template>
<script src="./chat.js"></script>
<style lang="scss">
@import '../../_variables.scss';
@import './chat.scss';
</style>

View file

@ -0,0 +1,33 @@
// Captures a scroll position
export const getScrollPosition = (el) => {
return {
scrollTop: el.scrollTop,
scrollHeight: el.scrollHeight,
offsetHeight: el.offsetHeight
}
}
// A helper function that is used to keep the scroll position fixed as the new elements are added to the top
// Takes two scroll positions, before and after the update.
export const getNewTopPosition = (previousPosition, newPosition) => {
return previousPosition.scrollTop + (newPosition.scrollHeight - previousPosition.scrollHeight)
}
export const isBottomedOut = (el, offset = 0) => {
if (!el) { return }
const scrollHeight = el.scrollTop + offset
const totalHeight = el.scrollHeight - el.offsetHeight
return totalHeight <= scrollHeight
}
// Height of the scrollable container. The dynamic height is needed to ensure the mobile browser panel doesn't overlap or hide the posting form.
export const scrollableContainerHeight = (inner, header, footer) => {
return inner.offsetHeight - header.clientHeight - footer.clientHeight
}
// Returns whether or not the scrollbar is visible.
export const isScrollable = (el) => {
if (!el) return
return el.scrollHeight > el.clientHeight
}

View file

@ -0,0 +1,37 @@
import { mapState, mapGetters } from 'vuex'
import ChatListItem from '../chat_list_item/chat_list_item.vue'
import ChatNew from '../chat_new/chat_new.vue'
import List from '../list/list.vue'
const ChatList = {
components: {
ChatListItem,
List,
ChatNew
},
computed: {
...mapState({
currentUser: state => state.users.currentUser
}),
...mapGetters(['sortedChatList'])
},
data () {
return {
isNew: false
}
},
created () {
this.$store.dispatch('fetchChats', { latest: true })
},
methods: {
cancelNewChat () {
this.isNew = false
this.$store.dispatch('fetchChats', { latest: true })
},
newChat () {
this.isNew = true
}
}
}
export default ChatList

View file

@ -0,0 +1,64 @@
<template>
<div v-if="isNew">
<ChatNew @cancel="cancelNewChat" />
</div>
<div
v-else
class="chat-list panel panel-default"
>
<div class="panel-heading">
<span class="title">
{{ $t("chats.chats") }}
</span>
<button
class="button-default"
@click="newChat"
>
{{ $t("chats.new") }}
</button>
</div>
<div class="panel-body">
<div
v-if="sortedChatList.length > 0"
class="timeline"
>
<List :items="sortedChatList">
<template v-slot:item="{item}">
<ChatListItem
:key="item.id"
:compact="false"
:chat="item"
/>
</template>
</List>
</div>
<div
v-else
class="emtpy-chat-list-alert"
>
<span>{{ $t('chats.empty_chat_list_placeholder') }}</span>
</div>
</div>
</div>
</template>
<script src="./chat_list.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.chat-list {
min-height: 25em;
margin-bottom: 0;
}
.emtpy-chat-list-alert {
padding: 3em;
font-size: 1.2em;
display: flex;
justify-content: center;
color: $fallback--text;
color: var(--faint, $fallback--text);
}
</style>

View file

@ -0,0 +1,69 @@
import { mapState } from 'vuex'
import StatusBody from '../status_content/status_content.vue'
import fileType from 'src/services/file_type/file_type.service'
import UserAvatar from '../user_avatar/user_avatar.vue'
import AvatarList from '../avatar_list/avatar_list.vue'
import Timeago from '../timeago/timeago.vue'
import ChatTitle from '../chat_title/chat_title.vue'
const ChatListItem = {
name: 'ChatListItem',
props: [
'chat'
],
components: {
UserAvatar,
AvatarList,
Timeago,
ChatTitle,
StatusBody
},
computed: {
...mapState({
currentUser: state => state.users.currentUser
}),
attachmentInfo () {
if (this.chat.lastMessage.attachments.length === 0) { return }
const types = this.chat.lastMessage.attachments.map(file => fileType.fileType(file.mimetype))
if (types.includes('video')) {
return this.$t('file_type.video')
} else if (types.includes('audio')) {
return this.$t('file_type.audio')
} else if (types.includes('image')) {
return this.$t('file_type.image')
} else {
return this.$t('file_type.file')
}
},
messageForStatusContent () {
const message = this.chat.lastMessage
const messageEmojis = message ? message.emojis : []
const isYou = message && message.account_id === this.currentUser.id
const content = message ? (this.attachmentInfo || message.content) : ''
const messagePreview = isYou ? `<i>${this.$t('chats.you')}</i> ${content}` : content
return {
summary: '',
emojis: messageEmojis,
raw_html: messagePreview,
text: messagePreview,
attachments: []
}
}
},
methods: {
openChat (_e) {
if (this.chat.id) {
this.$router.push({
name: 'chat',
params: {
username: this.currentUser.screen_name,
recipient_id: this.chat.account.id
}
})
}
}
}
}
export default ChatListItem

View file

@ -0,0 +1,91 @@
.chat-list-item {
display: flex;
flex-direction: row;
padding: 0.75em;
height: 5em;
overflow: hidden;
box-sizing: border-box;
cursor: pointer;
:focus {
outline: none;
}
&:hover {
background-color: var(--selectedPost, $fallback--lightBg);
box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
}
.chat-list-item-left {
margin-right: 1em;
}
.chat-list-item-center {
width: 100%;
box-sizing: border-box;
overflow: hidden;
word-wrap: break-word;
}
.heading {
width: 100%;
display: inline-flex;
justify-content: space-between;
line-height: 1em;
}
.heading-right {
white-space: nowrap;
}
.name-and-account-name {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
flex-shrink: 1;
line-height: 1.4em;
}
.chat-preview {
display: inline-flex;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin: 0.35em 0;
color: $fallback--text;
color: var(--faint, $fallback--text);
width: 100%;
}
a {
color: var(--faintLink, $fallback--link);
text-decoration: none;
pointer-events: none;
}
&:hover .animated.avatar {
canvas {
display: none;
}
img {
visibility: visible;
}
}
.Avatar {
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
}
.chat-preview-body {
--emoji-size: 1.4em;
}
.time-wrapper {
line-height: 1.4em;
}
.chat-preview-body {
padding-right: 1em;
}
}

View file

@ -0,0 +1,53 @@
<template>
<div
class="chat-list-item"
@click.capture.prevent="openChat"
>
<div class="chat-list-item-left">
<UserAvatar
:user="chat.account"
height="48px"
width="48px"
/>
</div>
<div class="chat-list-item-center">
<div class="heading">
<span
v-if="chat.account"
class="name-and-account-name"
>
<ChatTitle
:user="chat.account"
/>
</span>
<span class="heading-right" />
<div class="time-wrapper">
<Timeago
:time="chat.updated_at"
:auto-update="60"
/>
</div>
</div>
<div class="chat-preview">
<StatusBody
class="chat-preview-body"
:status="messageForStatusContent"
:single-line="true"
/>
<div
v-if="chat.unread > 0"
class="badge badge-notification unread-chat-count"
>
{{ chat.unread }}
</div>
</div>
</div>
</div>
</template>
<script src="./chat_list_item.js"></script>
<style lang="scss">
@import '../../_variables.scss';
@import './chat_list_item.scss';
</style>

View file

@ -0,0 +1,108 @@
import { mapState, mapGetters } from 'vuex'
import Popover from '../popover/popover.vue'
import Attachment from '../attachment/attachment.vue'
import UserAvatar from '../user_avatar/user_avatar.vue'
import Gallery from '../gallery/gallery.vue'
import LinkPreview from '../link-preview/link-preview.vue'
import StatusContent from '../status_content/status_content.vue'
import ChatMessageDate from '../chat_message_date/chat_message_date.vue'
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faTimes,
faEllipsisH
} from '@fortawesome/free-solid-svg-icons'
library.add(
faTimes,
faEllipsisH
)
const ChatMessage = {
name: 'ChatMessage',
props: [
'author',
'edited',
'noHeading',
'chatViewItem',
'hoveredMessageChain'
],
emits: ['hover'],
components: {
Popover,
Attachment,
StatusContent,
UserAvatar,
Gallery,
LinkPreview,
ChatMessageDate
},
computed: {
// Returns HH:MM (hours and minutes) in local time.
createdAt () {
const time = this.chatViewItem.data.created_at
return time.toLocaleTimeString('en', { hour: '2-digit', minute: '2-digit', hour12: false })
},
isCurrentUser () {
return this.message.account_id === this.currentUser.id
},
message () {
return this.chatViewItem.data
},
userProfileLink () {
return generateProfileLink(this.author.id, this.author.screen_name, this.$store.state.instance.restrictedNicknames)
},
isMessage () {
return this.chatViewItem.type === 'message'
},
messageForStatusContent () {
return {
summary: '',
emojis: this.message.emojis,
raw_html: this.message.content || '',
text: this.message.content || '',
attachments: this.message.attachments
}
},
hasAttachment () {
return this.message.attachments.length > 0
},
...mapState({
betterShadow: state => state.interface.browserSupport.cssFilter,
currentUser: state => state.users.currentUser,
restrictedNicknames: state => state.instance.restrictedNicknames
}),
popoverMarginStyle () {
if (this.isCurrentUser) {
return {}
} else {
return { left: 50 }
}
},
...mapGetters(['mergedConfig', 'findUser'])
},
data () {
return {
hovered: false,
menuOpened: false
}
},
methods: {
onHover (bool) {
this.$emit('hover', { isHovered: bool, messageChainId: this.chatViewItem.messageChainId })
},
async deleteMessage () {
const confirmed = window.confirm(this.$t('chats.delete_confirm'))
if (confirmed) {
await this.$store.dispatch('deleteChatMessage', {
messageId: this.chatViewItem.data.id,
chatId: this.chatViewItem.data.chat_id
})
}
this.hovered = false
this.menuOpened = false
}
}
}
export default ChatMessage

View file

@ -0,0 +1,179 @@
@import '../../_variables.scss';
.chat-message-wrapper {
&.hovered-message-chain {
.animated.Avatar {
canvas {
display: none;
}
img {
visibility: visible;
}
}
}
.chat-message-menu {
transition: opacity 0.1s;
opacity: 0;
position: absolute;
top: -0.8em;
button {
padding-top: 0.2em;
padding-bottom: 0.2em;
}
}
.menu-icon {
cursor: pointer;
&:hover, .extra-button-popover.open & {
color: $fallback--text;
color: var(--text, $fallback--text);
}
}
.popover {
width: 12em;
}
.chat-message {
display: flex;
padding-bottom: 0.5em;
.status-body:hover {
--_still-image-img-visibility: visible;
--_still-image-canvas-visibility: hidden;
--_still-image-label-visibility: hidden;
}
}
.avatar-wrapper {
margin-right: 0.72em;
width: 32px;
}
.link-preview, .attachments {
margin-bottom: 1em;
}
.chat-message-inner {
display: flex;
flex-direction: column;
align-items: flex-start;
max-width: 80%;
min-width: 10em;
width: 100%;
&.with-media {
width: 100%;
.status {
width: 100%;
}
}
}
.status {
border-radius: $fallback--chatMessageRadius;
border-radius: var(--chatMessageRadius, $fallback--chatMessageRadius);
display: flex;
padding: 0.75em;
}
.created-at {
position: relative;
float: right;
font-size: 0.8em;
margin: -1em 0 -0.5em 0;
font-style: italic;
opacity: 0.8;
}
.without-attachment {
.message-content {
// TODO figure out how to do it properly
.RichContent::after {
margin-right: 5.4em;
content: " ";
display: inline-block;
}
}
}
.pending {
.status-content.media-body, .created-at {
color: var(--faint);
}
}
.error {
.status-content.media-body, .created-at {
color: $fallback--cRed;
color: var(--badgeNotification, $fallback--cRed);
}
}
.incoming {
a {
color: var(--chatMessageIncomingLink, $fallback--link);
}
.status {
color: var(--chatMessageIncomingText, $fallback--text);
background-color: var(--chatMessageIncomingBg, $fallback--bg);
border: 1px solid var(--chatMessageIncomingBorder, --border);
}
.created-at {
a {
color: var(--chatMessageIncomingText, $fallback--text);
}
}
.chat-message-menu {
left: 0.4rem;
}
}
.outgoing {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: end;
justify-content: flex-end;
a {
color: var(--chatMessageOutgoingLink, $fallback--link);
}
.status {
color: var(--chatMessageOutgoingText, $fallback--text);
background-color: var(--chatMessageOutgoingBg, $fallback--lightBg);
border: 1px solid var(--chatMessageOutgoingBorder, --lightBg);
}
.chat-message-inner {
align-items: flex-end;
}
.chat-message-menu {
right: 0.4rem;
}
}
.visible {
opacity: 1;
}
}
.chat-message-date-separator {
text-align: center;
margin: 1.4em 0;
font-size: 0.9em;
user-select: none;
color: $fallback--text;
color: var(--faintedText, $fallback--text);
}

View file

@ -0,0 +1,103 @@
<template>
<div
v-if="isMessage"
class="chat-message-wrapper"
:class="{ 'hovered-message-chain': hoveredMessageChain }"
@mouseover="onHover(true)"
@mouseleave="onHover(false)"
>
<div
class="chat-message"
:class="[{ 'outgoing': isCurrentUser, 'incoming': !isCurrentUser }]"
>
<div
v-if="!isCurrentUser"
class="avatar-wrapper"
>
<router-link
v-if="chatViewItem.isHead"
:to="userProfileLink"
>
<UserAvatar
:compact="true"
:better-shadow="betterShadow"
:user="author"
/>
</router-link>
</div>
<div class="chat-message-inner">
<div
class="status-body"
:style="{ 'min-width': message.attachment ? '80%' : '' }"
>
<div
class="media status"
:class="{ 'without-attachment': !hasAttachment, 'pending': chatViewItem.data.pending, 'error': chatViewItem.data.error }"
style="position: relative"
@mouseenter="hovered = true"
@mouseleave="hovered = false"
>
<div
class="chat-message-menu"
:class="{ 'visible': hovered || menuOpened }"
>
<Popover
trigger="click"
placement="top"
:bound-to-selector="isCurrentUser ? '' : '.scrollable-message-list'"
:bound-to="{ x: 'container' }"
:margin="popoverMarginStyle"
@show="menuOpened = true"
@close="menuOpened = false"
>
<template v-slot:content>
<div class="dropdown-menu">
<button
class="button-default dropdown-item dropdown-item-icon"
@click="deleteMessage"
>
<FAIcon icon="times" /> {{ $t("chats.delete") }}
</button>
</div>
</template>
<template v-slot:trigger>
<button
class="button-default menu-icon"
:title="$t('chats.more')"
>
<FAIcon icon="ellipsis-h" />
</button>
</template>
</Popover>
</div>
<StatusContent
class="message-content"
:status="messageForStatusContent"
:full-content="true"
>
<template v-slot:footer>
<span
class="created-at"
>
{{ createdAt }}
</span>
</template>
</StatusContent>
</div>
</div>
</div>
</div>
</div>
<div
v-else
class="chat-message-date-separator"
>
<ChatMessageDate :date="chatViewItem.date" />
</div>
</template>
<script src="./chat_message.js" ></script>
<style lang="scss">
@import './chat_message.scss';
</style>

View file

@ -0,0 +1,26 @@
<template>
<time>
{{ displayDate }}
</time>
</template>
<script>
import localeService from 'src/services/locale/locale.service.js'
export default {
name: 'Timeago',
props: ['date'],
computed: {
displayDate () {
const today = new Date()
today.setHours(0, 0, 0, 0)
if (this.date.getTime() === today.getTime()) {
return this.$t('display_date.today')
} else {
return this.date.toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale), { day: 'numeric', month: 'long' })
}
}
}
}
</script>

View file

@ -0,0 +1,83 @@
import { mapState, mapGetters } from 'vuex'
import BasicUserCard from '../basic_user_card/basic_user_card.vue'
import UserAvatar from '../user_avatar/user_avatar.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faSearch,
faChevronLeft
} from '@fortawesome/free-solid-svg-icons'
library.add(
faSearch,
faChevronLeft
)
const chatNew = {
components: {
BasicUserCard,
UserAvatar
},
data () {
return {
suggestions: [],
userIds: [],
loading: false,
query: ''
}
},
async created () {
const { chats } = await this.backendInteractor.chats()
chats.forEach(chat => this.suggestions.push(chat.account))
},
computed: {
users () {
return this.userIds.map(userId => this.findUser(userId))
},
availableUsers () {
if (this.query.length !== 0) {
return this.users
} else {
return this.suggestions
}
},
...mapState({
currentUser: state => state.users.currentUser,
backendInteractor: state => state.api.backendInteractor
}),
...mapGetters(['findUser'])
},
methods: {
goBack () {
this.$emit('cancel')
},
goToChat (user) {
this.$router.push({ name: 'chat', params: { recipient_id: user.id } })
},
onInput () {
this.search(this.query)
},
addUser (user) {
this.selectedUserIds.push(user.id)
this.query = ''
},
removeUser (userId) {
this.selectedUserIds = this.selectedUserIds.filter(id => id !== userId)
},
search (query) {
if (!query) {
this.loading = false
return
}
this.loading = true
this.userIds = []
this.$store.dispatch('search', { q: query, resolve: true, type: 'accounts' })
.then(data => {
this.loading = false
this.userIds = data.accounts.map(a => a.id)
})
}
}
}
export default chatNew

View file

@ -0,0 +1,31 @@
.chat-new {
.input-wrap {
display: flex;
margin: 0.7em 0.5em 0.7em 0.5em;
input {
width: 100%;
}
}
.search-icon {
margin-right: 0.3em;
}
.member-list {
padding-bottom: 0.7rem;
}
.basic-user-card:hover {
cursor: pointer;
background-color: var(--selectedPost, $fallback--lightBg);
}
.go-back-button {
cursor: pointer;
width: 28px;
text-align: center;
padding: 0.6em;
margin: -0.6em 0.6em -0.6em -0.6em;
}
}

View file

@ -0,0 +1,52 @@
<template>
<div
id="nav"
class="panel-default panel chat-new"
>
<div
ref="header"
class="panel-heading"
>
<a
class="go-back-button"
@click="goBack"
>
<FAIcon
size="lg"
icon="chevron-left"
/>
</a>
</div>
<div class="input-wrap">
<div class="input-search">
<FAIcon
class="search-icon fa-scale-110 fa-old-padding"
icon="search"
/>
</div>
<input
ref="search"
v-model="query"
placeholder="Search people"
@input="onInput"
>
</div>
<div class="member-list">
<div
v-for="user in availableUsers"
:key="user.id"
class="member"
>
<div @click.capture.prevent="goToChat(user)">
<BasicUserCard :user="user" />
</div>
</div>
</div>
</div>
</template>
<script src="./chat_new.js"></script>
<style lang="scss">
@import '../../_variables.scss';
@import './chat_new.scss';
</style>

View file

@ -1,31 +0,0 @@
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
const chatPanel = {
props: [ 'floating' ],
data () {
return {
currentMessage: '',
channel: null,
collapsed: true
}
},
computed: {
messages () {
return this.$store.state.chat.messages
}
},
methods: {
submit (message) {
this.$store.state.chat.channel.push('new_msg', {text: message}, 10000)
this.currentMessage = ''
},
togglePanel () {
this.collapsed = !this.collapsed
},
userProfileLink (user) {
return generateProfileLink(user.id, user.username, this.$store.state.instance.restrictedNicknames)
}
}
}
export default chatPanel

View file

@ -1,108 +0,0 @@
<template>
<div class="chat-panel" v-if="!this.collapsed || !this.floating">
<div class="panel panel-default">
<div class="panel-heading timeline-heading" :class="{ 'chat-heading': floating }" @click.stop.prevent="togglePanel">
<div class="title">
<span>{{$t('chat.title')}}</span>
<i class="icon-cancel" v-if="floating"></i>
</div>
</div>
<div class="chat-window" v-chat-scroll>
<div class="chat-message" v-for="message in messages" :key="message.id">
<span class="chat-avatar">
<img :src="message.author.avatar" />
</span>
<div class="chat-content">
<router-link
class="chat-name"
:to="userProfileLink(message.author)">
{{message.author.username}}
</router-link>
<br>
<span class="chat-text">
{{message.text}}
</span>
</div>
</div>
</div>
<div class="chat-input">
<textarea @keyup.enter="submit(currentMessage)" v-model="currentMessage" class="chat-input-textarea" rows="1"></textarea>
</div>
</div>
</div>
<div v-else class="chat-panel">
<div class="panel panel-default">
<div class="panel-heading stub timeline-heading chat-heading" @click.stop.prevent="togglePanel">
<div class="title">
<i class="icon-comment-empty"></i>
{{$t('chat.title')}}
</div>
</div>
</div>
</div>
</template>
<script src="./chat_panel.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.floating-chat {
position: fixed;
right: 0px;
bottom: 0px;
z-index: 1000;
max-width: 25em;
}
.chat-heading {
cursor: pointer;
.icon-comment-empty {
color: $fallback--text;
color: var(--text, $fallback--text);
}
}
.chat-window {
overflow-y: auto;
overflow-x: hidden;
max-height: 20em;
}
.chat-window-container {
height: 100%;
}
.chat-message {
display: flex;
padding: 0.2em 0.5em
}
.chat-avatar {
img {
height: 24px;
width: 24px;
border-radius: $fallback--avatarRadius;
border-radius: var(--avatarRadius, $fallback--avatarRadius);
margin-right: 0.5em;
margin-top: 0.25em;
}
}
.chat-input {
display: flex;
textarea {
flex: 1;
margin: 0.6em;
min-height: 3.5em;
resize: none;
}
}
.chat-panel {
.title {
display: flex;
justify-content: space-between;
}
}
</style>

View file

@ -0,0 +1,27 @@
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
import UserAvatar from '../user_avatar/user_avatar.vue'
import RichContent from 'src/components/rich_content/rich_content.jsx'
export default {
name: 'ChatTitle',
components: {
UserAvatar,
RichContent
},
props: [
'user', 'withAvatar'
],
computed: {
title () {
return this.user ? this.user.screen_name_ui : ''
},
htmlTitle () {
return this.user ? this.user.name_html : ''
}
},
methods: {
getUserProfileLink (user) {
return generateProfileLink(user.id, user.screen_name)
}
}
}

View file

@ -0,0 +1,62 @@
<template>
<div
class="chat-title"
:title="title"
>
<router-link
v-if="withAvatar && user"
:to="getUserProfileLink(user)"
>
<UserAvatar
:user="user"
width="23px"
height="23px"
/>
</router-link>
<RichContent
v-if="user"
class="username"
:title="'@'+user.screen_name_ui"
:html="htmlTitle"
:emoji="user.emoji || []"
/>
</div>
</template>
<script src="./chat_title.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.chat-title {
display: flex;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
align-items: center;
--emoji-size: 14px;
.username {
max-width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
display: inline;
word-wrap: break-word;
overflow: hidden;
}
.Avatar {
width: 23px;
height: 23px;
margin-right: 0.5em;
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
&.animated::before {
display: none;
}
}
}
</style>

View file

@ -0,0 +1,102 @@
<template>
<label
class="checkbox"
:class="{ disabled, indeterminate }"
>
<input
type="checkbox"
:disabled="disabled"
:checked="modelValue"
:indeterminate="indeterminate"
@change="$emit('update:modelValue', $event.target.checked)"
>
<i class="checkbox-indicator" />
<span
v-if="!!$slots.default"
class="label"
>
<slot />
</span>
</label>
</template>
<script>
export default {
emits: ['update:modelValue'],
props: [
'modelValue',
'indeterminate',
'disabled'
]
}
</script>
<style lang="scss">
@import '../../_variables.scss';
.checkbox {
position: relative;
display: inline-block;
min-height: 1.2em;
&-indicator {
position: relative;
padding-left: 1.2em;
}
&-indicator::before {
position: absolute;
right: 0;
top: 0;
display: block;
content: '✓';
transition: color 200ms;
width: 1.1em;
height: 1.1em;
border-radius: $fallback--checkboxRadius;
border-radius: var(--checkboxRadius, $fallback--checkboxRadius);
box-shadow: 0px 0px 2px black inset;
box-shadow: var(--inputShadow);
background-color: $fallback--fg;
background-color: var(--input, $fallback--fg);
vertical-align: top;
text-align: center;
line-height: 1.1em;
font-size: 1.1em;
color: transparent;
overflow: hidden;
box-sizing: border-box;
}
&.disabled {
.checkbox-indicator::before,
.label {
opacity: .5;
}
.label {
color: $fallback--faint;
color: var(--faint, $fallback--faint);
}
}
input[type=checkbox] {
display: none;
&:checked + .checkbox-indicator::before {
color: $fallback--text;
color: var(--inputText, $fallback--text);
}
&:indeterminate + .checkbox-indicator::before {
content: '';
color: $fallback--text;
color: var(--inputText, $fallback--text);
}
}
& > span {
margin-left: .5em;
}
}
</style>

View file

@ -0,0 +1,68 @@
@import '../../_variables.scss';
.color-input {
display: inline-flex;
&-field.input {
display: inline-flex;
flex: 0 0 0;
max-width: 9em;
align-items: stretch;
padding: .2em 8px;
input {
background: none;
color: $fallback--lightText;
color: var(--inputText, $fallback--lightText);
border: none;
padding: 0;
margin: 0;
&.textColor {
flex: 1 0 3em;
min-width: 3em;
padding: 0;
}
&.nativeColor {
flex: 0 0 2em;
min-width: 2em;
align-self: center;
height: 100%;
}
}
.computedIndicator,
.transparentIndicator {
flex: 0 0 2em;
min-width: 2em;
align-self: center;
height: 100%;
}
.transparentIndicator {
// forgot to install counter-strike source, ooops
background-color: #FF00FF;
position: relative;
&::before, &::after {
display: block;
content: '';
background-color: #000000;
position: absolute;
height: 50%;
width: 50%;
}
&::after {
top: 0;
left: 0;
}
&::before {
bottom: 0;
right: 0;
}
}
}
.label {
flex: 1 1 auto;
}
}

View file

@ -1,43 +1,109 @@
<template> <template>
<div class="color-control style-control" :class="{ disabled: !present || disabled }"> <div
<label :for="name" class="label"> class="color-input style-control"
{{label}} :class="{ disabled: !present || disabled }"
</label>
<input
v-if="typeof fallback !== 'undefined'"
class="opt exlcude-disabled"
:id="name + '-o'"
type="checkbox"
:checked="present"
@input="$emit('input', typeof value === 'undefined' ? fallback : undefined)">
<label v-if="typeof fallback !== 'undefined'" class="opt-l" :for="name + '-o'"></label>
<input
:id="name"
class="color-input"
type="color"
:value="value || fallback"
:disabled="!present || disabled"
@input="$emit('input', $event.target.value)"
> >
<label
:for="name"
class="label"
>
{{ label }}
</label>
<Checkbox
v-if="typeof fallback !== 'undefined' && showOptionalTickbox"
:model-value="present"
:disabled="disabled"
class="opt"
@update:modelValue="$emit('update:modelValue', typeof modelValue === 'undefined' ? fallback : undefined)"
/>
<div class="input color-input-field">
<input <input
:id="name + '-t'" :id="name + '-t'"
class="text-input" class="textColor unstyled"
type="text" type="text"
:value="value || fallback" :value="modelValue || fallback"
:disabled="!present || disabled" :disabled="!present || disabled"
@input="$emit('input', $event.target.value)" @input="$emit('update:modelValue', $event.target.value)"
> >
</div> <input
v-if="validColor"
:id="name"
class="nativeColor unstyled"
type="color"
:value="modelValue || fallback"
:disabled="!present || disabled"
@input="$emit('update:modelValue', $event.target.value)"
>
<div
v-if="transparentColor"
class="transparentIndicator"
/>
<div
v-if="computedColor"
class="computedIndicator"
:style="{backgroundColor: fallback}"
/>
</div>
</div>
</template> </template>
<style lang="scss" src="./color_input.scss"></style>
<script> <script>
import Checkbox from '../checkbox/checkbox.vue'
import { hex2rgb } from '../../services/color_convert/color_convert.js'
export default { export default {
props: [ components: {
'name', 'label', 'value', 'fallback', 'disabled' Checkbox
], },
props: {
// Name of color, used for identifying
name: {
required: true,
type: String
},
// Readable label
label: {
required: true,
type: String
},
// Color value, should be required but vue cannot tell the difference
// between "property missing" and "property set to undefined"
modelValue: {
required: false,
type: String,
default: undefined
},
// Color fallback to use when value is not defeind
fallback: {
required: false,
type: String,
default: undefined
},
// Disable the control
disabled: {
required: false,
type: Boolean,
default: false
},
// Show "optional" tickbox, for when value might become mandatory
showOptionalTickbox: {
required: false,
type: Boolean,
default: true
}
},
emits: ['update:modelValue'],
computed: { computed: {
present () { present () {
return typeof this.value !== 'undefined' return typeof this.modelValue !== 'undefined'
},
validColor () {
return hex2rgb(this.modelValue || this.fallback)
},
transparentColor () {
return this.modelValue === 'transparent'
},
computedColor () {
return this.modelValue && this.modelValue.startsWith('--')
} }
} }
} }

View file

@ -1,35 +1,69 @@
<template> <template>
<span v-if="contrast" class="contrast-ratio"> <span
<span :title="hint" class="rating"> v-if="contrast"
class="contrast-ratio"
>
<span
:title="hint"
class="rating"
>
<span v-if="contrast.aaa"> <span v-if="contrast.aaa">
<i class="icon-thumbs-up-alt"/> <FAIcon icon="thumbs-up" />
</span> </span>
<span v-if="!contrast.aaa && contrast.aa"> <span v-if="!contrast.aaa && contrast.aa">
<i class="icon-adjust"/> <FAIcon icon="adjust" />
</span> </span>
<span v-if="!contrast.aaa && !contrast.aa"> <span v-if="!contrast.aaa && !contrast.aa">
<i class="icon-attention"/> <FAIcon icon="exclamation-triangle" />
</span> </span>
</span> </span>
<span class="rating" v-if="contrast && large" :title="hint_18pt"> <span
v-if="contrast && large"
class="rating"
:title="hint_18pt"
>
<span v-if="contrast.laaa"> <span v-if="contrast.laaa">
<i class="icon-thumbs-up-alt"/> <FAIcon icon="thumbs-up" />
</span> </span>
<span v-if="!contrast.laaa && contrast.laa"> <span v-if="!contrast.laaa && contrast.laa">
<i class="icon-adjust"/> <FAIcon icon="adjust" />
</span> </span>
<span v-if="!contrast.laaa && !contrast.laa"> <span v-if="!contrast.laaa && !contrast.laa">
<i class="icon-attention"/> <FAIcon icon="exclamation-triangle" />
</span>
</span> </span>
</span> </span>
</span>
</template> </template>
<script> <script>
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faAdjust,
faExclamationTriangle,
faThumbsUp
} from '@fortawesome/free-solid-svg-icons'
library.add(
faAdjust,
faExclamationTriangle,
faThumbsUp
)
export default { export default {
props: [ props: {
'large', 'contrast' large: {
], required: false,
type: Boolean,
default: false
},
// TODO: Make theme switcher compute theme initially so that contrast
// component won't be called without contrast data
contrast: {
required: false,
type: Object,
default: () => ({})
}
},
computed: { computed: {
hint () { hint () {
const levelVal = this.contrast.aaa ? 'aaa' : (this.contrast.aa ? 'aa' : 'bad') const levelVal = this.contrast.aaa ? 'aaa' : (this.contrast.aa ? 'aa' : 'bad')
@ -64,6 +98,7 @@ export default {
.rating { .rating {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
margin-left: 0.5em;
} }
} }
</style> </style>

View file

@ -1,17 +1,12 @@
import Conversation from '../conversation/conversation.vue' import Conversation from '../conversation/conversation.vue'
import { find } from 'lodash'
const conversationPage = { const conversationPage = {
components: { components: {
Conversation Conversation
}, },
computed: { computed: {
statusoid () { statusId () {
const id = this.$route.params.id return this.$route.params.id
const statuses = this.$store.state.statuses.allStatuses
const status = find(statuses, {id})
return status
} }
} }
} }

View file

@ -1,5 +1,9 @@
<template> <template>
<conversation :collapsable="false" :statusoid="statusoid"></conversation> <conversation
:collapsable="false"
is-page="true"
:status-id="statusId"
/>
</template> </template>
<script src="./conversation-page.js"></script> <script src="./conversation-page.js"></script>

View file

@ -1,9 +1,25 @@
import { reduce, filter } from 'lodash' import { reduce, filter, findIndex, clone, get } from 'lodash'
import Status from '../status/status.vue' import Status from '../status/status.vue'
import ThreadTree from '../thread_tree/thread_tree.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faAngleDoubleDown,
faAngleDoubleLeft,
faChevronLeft
} from '@fortawesome/free-solid-svg-icons'
library.add(
faAngleDoubleDown,
faAngleDoubleLeft,
faChevronLeft
)
const sortById = (a, b) => { const sortById = (a, b) => {
const seqA = Number(a.id) const idA = a.type === 'retweet' ? a.retweeted_status.id : a.id
const seqB = Number(b.id) const idB = b.type === 'retweet' ? b.retweeted_status.id : b.id
const seqA = Number(idA)
const seqB = Number(idB)
const isSeqA = !Number.isNaN(seqA) const isSeqA = !Number.isNaN(seqA)
const isSeqB = !Number.isNaN(seqB) const isSeqB = !Number.isNaN(seqB)
if (isSeqA && isSeqB) { if (isSeqA && isSeqB) {
@ -13,49 +29,241 @@ const sortById = (a, b) => {
} else if (!isSeqA && isSeqB) { } else if (!isSeqA && isSeqB) {
return 1 return 1
} else { } else {
return a.id < b.id ? -1 : 1 return idA < idB ? -1 : 1
} }
} }
const sortAndFilterConversation = (conversation) => { const sortAndFilterConversation = (conversation, statusoid) => {
if (statusoid.type === 'retweet') {
conversation = filter(
conversation,
(status) => (status.type === 'retweet' || status.id !== statusoid.retweeted_status.id)
)
} else {
conversation = filter(conversation, (status) => status.type !== 'retweet') conversation = filter(conversation, (status) => status.type !== 'retweet')
}
return conversation.filter(_ => _).sort(sortById) return conversation.filter(_ => _).sort(sortById)
} }
const conversation = { const conversation = {
data () { data () {
return { return {
highlight: null highlight: null,
expanded: false,
threadDisplayStatusObject: {}, // id => 'showing' | 'hidden'
statusContentPropertiesObject: {},
inlineDivePosition: null
} }
}, },
props: [ props: [
'statusoid', 'statusId',
'collapsable' 'collapsable',
'isPage',
'pinnedStatusIdsObject',
'inProfile',
'profileUserId',
'virtualHidden'
], ],
computed: { created () {
status () { if (this.isPage) {
return this.statusoid this.fetchConversation()
},
statusId () {
if (this.statusoid.retweeted_status) {
return this.statusoid.retweeted_status.id
} else {
return this.statusoid.id
} }
}, },
computed: {
maxDepthToShowByDefault () {
// maxDepthInThread = max number of depths that is *visible*
// since our depth starts with 0 and "showing" means "showing children"
// there is a -2 here
const maxDepth = this.$store.getters.mergedConfig.maxDepthInThread - 2
return maxDepth >= 1 ? maxDepth : 1
},
displayStyle () {
return this.$store.getters.mergedConfig.conversationDisplay
},
isTreeView () {
return !this.isLinearView
},
treeViewIsSimple () {
return !this.$store.getters.mergedConfig.conversationTreeAdvanced
},
isLinearView () {
return this.displayStyle === 'linear'
},
shouldFadeAncestors () {
return this.$store.getters.mergedConfig.conversationTreeFadeAncestors
},
otherRepliesButtonPosition () {
return this.$store.getters.mergedConfig.conversationOtherRepliesButton
},
showOtherRepliesButtonBelowStatus () {
return this.otherRepliesButtonPosition === 'below'
},
showOtherRepliesButtonInsideStatus () {
return this.otherRepliesButtonPosition === 'inside'
},
suspendable () {
if (this.isTreeView) {
return Object.entries(this.statusContentProperties)
.every(([k, prop]) => !prop.replying && prop.mediaPlaying.length === 0)
}
if (this.$refs.statusComponent && this.$refs.statusComponent[0]) {
return this.$refs.statusComponent.every(s => s.suspendable)
} else {
return true
}
},
hideStatus () {
return this.virtualHidden && this.suspendable
},
status () {
return this.$store.state.statuses.allStatusesObject[this.statusId]
},
originalStatusId () {
if (this.status.retweeted_status) {
return this.status.retweeted_status.id
} else {
return this.statusId
}
},
conversationId () {
return this.getConversationId(this.statusId)
},
conversation () { conversation () {
if (!this.status) { if (!this.status) {
return [] return []
} }
const conversationId = this.status.statusnet_conversation_id if (!this.isExpanded) {
const statuses = this.$store.state.statuses.allStatuses return [this.status]
const conversation = filter(statuses, { statusnet_conversation_id: conversationId }) }
return sortAndFilterConversation(conversation)
const conversation = clone(this.$store.state.statuses.conversationsObject[this.conversationId])
const statusIndex = findIndex(conversation, { id: this.originalStatusId })
if (statusIndex !== -1) {
conversation[statusIndex] = this.status
}
return sortAndFilterConversation(conversation, this.status)
},
statusMap () {
return this.conversation.reduce((res, s) => {
res[s.id] = s
return res
}, {})
},
threadTree () {
const reverseLookupTable = this.conversation.reduce((table, status, index) => {
table[status.id] = index
return table
}, {})
const threads = this.conversation.reduce((a, cur) => {
const id = cur.id
a.forest[id] = this.getReplies(id)
.map(s => s.id)
return a
}, {
forest: {}
})
const walk = (forest, topLevel, depth = 0, processed = {}) => topLevel.map(id => {
if (processed[id]) {
return []
}
processed[id] = true
return [{
status: this.conversation[reverseLookupTable[id]],
id,
depth
}, walk(forest, forest[id], depth + 1, processed)].reduce((a, b) => a.concat(b), [])
}).reduce((a, b) => a.concat(b), [])
const linearized = walk(threads.forest, this.topLevel.map(k => k.id))
return linearized
},
replyIds () {
return this.conversation.map(k => k.id)
.reduce((res, id) => {
res[id] = (this.replies[id] || []).map(k => k.id)
return res
}, {})
},
totalReplyCount () {
const sizes = {}
const subTreeSizeFor = (id) => {
if (sizes[id]) {
return sizes[id]
}
sizes[id] = 1 + this.replyIds[id].map(cid => subTreeSizeFor(cid)).reduce((a, b) => a + b, 0)
return sizes[id]
}
this.conversation.map(k => k.id).map(subTreeSizeFor)
return Object.keys(sizes).reduce((res, id) => {
res[id] = sizes[id] - 1 // exclude itself
return res
}, {})
},
totalReplyDepth () {
const depths = {}
const subTreeDepthFor = (id) => {
if (depths[id]) {
return depths[id]
}
depths[id] = 1 + this.replyIds[id].map(cid => subTreeDepthFor(cid)).reduce((a, b) => a > b ? a : b, 0)
return depths[id]
}
this.conversation.map(k => k.id).map(subTreeDepthFor)
return Object.keys(depths).reduce((res, id) => {
res[id] = depths[id] - 1 // exclude itself
return res
}, {})
},
depths () {
return this.threadTree.reduce((a, k) => {
a[k.id] = k.depth
return a
}, {})
},
topLevel () {
const topLevel = this.conversation.reduce((tl, cur) =>
tl.filter(k => this.getReplies(cur.id).map(v => v.id).indexOf(k.id) === -1), this.conversation)
return topLevel
},
otherTopLevelCount () {
return this.topLevel.length - 1
},
showingTopLevel () {
if (this.canDive && this.diveRoot) {
return [this.statusMap[this.diveRoot]]
}
return this.topLevel
},
diveRoot () {
const statusId = this.inlineDivePosition || this.statusId
const isTopLevel = !this.parentOf(statusId)
return isTopLevel ? null : statusId
},
diveDepth () {
return this.canDive && this.diveRoot ? this.depths[this.diveRoot] : 0
},
diveMode () {
return this.canDive && !!this.diveRoot
},
shouldShowAllConversationButton () {
// The "show all conversation" button tells the user that there exist
// other toplevel statuses, so do not show it if there is only a single root
return this.isTreeView && this.isExpanded && this.diveMode && this.topLevel.length > 1
},
shouldShowAncestors () {
return this.isTreeView && this.isExpanded && this.ancestorsOf(this.diveRoot).length
}, },
replies () { replies () {
let i = 1 let i = 1
return reduce(this.conversation, (result, {id, in_reply_to_status_id}) => { // eslint-disable-next-line camelcase
return reduce(this.conversation, (result, { id, in_reply_to_status_id }) => {
/* eslint-disable camelcase */ /* eslint-disable camelcase */
const irid = in_reply_to_status_id const irid = in_reply_to_status_id
/* eslint-enable camelcase */ /* eslint-enable camelcase */
@ -69,39 +277,260 @@ const conversation = {
i++ i++
return result return result
}, {}) }, {})
},
isExpanded () {
return !!(this.expanded || this.isPage)
},
hiddenStyle () {
const height = (this.status && this.status.virtualHeight) || '120px'
return this.virtualHidden ? { height } : {}
},
threadDisplayStatus () {
return this.conversation.reduce((a, k) => {
const id = k.id
const depth = this.depths[id]
const status = (() => {
if (this.threadDisplayStatusObject[id]) {
return this.threadDisplayStatusObject[id]
}
if ((depth - this.diveDepth) <= this.maxDepthToShowByDefault) {
return 'showing'
} else {
return 'hidden'
}
})()
a[id] = status
return a
}, {})
},
statusContentProperties () {
return this.conversation.reduce((a, k) => {
const id = k.id
const props = (() => {
const def = {
showingTall: false,
expandingSubject: false,
showingLongSubject: false,
isReplying: false,
mediaPlaying: []
}
if (this.statusContentPropertiesObject[id]) {
return {
...def,
...this.statusContentPropertiesObject[id]
}
}
return def
})()
a[id] = props
return a
}, {})
},
canDive () {
return this.isTreeView && this.isExpanded
},
focused () {
return (id) => {
return (this.isExpanded) && id === this.highlight
}
},
maybeHighlight () {
return this.isExpanded ? this.highlight : null
} }
}, },
components: { components: {
Status Status,
}, ThreadTree
created () {
this.fetchConversation()
}, },
watch: { watch: {
'$route': 'fetchConversation' statusId (newVal, oldVal) {
const newConversationId = this.getConversationId(newVal)
const oldConversationId = this.getConversationId(oldVal)
if (newConversationId && oldConversationId && newConversationId === oldConversationId) {
this.setHighlight(this.originalStatusId)
} else {
this.fetchConversation()
}
},
expanded (value) {
if (value) {
this.fetchConversation()
} else {
this.resetDisplayState()
}
},
virtualHidden (value) {
this.$store.dispatch(
'setVirtualHeight',
{ statusId: this.statusId, height: `${this.$el.clientHeight}px` }
)
}
}, },
methods: { methods: {
fetchConversation () { fetchConversation () {
if (this.status) { if (this.status) {
const conversationId = this.status.statusnet_conversation_id this.$store.state.api.backendInteractor.fetchConversation({ id: this.statusId })
this.$store.state.api.backendInteractor.fetchConversation({id: conversationId}) .then(({ ancestors, descendants }) => {
.then((statuses) => this.$store.dispatch('addNewStatuses', { statuses })) this.$store.dispatch('addNewStatuses', { statuses: ancestors })
.then(() => this.setHighlight(this.statusId)) this.$store.dispatch('addNewStatuses', { statuses: descendants })
this.setHighlight(this.originalStatusId)
})
} else { } else {
const id = this.$route.params.id this.$store.state.api.backendInteractor.fetchStatus({ id: this.statusId })
this.$store.state.api.backendInteractor.fetchStatus({id}) .then((status) => {
.then((status) => this.$store.dispatch('addNewStatuses', { statuses: [status] })) this.$store.dispatch('addNewStatuses', { statuses: [status] })
.then(() => this.fetchConversation()) this.fetchConversation()
})
} }
}, },
getReplies (id) { getReplies (id) {
return this.replies[id] || [] return this.replies[id] || []
}, },
focused (id) { getHighlight () {
return id === this.statusId return this.isExpanded ? this.highlight : null
}, },
setHighlight (id) { setHighlight (id) {
if (!id) return
this.highlight = id this.highlight = id
this.$store.dispatch('fetchFavsAndRepeats', id)
this.$store.dispatch('fetchEmojiReactionsBy', id)
},
toggleExpanded () {
this.expanded = !this.expanded
},
getConversationId (statusId) {
const status = this.$store.state.statuses.allStatusesObject[statusId]
return get(status, 'retweeted_status.statusnet_conversation_id', get(status, 'statusnet_conversation_id'))
},
setThreadDisplay (id, nextStatus) {
this.threadDisplayStatusObject = {
...this.threadDisplayStatusObject,
[id]: nextStatus
}
},
toggleThreadDisplay (id) {
const curStatus = this.threadDisplayStatus[id]
const nextStatus = curStatus === 'showing' ? 'hidden' : 'showing'
this.setThreadDisplay(id, nextStatus)
},
setThreadDisplayRecursively (id, nextStatus) {
this.setThreadDisplay(id, nextStatus)
this.getReplies(id).map(k => k.id).map(id => this.setThreadDisplayRecursively(id, nextStatus))
},
showThreadRecursively (id) {
this.setThreadDisplayRecursively(id, 'showing')
},
setStatusContentProperty (id, name, value) {
this.statusContentPropertiesObject = {
...this.statusContentPropertiesObject,
[id]: {
...this.statusContentPropertiesObject[id],
[name]: value
}
}
},
toggleStatusContentProperty (id, name) {
this.setStatusContentProperty(id, name, !this.statusContentProperties[id][name])
},
leastVisibleAncestor (id) {
let cur = id
let parent = this.parentOf(cur)
while (cur) {
// if the parent is showing it means cur is visible
if (this.threadDisplayStatus[parent] === 'showing') {
return cur
}
parent = this.parentOf(parent)
cur = this.parentOf(cur)
}
// nothing found, fall back to toplevel
return this.topLevel[0] ? this.topLevel[0].id : undefined
},
diveIntoStatus (id, preventScroll) {
this.tryScrollTo(id)
},
diveToTopLevel () {
this.tryScrollTo(this.topLevelAncestorOrSelfId(this.diveRoot) || this.topLevel[0].id)
},
// only used when we are not on a page
undive () {
this.inlineDivePosition = null
this.setHighlight(this.statusId)
},
tryScrollTo (id) {
if (!id) {
return
}
if (this.isPage) {
// set statusId
this.$router.push({ name: 'conversation', params: { id } })
} else {
this.inlineDivePosition = id
}
// Because the conversation can be unmounted when out of sight
// and mounted again when it comes into sight,
// the `mounted` or `created` function in `status` should not
// contain scrolling calls, as we do not want the page to jump
// when we scroll with an expanded conversation.
//
// Now the method is to rely solely on the `highlight` watcher
// in `status` components.
// In linear views, all statuses are rendered at all times, but
// in tree views, it is possible that a change in active status
// removes and adds status components (e.g. an originally child
// status becomes an ancestor status, and thus they will be
// different).
// Here, let the components be rendered first, in order to trigger
// the `highlight` watcher.
this.$nextTick(() => {
this.setHighlight(id)
})
},
goToCurrent () {
this.tryScrollTo(this.diveRoot || this.topLevel[0].id)
},
statusById (id) {
return this.statusMap[id]
},
parentOf (id) {
const status = this.statusById(id)
if (!status) {
return undefined
}
const { in_reply_to_status_id: parentId } = status
if (!this.statusMap[parentId]) {
return undefined
}
return parentId
},
parentOrSelf (id) {
return this.parentOf(id) || id
},
// Ancestors of some status, from top to bottom
ancestorsOf (id) {
const ancestors = []
let cur = this.parentOf(id)
while (cur) {
ancestors.unshift(this.statusMap[cur])
cur = this.parentOf(cur)
}
return ancestors
},
topLevelAncestorOrSelfId (id) {
let cur = id
let parent = this.parentOf(id)
while (parent) {
cur = this.parentOf(cur)
parent = this.parentOf(parent)
}
return cur
},
resetDisplayState () {
this.undive()
this.threadDisplayStatusObject = {}
} }
} }
} }

View file

@ -1,26 +1,274 @@
<template> <template>
<div class="timeline panel panel-default"> <div
<div class="panel-heading conversation-heading"> v-if="!hideStatus"
:style="hiddenStyle"
class="Conversation"
:class="{ '-expanded' : isExpanded, 'panel' : isExpanded }"
>
<div
v-if="isExpanded"
class="panel-heading conversation-heading"
>
<span class="title"> {{ $t('timeline.conversation') }} </span> <span class="title"> {{ $t('timeline.conversation') }} </span>
<span v-if="collapsable"> <button
<a href="#" @click.prevent="$emit('toggleExpanded')">{{ $t('timeline.collapse') }}</a> v-if="collapsable"
</span> class="button-unstyled -link"
@click.prevent="toggleExpanded"
>
{{ $t('timeline.collapse') }}
</button>
</div> </div>
<div class="panel-body"> <div class="conversation-body panel-body">
<div class="timeline"> <div
v-if="isTreeView"
class="thread-body"
>
<div
v-if="shouldShowAllConversationButton"
class="conversation-dive-to-top-level-box"
>
<i18n-t
keypath="status.show_all_conversation_with_icon"
tag="button"
class="button-unstyled -link"
@click.prevent="diveToTopLevel"
scope="global"
>
<template #icon>
<FAIcon
icon="angle-double-left"
/>
</template>
<template #text>
<span>
{{ $tc('status.show_all_conversation', otherTopLevelCount, { numStatus: otherTopLevelCount }) }}
</span>
</template>
</i18n-t>
</div>
<div
v-if="shouldShowAncestors"
class="thread-ancestors"
>
<div
v-for="status in ancestorsOf(diveRoot)"
:key="status.id"
class="thread-ancestor"
:class="{'thread-ancestor-has-other-replies': getReplies(status.id).length > 1, '-faded': shouldFadeAncestors}"
>
<status
ref="statusComponent"
:inline-expanded="collapsable && isExpanded"
:statusoid="status"
:expandable="!isExpanded"
:show-pinned="pinnedStatusIdsObject && pinnedStatusIdsObject[status.id]"
:focused="focused(status.id)"
:in-conversation="isExpanded"
:highlight="getHighlight()"
:replies="getReplies(status.id)"
:in-profile="inProfile"
:profile-user-id="profileUserId"
class="conversation-status status-fadein panel-body"
:simple-tree="treeViewIsSimple"
:toggle-thread-display="toggleThreadDisplay"
:thread-display-status="threadDisplayStatus"
:show-thread-recursively="showThreadRecursively"
:total-reply-count="totalReplyCount"
:total-reply-depth="totalReplyDepth"
:show-other-replies-as-button="showOtherRepliesButtonInsideStatus"
:dive="() => diveIntoStatus(status.id)"
:controlled-showing-tall="statusContentProperties[status.id].showingTall"
:controlled-expanding-subject="statusContentProperties[status.id].expandingSubject"
:controlled-showing-long-subject="statusContentProperties[status.id].showingLongSubject"
:controlled-replying="statusContentProperties[status.id].replying"
:controlled-media-playing="statusContentProperties[status.id].mediaPlaying"
:controlled-toggle-showing-tall="() => toggleStatusContentProperty(status.id, 'showingTall')"
:controlled-toggle-expanding-subject="() => toggleStatusContentProperty(status.id, 'expandingSubject')"
:controlled-toggle-showing-long-subject="() => toggleStatusContentProperty(status.id, 'showingLongSubject')"
:controlled-toggle-replying="() => toggleStatusContentProperty(status.id, 'replying')"
:controlled-set-media-playing="(newVal) => toggleStatusContentProperty(status.id, 'mediaPlaying', newVal)"
@goto="setHighlight"
@toggleExpanded="toggleExpanded"
/>
<div
v-if="showOtherRepliesButtonBelowStatus && getReplies(status.id).length > 1"
class="thread-ancestor-dive-box"
>
<div
class="thread-ancestor-dive-box-inner"
>
<i18n-t
tag="button"
scope="global"
keypath="status.ancestor_follow_with_icon"
class="button-unstyled -link thread-tree-show-replies-button"
@click.prevent="diveIntoStatus(status.id)"
>
<template #icon>
<FAIcon
icon="angle-double-right"
/>
</template>
<template #text>
<span>
{{ $tc('status.ancestor_follow', getReplies(status.id).length - 1, { numReplies: getReplies(status.id).length - 1 }) }}
</span>
</template>
</i18n-t>
</div>
</div>
</div>
</div>
<thread-tree
v-for="status in showingTopLevel"
:key="status.id"
ref="statusComponent"
:depth="0"
:status="status"
:in-profile="inProfile"
:conversation="conversation"
:collapsable="collapsable"
:is-expanded="isExpanded"
:pinned-status-ids-object="pinnedStatusIdsObject"
:profile-user-id="profileUserId"
:focused="focused"
:get-replies="getReplies"
:highlight="maybeHighlight"
:set-highlight="setHighlight"
:toggle-expanded="toggleExpanded"
:simple="treeViewIsSimple"
:toggle-thread-display="toggleThreadDisplay"
:thread-display-status="threadDisplayStatus"
:show-thread-recursively="showThreadRecursively"
:total-reply-count="totalReplyCount"
:total-reply-depth="totalReplyDepth"
:status-content-properties="statusContentProperties"
:set-status-content-property="setStatusContentProperty"
:toggle-status-content-property="toggleStatusContentProperty"
:dive="canDive ? diveIntoStatus : undefined"
/>
</div>
<div
v-if="isLinearView"
class="thread-body"
>
<status <status
v-for="status in conversation" v-for="status in conversation"
@goto="setHighlight" :key="status.id" :key="status.id"
:inlineExpanded="collapsable" :statusoid="status" ref="statusComponent"
:expandable='false' :focused="focused(status.id)" :inline-expanded="collapsable && isExpanded"
:inConversation='true' :statusoid="status"
:highlight="highlight" :expandable="!isExpanded"
:show-pinned="pinnedStatusIdsObject && pinnedStatusIdsObject[status.id]"
:focused="focused(status.id)"
:in-conversation="isExpanded"
:highlight="getHighlight()"
:replies="getReplies(status.id)" :replies="getReplies(status.id)"
class="status-fadein"> :in-profile="inProfile"
</status> :profile-user-id="profileUserId"
class="conversation-status status-fadein panel-body"
:toggle-thread-display="toggleThreadDisplay"
:thread-display-status="threadDisplayStatus"
:show-thread-recursively="showThreadRecursively"
:total-reply-count="totalReplyCount"
:total-reply-depth="totalReplyDepth"
:status-content-properties="statusContentProperties"
:set-status-content-property="setStatusContentProperty"
:toggle-status-content-property="toggleStatusContentProperty"
@goto="setHighlight"
@toggleExpanded="toggleExpanded"
/>
</div> </div>
</div> </div>
</div> </div>
<div
v-else
:style="hiddenStyle"
/>
</template> </template>
<script src="./conversation.js"></script> <script src="./conversation.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.Conversation {
.conversation-dive-to-top-level-box {
padding: var(--status-margin, $status-margin);
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: var(--border, $fallback--border);
border-radius: 0;
/* Make the button stretch along the whole row */
display: flex;
align-items: stretch;
flex-direction: column;
}
.thread-ancestors {
margin-left: var(--status-margin, $status-margin);
border-left: 2px solid var(--border, $fallback--border);
}
.thread-ancestor.-faded .StatusContent {
--link: var(--faintLink);
--text: var(--faint);
color: var(--text);
}
.thread-ancestor-dive-box {
padding-left: var(--status-margin, $status-margin);
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: var(--border, $fallback--border);
border-radius: 0;
/* Make the button stretch along the whole row */
&, &-inner {
display: flex;
align-items: stretch;
flex-direction: column;
}
}
.thread-ancestor-dive-box-inner {
padding: var(--status-margin, $status-margin);
}
.conversation-status {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: var(--border, $fallback--border);
border-radius: 0;
}
.thread-ancestor-has-other-replies .conversation-status,
.thread-ancestor:last-child .conversation-status,
.thread-ancestor:last-child .thread-ancestor-dive-box,
&.-expanded .thread-tree .conversation-status {
border-bottom: none;
}
.thread-ancestors + .thread-tree > .conversation-status {
border-top-width: 1px;
border-top-style: solid;
border-top-color: var(--border, $fallback--border);
}
/* expanded conversation in timeline */
&.status-fadein.-expanded .thread-body {
border-left-width: 4px;
border-left-style: solid;
border-left-color: $fallback--cRed;
border-left-color: var(--cRed, $fallback--cRed);
border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);
border-bottom: 1px solid var(--border, $fallback--border);
}
}
</style>

View file

@ -1,17 +0,0 @@
const DeleteButton = {
props: [ 'status' ],
methods: {
deleteStatus () {
const confirmed = window.confirm('Do you really want to delete this status?')
if (confirmed) {
this.$store.dispatch('deleteStatus', { id: this.status.id })
}
}
},
computed: {
currentUser () { return this.$store.state.users.currentUser },
canDelete () { return this.currentUser && this.currentUser.rights.delete_others_notice || this.status.user.id === this.currentUser.id }
}
}
export default DeleteButton

View file

@ -1,21 +0,0 @@
<template>
<div v-if="canDelete">
<a href="#" v-on:click.prevent="deleteStatus()">
<i class='button-icon icon-cancel delete-status'></i>
</a>
</div>
</template>
<script src="./delete_button.js" ></script>
<style lang="scss">
@import '../../_variables.scss';
.icon-cancel,.delete-status {
cursor: pointer;
&:hover {
color: $fallback--cRed;
color: var(--cRed, $fallback--cRed);
}
}
</style>

View file

@ -0,0 +1,89 @@
import SearchBar from 'components/search_bar/search_bar.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faSignInAlt,
faSignOutAlt,
faHome,
faComments,
faBell,
faUserPlus,
faBullhorn,
faSearch,
faTachometerAlt,
faCog,
faInfoCircle
} from '@fortawesome/free-solid-svg-icons'
library.add(
faSignInAlt,
faSignOutAlt,
faHome,
faComments,
faBell,
faUserPlus,
faBullhorn,
faSearch,
faTachometerAlt,
faCog,
faInfoCircle
)
export default {
components: {
SearchBar
},
data: () => ({
searchBarHidden: true,
supportsMask: window.CSS && window.CSS.supports && (
window.CSS.supports('mask-size', 'contain') ||
window.CSS.supports('-webkit-mask-size', 'contain') ||
window.CSS.supports('-moz-mask-size', 'contain') ||
window.CSS.supports('-ms-mask-size', 'contain') ||
window.CSS.supports('-o-mask-size', 'contain')
)
}),
computed: {
enableMask () { return this.supportsMask && this.$store.state.instance.logoMask },
logoStyle () {
return {
'visibility': this.enableMask ? 'hidden' : 'visible'
}
},
logoMaskStyle () {
return this.enableMask ? {
'mask-image': `url(${this.$store.state.instance.logo})`
} : {
'background-color': this.enableMask ? '' : 'transparent'
}
},
logoBgStyle () {
return Object.assign({
'margin': `${this.$store.state.instance.logoMargin} 0`,
opacity: this.searchBarHidden ? 1 : 0
}, this.enableMask ? {} : {
'background-color': this.enableMask ? '' : 'transparent'
})
},
logo () { return this.$store.state.instance.logo },
sitename () { return this.$store.state.instance.name },
hideSitename () { return this.$store.state.instance.hideSitename },
logoLeft () { return this.$store.state.instance.logoLeft },
currentUser () { return this.$store.state.users.currentUser },
privateMode () { return this.$store.state.instance.private }
},
methods: {
scrollToTop () {
window.scrollTo(0, 0)
},
logout () {
this.$router.replace('/main/public')
this.$store.dispatch('logout')
},
onSearchBarToggled (hidden) {
this.searchBarHidden = hidden
},
openSettingsModal () {
this.$store.dispatch('openSettingsModal')
}
}
}

View file

@ -0,0 +1,117 @@
@import '../../_variables.scss';
.DesktopNav {
height: 50px;
width: 100%;
position: fixed;
a {
color: var(--topBarLink, $fallback--link);
}
.inner-nav {
display: grid;
grid-template-rows: 50px;
grid-template-columns: 2fr auto 2fr;
grid-template-areas: "sitename logo actions";
box-sizing: border-box;
padding: 0 1.2em;
margin: auto;
max-width: 980px;
}
&.-logoLeft {
grid-template-columns: auto 2fr 2fr;
grid-template-areas: "logo sitename actions";
}
.button-default {
&, svg {
color: $fallback--text;
color: var(--btnTopBarText, $fallback--text);
}
&:active {
background-color: $fallback--fg;
background-color: var(--btnPressedTopBar, $fallback--fg);
color: $fallback--text;
color: var(--btnPressedTopBarText, $fallback--text);
}
&:disabled {
color: $fallback--text;
color: var(--btnDisabledTopBarText, $fallback--text);
}
&.toggled {
color: $fallback--text;
color: var(--btnToggledTopBarText, $fallback--text);
background-color: $fallback--fg;
background-color: var(--btnToggledTopBar, $fallback--fg)
}
}
.logo {
grid-area: logo;
position: relative;
transition: opacity;
transition-timing-function: ease-out;
transition-duration: 100ms;
@media all and (min-width: 800px) {
opacity: 1 !important;
}
.mask {
mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
background-color: $fallback--fg;
background-color: var(--topBarText, $fallback--fg);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
img {
display: inline-block;
height: 50px;
}
}
.nav-icon {
margin-left: 0.2em;
width: 2em;
height: 100%;
text-align: center;
.svg-inline--fa {
color: $fallback--link;
color: var(--topBarLink, $fallback--link);
}
}
.sitename {
grid-area: sitename;
}
.actions {
grid-area: actions;
}
.item {
flex: 1;
line-height: 50px;
height: 50px;
overflow: hidden;
display: flex;
flex-wrap: wrap;
&.right {
justify-content: flex-end;
text-align: right;
}
}
}

View file

@ -0,0 +1,82 @@
<template>
<nav
id="nav"
class="DesktopNav"
:class="{ '-logoLeft': logoLeft }"
@click="scrollToTop()"
>
<div class="inner-nav">
<div class="item sitename">
<router-link
v-if="!hideSitename"
class="site-name"
:to="{ name: 'root' }"
active-class="home"
>
{{ sitename }}
</router-link>
</div>
<router-link
class="logo"
:to="{ name: 'root' }"
:style="logoBgStyle"
>
<div
class="mask"
:style="logoMaskStyle"
/>
<img
:src="logo"
:style="logoStyle"
>
</router-link>
<div class="item right actions">
<search-bar
v-if="currentUser || !privateMode"
@toggled="onSearchBarToggled"
@click.stop
/>
<button
class="button-unstyled nav-icon"
@click.stop="openSettingsModal"
>
<FAIcon
fixed-width
class="fa-scale-110 fa-old-padding"
icon="cog"
:title="$t('nav.preferences')"
/>
</button>
<a
v-if="currentUser && currentUser.role === 'admin'"
href="/pleroma/admin/#/login-pleroma"
class="nav-icon"
target="_blank"
@click.stop
>
<FAIcon
fixed-width
class="fa-scale-110 fa-old-padding"
icon="tachometer-alt"
:title="$t('nav.administration')"
/>
</a>
<button
v-if="currentUser"
class="button-unstyled nav-icon"
@click.prevent="logout"
>
<FAIcon
fixed-width
class="fa-scale-110 fa-old-padding"
icon="sign-out-alt"
:title="$t('login.logout')"
/>
</button>
</div>
</div>
</nav>
</template>
<script src="./desktop_nav.js"></script>
<style src="./desktop_nav.scss" lang="scss"></style>

View file

@ -0,0 +1,14 @@
const DialogModal = {
props: {
darkOverlay: {
default: true,
type: Boolean
},
onCancel: {
default: () => {},
type: Function
}
}
}
export default DialogModal

View file

@ -0,0 +1,100 @@
<template>
<span
:class="{ 'dark-overlay': darkOverlay }"
@click.self.stop="onCancel()"
>
<div
class="dialog-modal panel panel-default"
@click.stop=""
>
<div class="panel-heading dialog-modal-heading">
<div class="title">
<slot name="header" />
</div>
</div>
<div class="dialog-modal-content">
<slot name="default" />
</div>
<div class="dialog-modal-footer user-interactions panel-footer">
<slot name="footer" />
</div>
</div>
</span>
</template>
<script src="./dialog_modal.js"></script>
<style lang="scss">
@import '../../_variables.scss';
// TODO: unify with other modals.
.dark-overlay {
&::before {
bottom: 0;
content: " ";
display: block;
cursor: default;
left: 0;
position: fixed;
right: 0;
top: 0;
background: rgba(27,31,35,.5);
z-index: 99;
}
}
.dialog-modal.panel {
top: 0;
left: 50%;
max-height: 80vh;
max-width: 90vw;
margin: 15vh auto;
position: fixed;
transform: translateX(-50%);
z-index: 999;
cursor: default;
display: block;
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg);
.dialog-modal-heading {
padding: .5em .5em;
margin-right: auto;
margin-bottom: 0;
white-space: nowrap;
color: var(--panelText);
background-color: $fallback--fg;
background-color: var(--panel, $fallback--fg);
.title {
margin-bottom: 0;
text-align: center;
}
}
.dialog-modal-content {
margin: 0;
padding: 1rem 1rem;
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg);
white-space: normal;
}
.dialog-modal-footer {
margin: 0;
padding: .5em .5em;
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg);
border-top: 1px solid $fallback--border;
border-top: 1px solid var(--border, $fallback--border);
display: flex;
justify-content: flex-end;
button {
width: auto;
margin-left: .5rem;
}
}
}
</style>

View file

@ -1,5 +1,9 @@
<template> <template>
<Timeline :title="$t('nav.dms')" v-bind:timeline="timeline" v-bind:timeline-name="'dms'"/> <Timeline
:title="$t('nav.dms')"
:timeline="timeline"
:timeline-name="'dms'"
/>
</template> </template>
<script src="./dm_timeline.js"></script> <script src="./dm_timeline.js"></script>

View file

@ -0,0 +1,26 @@
import ProgressButton from '../progress_button/progress_button.vue'
const DomainMuteCard = {
props: ['domain'],
components: {
ProgressButton
},
computed: {
user () {
return this.$store.state.users.currentUser
},
muted () {
return this.user.domainMutes.includes(this.domain)
}
},
methods: {
unmuteDomain () {
return this.$store.dispatch('unmuteDomain', this.domain)
},
muteDomain () {
return this.$store.dispatch('muteDomain', this.domain)
}
}
}
export default DomainMuteCard

View file

@ -0,0 +1,53 @@
<template>
<div class="domain-mute-card">
<div class="domain-mute-card-domain">
{{ domain }}
</div>
<ProgressButton
v-if="muted"
:click="unmuteDomain"
class="btn button-default"
>
{{ $t('domain_mute_card.unmute') }}
<template v-slot:progress>
{{ $t('domain_mute_card.unmute_progress') }}
</template>
</ProgressButton>
<ProgressButton
v-else
:click="muteDomain"
class="btn button-default"
>
{{ $t('domain_mute_card.mute') }}
<template v-slot:progress>
{{ $t('domain_mute_card.mute_progress') }}
</template>
</ProgressButton>
</div>
</template>
<script src="./domain_mute_card.js"></script>
<style lang="scss">
.domain-mute-card {
flex: 1 0;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.6em 1em 0.6em 0;
&-domain {
margin-right: 1em;
overflow: hidden;
text-overflow: ellipsis;
}
button {
width: 10em;
}
.autosuggest-results & {
padding-left: 1em;
}
}
</style>

View file

@ -0,0 +1,509 @@
import Completion from '../../services/completion/completion.js'
import EmojiPicker from '../emoji_picker/emoji_picker.vue'
import { take } from 'lodash'
import { findOffset } from '../../services/offset_finder/offset_finder.service.js'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faSmileBeam
} from '@fortawesome/free-regular-svg-icons'
library.add(
faSmileBeam
)
/**
* EmojiInput - augmented inputs for emoji and autocomplete support in inputs
* without having to give up the comfort of <input/> and <textarea/> elements
*
* Intended usage is:
* <EmojiInput v-model="something">
* <input v-model="something"/>
* </EmojiInput>
*
* Works only with <input> and <textarea>. Intended to use with only one nested
* input. It will find first input or textarea and work with that, multiple
* nested children not tested. You HAVE TO duplicate v-model for both
* <emoji-input> and <input>/<textarea> otherwise it will not work.
*
* Be prepared for CSS troubles though because it still wraps component in a div
* while TRYING to make it look like nothing happened, but it could break stuff.
*/
const EmojiInput = {
emits: ['update:modelValue', 'shown'],
props: {
suggest: {
/**
* suggest: function (input: String) => Suggestion[]
*
* Function that takes input string which takes string (textAtCaret)
* and returns an array of Suggestions
*
* Suggestion is an object containing following properties:
* displayText: string. Main display text, what actual suggestion
* represents (user's screen name/emoji shortcode)
* replacement: string. Text that should replace the textAtCaret
* detailText: string, optional. Subtitle text, providing additional info
* if present (user's nickname)
* imageUrl: string, optional. Image to display alongside with suggestion,
* currently if no image is provided, replacement will be used (for
* unicode emojis)
*
* TODO: make it asynchronous when adding proper server-provided user
* suggestions
*
* For commonly used suggestors (emoji, users, both) use suggestor.js
*/
required: true,
type: Function
},
modelValue: {
/**
* Used for v-model
*/
required: true,
type: String
},
enableEmojiPicker: {
/**
* Enables emoji picker support, this implies that custom emoji are supported
*/
required: false,
type: Boolean,
default: false
},
hideEmojiButton: {
/**
* intended to use with external picker trigger, i.e. you have a button outside
* input that will open up the picker, see triggerShowPicker()
*/
required: false,
type: Boolean,
default: false
},
enableStickerPicker: {
/**
* Enables sticker picker support, only makes sense when enableEmojiPicker=true
*/
required: false,
type: Boolean,
default: false
},
placement: {
/**
* Forces the panel to take a specific position relative to the input element.
* The 'auto' placement chooses either bottom or top depending on which has the available space (when both have available space, bottom is preferred).
*/
required: false,
type: String, // 'auto', 'top', 'bottom'
default: 'auto'
},
newlineOnCtrlEnter: {
required: false,
type: Boolean,
default: false
}
},
data () {
return {
input: undefined,
highlighted: 0,
caret: 0,
focused: false,
blurTimeout: null,
showPicker: false,
temporarilyHideSuggestions: false,
keepOpen: false,
disableClickOutside: false,
suggestions: []
}
},
components: {
EmojiPicker
},
computed: {
padEmoji () {
return this.$store.getters.mergedConfig.padEmoji
},
showSuggestions () {
return this.focused &&
this.suggestions &&
this.suggestions.length > 0 &&
!this.showPicker &&
!this.temporarilyHideSuggestions
},
textAtCaret () {
return (this.wordAtCaret || {}).word || ''
},
wordAtCaret () {
if (this.modelValue && this.caret) {
const word = Completion.wordAtPosition(this.modelValue, this.caret - 1) || {}
return word
}
}
},
mounted () {
const { root } = this.$refs
const input = root.querySelector('.emoji-input > input') || root.querySelector('.emoji-input > textarea')
if (!input) return
this.input = input
this.resize()
input.addEventListener('blur', this.onBlur)
input.addEventListener('focus', this.onFocus)
input.addEventListener('paste', this.onPaste)
input.addEventListener('keyup', this.onKeyUp)
input.addEventListener('keydown', this.onKeyDown)
input.addEventListener('click', this.onClickInput)
input.addEventListener('transitionend', this.onTransition)
input.addEventListener('input', this.onInput)
},
unmounted () {
const { input } = this
if (input) {
input.removeEventListener('blur', this.onBlur)
input.removeEventListener('focus', this.onFocus)
input.removeEventListener('paste', this.onPaste)
input.removeEventListener('keyup', this.onKeyUp)
input.removeEventListener('keydown', this.onKeyDown)
input.removeEventListener('click', this.onClickInput)
input.removeEventListener('transitionend', this.onTransition)
input.removeEventListener('input', this.onInput)
}
},
watch: {
showSuggestions: function (newValue) {
this.$emit('shown', newValue)
},
textAtCaret: async function (newWord) {
const firstchar = newWord.charAt(0)
this.suggestions = []
if (newWord === firstchar) return
const matchedSuggestions = await this.suggest(newWord)
// Async: cancel if textAtCaret has changed during wait
if (this.textAtCaret !== newWord) return
if (matchedSuggestions.length <= 0) return
this.suggestions = take(matchedSuggestions, 5)
.map(({ imageUrl, ...rest }) => ({
...rest,
img: imageUrl || ''
}))
},
suggestions: {
handler (newValue) {
this.$nextTick(this.resize)
},
deep: true
}
},
methods: {
focusPickerInput () {
const pickerEl = this.$refs.picker.$el
if (!pickerEl) return
const pickerInput = pickerEl.querySelector('input')
if (pickerInput) pickerInput.focus()
},
triggerShowPicker () {
this.showPicker = true
this.$refs.picker.startEmojiLoad()
this.$nextTick(() => {
this.scrollIntoView()
this.focusPickerInput()
})
// This temporarily disables "click outside" handler
// since external trigger also means click originates
// from outside, thus preventing picker from opening
this.disableClickOutside = true
setTimeout(() => {
this.disableClickOutside = false
}, 0)
},
togglePicker () {
this.input.focus()
this.showPicker = !this.showPicker
if (this.showPicker) {
this.scrollIntoView()
this.$refs.picker.startEmojiLoad()
this.$nextTick(this.focusPickerInput)
}
},
replace (replacement) {
const newValue = Completion.replaceWord(this.modelValue, this.wordAtCaret, replacement)
this.$emit('update:modelValue', newValue)
this.caret = 0
},
insert ({ insertion, keepOpen, surroundingSpace = true }) {
const before = this.modelValue.substring(0, this.caret) || ''
const after = this.modelValue.substring(this.caret) || ''
/* Using a bit more smart approach to padding emojis with spaces:
* - put a space before cursor if there isn't one already, unless we
* are at the beginning of post or in spam mode
* - put a space after emoji if there isn't one already unless we are
* in spam mode
*
* The idea is that when you put a cursor somewhere in between sentence
* inserting just ' :emoji: ' will add more spaces to post which might
* break the flow/spacing, as well as the case where user ends sentence
* with a space before adding emoji.
*
* Spam mode is intended for creating multi-part emojis and overall spamming
* them, masto seem to be rendering :emoji::emoji: correctly now so why not
*/
const isSpaceRegex = /\s/
const spaceBefore = (surroundingSpace && !isSpaceRegex.exec(before.slice(-1)) && before.length && this.padEmoji > 0) ? ' ' : ''
const spaceAfter = (surroundingSpace && !isSpaceRegex.exec(after[0]) && this.padEmoji) ? ' ' : ''
const newValue = [
before,
spaceBefore,
insertion,
spaceAfter,
after
].join('')
this.keepOpen = keepOpen
this.$emit('update:modelValue', newValue)
const position = this.caret + (insertion + spaceAfter + spaceBefore).length
if (!keepOpen) {
this.input.focus()
}
this.$nextTick(function () {
// Re-focus inputbox after clicking suggestion
// Set selection right after the replacement instead of the very end
this.input.setSelectionRange(position, position)
this.caret = position
})
},
replaceText (e, suggestion) {
const len = this.suggestions.length || 0
if (this.textAtCaret.length === 1) { return }
if (len > 0 || suggestion) {
const chosenSuggestion = suggestion || this.suggestions[this.highlighted]
const replacement = chosenSuggestion.replacement
const newValue = Completion.replaceWord(this.modelValue, this.wordAtCaret, replacement)
this.$emit('update:modelValue', newValue)
this.highlighted = 0
const position = this.wordAtCaret.start + replacement.length
this.$nextTick(function () {
// Re-focus inputbox after clicking suggestion
this.input.focus()
// Set selection right after the replacement instead of the very end
this.input.setSelectionRange(position, position)
this.caret = position
})
e.preventDefault()
}
},
cycleBackward (e) {
const len = this.suggestions.length || 0
if (len > 1) {
this.highlighted -= 1
if (this.highlighted < 0) {
this.highlighted = this.suggestions.length - 1
}
e.preventDefault()
} else {
this.highlighted = 0
}
},
cycleForward (e) {
const len = this.suggestions.length || 0
if (len > 1) {
this.highlighted += 1
if (this.highlighted >= len) {
this.highlighted = 0
}
e.preventDefault()
} else {
this.highlighted = 0
}
},
scrollIntoView () {
const rootRef = this.$refs['picker'].$el
/* Scroller is either `window` (replies in TL), sidebar (main post form,
* replies in notifs) or mobile post form. Note that getting and setting
* scroll is different for `Window` and `Element`s
*/
const scrollerRef = this.$el.closest('.sidebar-scroller') ||
this.$el.closest('.post-form-modal-view') ||
window
const currentScroll = scrollerRef === window
? scrollerRef.scrollY
: scrollerRef.scrollTop
const scrollerHeight = scrollerRef === window
? scrollerRef.innerHeight
: scrollerRef.offsetHeight
const scrollerBottomBorder = currentScroll + scrollerHeight
// We check where the bottom border of root element is, this uses findOffset
// to find offset relative to scrollable container (scroller)
const rootBottomBorder = rootRef.offsetHeight + findOffset(rootRef, scrollerRef).top
const bottomDelta = Math.max(0, rootBottomBorder - scrollerBottomBorder)
// could also check top delta but there's no case for it
const targetScroll = currentScroll + bottomDelta
if (scrollerRef === window) {
scrollerRef.scroll(0, targetScroll)
} else {
scrollerRef.scrollTop = targetScroll
}
this.$nextTick(() => {
const { offsetHeight } = this.input
const { picker } = this.$refs
const pickerBottom = picker.$el.getBoundingClientRect().bottom
if (pickerBottom > window.innerHeight) {
picker.$el.style.top = 'auto'
picker.$el.style.bottom = offsetHeight + 'px'
}
})
},
onTransition (e) {
this.resize()
},
onBlur (e) {
// Clicking on any suggestion removes focus from autocomplete,
// preventing click handler ever executing.
this.blurTimeout = setTimeout(() => {
this.focused = false
this.setCaret(e)
this.resize()
}, 200)
},
onClick (e, suggestion) {
this.replaceText(e, suggestion)
},
onFocus (e) {
if (this.blurTimeout) {
clearTimeout(this.blurTimeout)
this.blurTimeout = null
}
if (!this.keepOpen) {
this.showPicker = false
}
this.focused = true
this.setCaret(e)
this.resize()
this.temporarilyHideSuggestions = false
},
onKeyUp (e) {
const { key } = e
this.setCaret(e)
this.resize()
// Setting hider in keyUp to prevent suggestions from blinking
// when moving away from suggested spot
if (key === 'Escape') {
this.temporarilyHideSuggestions = true
} else {
this.temporarilyHideSuggestions = false
}
},
onPaste (e) {
this.setCaret(e)
this.resize()
},
onKeyDown (e) {
const { ctrlKey, shiftKey, key } = e
if (this.newlineOnCtrlEnter && ctrlKey && key === 'Enter') {
this.insert({ insertion: '\n', surroundingSpace: false })
// Ensure only one new line is added on macos
e.stopPropagation()
e.preventDefault()
// Scroll the input element to the position of the cursor
this.$nextTick(() => {
this.input.blur()
this.input.focus()
})
}
// Disable suggestions hotkeys if suggestions are hidden
if (!this.temporarilyHideSuggestions) {
if (key === 'Tab') {
if (shiftKey) {
this.cycleBackward(e)
} else {
this.cycleForward(e)
}
}
if (key === 'ArrowUp') {
this.cycleBackward(e)
} else if (key === 'ArrowDown') {
this.cycleForward(e)
}
if (key === 'Enter') {
if (!ctrlKey) {
this.replaceText(e)
}
}
}
// Probably add optional keyboard controls for emoji picker?
// Escape hides suggestions, if suggestions are hidden it
// de-focuses the element (i.e. default browser behavior)
if (key === 'Escape') {
if (!this.temporarilyHideSuggestions) {
this.input.focus()
}
}
this.showPicker = false
this.resize()
},
onInput (e) {
this.showPicker = false
this.setCaret(e)
this.resize()
this.$emit('update:modelValue', e.target.value)
},
onClickInput (e) {
this.showPicker = false
},
onClickOutside (e) {
if (this.disableClickOutside) return
this.showPicker = false
},
onStickerUploaded (e) {
this.showPicker = false
this.$emit('sticker-uploaded', e)
},
onStickerUploadFailed (e) {
this.showPicker = false
this.$emit('sticker-upload-Failed', e)
},
setCaret ({ target: { selectionStart } }) {
this.caret = selectionStart
},
resize () {
const panel = this.$refs.panel
if (!panel) return
const picker = this.$refs.picker.$el
const panelBody = this.$refs['panel-body']
const { offsetHeight, offsetTop } = this.input
const offsetBottom = offsetTop + offsetHeight
this.setPlacement(panelBody, panel, offsetBottom)
this.setPlacement(picker, picker, offsetBottom)
},
setPlacement (container, target, offsetBottom) {
if (!container || !target) return
target.style.top = offsetBottom + 'px'
target.style.bottom = 'auto'
if (this.placement === 'top' || (this.placement === 'auto' && this.overflowsBottom(container))) {
target.style.top = 'auto'
target.style.bottom = this.input.offsetHeight + 'px'
}
},
overflowsBottom (el) {
return el.getBoundingClientRect().bottom > window.innerHeight
}
}
}
export default EmojiInput

View file

@ -0,0 +1,185 @@
<template>
<div
ref="root"
v-click-outside="onClickOutside"
class="emoji-input"
:class="{ 'with-picker': !hideEmojiButton }"
>
<slot />
<template v-if="enableEmojiPicker">
<button
v-if="!hideEmojiButton"
class="button-unstyled emoji-picker-icon"
type="button"
@click.prevent="togglePicker"
>
<FAIcon :icon="['far', 'smile-beam']" />
</button>
<EmojiPicker
v-if="enableEmojiPicker"
ref="picker"
:class="{ hide: !showPicker }"
:enable-sticker-picker="enableStickerPicker"
class="emoji-picker-panel"
@emoji="insert"
@sticker-uploaded="onStickerUploaded"
@sticker-upload-failed="onStickerUploadFailed"
/>
</template>
<div
ref="panel"
class="autocomplete-panel"
:class="{ hide: !showSuggestions }"
>
<div
ref="panel-body"
class="autocomplete-panel-body"
>
<div
v-for="(suggestion, index) in suggestions"
:key="index"
class="autocomplete-item"
:class="{ highlighted: index === highlighted }"
@click.stop.prevent="onClick($event, suggestion)"
>
<span class="image">
<img
v-if="suggestion.img"
:src="suggestion.img"
>
<span v-else>{{ suggestion.replacement }}</span>
</span>
<div class="label">
<span class="displayText">{{ suggestion.displayText }}</span>
<span class="detailText">{{ suggestion.detailText }}</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script src="./emoji_input.js"></script>
<style lang="scss">
@import '../../_variables.scss';
.emoji-input {
display: flex;
flex-direction: column;
position: relative;
&.with-picker input {
padding-right: 30px;
}
.emoji-picker-icon {
position: absolute;
top: 0;
right: 0;
margin: .2em .25em;
font-size: 16px;
cursor: pointer;
line-height: 24px;
&:hover i {
color: $fallback--text;
color: var(--text, $fallback--text);
}
}
.emoji-picker-panel {
position: absolute;
z-index: 20;
margin-top: 2px;
&.hide {
display: none
}
}
.autocomplete {
&-panel {
position: absolute;
z-index: 20;
margin-top: 2px;
&.hide {
display: none
}
&-body {
margin: 0 0.5em 0 0.5em;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.5);
box-shadow: var(--popupShadow);
min-width: 75%;
background-color: $fallback--bg;
background-color: var(--popover, $fallback--bg);
color: $fallback--link;
color: var(--popoverText, $fallback--link);
--faint: var(--popoverFaintText, $fallback--faint);
--faintLink: var(--popoverFaintLink, $fallback--faint);
--lightText: var(--popoverLightText, $fallback--lightText);
--postLink: var(--popoverPostLink, $fallback--link);
--postFaintLink: var(--popoverPostFaintLink, $fallback--link);
--icon: var(--popoverIcon, $fallback--icon);
}
}
&-item {
display: flex;
cursor: pointer;
padding: 0.2em 0.4em;
border-bottom: 1px solid rgba(0, 0, 0, 0.4);
height: 32px;
.image {
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
font-size: 32px;
margin-right: 4px;
img {
width: 32px;
height: 32px;
object-fit: contain;
}
}
.label {
display: flex;
flex-direction: column;
justify-content: center;
margin: 0 0.1em 0 0.2em;
.displayText {
line-height: 1.5;
}
.detailText {
font-size: 9px;
line-height: 9px;
}
}
&.highlighted {
background-color: $fallback--fg;
background-color: var(--selectedMenuPopover, $fallback--fg);
color: var(--selectedMenuPopoverText, $fallback--text);
--faint: var(--selectedMenuPopoverFaintText, $fallback--faint);
--faintLink: var(--selectedMenuPopoverFaintLink, $fallback--faint);
--lightText: var(--selectedMenuPopoverLightText, $fallback--lightText);
--icon: var(--selectedMenuPopoverIcon, $fallback--icon);
}
}
}
input, textarea {
flex: 1 0 auto;
}
}
</style>

View file

@ -0,0 +1,130 @@
/**
* suggest - generates a suggestor function to be used by emoji-input
* data: object providing source information for specific types of suggestions:
* data.emoji - optional, an array of all emoji available i.e.
* (state.instance.emoji + state.instance.customEmoji)
* data.users - optional, an array of all known users
* updateUsersList - optional, a function to search and append to users
*
* Depending on data present one or both (or none) can be present, so if field
* doesn't support user linking you can just provide only emoji.
*/
export default data => {
const emojiCurry = suggestEmoji(data.emoji)
const usersCurry = data.store && suggestUsers(data.store)
return input => {
const firstChar = input[0]
if (firstChar === ':' && data.emoji) {
return emojiCurry(input)
}
if (firstChar === '@' && usersCurry) {
return usersCurry(input)
}
return []
}
}
export const suggestEmoji = emojis => input => {
const noPrefix = input.toLowerCase().substr(1)
return emojis
.filter(({ displayText }) => displayText.toLowerCase().match(noPrefix))
.sort((a, b) => {
let aScore = 0
let bScore = 0
// An exact match always wins
aScore += a.displayText.toLowerCase() === noPrefix ? 200 : 0
bScore += b.displayText.toLowerCase() === noPrefix ? 200 : 0
// Prioritize custom emoji a lot
aScore += a.imageUrl ? 100 : 0
bScore += b.imageUrl ? 100 : 0
// Prioritize prefix matches somewhat
aScore += a.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0
bScore += b.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0
// Sort by length
aScore -= a.displayText.length
bScore -= b.displayText.length
// Break ties alphabetically
const alphabetically = a.displayText > b.displayText ? 0.5 : -0.5
return bScore - aScore + alphabetically
})
}
export const suggestUsers = ({ dispatch, state }) => {
// Keep some persistent values in closure, most importantly for the
// custom debounce to work. Lodash debounce does not return a promise.
let suggestions = []
let previousQuery = ''
let timeout = null
let cancelUserSearch = null
const userSearch = (query) => dispatch('searchUsers', { query })
const debounceUserSearch = (query) => {
cancelUserSearch && cancelUserSearch()
return new Promise((resolve, reject) => {
timeout = setTimeout(() => {
userSearch(query).then(resolve).catch(reject)
}, 300)
cancelUserSearch = () => {
clearTimeout(timeout)
resolve([])
}
})
}
return async input => {
const noPrefix = input.toLowerCase().substr(1)
if (previousQuery === noPrefix) return suggestions
suggestions = []
previousQuery = noPrefix
// Fetch more and wait, don't fetch if there's the 2nd @ because
// the backend user search can't deal with it.
// Reference semantics make it so that we get the updated data after
// the await.
if (!noPrefix.includes('@')) {
await debounceUserSearch(noPrefix)
}
const newSuggestions = state.users.users.filter(
user =>
user.screen_name.toLowerCase().startsWith(noPrefix) ||
user.name.toLowerCase().startsWith(noPrefix)
).slice(0, 20).sort((a, b) => {
let aScore = 0
let bScore = 0
// Matches on screen name (i.e. user@instance) makes a priority
aScore += a.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0
bScore += b.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0
// Matches on name takes second priority
aScore += a.name.toLowerCase().startsWith(noPrefix) ? 1 : 0
bScore += b.name.toLowerCase().startsWith(noPrefix) ? 1 : 0
const diff = (bScore - aScore) * 10
// Then sort alphabetically
const nameAlphabetically = a.name > b.name ? 1 : -1
const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1
return diff + nameAlphabetically + screenNameAlphabetically
/* eslint-disable camelcase */
}).map(({ screen_name, screen_name_ui, name, profile_image_url_original }) => ({
displayText: screen_name_ui,
detailText: name,
imageUrl: profile_image_url_original,
replacement: '@' + screen_name + ' '
}))
/* eslint-enable camelcase */
suggestions = newSuggestions || []
return suggestions
}
}

View file

@ -0,0 +1,213 @@
import { defineAsyncComponent } from 'vue'
import Checkbox from '../checkbox/checkbox.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faBoxOpen,
faStickyNote,
faSmileBeam
} from '@fortawesome/free-solid-svg-icons'
library.add(
faBoxOpen,
faStickyNote,
faSmileBeam
)
// At widest, approximately 20 emoji are visible in a row,
// loading 3 rows, could be overkill for narrow picker
const LOAD_EMOJI_BY = 60
// When to start loading new batch emoji, in pixels
const LOAD_EMOJI_MARGIN = 64
const filterByKeyword = (list, keyword = '') => {
if (keyword === '') return list
const keywordLowercase = keyword.toLowerCase()
let orderedEmojiList = []
for (const emoji of list) {
const indexOfKeyword = emoji.displayText.toLowerCase().indexOf(keywordLowercase)
if (indexOfKeyword > -1) {
if (!Array.isArray(orderedEmojiList[indexOfKeyword])) {
orderedEmojiList[indexOfKeyword] = []
}
orderedEmojiList[indexOfKeyword].push(emoji)
}
}
return orderedEmojiList.flat()
}
const EmojiPicker = {
props: {
enableStickerPicker: {
required: false,
type: Boolean,
default: false
}
},
data () {
return {
keyword: '',
activeGroup: 'custom',
showingStickers: false,
groupsScrolledClass: 'scrolled-top',
keepOpen: false,
customEmojiBufferSlice: LOAD_EMOJI_BY,
customEmojiTimeout: null,
customEmojiLoadAllConfirmed: false
}
},
components: {
StickerPicker: defineAsyncComponent(() => import('../sticker_picker/sticker_picker.vue')),
Checkbox
},
methods: {
onStickerUploaded (e) {
this.$emit('sticker-uploaded', e)
},
onStickerUploadFailed (e) {
this.$emit('sticker-upload-failed', e)
},
onEmoji (emoji) {
const value = emoji.imageUrl ? `:${emoji.displayText}:` : emoji.replacement
this.$emit('emoji', { insertion: value, keepOpen: this.keepOpen })
},
onScroll (e) {
const target = (e && e.target) || this.$refs['emoji-groups']
this.updateScrolledClass(target)
this.scrolledGroup(target)
this.triggerLoadMore(target)
},
highlight (key) {
const ref = this.$refs['group-' + key]
const top = ref.offsetTop
this.setShowStickers(false)
this.activeGroup = key
this.$nextTick(() => {
this.$refs['emoji-groups'].scrollTop = top + 1
})
},
updateScrolledClass (target) {
if (target.scrollTop <= 5) {
this.groupsScrolledClass = 'scrolled-top'
} else if (target.scrollTop >= target.scrollTopMax - 5) {
this.groupsScrolledClass = 'scrolled-bottom'
} else {
this.groupsScrolledClass = 'scrolled-middle'
}
},
triggerLoadMore (target) {
const ref = this.$refs['group-end-custom']
if (!ref) return
const bottom = ref.offsetTop + ref.offsetHeight
const scrollerBottom = target.scrollTop + target.clientHeight
const scrollerTop = target.scrollTop
const scrollerMax = target.scrollHeight
// Loads more emoji when they come into view
const approachingBottom = bottom - scrollerBottom < LOAD_EMOJI_MARGIN
// Always load when at the very top in case there's no scroll space yet
const atTop = scrollerTop < 5
// Don't load when looking at unicode category or at the very bottom
const bottomAboveViewport = bottom < scrollerTop || scrollerBottom === scrollerMax
if (!bottomAboveViewport && (approachingBottom || atTop)) {
this.loadEmoji()
}
},
scrolledGroup (target) {
const top = target.scrollTop + 5
this.$nextTick(() => {
this.emojisView.forEach(group => {
const ref = this.$refs['group-' + group.id]
if (ref.offsetTop <= top) {
this.activeGroup = group.id
}
})
})
},
loadEmoji () {
const allLoaded = this.customEmojiBuffer.length === this.filteredEmoji.length
if (allLoaded) {
return
}
this.customEmojiBufferSlice += LOAD_EMOJI_BY
},
startEmojiLoad (forceUpdate = false) {
if (!forceUpdate) {
this.keyword = ''
}
this.$nextTick(() => {
this.$refs['emoji-groups'].scrollTop = 0
})
const bufferSize = this.customEmojiBuffer.length
const bufferPrefilledAll = bufferSize === this.filteredEmoji.length
if (bufferPrefilledAll && !forceUpdate) {
return
}
this.customEmojiBufferSlice = LOAD_EMOJI_BY
},
toggleStickers () {
this.showingStickers = !this.showingStickers
},
setShowStickers (value) {
this.showingStickers = value
}
},
watch: {
keyword () {
this.customEmojiLoadAllConfirmed = false
this.onScroll()
this.startEmojiLoad(true)
}
},
computed: {
activeGroupView () {
return this.showingStickers ? '' : this.activeGroup
},
stickersAvailable () {
if (this.$store.state.instance.stickers) {
return this.$store.state.instance.stickers.length > 0
}
return 0
},
filteredEmoji () {
return filterByKeyword(
this.$store.state.instance.customEmoji || [],
this.keyword
)
},
customEmojiBuffer () {
return this.filteredEmoji.slice(0, this.customEmojiBufferSlice)
},
emojis () {
const standardEmojis = this.$store.state.instance.emoji || []
const customEmojis = this.customEmojiBuffer
return [
{
id: 'custom',
text: this.$t('emoji.custom'),
icon: 'smile-beam',
emojis: customEmojis
},
{
id: 'standard',
text: this.$t('emoji.unicode'),
icon: 'box-open',
emojis: filterByKeyword(standardEmojis, this.keyword)
}
]
},
emojisView () {
return this.emojis.filter(value => value.emojis.length > 0)
},
stickerPickerEnabled () {
return (this.$store.state.instance.stickers || []).length !== 0
}
}
}
export default EmojiPicker

View file

@ -0,0 +1,184 @@
@import '../../_variables.scss';
.emoji-picker {
display: flex;
flex-direction: column;
position: absolute;
right: 0;
left: 0;
margin: 0 !important;
z-index: 1;
background-color: $fallback--bg;
background-color: var(--popover, $fallback--bg);
color: $fallback--link;
color: var(--popoverText, $fallback--link);
--lightText: var(--popoverLightText, $fallback--faint);
--faint: var(--popoverFaintText, $fallback--faint);
--faintLink: var(--popoverFaintLink, $fallback--faint);
--lightText: var(--popoverLightText, $fallback--lightText);
--icon: var(--popoverIcon, $fallback--icon);
.keep-open,
.too-many-emoji {
padding: 7px;
line-height: normal;
}
.too-many-emoji {
display: flex;
flex-direction: column;
}
.keep-open-label {
padding: 0 7px;
display: flex;
}
.heading {
display: flex;
height: 32px;
padding: 10px 7px 5px;
}
.content {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0px;
}
.emoji-tabs {
flex-grow: 1;
}
.emoji-groups {
min-height: 200px;
}
.additional-tabs {
border-left: 1px solid;
border-left-color: $fallback--icon;
border-left-color: var(--icon, $fallback--icon);
padding-left: 7px;
flex: 0 0 auto;
}
.additional-tabs,
.emoji-tabs {
display: block;
min-width: 0;
flex-basis: auto;
flex-shrink: 1;
&-item {
padding: 0 7px;
cursor: pointer;
font-size: 24px;
&.disabled {
opacity: 0.5;
pointer-events: none;
}
&.active {
border-bottom: 4px solid;
svg {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
}
}
}
}
.sticker-picker {
flex: 1 1 auto
}
.stickers,
.emoji {
&-content {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0;
&.hidden {
opacity: 0;
pointer-events: none;
position: absolute;
}
}
}
.emoji {
&-search {
padding: 5px;
flex: 0 0 auto;
input {
width: 100%;
}
}
&-groups {
flex: 1 1 1px;
position: relative;
overflow: auto;
user-select: none;
mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
linear-gradient(to top, white, white);
transition: mask-size 150ms;
mask-size: 100% 20px, 100% 20px, auto;
// Autoprefixed seem to ignore this one, and also syntax is different
-webkit-mask-composite: xor;
mask-composite: exclude;
&.scrolled {
&-top {
mask-size: 100% 20px, 100% 0, auto;
}
&-bottom {
mask-size: 100% 0, 100% 20px, auto;
}
}
}
&-group {
display: flex;
align-items: center;
flex-wrap: wrap;
padding-left: 5px;
justify-content: left;
&-title {
font-size: 12px;
width: 100%;
margin: 0;
&.disabled {
display: none;
}
}
}
&-item {
width: 32px;
height: 32px;
box-sizing: border-box;
display: flex;
font-size: 32px;
align-items: center;
justify-content: center;
margin: 4px;
cursor: pointer;
img {
object-fit: contain;
max-width: 100%;
max-height: 100%;
}
}
}
}

View file

@ -0,0 +1,105 @@
<template>
<div class="emoji-picker panel panel-default panel-body">
<div class="heading">
<span class="emoji-tabs">
<span
v-for="group in emojis"
:key="group.id"
class="emoji-tabs-item"
:class="{
active: activeGroupView === group.id,
disabled: group.emojis.length === 0
}"
:title="group.text"
@click.prevent="highlight(group.id)"
>
<FAIcon
:icon="group.icon"
fixed-width
/>
</span>
</span>
<span
v-if="stickerPickerEnabled"
class="additional-tabs"
>
<span
class="stickers-tab-icon additional-tabs-item"
:class="{active: showingStickers}"
:title="$t('emoji.stickers')"
@click.prevent="toggleStickers"
>
<FAIcon
icon="sticky-note"
fixed-width
/>
</span>
</span>
</div>
<div class="content">
<div
class="emoji-content"
:class="{hidden: showingStickers}"
>
<div class="emoji-search">
<input
v-model="keyword"
type="text"
class="form-control"
:placeholder="$t('emoji.search_emoji')"
>
</div>
<div
ref="emoji-groups"
class="emoji-groups"
:class="groupsScrolledClass"
@scroll="onScroll"
>
<div
v-for="group in emojisView"
:key="group.id"
class="emoji-group"
>
<h6
:ref="'group-' + group.id"
class="emoji-group-title"
>
{{ group.text }}
</h6>
<span
v-for="emoji in group.emojis"
:key="group.id + emoji.displayText"
:title="emoji.displayText"
class="emoji-item"
@click.stop.prevent="onEmoji(emoji)"
>
<span v-if="!emoji.imageUrl">{{ emoji.replacement }}</span>
<img
v-else
:src="emoji.imageUrl"
>
</span>
<span :ref="'group-end-' + group.id" />
</div>
</div>
<div class="keep-open">
<Checkbox v-model="keepOpen">
{{ $t('emoji.keep_open') }}
</Checkbox>
</div>
</div>
<div
v-if="showingStickers"
class="stickers-content"
>
<sticker-picker
@uploaded="onStickerUploaded"
@upload-failed="onStickerUploadFailed"
/>
</div>
</div>
</div>
</template>
<script src="./emoji_picker.js"></script>
<style lang="scss" src="./emoji_picker.scss"></style>

View file

@ -0,0 +1,69 @@
import UserAvatar from '../user_avatar/user_avatar.vue'
import UserListPopover from '../user_list_popover/user_list_popover.vue'
const EMOJI_REACTION_COUNT_CUTOFF = 12
const EmojiReactions = {
name: 'EmojiReactions',
components: {
UserAvatar,
UserListPopover
},
props: ['status'],
data: () => ({
showAll: false
}),
computed: {
tooManyReactions () {
return this.status.emoji_reactions.length > EMOJI_REACTION_COUNT_CUTOFF
},
emojiReactions () {
return this.showAll
? this.status.emoji_reactions
: this.status.emoji_reactions.slice(0, EMOJI_REACTION_COUNT_CUTOFF)
},
showMoreString () {
return `+${this.status.emoji_reactions.length - EMOJI_REACTION_COUNT_CUTOFF}`
},
accountsForEmoji () {
return this.status.emoji_reactions.reduce((acc, reaction) => {
acc[reaction.name] = reaction.accounts || []
return acc
}, {})
},
loggedIn () {
return !!this.$store.state.users.currentUser
}
},
methods: {
toggleShowAll () {
this.showAll = !this.showAll
},
reactedWith (emoji) {
return this.status.emoji_reactions.find(r => r.name === emoji).me
},
fetchEmojiReactionsByIfMissing () {
const hasNoAccounts = this.status.emoji_reactions.find(r => !r.accounts)
if (hasNoAccounts) {
this.$store.dispatch('fetchEmojiReactionsBy', this.status.id)
}
},
reactWith (emoji) {
this.$store.dispatch('reactWithEmoji', { id: this.status.id, emoji })
},
unreact (emoji) {
this.$store.dispatch('unreactWithEmoji', { id: this.status.id, emoji })
},
emojiOnClick (emoji, event) {
if (!this.loggedIn) return
if (this.reactedWith(emoji)) {
this.unreact(emoji)
} else {
this.reactWith(emoji)
}
}
}
}
export default EmojiReactions

Some files were not shown because too many files have changed in this diff Show more