Skip to content

Commit 0cb2633

Browse files
author
gvbvdxxalt2
committed
Unfinished room invite button
1 parent ec48cb6 commit 0cb2633

File tree

4 files changed

+66
-44
lines changed

4 files changed

+66
-44
lines changed

src/chat/elementjson/chatinterface.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,21 @@ var rightSide = {
235235
textContent: "More permission settings",
236236
},
237237
],
238+
},
239+
{
240+
element: "button",
241+
className: "roundborder chatInterfaceButton",
242+
gid: "inviteUsersToCurRoomButton",
243+
children: [
244+
{
245+
element: "img",
246+
src: "images/adduserlist.svg",
247+
},
248+
{
249+
element: "span",
250+
textContent: "Invite users to this room",
251+
},
252+
],
238253
},
239254
],
240255
},

src/chat/interface/chatmessagegen.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ var coolEmojiStuff = {
5656
rolling: "🙄",
5757
grin: "😀",
5858
cat: "😺",
59-
lol: "🤣"
59+
lol: "🤣",
60+
code: "🧑‍💻",
6061
};
6162

6263
function getBracketCodeJSON(

src/chat/interface/roomselect.js

Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,51 @@ async function getRooms() {
5050
return rooms;
5151
}
5252

53+
async function inviteUsersPrompt(roomid,roomname) {
54+
try {
55+
var inviteTargets = await KnownUserList.getUsersPrompt(
56+
"Select users to invite",
57+
);
58+
if (!inviteTargets) {
59+
return;
60+
}
61+
if (inviteTargets.length == 0) {
62+
return;
63+
}
64+
var loader = new LoadingScreen();
65+
var invited = 0;
66+
for (var username of inviteTargets) {
67+
invited += 1;
68+
loader.setText(
69+
`Inviting "${username}"... (${invited}/${inviteTargets.length})`,
70+
);
71+
try {
72+
var response = await fetch(
73+
accountHelper.getServerURL() + "/account/inviteroom",
74+
{
75+
method: "POST",
76+
body: JSON.stringify({
77+
id: roomid,
78+
name: roomname,
79+
username: username,
80+
}),
81+
},
82+
);
83+
} catch (e) {
84+
console.error(e);
85+
}
86+
}
87+
loader.remove();
88+
dialog.alert(
89+
"All selected users have been invited! These users should see the invite in their notifications.",
90+
);
91+
} catch (e) {
92+
dialog.alert(
93+
`Failed to invite a user to room. Error Message: ${e}`,
94+
);
95+
}
96+
}
97+
5398
function doJoinCodeScreen(code) {
5499
var div = document.createElement("div");
55100
var joinHref =
@@ -366,48 +411,7 @@ async function doRoomSelect() {
366411
event: "click",
367412
func: async function (e) {
368413
e.preventDefault();
369-
try {
370-
var inviteTargets = await KnownUserList.getUsersPrompt(
371-
"Select users to invite",
372-
);
373-
if (!inviteTargets) {
374-
return;
375-
}
376-
if (inviteTargets.length == 0) {
377-
return;
378-
}
379-
var loader = new LoadingScreen();
380-
var invited = 0;
381-
for (var username of inviteTargets) {
382-
invited += 1;
383-
loader.setText(
384-
`Inviting "${username}"... (${invited}/${inviteTargets.length})`,
385-
);
386-
try {
387-
var response = await fetch(
388-
accountHelper.getServerURL() + "/account/inviteroom",
389-
{
390-
method: "POST",
391-
body: JSON.stringify({
392-
id: room.id,
393-
name: room.name,
394-
username: username,
395-
}),
396-
},
397-
);
398-
} catch (e) {
399-
console.error(e);
400-
}
401-
}
402-
loader.remove();
403-
dialog.alert(
404-
"All selected users have been invited! These users should see the invite in their notifications.",
405-
);
406-
} catch (e) {
407-
dialog.alert(
408-
`Failed to invite a user to room. Error Message: ${e}`,
409-
);
410-
}
414+
inviteUsersPrompt(room.id,room.name);
411415
},
412416
},
413417
],
@@ -695,4 +699,6 @@ async function doRoomSelect() {
695699

696700
rs.show = doRoomSelect;
697701

702+
rs.inviteUsersPrompt = inviteUsersPrompt;
703+
698704
module.exports = rs;

wpstatic/version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"timestamp":"1769094484002"}
1+
{"timestamp":"1769096819282"}

0 commit comments

Comments
 (0)