Merge pull request #6883 from matrix-org/t3chguy/fix/19067
						commit
						f7fba91387
					
				|  | @ -773,16 +773,6 @@ | |||
|     "The person who invited you already left the room.": "The person who invited you already left the room.", | ||||
|     "The person who invited you already left the room, or their server is offline.": "The person who invited you already left the room, or their server is offline.", | ||||
|     "Failed to join room": "Failed to join room", | ||||
|     "New in the Spaces beta": "New in the Spaces beta", | ||||
|     "Help people in spaces to find and join private rooms": "Help people in spaces to find and join private rooms", | ||||
|     "Learn more": "Learn more", | ||||
|     "Help space members find private rooms": "Help space members find private rooms", | ||||
|     "To help space members find and join a private room, go to that room's Security & Privacy settings.": "To help space members find and join a private room, go to that room's Security & Privacy settings.", | ||||
|     "General": "General", | ||||
|     "Security & Privacy": "Security & Privacy", | ||||
|     "Roles & Permissions": "Roles & Permissions", | ||||
|     "This makes it easy for rooms to stay private to a space, while letting people in the space find and join them. All new rooms in a space will have this option available.": "This makes it easy for rooms to stay private to a space, while letting people in the space find and join them. All new rooms in a space will have this option available.", | ||||
|     "Skip": "Skip", | ||||
|     "You joined the call": "You joined the call", | ||||
|     "%(senderName)s joined the call": "%(senderName)s joined the call", | ||||
|     "Call in progress": "Call in progress", | ||||
|  | @ -1056,6 +1046,7 @@ | |||
|     "Invite people": "Invite people", | ||||
|     "Invite with email or username": "Invite with email or username", | ||||
|     "Failed to save space settings.": "Failed to save space settings.", | ||||
|     "General": "General", | ||||
|     "Edit settings relating to your space.": "Edit settings relating to your space.", | ||||
|     "Saving...": "Saving...", | ||||
|     "Save Changes": "Save Changes", | ||||
|  | @ -1465,6 +1456,7 @@ | |||
|     "Muted Users": "Muted Users", | ||||
|     "Banned users": "Banned users", | ||||
|     "Send %(eventType)s events": "Send %(eventType)s events", | ||||
|     "Roles & Permissions": "Roles & Permissions", | ||||
|     "Permissions": "Permissions", | ||||
|     "Select the roles required to change various parts of the space": "Select the roles required to change various parts of the space", | ||||
|     "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", | ||||
|  | @ -1487,6 +1479,7 @@ | |||
|     "Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.", | ||||
|     "People with supported clients will be able to join the room without having a registered account.": "People with supported clients will be able to join the room without having a registered account.", | ||||
|     "Who can read history?": "Who can read history?", | ||||
|     "Security & Privacy": "Security & Privacy", | ||||
|     "Once enabled, encryption cannot be disabled.": "Once enabled, encryption cannot be disabled.", | ||||
|     "Encrypted": "Encrypted", | ||||
|     "Access": "Access", | ||||
|  | @ -2211,6 +2204,7 @@ | |||
|     "People you know on %(brand)s": "People you know on %(brand)s", | ||||
|     "Hide": "Hide", | ||||
|     "Show": "Show", | ||||
|     "Skip": "Skip", | ||||
|     "Send %(count)s invites|other": "Send %(count)s invites", | ||||
|     "Send %(count)s invites|one": "Send %(count)s invite", | ||||
|     "Invite people to join %(communityName)s": "Invite people to join %(communityName)s", | ||||
|  | @ -2532,6 +2526,7 @@ | |||
|     "We call the places where you can host your account ‘homeservers’.": "We call the places where you can host your account ‘homeservers’.", | ||||
|     "Other homeserver": "Other homeserver", | ||||
|     "Use your preferred Matrix homeserver if you have one, or host your own.": "Use your preferred Matrix homeserver if you have one, or host your own.", | ||||
|     "Learn more": "Learn more", | ||||
|     "About homeservers": "About homeservers", | ||||
|     "Reset event store?": "Reset event store?", | ||||
|     "You most likely do not want to reset your event index store": "You most likely do not want to reset your event index store", | ||||
|  |  | |||
|  | @ -14,13 +14,11 @@ See the License for the specific language governing permissions and | |||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| import React from "react"; | ||||
| import { ListIteratee, Many, sortBy, throttle } from "lodash"; | ||||
| import { EventType, RoomType } from "matrix-js-sdk/src/@types/event"; | ||||
| import { Room } from "matrix-js-sdk/src/models/room"; | ||||
| import { MatrixEvent } from "matrix-js-sdk/src/models/event"; | ||||
| import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces"; | ||||
| import { JoinRule } from "matrix-js-sdk/src/@types/partials"; | ||||
| import { IRoomCapability } from "matrix-js-sdk/src/client"; | ||||
| 
 | ||||
| import { AsyncStoreWithClient } from "./AsyncStoreWithClient"; | ||||
|  | @ -41,12 +39,6 @@ import { arrayHasDiff, arrayHasOrderChange } from "../utils/arrays"; | |||
| import { objectDiff } from "../utils/objects"; | ||||
| import { reorderLexicographically } from "../utils/stringOrderField"; | ||||
| import { TAG_ORDER } from "../components/views/rooms/RoomList"; | ||||
| import { shouldShowSpaceSettings } from "../utils/space"; | ||||
| import ToastStore from "./ToastStore"; | ||||
| import { _t } from "../languageHandler"; | ||||
| import GenericToast from "../components/views/toasts/GenericToast"; | ||||
| import Modal from "../Modal"; | ||||
| import InfoDialog from "../components/views/dialogs/InfoDialog"; | ||||
| import { SettingUpdatedPayload } from "../dispatcher/payloads/SettingUpdatedPayload"; | ||||
| 
 | ||||
| type SpaceKey = string | symbol; | ||||
|  | @ -233,65 +225,6 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> { | |||
|             window.localStorage.removeItem(ACTIVE_SPACE_LS_KEY); | ||||
|         } | ||||
| 
 | ||||
|         // New in Spaces beta toast for Restricted Join Rule
 | ||||
|         const lsKey = "mx_SpaceBeta_restrictedJoinRuleToastSeen"; | ||||
|         if (contextSwitch && space?.getJoinRule() === JoinRule.Invite && shouldShowSpaceSettings(space) && | ||||
|             space.getJoinedMemberCount() > 1 && !localStorage.getItem(lsKey) | ||||
|             && this.restrictedJoinRuleSupport?.preferred | ||||
|         ) { | ||||
|             const toastKey = "restrictedjoinrule"; | ||||
|             ToastStore.sharedInstance().addOrReplaceToast({ | ||||
|                 key: toastKey, | ||||
|                 title: _t("New in the Spaces beta"), | ||||
|                 props: { | ||||
|                     description: _t("Help people in spaces to find and join private rooms"), | ||||
|                     acceptLabel: _t("Learn more"), | ||||
|                     onAccept: () => { | ||||
|                         localStorage.setItem(lsKey, "true"); | ||||
|                         ToastStore.sharedInstance().dismissToast(toastKey); | ||||
| 
 | ||||
|                         Modal.createTrackedDialog("New in the Spaces beta", "restricted join rule", InfoDialog, { | ||||
|                             title: _t("Help space members find private rooms"), | ||||
|                             description: <> | ||||
|                                 <p>{ _t("To help space members find and join a private room, " + | ||||
|                                     "go to that room's Security & Privacy settings.") }</p> | ||||
| 
 | ||||
|                                 { /* Reuses classes from TabbedView for simplicity, non-interactive */ } | ||||
|                                 <div className="mx_TabbedView_tabsOnLeft" style={{ width: "190px", position: "relative" }}> | ||||
|                                     <div className="mx_TabbedView_tabLabel"> | ||||
|                                         <span className="mx_TabbedView_maskedIcon mx_RoomSettingsDialog_settingsIcon" /> | ||||
|                                         <span className="mx_TabbedView_tabLabel_text">{ _t("General") }</span> | ||||
|                                     </div> | ||||
|                                     <div className="mx_TabbedView_tabLabel mx_TabbedView_tabLabel_active"> | ||||
|                                         <span className="mx_TabbedView_maskedIcon mx_RoomSettingsDialog_securityIcon" /> | ||||
|                                         <span className="mx_TabbedView_tabLabel_text">{ _t("Security & Privacy") }</span> | ||||
|                                     </div> | ||||
|                                     <div className="mx_TabbedView_tabLabel"> | ||||
|                                         <span className="mx_TabbedView_maskedIcon mx_RoomSettingsDialog_rolesIcon" /> | ||||
|                                         <span className="mx_TabbedView_tabLabel_text">{ _t("Roles & Permissions") }</span> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
| 
 | ||||
|                                 <p>{ _t("This makes it easy for rooms to stay private to a space, " + | ||||
|                                     "while letting people in the space find and join them. " + | ||||
|                                     "All new rooms in a space will have this option available.") }</p> | ||||
|                             </>, | ||||
|                             button: _t("OK"), | ||||
|                             hasCloseButton: false, | ||||
|                             fixedWidth: true, | ||||
|                         }); | ||||
|                     }, | ||||
|                     rejectLabel: _t("Skip"), | ||||
|                     onReject: () => { | ||||
|                         localStorage.setItem(lsKey, "true"); | ||||
|                         ToastStore.sharedInstance().dismissToast(toastKey); | ||||
|                     }, | ||||
|                 }, | ||||
|                 component: GenericToast, | ||||
|                 priority: 35, | ||||
|             }); | ||||
|         } | ||||
| 
 | ||||
|         if (space) { | ||||
|             this.loadSuggestedRooms(space); | ||||
|         } | ||||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski