Commit Graph

204 Commits

Author SHA1 Message Date
Thibaut Girka
e8ae77236b [Glitch] Only consider mouse move in scrolling on item insertion
Port cc1f13dfd0 to glitch-soc
2019-01-10 12:09:12 +01:00
Thibaut Girka
825decbf9e [Glitch] Identify manual scrolling to cancel scroll to top reset on mouse idle
Port 2f86fc5e0a to glitch-soc
2019-01-10 12:09:12 +01:00
Thibaut Girka
19c64a49f7 [Glitch] Cancel list scroll reset after mouse move on wheel scroll
Port 9cfd610484 to glitch-soc
2019-01-10 12:09:12 +01:00
Thibaut Girka
21f27e6579 [Glitch] Temporarily hold timeline if mouse moved recently
Port 6a1216d2cd to glitch-soc
2019-01-10 12:09:12 +01:00
Thibaut Girka
22dedb676b [Glitch] Fix unnecessary loadMore calls when the end of a timeline has been reached
Port 8389b496ba to glitch flavour
2018-12-23 11:40:52 +01:00
Thibaut Girka
1a3088364f Fix composer not getting focus after reply confirmation dialog
The modal-handling code gives back focus to the element focused when the
modal opened. However, in the case of reply confirmation, it would do so
*after* the composer code itself requested focus.
2018-12-21 20:00:49 +01:00
Thibaut Girka
5eaf2c9e02 [Glitch] Back to the getting-started when pins the timeline
Port 5bf100f87b to glitch-soc
2018-12-20 14:51:28 +01:00
Thibaut Girka
9fc7ad7b9c [Glitch] Always display tab navigation on local/federated timeline even when empty
Port 90b64c0069 to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
1e656c3632 [Glitch] Fix “load more” button when no data has been fetched 2018-12-13 15:00:36 +01:00
Thibaut Girka
73ee38f485 [Glitch] Do not display empty message when the list is known to have more elements 2018-12-13 15:00:36 +01:00
Thibaut Girka
39696024ca Minor cleanup in ScrollableList component 2018-12-13 15:00:36 +01:00
Thibaut Girka
7e63fb26e0 Do not hardcode preferences link, pleroma doesn't have it 2018-11-28 22:36:01 +01:00
Thibaut Girka
922d05864f Add error boundary component to catch Web UI crashes 2018-11-28 22:36:01 +01:00
Thibaut Girka
0d3612482e Render placeholder instead of image when MediaGallery container width isn't known 2018-11-25 11:29:56 +01:00
Thibaut Girka
b3ff35a75c Move URLs to backend in their own file 2018-11-19 15:56:38 +01:00
Thibaut Girka
86527024aa In detailed status view, take displayMedia setting into account when changing media
Fixes #819
2018-11-15 16:38:50 +01:00
Thibaut Girka
2fe0cb1623 [Glitch] Prepend account header even when status list is empty
Partially port 90b64c0069
2018-11-13 15:54:04 +01:00
Thibaut Girka
5ebbaffaa3 [Glitch] Use local instead of global loading indicator for timelines, account timelines
Port dd00cd19d2 to glitch-soc
2018-11-13 15:54:04 +01:00
Thibaut Girka
7e18e95716 Add a local setting for inline preview cards 2018-10-30 17:51:06 +01:00
Thibaut Girka
bdc2338833 Add a “link” status icon for toots with a preview card 2018-10-30 17:51:06 +01:00
Thibaut Girka
ac9780b844 [Glitch] Include preview cards in status entity in REST API
Port 795f0107d2 to glitch-soc
2018-10-30 17:51:06 +01:00
Thibaut Girka
0c7f710be1 [Glitch] Surround mid-text display names with bdi tags
Port 7861c5f108 to glitch-soc
2018-10-22 18:57:20 +02:00
Thibaut Girka
dfa5b0576f Update mediaGallery component's width when opening CWs 2018-10-21 16:09:07 +02:00
Thibaut Girka
7cc7843109 Do not scroll timelines when *closing* media modals
Media modals push an history state so that pressing back on mobile closes them.
We made sure to not scroll when opening them, but not when *closing* them,
which caused some issues in rare cases.
2018-10-07 12:08:32 +02:00
Thibaut Girka
a9e8f98a9d Make hidden media clickable in account media gallery 2018-10-02 22:00:57 +02:00
Thibaut Girka
6ad7606909 [Glitch] Add support for new display_media setting
Port f7a6f9489d to glitch-soc

[API] [vanilla required] [glitch-soc optional] initial_state show_sensitive_media boolean changed to show_media string with options "default", "hide_all", "show_all"
2018-10-01 16:48:55 +02:00
Spencer Alves
4e60a0d543 Add option to hide action bar in collapsed toots 2018-09-30 08:31:50 +02:00
David Yip
c065717b67
Merge pull request #681 from ThibG/glitch-soc/fixes/accessibility
Port various accessibility improvements from upstream
2018-09-29 19:01:19 -05:00
Thibaut Girka
925c185ef9 Prevent clicks on video from initiating selections 2018-09-21 12:56:13 +02:00
Thibaut Girka
c3ab2973c5 Improve keyboard VS mouse navigation of dropdown menus 2018-09-13 20:32:08 +02:00
Thibaut Girka
5ff733b614 Only focus first item of dropdown if it was opened via keyboard 2018-09-13 20:32:08 +02:00
Thibaut Girka
d8b2f15b23 Pause video playback if toot is collapsed or CWs folded (fixes #146) 2018-09-05 11:58:56 +02:00
Thibaut Girka
8622dccaf1 Disable focus points for letterboxed media 2018-09-04 13:31:55 +02:00
Thibaut Girka
be644e3b7c Media gallery styling closer to upstream's 2018-09-04 13:31:55 +02:00
Thibaut Girka
8183d2ed55 [Glitch] Do not override ctrl/cmd+click in media gallery 2018-09-04 13:31:55 +02:00
Thibaut Girka
bd437f8077 Add admin links to status and account menus (fixes #673)
If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten
2018-09-03 18:19:11 +02:00
Thibaut Girka
e915bc3e9e Fixes columns scrolling to top when opening media modal
Fixes #700
2018-09-03 14:24:10 +02:00
Thibaut Girka
530da545a5 [Glitch] Give focused status a sensible aria-label for screen readers
Port 248df68c36 to glitch-soc
2018-08-31 19:49:51 +02:00
Thibaut Girka
087dcf720e [Glitch] Fix off-by-one error in aria-posinset
Port 885711afb9 to glitch-soc
2018-08-31 19:49:29 +02:00
Thibaut Girka
d8fbd74c47 [Glitch] Add aria-label to column regions
Port 66dbb59aa1 to glitch-soc
2018-08-31 19:49:29 +02:00
Thibaut Girka
c6942a5283 Add option to not automatically unfold content warnings matching a regexp
Fixes #678
2018-08-31 18:35:03 +02:00
Thibaut Girka
9d2739d74d Add a setting to automatically unfold all content warnings 2018-08-31 18:35:03 +02:00
Thibaut Girka
130bdb5ee8 [Glitch] Show compose form on delete & redraft when in mobile layout
Port 025fbb8285 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
4a9e3f80e8 [Glitch] Add CSS class to replies
Port 2bbec9f4da to glitch-soc
2018-08-28 19:52:47 +02:00
Thibaut Girka
937cd03a9a [Glitch] Add missing video descriptions
Port ac092d03e7 to glitch-soc
2018-08-27 20:21:23 +02:00
Thibaut Girka
fce248810b [Glitch] Update state when opened dropdown is unmounted
Port dcd3544d153dd2a3961bd0d2214ed01a902a66da to glitch-soc
2018-08-23 22:58:14 +02:00
Thibaut Girka
3c49daeb8d Add glitch-soc local setting to display reply counters
Defaults to false.
2018-08-22 20:29:55 +02:00
Thibaut Girka
87ad942d76 [Glitch] Display replies count in web UI
Port 4df9cabb22 to glitch-soc
2018-08-22 20:29:55 +02:00
Thibaut Girka
801919fc9b Add hashtag trendline support to glitch-soc flavour
Port Mastodon's hashtag stats thing to glitch-soc.
This doesn't change how hashtags are ordered, and doesn't add a trending
hashtags section, but it does change how hashtag searches are rendered,
displaying a trend line alongside each hashtag.
2018-08-22 19:27:06 +02:00
Thibaut Girka
acb3d5b7aa Don't prevent opening links in tabs with keyboard modifiers
Ctrl+click usually allows opening a link in a new tab. This
was prevented for hashtag or user links in toots.
2018-08-11 15:29:08 +02:00
Thibaut Girka
d2b3eebe00 [Glitch] Show media modal on public timeline
Port e0b1e17bd0 to glitch-soc
2018-08-01 00:18:42 +02:00
Thibaut Girka
d894cdc93f Port profile redesign to glitch-soc
Port bb71538bb5 to glitch-soc
2018-08-01 00:18:42 +02:00
Thibaut Girka
5d060cb6e4 Allow modals to be closed by pressing “back” 2018-07-30 14:32:02 +02:00
Thibaut Girka
358e3a4c32 Get rid of Collapsable, use CSS instead
Change inspired by 691107263c
2018-07-28 23:25:42 +02:00
Thibaut Girka
0bb1720495 Add client-side custom filter support to glitch-soc
Port cdb101340a to glitch-soc,
but without dropping support for regexp filters yet.
2018-07-10 14:06:04 +02:00
Thibaut Girka
33c1607c83 [Glitch] Fix Chrome issue with sizes="0px" 2018-07-10 10:53:36 +02:00
Thibaut Girka
a01faecfcb [Glitch] Add redraft function
Port bd0791d800 to glitch-soc
2018-06-16 15:09:28 +02:00
David Yip
f8d50a4070
Merge pull request #509 from ThibG/glitch-soc/fixes/router-history-navigation
Use history.state to decide whether we should goBack() or go to / (fixes #247)
2018-06-06 23:56:48 -05:00
David Yip
cfdbb36bdf
Merge pull request #519 from ThibG/glitch-soc/fixes/status-node-null
Prevent a rare crash when a status' root node is undefined
2018-06-02 16:19:06 -05:00
David Yip
9ad5de8a3a
Merge pull request #501 from ThibG/glitch-soc/features/red-bookmarks
Make active bookmarks red (fixes #493)
2018-06-01 00:36:48 -05:00
Spencer Alves
e5f25a73f2 Adjust spacing between status icons 2018-05-31 21:55:44 -07:00
Spencer Alves
7d2e6429c2 Merge branch 'glitch' into thread-icon 2018-05-31 21:33:16 -07:00
Thibaut Girka
b9fdeceb3c Make active bookmarks red (fixes #493) 2018-05-31 14:39:48 +02:00
Thibaut Girka
cc396f085d Use history.state to decide whether we should goBack() or go to / (fixes #247)
So far, glitch-soc used history.length to decide whether to call `goBack()` or
go to / in order to not leave the webUI. This made clicking the “Back” button
go to the “Getting started” column instead of going back in the browser's
history when such an action would leave the web UI, but also when:
- The WebUI is refreshed (F5)
- A tab is restored
- The history length reaches its maximum (e.g., 50 in Firefox)

This commit fixes these shortcomings by checking `window.history.state`.
Indeed, we only want to go back in the browser's history when the current
location has been reached from within the WebUI, which only happens via
`pushState` as far as I know. Since browser store the serialized state in
the browser history, this also survives page reload and session restoration.
2018-05-31 14:39:02 +02:00
Thibaut Girka
893f2aff20 Prevent a rare crash when a status' root node is undefined 2018-05-31 14:38:29 +02:00
Thibaut Girka
08dbe29e29 [Glitch] Improve load gap styling in web UI
Port 45c9f16f71 to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
0ad3eedd4c [Glitch] Allow clients to fetch statuses made while they were offline
Port 9a1a55ce52 to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
8b98afa781 [Glitch] Replace onScrollToBottom with onLoadMore
Port b0664a5e6c to glitch-soc
2018-05-27 20:40:58 +02:00
Thibaut Girka
d0b2f71501 Fix width only being set for standalone media 2018-05-21 18:25:41 +02:00
Thibaut Girka
3ad3cee44c [Glitch] Use real container width in MediaGallery srcSet
Port 22e067bf5c to glitch-soc
2018-05-21 17:55:07 +02:00
Thibaut Girka
9d6788b30b Prevent click on video from opening detailed toot 2018-05-18 17:49:51 +02:00
Thibaut Girka
2154bd1b5a Widen clickable area of toots 2018-05-18 17:33:58 +02:00
Thibaut Girka
07baa1ddb5 [Glitch] Open video modal on public UI
Port d9b2f84c92 to glitch-soc
2018-05-17 18:37:00 +02:00
Thibaut Girka
97c69de416 [Glitch] Feature: Direct message from Statuses
Port 904a2479dd to glitch-soc
2018-05-16 19:45:30 +02:00
Thibaut Girka
769a48495c Fix root modal's keyup handling (Fixes #478) 2018-05-11 22:42:32 +02:00
Spencer Alves
f2ff167c1a Add an extra icon to indicate that a status is part of a conversation 2018-05-07 22:10:34 -07:00
Thibaut Girka
658ac4396c Hide media in report modal regardless of whether they are marked sensitive
The rationale behind this is that if the user wants to report violent media,
they might not want to see it repeatedly. The “sensitive” property is still
kept, displaying different messages for hidden media depending on whether
they are marked as sensitive.
2018-05-07 15:00:55 +02:00
Thibaut Girka
de7feea30e Revert "[Glitch] Prevent timeline from moving when cursor is hovering over it"
This reverts commit 553cc28240.
2018-05-06 21:50:33 +02:00
Thibaut Girka
4133f70902 Revert "[Glitch] Do not re-position scroll when loading more (inserting items from below)"
This reverts commit 32974a58dc.
2018-05-06 21:50:26 +02:00
beatrix
331190e5fb
Merge pull request #462 from ThibG/glitch-soc/features/dropdowns-accessibility
Improve accessibility of toot dropdown menu
2018-05-06 12:12:20 -04:00
Thibaut Girka
32974a58dc [Glitch] Do not re-position scroll when loading more (inserting items from below)
Port 8c601b54cc to glitch-soc
2018-05-05 17:18:55 +02:00
Thibaut Girka
553cc28240 [Glitch] Prevent timeline from moving when cursor is hovering over it
Port 58852695c8 to glitch-soc
2018-05-05 17:18:25 +02:00
Thibaut Girka
cee157fc19 Improve accessibility of toot dropdown menu
* Prevent Enter keypresses from triggering dropdown display toggle twice
* Give focus to first/selected item of dropdown menus
* Implement keyboard navigation in generic dropdown menus

Partial port from ef7d64c801 to glitch-soc
2018-05-05 17:11:48 +02:00
Thibaut Girka
70a16d8858 [Glitch] Improve relative timestamps in web UI
Port 660cb058e1 to glitch-soc flavour
2018-05-02 13:45:40 +02:00
Thibaut Girka
1222e0a381 Use new getDerivedStateFromProps instead of deprecated componentWillReceiveProps
As we are already using the new getSnapshotBeforeUpdate lifecycle method,
we apparently cannot use the deprecated ones at all in this component.
2018-04-27 01:24:55 +02:00
Thibaut Girka
b39f3648a7 Tentative fix for #446 2018-04-27 00:59:36 +02:00
beatrix
f4ed38272b
Merge pull request #401 from ThibG/glitch-soc/features/unfold-thread
Port the “unfold thread” feature from Mastodon's UI to glitch-soc flavour
2018-04-26 11:34:14 -04:00
Thibaut Girka
003d114332 [Glitch] Fix the hot key (j, k) does not function correctly when there is a pinned toot in account timeline.
Port 23106844a1 to glitch-soc
2018-04-22 23:11:16 +02:00
Thibaut Girka
64d8d0464d Add show more/less toggle for entire threads in web UI
Inspired from b6003afcdb but using component
properties instead of redux store for hidden/revealed state.
2018-04-22 19:19:01 +02:00
Thibaut Girka
2888f74c12 Refactor the infamous three-valued boolean into two booleans, trying to simplify the logic 2018-04-22 19:18:15 +02:00
Thibaut Girka
63d671b18f [Glitch] Fix button hiding when header title is too long
Port ffb2b8ef8c to glitch-soc
2018-04-22 19:17:10 +02:00
Thibaut Girka
abf7c5b850 [Glitch] Fix column headers accessibility
Port 08e4c78e78 to glitch-soc.

SCSS fix inspired by 69f13e7bca.
2018-04-22 19:17:10 +02:00
beatrix
06fc278e4c
Merge pull request #432 from ThibG/glitch-soc/features/reblog-private
Glitchsoc-specific changes to allow boosting own private toots
2018-04-22 12:32:58 -04:00
beatrix
125e8c7f5a
Merge pull request #427 from ThibG/glitch-soc/fixes/scroll-behavior
Improve ScrollableList behavior
2018-04-22 12:09:52 -04:00
beatrix
e88ce27855
Merge pull request #435 from ThibG/glitch-soc/features/public-modals
[Glitch] Show media modal on public pages
2018-04-22 12:07:29 -04:00
Thibaut Girka
7a68079b3f [Glitch] Show media modal on public pages
Port ff7941e652 to glitch-soc
2018-04-20 15:58:36 +02:00
Thibaut Girka
694337d9bb Fix auto-collapsed toots making the TL jump (fixes #417) 2018-04-19 11:30:42 +02:00
Thibaut Girka
931a4d1ebf Clean up dead code 2018-04-19 11:30:42 +02:00
Thibaut Girka
8f8b71a278 Use React's new lifecycles for scrollable lists 2018-04-19 11:29:37 +02:00
Thibaut Girka
3068384dbc Glitchsoc-specific changes to allow boosting own private toots 2018-04-19 11:24:29 +02:00