Skip to content

Commit cf34610

Browse files
committed
Change invite member page
1 parent 988dcf7 commit cf34610

File tree

4 files changed

+70
-14
lines changed

4 files changed

+70
-14
lines changed

templates/org/member/invite.tmpl

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,24 @@
44
<div class="ui container">
55
{{template "base/alert" .}}
66

7-
<div class="ui action input">
8-
<input type="hidden" name="uid" value="{{.SignedUser.ID}}">
9-
<div class="ui label">{{ctx.Locale.Tr "org.members.invite"}}</div>
10-
<div id="search-user-box" class="ui search input"{{if .IsEmailInviteEnabled}} data-allow-email="true" data-allow-email-description="{{ctx.Locale.Tr "org.teams.invite_team_member" $.Team.Name}}"{{end}}>
11-
<input class="prompt" name="uname" placeholder="{{ctx.Locale.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" autofocus required>
12-
</div>
13-
<div class="ui label">{{ctx.Locale.Tr "org.members.to"}}</div>
14-
<select class="ui selection dropdown" name="team">
15-
{{range .Teams}}
16-
<option value="{{.LowerName | PathEscape}}">{{.Name}}</option>
17-
{{end}}
18-
</select>
19-
<div class="ui label">{{ctx.Locale.Tr "org.members.team"}}</div>
20-
<button class="ui primary button">{{ctx.Locale.Tr "org.members.invite_now"}}</button>
7+
<div class="center">
8+
<h1 class="ui header">{{ctx.Locale.Tr "org.members.invite_member"}}</h1>
9+
<form class="ui action input member-invite" data-org-link="{{.OrgLink}}" method="POST">
10+
{{.CsrfTokenHtml}}
11+
<input type="hidden" name="uid" value="{{.SignedUser.ID}}">
12+
<div class="ui label">{{ctx.Locale.Tr "org.members.invite"}}</div>
13+
<div id="search-user-box" class="ui search input"{{if .IsEmailInviteEnabled}} data-allow-email="true" data-allow-email-description="{{ctx.Locale.Tr "org.teams.invite_team_member" $.Team.Name}}"{{end}}>
14+
<input class="prompt" name="uname" placeholder="{{ctx.Locale.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" autofocus required>
15+
</div>
16+
<div class="ui label">{{ctx.Locale.Tr "org.members.to"}}</div>
17+
<select class="ui selection dropdown" name="team">
18+
{{range .Teams}}
19+
<option value="{{.LowerName | PathEscape}}">{{.Name}}</option>
20+
{{end}}
21+
</select>
22+
<div class="ui label">{{ctx.Locale.Tr "org.members.team"}}</div>
23+
<button class="ui primary button">{{ctx.Locale.Tr "org.members.invite_now"}}</button>
24+
</form>
2125
</div>
2226
</div>
2327
</div>

web_src/css/base.css

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,22 @@ a.label,
193193
text-decoration: none !important;
194194
}
195195

196+
.ui.search > .prompt {
197+
color: var(--color-text);
198+
background: var(--color-box-body);
199+
border-color: var(--color-secondary);
200+
}
201+
202+
.ui.search .prompt {
203+
border-radius: var(--border-radius);
204+
}
205+
206+
.ui.search > .prompt:focus {
207+
border-color: var(--color-primary);
208+
background: var(--color-box-body);
209+
color: var(--color-text);
210+
}
211+
196212
.ui.search > .results {
197213
background: var(--color-body);
198214
border-color: var(--color-secondary);
@@ -257,6 +273,8 @@ ol.ui.list li,
257273
.ui.input.focus > input,
258274
.ui.input > input:focus {
259275
border-color: var(--color-primary);
276+
background: var(--color-box-body);
277+
color: var(--color-text);
260278
}
261279

262280
.ui.action.input .ui.ui.button {

web_src/js/features/org-member.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
export function initOrgMemberInvite() {
2+
if (document.querySelector('.page-content.organization.invitemember') === null) {
3+
return;
4+
}
5+
6+
/**
7+
* @type {HTMLFormElement | null}
8+
*/
9+
const memberInvite = document.querySelector('form.member-invite');
10+
if (memberInvite === null) {
11+
return;
12+
}
13+
14+
const orgLink = memberInvite.getAttribute('data-org-link');
15+
if (orgLink === null) {
16+
return;
17+
}
18+
19+
/**
20+
* @type {HTMLSelectElement | null}
21+
*/
22+
const teamSelect = memberInvite.querySelector('select[name=team]');
23+
if (teamSelect === null) {
24+
return;
25+
}
26+
27+
memberInvite.action = `${orgLink}/teams/${teamSelect.value}/action/add`;
28+
teamSelect.addEventListener('change', () => {
29+
memberInvite.action = `${orgLink}/teams/${teamSelect.value}/action/add`;
30+
});
31+
}

web_src/js/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ import {
6464
initRepoSettingSearchTeamBox,
6565
} from './features/repo-settings.js';
6666
import {initRepoDiffView} from './features/repo-diff.js';
67+
import {initOrgMemberInvite} from './features/org-member.js';
6768
import {initOrgTeamSearchRepoBox, initOrgTeamSettings} from './features/org-team.js';
6869
import {initUserAuthWebAuthn, initUserAuthWebAuthnRegister} from './features/user-auth-webauthn.js';
6970
import {initRepoRelease, initRepoReleaseNew} from './features/repo-release.js';
@@ -135,6 +136,8 @@ onDomReady(() => {
135136
initNotificationCount();
136137
initNotificationsTable();
137138

139+
initOrgMemberInvite();
140+
138141
initOrgTeamSearchRepoBox();
139142
initOrgTeamSettings();
140143

0 commit comments

Comments
 (0)