Commit Graph

212 Commits (5a17406fe97ed2b1dad888f7cefacd0303cc8128)

Author SHA1 Message Date
Michael Telatynski 29d48e5dad
guests trying to join communities should fire the ILAG flow.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 22:48:25 +01:00
David Baker a918d73c29
Merge pull request #1973 from matrix-org/t3chguy/fix_react_proptypes_warnings
fix a bunch of instances of react console spam
2018-06-18 10:47:20 +01:00
Michael Telatynski 43681026b8
s/onClick/onChange because react cries about it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-15 19:01:12 +01:00
Michael Telatynski a2219472f6
inline redundant `bodyNodes`, fixes react no unique key warning too
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-15 18:47:15 +01:00
Michael Telatynski 7f1ce52dd3
link to ShareDialog from GroupView, RoomView, UserSettings & MemberInfo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-12 11:22:01 +01:00
Luke Barnard da9fe9917b Fix click on faded left/right/middle panel -> close settings
- implement generic dispatch to close user/room/group settings
 - use dispatch to allow clicks on disabled left/right/middle panel to
   close settings

A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Luke Barnard 25690336c3 Prevent user getting trapped in group settings when an error occurs 2018-05-01 11:52:02 +01:00
Luke Barnard 023daef4b7 Refactor GroupStores into one global GroupStore
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.

Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Luke Barnard fca7325b20 Change comments 2018-04-10 15:56:57 +01:00
Luke Barnard 31e9979285 Add 500ms delay to show `membershipBusy` for longer
to avoid a UI that flashes quickly
2018-04-10 15:31:04 +01:00
Luke Barnard de1073aacb Factor out `_closeSettings` for cleanliness 2018-04-10 13:28:42 +01:00
Luke Barnard 24d4df87d1 Show membership spinner next to Leave/Join button when leaving/joining 2018-04-10 11:49:59 +01:00
Luke Barnard 0681df71b0 Hide settings after leaving a group 2018-04-10 11:49:35 +01:00
Luke Barnard 42141f7da7 Fetch group data when leaving or joining to update the view 2018-04-10 10:03:54 +01:00
Luke Barnard 2da45277cd Update group join button to match new API 2018-04-09 16:57:27 +01:00
Luke Barnard 1e586428ac Update to match is_openly_joinable API 2018-04-06 14:58:10 +01:00
David Baker 03747b8287 Update to use new join_policy API 2018-04-05 16:56:35 +01:00
Luke Barnard c9283ad988 Merge branch 'luke/feature-group-set-joinable' of github.com:matrix-org/matrix-react-sdk into luke/feature-group-set-joinable 2018-03-29 17:28:44 +01:00
Luke Barnard 2bc8d6d3a4 Use less confusing values on radio buttons 2018-03-29 17:25:06 +01:00
Luke Barnard e9193ff0b6
Merge branch 'develop' into luke/feature-group-set-joinable 2018-03-29 17:01:19 +01:00
Luke Barnard f42cdf6a4c Add radio button for setting group is_joinable
which dictates whether the group can be joined without invitation.
2018-03-29 16:57:07 +01:00
Luke Barnard 1226ad3330
Merge pull request #1815 from matrix-org/luke/feature-group-join
Join this community button
2018-03-29 15:44:46 +01:00
Luke Barnard c4322892de Reword group setting delay 2018-03-29 14:33:54 +01:00
Luke Barnard 385211528d Implement "Join this community" button
for groups that have truthy summary.profile.is_joinable.
2018-03-29 12:39:09 +01:00
Luke Barnard b80568b1c5 Wrap GeminiScrollbar in a component, enabled forceGemini
Fixes https://github.com/vector-im/riot-web/issues/6294
2018-03-27 13:04:26 +01:00
Luke Barnard bc5699b3d7 Add change delay warning in GroupView settings 2018-03-14 18:17:15 +00:00
Luke Barnard 4037a22492 Fix bug where avatar change not reflected in LLP
Fixes vector-im/riot-web#6189
2018-03-01 14:40:03 +00:00
Michael Telatynski 1bc9d344ae
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/nvl/rich_quoting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/views/messages/TextualBody.js
2018-01-10 11:54:58 +00:00
Aidan Gauland 35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Michael Telatynski 5c229b9ef8
DRY matrix.to link generation so it is all changeable in one class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:33:40 +00:00
Luke Barnard 7ec4010881 Make GroupStore use MatrixClientPeg
To avoid weirdness with using a cached matrix client
2017-11-28 11:54:05 +00:00
Luke Barnard 1a3ad5a342 Allow guests to view individual groups
For homeservers that still disallow guests (running synapse without https://github.com/matrix-org/synapse/pull/2715), start ILAG.
2017-11-28 11:52:46 +00:00
lukebarnard 9ed9422af8 Move group publication toggles to UserSettings 2017-11-27 17:24:42 +00:00
Stefan Parviainen df6d5cc2b4 Pass plain components, rather than functions returning them 2017-11-14 20:09:52 +01:00
Stefan Parviainen 3afbaf61e7 Refactor i18n stuff a bit 2017-11-13 20:19:33 +01:00
Luke Barnard 266a504981 Use the same MatrixClient for the duration of GroupView lifecycle
Using the pegged matrix client would lead to trying to call removeListener on `null` when GroupView is unmounted during logout.
2017-11-10 10:49:14 +00:00
Luke Barnard 120e7b821f
Merge pull request #1585 from matrix-org/luke/groups-inviter-profile
Use the getProfileInfo API for group inviter profile
2017-11-08 10:24:00 +00:00
Luke Barnard 10778e075e Merge branch 'develop' into luke/groups-inviter-profile 2017-11-08 10:10:43 +00:00
Luke Barnard 4bb083d959 Style 2017-11-08 10:08:04 +00:00
Luke Barnard f53f9ed8ca inviterProfile = null initially 2017-11-08 10:07:43 +00:00
Luke Barnard 4c47f75918
Merge pull request #1587 from matrix-org/luke/groups-add-rooms-with-visibility
Add checkbox to GroupAddressPicker for determining visibility of group rooms
2017-11-08 10:04:41 +00:00
Luke Barnard 8fbe50a1cf
Merge pull request #1580 from matrix-org/luke/groups-new-group-settings
Improve group creation UX
2017-11-07 18:55:34 +00:00
Luke Barnard d777e370f2
Merge pull request #1583 from matrix-org/luke/groups-disable-rooms-whilst-editing
Disable RoomDetailList in GroupView when editing
2017-11-07 18:53:04 +00:00
Luke Barnard edc744067f Add checkbox to GroupAddressPicker for determining visibility of group rooms 2017-11-07 18:51:41 +00:00
Luke Barnard 80d4873542 Disable RoomDetailList in GroupView when editing
Otherwise the rooms can be clicked on.
2017-11-07 16:54:28 +00:00
Luke Barnard ed709f52d1 Use the getProfileInfo API for group inviter profile 2017-11-07 16:42:43 +00:00
Luke Barnard ddc1ff2f23 Name things in a sane way 2017-11-07 15:13:26 +00:00
Luke Barnard 62305a1ccd Implement tooltip for group rooms 2017-11-07 14:07:31 +00:00
Luke Barnard 9019fee49e Adjust long desc placeholder text 2017-11-07 10:48:56 +00:00
Luke Barnard 956c5ff343 Use a constant for easy reading of long desc placeholder 2017-11-06 18:52:55 +00:00
Luke Barnard 477051cfa6 Add placeholder for when a long desc hasn't been set
this is only visible to group admins.
2017-11-06 18:35:52 +00:00
Luke Barnard 137f1311b3 Add useful placeholder for the long description textarea 2017-11-06 18:35:23 +00:00
Luke Barnard 36cd22663a Open group settings when the group is created 2017-11-06 18:02:50 +00:00
Luke Barnard 16dca08b77 Use constants instead of string literals 2017-10-31 16:13:13 +00:00
Luke Barnard 5bfed67463 Merge branch 'luke/groups-expose-ready-state' of github.com:matrix-org/matrix-react-sdk into luke/groups-expose-ready-state 2017-10-31 14:25:10 +00:00
Luke Barnard d6cbc44e0f If groupRoomsLoading, replace RoomDetailList entirely with Spinner 2017-10-31 14:21:00 +00:00
Luke Barnard 45e15fd865
Merge branch 'develop' into luke/groups-expose-ready-state 2017-10-31 11:50:12 +00:00
Luke Barnard 775468e71a Display whether the group summary/room list is loading
This uses a `ready` flag assigned to each fetching API used by the GroupServer. I've avoided making this generic for now for want of not doing so early.
2017-10-31 11:42:09 +00:00
Luke Barnard 20bf69c3c2 Prevent non-members from opening group settings 2017-10-31 10:54:44 +00:00
Luke Barnard 14d600a69f Fix initial in GroupAvatar in GroupView 2017-10-30 15:04:12 +00:00
Luke Barnard e094c32c62 Simplify GroupStore listener registration 2017-10-27 11:38:10 +01:00
Luke Barnard 9643784f85 Only show group settings cog to members
Non-members have no settings to change.
2017-10-26 14:31:27 +01:00
Luke Barnard 39fa866d68 Merge pull request #1535 from matrix-org/luke/fix-interactable-greyed-ui
Swap from `ui_opacity` to `panel_disabled`
2017-10-25 15:47:18 +01:00
Luke Barnard 37b55984ec Fix group Leave button tooltip 2017-10-25 12:09:13 +01:00
Luke Barnard 2f8f2ce76e Swap from `ui_opacity` to `panel_disabled`
to simplify the process of disabling panels in the UI.
2017-10-25 11:23:51 +01:00
Luke Barnard 459ffc47d6 Prevent editing of UI requiring user privilege if user unprivileged 2017-10-24 15:25:35 +01:00
Luke Barnard e89371fb1c Add click-to-open-settings functionality to GroupAvatar 2017-10-23 14:54:57 +01:00
Luke Barnard a85a011db9 Fix faulty translation in GroupView 2017-10-19 18:06:32 +01:00
Luke Barnard 2be0ebdd1d More Groups->Communities 2017-10-19 15:01:16 +01:00
Luke Barnard bafa2c6be0 Fix typo 2017-10-19 12:03:59 +01:00
Luke Barnard c3f143acc3 Merge branch 'develop' into luke/groups-are-communities 2017-10-19 11:31:00 +01:00
Matthew Hodgson 7fe8c9cb01 fix lint 2017-10-19 01:48:49 +02:00
Matthew Hodgson 1087b36597 fix editing visuals on groupview header 2017-10-18 17:49:49 +01:00
Luke Barnard a40704f085 Merge branch 'develop' into luke/groups-are-communities 2017-10-18 15:57:37 +01:00
Luke Barnard 677c8e95ee Merge branch 'develop' into luke/groups-move-buttons 2017-10-18 10:31:54 +02:00
Luke Barnard df9e037bfc Default values when GETing instead of when POSTing 2017-10-17 18:11:00 +01:00
Luke Barnard 3bbff627fc Fix bug preventing partial group profile
When updating the group profile, send empty strings instead of `null` as synapse does not expect `null`.
2017-10-17 17:26:34 +01:00
Luke Barnard 49b7525a67 Actually move the buttons in GroupView
- The "Leave" button is now in the top-right
 - The "Publish" button is not a checkbox
2017-10-17 16:10:34 +01:00
Luke Barnard 0415869b8c Add useful functions to GroupView to inspect user flags 2017-10-17 16:08:19 +01:00
Luke Barnard 626f007f4e Move membership section above long description textarea 2017-10-17 12:00:31 +01:00
Luke Barnard 7df3335570 Only show membership settings when editing 2017-10-17 11:59:52 +01:00
Luke Barnard 495465e865 Put invite accept/decline buttons in correct div to align them to the right 2017-10-17 11:59:16 +01:00
Luke Barnard eaa5dd5f22 Groups -> Communities in the UI
Translation files still need updating, and this would be much simpler with a script that could automate the tedium
2017-10-16 13:18:39 +01:00
Luke Barnard 3468abc975 Use GeminiScrollbar instead of ScrollPanel 2017-10-13 17:49:52 +01:00
Luke Barnard aaf32ac9a0 Lint 2017-10-13 16:57:52 +01:00
Luke Barnard 77418f535e Modify GroupView UI
- Remove featured users/rooms
 - Add "Rooms" section to show all rooms in the group in a room-directory-esque list. This has a "+" button in "edit" mode.
 - Make the group view body scrollable
2017-10-13 16:46:33 +01:00
Luke Barnard 4017fa7f1d Factor-out GroupStore and create GroupStoreCache
In order to provide feedback when adding a room to a group, the group summarry store needs to be extended to store the list of rooms in a group. This commit is the first step required.

The next step is to get the GroupRoomList listening to updates from GroupStore and expose the list of rooms from GroupStore.

(We're running out of words to describe the hierachy of things that store things)
2017-10-04 16:56:35 +01:00
Luke Barnard 6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
Luke Barnard f3b6b2cc06 Fix GroupView summary rooms displaying without avatars
- GroupView can now render with rooms in the summary that do not have an avatar
 - RoomAvatar no longer has a redundant fallback avatar (this is handled by BaseAvatar)
 - RoomAvatar was delinted
2017-09-27 16:18:15 +01:00
Luke Barnard d52355f80e Implement adding rooms to a group (or group summary) by room ID 2017-09-27 15:30:58 +01:00
Luke Barnard 6bc9b32ab7 Fix ability to feature self in a group summary
By default the AddressPicker would omit the currently logged-in user. This adds a property to override that to allow "self" to be picked.
2017-09-27 11:04:41 +01:00
Luke Barnard 1ca9102442 Fix spinner appearing above RP header
By wrapping the spinner in the mx_MemberList class. Also, use mx_RoomHeader_cancelButton for group settings cancel
2017-09-27 10:36:44 +01:00
David Baker 8d0983ab02 Fix group membership publicity
* Read the new flag in the summary API (the one we were reading
   was actually whether the group server listed you as a member to
   non-members).
 * Remove call to now-dead _loadGroupFromServer andf use the store
   instead
2017-09-26 14:46:57 +01:00
David Baker af2df77b8e Merge pull request #1418 from matrix-org/luke/groups-summary-store
Create GroupSummaryStore for storing group summary stuff
2017-09-25 14:59:32 +01:00
Luke Barnard 83e6218930 Remove listeners from group summary store on unmount 2017-09-25 14:49:12 +01:00
Luke Barnard 8e7d58797d _loadGroupFromServer -> _initGroupSummaryStore 2017-09-25 14:48:49 +01:00
David Baker 1a82f121c0 lint 2017-09-25 13:17:07 +01:00
Luke Barnard b8dca58f4f Pass matrixClient as an argument to GSS constructor 2017-09-25 10:02:13 +01:00
David Baker af73f1c3bb Add status & toggle for publicity
This doesn't work at the moment because it looks like it's broken
in synapse as per https://github.com/matrix-org/sytest/pull/391

But if it did work, the client side code might look something
like this.
2017-09-22 19:27:02 +01:00
Luke Barnard 791bc5e7ac Create GroupSummaryStore for storing group summary stuff
- Acts as a layer between GroupView and the group APIs that modify the summary individually. This allows for abstraction of getting the new summary once a successful API hit has been done.
 - The plan is to also control the avatar, topic, body of the summary via the same class
2017-09-22 18:52:06 +01:00