Commit Graph

116 Commits

Author SHA1 Message Date
Jeong Arm
76adde4fe2 Fix media open hotkey () 2019-12-05 00:50:51 +01:00
ThibG
27d5d02925 Fix blocking/unblocking users from status dropdown menu ()
Fixes 
2019-12-02 18:25:24 +01:00
ThibG
a690b3e470 Add hotkey for opening media files ()
* [WiP] Add hotkey to open media

* Give focus to play/pause button when opening video modal
2019-11-29 17:02:35 +01:00
Eugen Rochko
853a67ed16
Add relationship-based options to status dropdowns ()
Move bookmark action in inline statuses from action bar to dropdown
2019-11-19 21:24:16 +01:00
ThibG
dfea7368c9 Add bookmarks ()
* Add backend support for bookmarks

Bookmarks behave like favourites, except they aren't shared with other
users and do not have an associated counter.

* Add spec for bookmark endpoints

* Add front-end support for bookmarks

* Introduce OAuth scopes for bookmarks

* Add bookmarks to archive takeout

* Fix migration

* Coding style fixes

* Fix rebase issue

* Update bookmarked_statuses to latest UI changes

* Update bookmark actions to properly reflect status changes in state

* Add bookmarks item to single-column layout

* Make active bookmarks red
2019-11-13 23:02:10 +01:00
BSKY
fccf83e1f2 Add noopener and/or noreferrer () 2019-10-24 22:44:42 +02:00
ThibG
9027bfff0c Add explanation to mute dialog, refactor and clean up mute/block UI ()
* Add some explanation to the mute modal dialog

* Remove `isSubmitting` from mute modal code, this wasn't used

* Refactor block modal

Signed-off-by: Thibaut Girka <thib@sitedethib.com>

* Refactor SCSS a bit

* Put mute modal toggle to the same side as in the report dialog for consistency

* Reword mute explanation

* Fix mute explanation styling

* Left-align all text in mute confirmation modal
2019-09-29 21:46:05 +02:00
ThibG
6914482d0a Change detailed status child ordering to sort self-replies on top ()
Fixes 
2019-08-30 01:57:38 +02:00
Eugen Rochko
2e99e3cab3
Fix more visual issues with the audio player ()
* Fix more visual issues with the audio player

- Add horizontal baseline in the middle of waveform
- Fix audio player colors in light theme
- Use audio element instead of web audio API
- Do not render any bars until the file is loaded
- Do not allow interactions with waveform until the file is loaded

* Fix code style issue
2019-08-25 15:09:19 +02:00
Eugen Rochko
4190e31626
Add audio player () 2019-08-23 22:38:02 +02:00
Eugen Rochko
1d8d553d8b
Revert "Change links in webUI to rewrite misleading links ()" ()
This reverts commit b31b232edf.
2019-08-06 12:09:28 +02:00
Eugen Rochko
2dee293c4c
Fix scroll to top in single column UI () 2019-08-01 19:17:17 +02:00
Eugen Rochko
706a48ee1f
Fix column header scrolling with the page ()
Regression from aa22b38
2019-08-01 12:26:58 +02:00
ThibG
b31b232edf Change links in webUI to rewrite misleading links ()
* [WiP] Show host for “misleading” links

* Disallow misleading targets which domain names are prefixes of link text

* Move decodeIDNA to app/javascript/mastodon/utils

* Add support for international domain names

* Change link origin tag color to darker text color

* Handle links to domains starting with www. as shortened by Mastodon

* [WiP] Ignore links that cannot be misread as URLs, rewrite other links
2019-07-30 12:13:29 +02:00
ThibG
99924f282f Memoize ancestorIds and descendantIds in detailed status view () 2019-07-02 16:03:54 +02:00
Eugen Rochko
f7f23b4a19
Add audio uploads ()
* Add audio uploads

Fix 

Accept uploads of OGG, WAV, FLAC, OPUS and MP3 files, and converts
them to OGG. Media attachments get a new `audio` type. In the UI,
audio uploads are displayed identically to video uploads.

* Improve code style
2019-06-19 23:42:38 +02:00
ThibG
e9ddd5a159 Put poll options behind content warnings ()
* Put poll options behind CWs in WebUI

* Put polls behind CWs on public pages

* Add poll icon to public pages CWs

* Revert to not showing an icon in the CW button
2019-06-08 17:40:59 +02:00
ThibG
3333250ede Fix React warning about legacy lifecycle calls and sensitive status resetting () 2019-05-29 17:33:15 +03:00
Takeshi Umeda
3b9c02506d Fix poll visibility on public pages ()
* Fix poll visibility on public pages

* Revert "Fix poll visibility on public pages"

This reverts commit 54a9608add6f855bc6337fe3c65eaee7ba13db49.

* Revert "Change poll options to alphabetic letters when status text is hidden"

This reverts commit c53d67326201b2061990b1874a3547c3647f50d2.
2019-05-26 23:13:29 +02:00
Eugen Rochko
988342a56c
Fix null error in status component when determining showMedia state ()
* Fix null error in status component when determining showMedia state

Also update the showMedia value if the status passed to the
component changes

* Refactor media visibility computation into a defaultMediaVisibility function

* Fix default media visibility with reblogs
2019-05-26 13:48:16 +02:00
ThibG
a472190729 Add a keyboard shortcut to hide/show media ()
* Move control of media visibility to parent component

* Add keyboard shortcut to toggle media visibility
2019-05-25 23:20:51 +02:00
Eugen Rochko
6fe474837c
Change poll options to alphabetic letters when status text is hidden ()
Fix 
2019-05-18 14:41:16 +02:00
ThibG
5121d9c12f When selecting a toot via keyboard, ensure it is scrolled into view () 2019-05-03 06:20:35 +02:00
Eugen Rochko
fba96c808d
Add blurhash ()
* Add blurhash

* Use fallback color for spoiler when blurhash missing

* Federate the blurhash and accept it as long as it's at most 5x5

* Display unknown media attachments as blurhash placeholders

* Improve style of embed actions and spoiler button

* Change blurhash resolution from 3x3 to 4x4

* Improve dependency definitions

* Fix code style issues
2019-04-27 03:24:09 +02:00
ashleyhull-versent
2b68fe5442 tinyfix 2: unrequired arguments ()
* unrequired argument

* unrequired argument
2019-04-06 12:02:03 +09:00
ThibG
6df4a82969 Add a “Block & Report” button to the block confirmation dialog () 2019-03-26 17:34:02 +01:00
Eugen Rochko
65fffeac3f
Redesign landing page () 2019-03-12 17:34:00 +01:00
Eugen Rochko
230a012f00
Add polls ()
* Add polls

Fix 

* Add tests

* Fixes

* Change API for creating polls

* Use name instead of content for votes

* Remove poll validation for remote polls

* Add polls to public pages

* When updating the poll, update options just in case they were changed

* Fix public pages showing both poll and other media
2019-03-03 22:18:23 +01:00
ThibG
041ff5fa9a Fix crash on public hashtag pages when streaming fails () 2019-02-16 14:53:27 +01:00
ThibG
aee93bfc9c Fix timeline jumps ()
* Avoid two-step rendering of statuses as much as possible

Cache width shared by Video player, MediaGallery and Cards at the
ScrollableList level, pass it down through StatusList and Notifications.

* Adjust scroll when new preview cards appear

* Adjust scroll when statuses above the current scroll position are deleted
2019-02-11 13:19:59 +01:00
Eugen Rochko
3cfadd875c Add "copy link" item to status action bars ()
Fix 
2019-02-11 12:19:49 +09:00
Eugen Rochko
1f95190202
Refactor icons in web UI to use Icon component ()
* Refactor uses of icons to an Icon component in web UI

* Refactor options passed to the Icon component

* Make tests work with absolute component paths
2019-02-01 00:14:05 +01:00
Eugen Rochko
b506ce1197
Fix new hashtag page's items not being full-width on mobile ()
Fix 
2019-01-18 20:58:11 +01:00
Eugen Rochko
8b19903559
Improve the public hashtag page ()
- Fix height not updating when clicking show more on public hashtag page
- Add header to the public hashtag page
- Change text size and margins on the public hashtag page
2019-01-17 14:06:08 +01:00
Eugen Rochko
bc642ac24b
Redesign public hashtag page to use a masonry layout () 2019-01-16 19:47:46 +01:00
ThibG
6f9a7bd02c Add quick links to the admin interface in the WebUI ()
* Allow to show a specific status in the admin interface

* Let the front-end know the current account is a moderator

* Add admin links to status and account menus

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

* Use @statuses.first instead of @statuses[0]
2019-01-04 13:10:43 +01:00
Eugen Rochko
1512af2811
Display fallback link card thumbnail when none is given () 2019-01-04 12:44:46 +01:00
mayaeh
c1693827ae Change the icon to "reply-all" when reply to other accounts () 2018-12-28 03:51:32 +01:00
Eugen Rochko
bb69d154c4
Fix null error introduced in () 2018-11-12 22:07:31 +01:00
ThibG
bbd8fdd185 Perform deep comparison for card data when receiving new props ()
Fixes 
2018-11-12 18:17:50 +01:00
Eugen Rochko
5cbf6cf3ec
Add "Show thread" link to self-replies ()
Fix 
2018-11-08 21:08:57 +01:00
trwnh
2cc099c70f Make detailed-status__wrapper actually wrap detailed status ()
* Remove class from scrollable div

.detailed-status__wrapper does not actually wrap the detailed status here

* Re-add class to focusable div

.detailed-status__wrapper now wraps the detailed status instead of the entire scrollable area
2018-10-30 06:33:02 +01:00
Eugen Rochko
9c38c5daa3
Fix dimensions of preview cards, fix crash in web UI, fix warning () 2018-10-29 04:42:07 +01:00
Eugen Rochko
795f0107d2
Include preview cards in status entity in REST API ()
* Include preview cards in status entity in REST API

* Display preview card in-stream

* Improve in-stream display of preview cards
2018-10-28 06:35:03 +01:00
ThibG
007f7690fa Fix fav/boosts hotkeys not working on detailed statuses () 2018-10-18 19:52:00 +02:00
ThibG
42aecb4c13 Add a confirmation dialog when hitting reply and the compose box isn't empty ()
* Add a confirmation dialog when hitting reply and the compose box isn't empty

Fixes 

* Performance improvement
2018-10-05 18:44:44 +02:00
Eugen Rochko
3d7f68c273
Revert Font Awesome 5 upgrade ()
* Revert "Fix some icon names changed by the Font Awesome 5. ()"

This reverts commit 3f9ec3de82.

* Revert "Migrate to font-awesome 5.0. ()"

This reverts commit 8bae14591b.

* Revert "Fix some icons names, unavailable in fontawesome5 (free license). ()"

This reverts commit b9c727a945.

* Revert "Update the icon name changed by the Font Awesome 5. ()"

This reverts commit 17af4d27da.

* Revert "Add bot icon to bot avatars and migrate to newer version of Font Awesome ()"

This reverts commit 4b794e134d.
2018-09-28 02:11:14 +02:00
Naoki Kosaka
8bae14591b Migrate to font-awesome 5.0. () 2018-09-27 17:08:56 +02:00
Yamagishi Kazutoshi
0ddbccf7e6 Upgrade Babel to version 7.0.0 () 2018-09-14 17:59:48 +02:00
Yamagishi Kazutoshi
800325f452 Weblate translations (2018-08-25) ()
* Translated using Weblate (Georgian)

Currently translated at 99.8% (674 of 675 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ka/

* Translated using Weblate (Korean)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/

* Translated using Weblate (Korean)

Currently translated at 96.8% (654 of 675 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/

* Translated using Weblate (Danish)

Currently translated at 100.0% (98 of 98 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/da/

* Translated using Weblate (Danish)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/da/

* Translated using Weblate (Danish)

Currently translated at 87.2% (589 of 675 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/da/

* Translated using Weblate (Galician)

Currently translated at 100.0% (680 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/

* Translated using Weblate (Czech)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/

* Translated using Weblate (Czech)

Currently translated at 99.4% (676 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/

* Translated using Weblate (Danish)

Currently translated at 88.0% (599 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/da/

* Translated using Weblate (Arabic)

Currently translated at 97.6% (664 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (678 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Occitan)

Currently translated at 99.5% (677 of 680 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/

* Translated using Weblate (Arabic)

Currently translated at 97.9% (668 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/

* Translated using Weblate (Persian)

Currently translated at 99.7% (680 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fa/

* Translated using Weblate (Dutch)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (Occitan)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/

* Translated using Weblate (Japanese)

Currently translated at 0.0% (0 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Japanese)

Currently translated at 0.1% (1 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Japanese)

Currently translated at 0.1% (676 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Galician)

Currently translated at 100.0% (682 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/

* Translated using Weblate (Greek)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (674 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Danish)

Currently translated at 89.2% (609 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/da/

* Translated using Weblate (French)

Currently translated at 100.0% (82 of 82 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/

* Translated using Weblate (French)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/

* Translated using Weblate (Korean)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/

* Translated using Weblate (Occitan)

Currently translated at 100.0% (310 of 310 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/

* yarn manage:translations

* i18n-tasks normalize && i18n-tasks remove-unused

* revert

* Add defaultMessage
2018-08-25 13:27:56 +02:00