diff --git a/src/components/structures/SpaceRoomView.tsx b/src/components/structures/SpaceRoomView.tsx index 23cd2f898c..f0789e1e21 100644 --- a/src/components/structures/SpaceRoomView.tsx +++ b/src/components/structures/SpaceRoomView.tsx @@ -364,6 +364,7 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => { placeholder={placeholders[i]} value={roomNames[i]} onChange={ev => setRoomName(i, ev.target.value)} + autoFocus={i === 2} />; }); @@ -418,13 +419,9 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => { const SpaceSetupPublicShare = ({ space, onFinished }) => { return
-

{ _t("Invite people") }

-
- { - _t("It's just you at the moment.") - } { - _t("%(spaceName)s will be even better with others", { spaceName: space.name }) - } +

{ _t("Share %(name)s", { name: space.name }) }

+
+ { _t("It's just you at the moment, it will be even better with others.") }
@@ -435,12 +432,12 @@ const SpaceSetupPublicShare = ({ space, onFinished }) => {
; }; -const SpaceSetupPrivateScope = ({ onFinished }) => { - const [option, setOption] = useState(null); - +const SpaceSetupPrivateScope = ({ space, onFinished }) => { return

{ _t("Who are you working with?") }

-
{ _t("Ensure the right people have access to the space.") }
+
+ { _t("Make sure the right people have access to %(name)s", { name: space.name }) } +
{ onChange={ev => setEmailAddress(i, ev.target.value)} ref={fieldRefs[i]} onValidate={validateEmailRules} + autoFocus={i === 0} />; }); @@ -522,9 +520,18 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => { setBusy(false); }; + let onClick = onFinished; + let buttonLabel = _t("Skip for now"); + if (emailAddresses.some(name => name.trim())) { + onClick = onNextClick; + buttonLabel = busy ? _t("Inviting...") : _t("Continue") + } + return

{ _t("Invite your teammates") }

-
{ _t("Ensure the right people have access to the space.") }
+
+ { _t("Make sure the right people have access. You can invite more later.") } +
{ error &&
{ error }
} { fields } @@ -539,8 +546,7 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
- {_t("Skip for now")} - +
; }; @@ -673,7 +679,8 @@ export default class SpaceRoomView extends React.PureComponent { return this.setState({ phase: Phase.PublicShare })} />; case Phase.PublicShare: @@ -681,6 +688,7 @@ export default class SpaceRoomView extends React.PureComponent { case Phase.PrivateScope: return { this.setState({ phase: invite ? Phase.PrivateInvite : Phase.PrivateCreateRooms }); }} @@ -694,7 +702,8 @@ export default class SpaceRoomView extends React.PureComponent { return this.setState({ phase: Phase.Landing })} />; } diff --git a/src/components/views/spaces/SpaceCreateMenu.tsx b/src/components/views/spaces/SpaceCreateMenu.tsx index ca5b25f128..879cf929e0 100644 --- a/src/components/views/spaces/SpaceCreateMenu.tsx +++ b/src/components/views/spaces/SpaceCreateMenu.tsx @@ -108,7 +108,7 @@ const SpaceCreateMenu = ({ onFinished }) => { body =

{ _t("Create a space") }

{ _t("Spaces are new ways to group rooms and people. " + - "To join an existing space you’ll need an invite") }

+ "To join an existing space you'll need an invite.") }

{ const success = await copyPlaintext(permalinkCreator.forRoom()); const text = success ? _t("Copied!") : _t("Failed to copy"); setCopiedText(text); - await sleep(10); + await sleep(5000); if (copiedText === text) { // if the text hasn't changed by another click then clear it after some time setCopiedText(_t("Click to copy")); } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 4be6e06459..5ba787422f 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -989,7 +989,7 @@ "Name": "Name", "Description": "Description", "Create a space": "Create a space", - "Spaces are new ways to group rooms and people. To join an existing space you’ll need an invite": "Spaces are new ways to group rooms and people. To join an existing space you’ll need an invite", + "Spaces are new ways to group rooms and people. To join an existing space you'll need an invite.": "Spaces are new ways to group rooms and people. To join an existing space you'll need an invite.", "Public": "Public", "Open space for anyone, best for communities": "Open space for anyone, best for communities", "Private": "Private", @@ -1009,10 +1009,10 @@ "Copied!": "Copied!", "Failed to copy": "Failed to copy", "Share invite link": "Share invite link", - "Invite by email or username": "Invite by email or username", + "Invite people": "Invite people", + "Invite with email or username": "Invite with email or username", "Invite members": "Invite members", "Share your public space": "Share your public space", - "Invite people": "Invite people", "Settings": "Settings", "Leave space": "Leave space", "New room": "New room", @@ -2629,23 +2629,24 @@ "Failed to create initial space rooms": "Failed to create initial space rooms", "Skip for now": "Skip for now", "Creating rooms...": "Creating rooms...", - "It's just you at the moment.": "It's just you at the moment.", - "%(spaceName)s will be even better with others": "%(spaceName)s will be even better with others", + "Share %(name)s": "Share %(name)s", + "It's just you at the moment, it will be even better with others.": "It's just you at the moment, it will be even better with others.", "Go to my first room": "Go to my first room", "Who are you working with?": "Who are you working with?", - "Ensure the right people have access to the space.": "Ensure the right people have access to the space.", - "Just Me": "Just Me", - "A private space just for you": "A private space just for you", + "Make sure the right people have access to %(name)s": "Make sure the right people have access to %(name)s", + "Just me": "Just me", + "A private space to organise your rooms": "A private space to organise your rooms", "Me and my teammates": "Me and my teammates", "A private space for you and your teammates": "A private space for you and your teammates", "Failed to invite the following users to your space: %(csvUsers)s": "Failed to invite the following users to your space: %(csvUsers)s", - "Invite your teammates": "Invite your teammates", - "Invite by username": "Invite by username", "Inviting...": "Inviting...", + "Invite your teammates": "Invite your teammates", + "Make sure the right people have access. You can invite more later.": "Make sure the right people have access. You can invite more later.", + "Invite by username": "Invite by username", "What are some things you want to discuss?": "What are some things you want to discuss?", - "We'll create a room for each of them. You can add more later too.": "We'll create a room for each of them. You can add more later too.", + "Let's create a room for each of them. You can add more later too, including already existing ones.": "Let's create a room for each of them. You can add more later too, including already existing ones.", "What projects are you working on?": "What projects are you working on?", - "We'll create rooms for each of them. You can add existing rooms after setup.": "We'll create rooms for each of them. You can add existing rooms after setup.", + "We'll create rooms for each of them. You can add more later too, including already existing ones.": "We'll create rooms for each of them. You can add more later too, including already existing ones.", "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.", "Tried to load a specific point in this room's timeline, but was unable to find it.": "Tried to load a specific point in this room's timeline, but was unable to find it.", "Failed to load timeline position": "Failed to load timeline position",