Spaces move away from Form Buttons

This commit is contained in:
Michael Telatynski 2021-03-24 13:15:31 +00:00
parent 796bfd851d
commit fb46815b6a
7 changed files with 44 additions and 33 deletions

View file

@ -89,7 +89,7 @@ $SpaceRoomViewInnerWidth: 428px;
width: $SpaceRoomViewInnerWidth; width: $SpaceRoomViewInnerWidth;
text-align: right; // button alignment right text-align: right; // button alignment right
.mx_FormButton { .mx_AccessibleButton_hasKind {
padding: 8px 22px; padding: 8px 22px;
margin-left: 16px; margin-left: 16px;
} }

View file

@ -49,7 +49,7 @@ limitations under the License.
} }
} }
.mx_FormButton { .mx_AccessibleButton_hasKind {
padding: 8px 22px; padding: 8px 22px;
} }
} }

View file

@ -79,7 +79,7 @@ $spacePanelWidth: 71px;
} }
} }
.mx_FormButton { .mx_AccessibleButton_kind_primary {
padding: 8px 22px; padding: 8px 22px;
margin-left: auto; margin-left: auto;
display: block; display: block;

View file

@ -26,7 +26,6 @@ import AccessibleButton from "../views/elements/AccessibleButton";
import RoomName from "../views/elements/RoomName"; import RoomName from "../views/elements/RoomName";
import RoomTopic from "../views/elements/RoomTopic"; import RoomTopic from "../views/elements/RoomTopic";
import InlineSpinner from "../views/elements/InlineSpinner"; import InlineSpinner from "../views/elements/InlineSpinner";
import FormButton from "../views/elements/FormButton";
import {inviteMultipleToRoom, showRoomInviteDialog} from "../../RoomInvite"; import {inviteMultipleToRoom, showRoomInviteDialog} from "../../RoomInvite";
import {useRoomMembers} from "../../hooks/useRoomMembers"; import {useRoomMembers} from "../../hooks/useRoomMembers";
import createRoom, {IOpts, Preset} from "../../createRoom"; import createRoom, {IOpts, Preset} from "../../createRoom";
@ -124,30 +123,36 @@ const SpacePreview = ({ space, onJoinButtonClicked, onRejectButtonClicked }) =>
} }
joinButtons = <> joinButtons = <>
<FormButton <AccessibleButton
label={_t("Reject")}
kind="secondary" kind="secondary"
onClick={() => { onClick={() => {
setBusy(true); setBusy(true);
onRejectButtonClicked(); onRejectButtonClicked();
}} /> }}
<FormButton >
label={_t("Accept")} { _t("Reject") }
</AccessibleButton>
<AccessibleButton
kind="primary"
onClick={() => { onClick={() => {
setBusy(true); setBusy(true);
onJoinButtonClicked(); onJoinButtonClicked();
}} }}
/> >
{ _t("Accept") }
</AccessibleButton>
</>; </>;
} else { } else {
joinButtons = ( joinButtons = (
<FormButton <AccessibleButton
label={_t("Join")} kind="primary"
onClick={() => { onClick={() => {
setBusy(true); setBusy(true);
onJoinButtonClicked(); onJoinButtonClicked();
}} }}
/> >
{ _t("Join") }
</AccessibleButton>
) )
} }
@ -407,11 +412,13 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => {
{ fields } { fields }
<div className="mx_SpaceRoomView_buttons"> <div className="mx_SpaceRoomView_buttons">
<FormButton <AccessibleButton
label={buttonLabel} kind="primary"
disabled={busy} disabled={busy}
onClick={onClick} onClick={onClick}
/> >
{ buttonLabel }
</AccessibleButton>
</div> </div>
</div>; </div>;
}; };
@ -426,7 +433,9 @@ const SpaceSetupPublicShare = ({ space, onFinished }) => {
<SpacePublicShare space={space} onFinished={onFinished} /> <SpacePublicShare space={space} onFinished={onFinished} />
<div className="mx_SpaceRoomView_buttons"> <div className="mx_SpaceRoomView_buttons">
<FormButton label={_t("Go to my first room")} onClick={onFinished} /> <AccessibleButton kind="primary" onClick={onFinished}>
{ _t("Go to my first room") }
</AccessibleButton>
</div> </div>
</div>; </div>;
}; };
@ -545,7 +554,9 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
</div> </div>
<div className="mx_SpaceRoomView_buttons"> <div className="mx_SpaceRoomView_buttons">
<FormButton label={buttonLabel} disabled={busy} onClick={onClick} /> <AccessibleButton kind="primary" disabled={busy} onClick={onClick}>
{ buttonLabel }
</AccessibleButton>
</div> </div>
</div>; </div>;
}; };

View file

@ -22,7 +22,6 @@ import {MatrixClient} from "matrix-js-sdk/src/client";
import {_t} from '../../../languageHandler'; import {_t} from '../../../languageHandler';
import {IDialogProps} from "./IDialogProps"; import {IDialogProps} from "./IDialogProps";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import FormButton from "../elements/FormButton";
import Dropdown from "../elements/Dropdown"; import Dropdown from "../elements/Dropdown";
import SearchBox from "../../structures/SearchBox"; import SearchBox from "../../structures/SearchBox";
import SpaceStore from "../../../stores/SpaceStore"; import SpaceStore from "../../../stores/SpaceStore";
@ -185,8 +184,8 @@ const AddExistingToSpaceDialog: React.FC<IProps> = ({ matrixClient: cli, space,
</AccessibleButton> </AccessibleButton>
</span> </span>
<FormButton <AccessibleButton
label={busy ? _t("Applying...") : _t("Apply")} kind="primary"
disabled={busy || selectedToAdd.size < 1} disabled={busy || selectedToAdd.size < 1}
onClick={async () => { onClick={async () => {
setBusy(true); setBusy(true);
@ -200,7 +199,9 @@ const AddExistingToSpaceDialog: React.FC<IProps> = ({ matrixClient: cli, space,
} }
setBusy(false); setBusy(false);
}} }}
/> >
{ busy ? _t("Adding...") : _t("Add") }
</AccessibleButton>
</div> </div>
</BaseDialog>; </BaseDialog>;
}; };

View file

@ -28,7 +28,6 @@ import {getTopic} from "../elements/RoomTopic";
import {avatarUrlForRoom} from "../../../Avatar"; import {avatarUrlForRoom} from "../../../Avatar";
import ToggleSwitch from "../elements/ToggleSwitch"; import ToggleSwitch from "../elements/ToggleSwitch";
import AccessibleButton from "../elements/AccessibleButton"; import AccessibleButton from "../elements/AccessibleButton";
import FormButton from "../elements/FormButton";
import Modal from "../../../Modal"; import Modal from "../../../Modal";
import defaultDispatcher from "../../../dispatcher/dispatcher"; import defaultDispatcher from "../../../dispatcher/dispatcher";
import {allSettled} from "../../../utils/promise"; import {allSettled} from "../../../utils/promise";
@ -134,16 +133,17 @@ const SpaceSettingsDialog: React.FC<IProps> = ({ matrixClient: cli, space, onFin
/> />
</div> </div>
<FormButton <AccessibleButton
kind="danger" kind="danger"
label={_t("Leave Space")}
onClick={() => { onClick={() => {
defaultDispatcher.dispatch({ defaultDispatcher.dispatch({
action: "leave_room", action: "leave_room",
room_id: space.roomId, room_id: space.roomId,
}); });
}} }}
/> >
{ _t("Leave Space") }
</AccessibleButton>
<div className="mx_SpaceSettingsDialog_buttons"> <div className="mx_SpaceSettingsDialog_buttons">
<AccessibleButton onClick={() => Modal.createDialog(DevtoolsDialog, {roomId: space.roomId})}> <AccessibleButton onClick={() => Modal.createDialog(DevtoolsDialog, {roomId: space.roomId})}>
@ -152,7 +152,9 @@ const SpaceSettingsDialog: React.FC<IProps> = ({ matrixClient: cli, space, onFin
<AccessibleButton onClick={onFinished} disabled={busy} kind="link"> <AccessibleButton onClick={onFinished} disabled={busy} kind="link">
{ _t("Cancel") } { _t("Cancel") }
</AccessibleButton> </AccessibleButton>
<FormButton onClick={onSave} disabled={busy} label={busy ? _t("Saving...") : _t("Save Changes")} /> <AccessibleButton onClick={onSave} disabled={busy} kind="primary">
{ busy ? _t("Saving...") : _t("Save Changes") }
</AccessibleButton>
</div> </div>
</div> </div>
</BaseDialog>; </BaseDialog>;

View file

@ -21,7 +21,6 @@ import {EventType, RoomType, RoomCreateTypeField} from "matrix-js-sdk/src/@types
import {_t} from "../../../languageHandler"; import {_t} from "../../../languageHandler";
import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
import {ChevronFace, ContextMenu} from "../../structures/ContextMenu"; import {ChevronFace, ContextMenu} from "../../structures/ContextMenu";
import FormButton from "../elements/FormButton";
import createRoom, {IStateEvent, Preset} from "../../../createRoom"; import createRoom, {IStateEvent, Preset} from "../../../createRoom";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import SpaceBasicSettings from "./SpaceBasicSettings"; import SpaceBasicSettings from "./SpaceBasicSettings";
@ -148,11 +147,9 @@ const SpaceCreateMenu = ({ onFinished }) => {
<SpaceBasicSettings setAvatar={setAvatar} name={name} setName={setName} topic={topic} setTopic={setTopic} /> <SpaceBasicSettings setAvatar={setAvatar} name={name} setName={setName} topic={topic} setTopic={setTopic} />
<FormButton <AccessibleButton kind="primary" onClick={onSpaceCreateClick} disabled={!name && !busy}>
label={busy ? _t("Creating...") : _t("Create")} { busy ? _t("Creating...") : _t("Create") }
onClick={onSpaceCreateClick} </AccessibleButton>
disabled={!name && !busy}
/>
</React.Fragment>; </React.Fragment>;
} }