Skip to content

Commit 22a2156

Browse files
Ducicautnapischtim
authored andcommitted
feat: add member name to kommunity member removal modal
1 parent aa74db9 commit 22a2156

3 files changed

Lines changed: 21 additions & 11 deletions

File tree

invenio_communities/assets/semantic-ui/js/invenio_communities/members/components/RemoveMemberModal.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,14 @@ class RemoveMemberModal extends Component {
2626
error: "",
2727
loading: false,
2828
};
29+
}
30+
31+
static contextType = ModalContext;
32+
33+
getContentMap = () => {
34+
const { member } = this.context;
2935

30-
this.contentMap = {
36+
return {
3137
[modalModeEnum.leave]: {
3238
headerText: i18next.t("Leave community"),
3339
bodyText: i18next.t("You are about to leave this community."),
@@ -36,14 +42,16 @@ class RemoveMemberModal extends Component {
3642
},
3743
[modalModeEnum.remove]: {
3844
headerText: i18next.t("Remove user"),
39-
bodyText: i18next.t("You are about to remove this user from this community."),
45+
bodyText: member
46+
? i18next.t("You are about to remove {{name}} from this community.", {
47+
name: member.name,
48+
})
49+
: i18next.t("You are about to remove this user from this community."),
4050
buttonText: i18next.t("Remove"),
4151
buttonIcon: "user delete",
4252
},
4353
};
44-
}
45-
46-
static contextType = ModalContext;
54+
};
4755

4856
onActionHandler = async () => {
4957
const { modalAction } = this.context;
@@ -69,7 +77,7 @@ class RemoveMemberModal extends Component {
6977
const { loading, error } = this.state;
7078
const { modalOpen, modalMode } = this.context;
7179

72-
const content = this.contentMap[modalMode];
80+
const content = this.getContentMap()[modalMode];
7381

7482
return (
7583
<Overridable
@@ -78,7 +86,7 @@ class RemoveMemberModal extends Component {
7886
modalMode={modalMode}
7987
modalAction={this.onActionHandler}
8088
closeModal={this.onCloseHandler}
81-
contentMap={this.contentMap}
89+
contentMap={this.getContentMap()}
8290
>
8391
<Modal open={modalOpen} role="dialog" aria-label={i18next.t("Remove user")}>
8492
<Modal.Header>{content?.headerText}</Modal.Header>

invenio_communities/assets/semantic-ui/js/invenio_communities/members/components/modal_manager/ModalContextProvider.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ export class ModalContextProvider extends Component {
1818
modalMode: null,
1919
modalAction: null,
2020
modalOpen: false,
21+
member: null,
2122
};
2223
}
2324

24-
openModal = ({ modalAction, modalMode }) => {
25-
this.setState({ modalOpen: true, modalAction, modalMode });
25+
openModal = ({ modalAction, modalMode, member }) => {
26+
this.setState({ modalOpen: true, modalAction, modalMode, member });
2627
};
2728

2829
closeModal = () => {
@@ -31,7 +32,7 @@ export class ModalContextProvider extends Component {
3132

3233
render() {
3334
const { children } = this.props;
34-
const { modalMode, modalAction, modalOpen } = this.state;
35+
const { modalMode, modalAction, modalOpen, member } = this.state;
3536

3637
return (
3738
<ModalContext.Provider
@@ -41,6 +42,7 @@ export class ModalContextProvider extends Component {
4142
modalMode,
4243
modalAction,
4344
modalOpen,
45+
member,
4446
}}
4547
>
4648
{children}

invenio_communities/assets/semantic-ui/js/invenio_communities/members/members/manager_view/ManagerMembersResultItem.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class ManagerMembersResultItem extends Component {
5555
const modalAction = () => api.removeMember(member);
5656
const modalMode = isRemoving ? modalModeEnum.remove : modalModeEnum.leave;
5757

58-
openModalCallback({ modalMode, modalAction });
58+
openModalCallback({ modalMode, modalAction, member });
5959
};
6060

6161
render() {

0 commit comments

Comments
 (0)