wip direct messages

This commit is contained in:
simplonco
2023-01-11 18:20:48 +01:00
parent 8e7efbb65a
commit aa86299e73
10 changed files with 187 additions and 214 deletions

View File

@@ -3890,33 +3890,31 @@ var app = (function () {
message: response_message
};
}
async function join_room(room_name) {
async function join_room(room) {
console.log("in join_room");
console.log(room_name);
let name = {
room_name: room_name,
};
const response = await fetch('/api/v2/chat/join', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(name),
body: JSON.stringify(room),
});
let data = await response.json();
console.log(data.message);
return data.room;
}
async function change_room(room_name) {
async function change_room(room) {
console.log("in change_room");
let room_name_request = {
room_name: room_name,
};
const response = await fetch('/api/v2/chat/change', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(room_name_request),
body: JSON.stringify(room),
});
let data = await response.json();
console.log(data.message);
await get_room_messages();
let room_name = data.room.name;
if (room.type === 'direct') {
room_name === room.users[0];
if (room_name === user.username)
room_name === room.users[1];
}
current_room_name.set(room_name);
layout.set("room");
}
@@ -3924,38 +3922,25 @@ var app = (function () {
console.log("in get_my_rooms");
const response = await fetch('/api/v2/chat/myrooms');
const data = await response.json();
console.log("data.rooms:", data.rooms);
for (let room of data.rooms)
console.log(room.name);
let rooms = data.rooms;
return rooms;
return data.rooms;
}
async function get_all_rooms() {
console.log("in get_all_rooms");
const response = await fetch('/api/v2/chat/allrooms');
const data = await response.json();
console.log("data.rooms:", data.rooms);
for (let room of data.rooms)
console.log(room.name);
return rooms;
return data.rooms;
}
async function get_room_users() {
console.log("in get_room_users");
const response = await fetch('/api/v2/chat/roomusers');
const data = await response.json();
console.log("data.users:", data.users);
for (let user of data.users)
console.log(user.username);
let users = data.users;
return users;
return data.users;
}
async function user_leave_room() {
console.log("in leave_room");
const response = await fetch('/api/v2/chat/removeuser', {
await fetch('/api/v2/chat/removeuser', {
method: 'DELETE',
});
const data = await response.json();
console.log("data", data);
}
/* src/pieces/chat/Layout_home.svelte generated by Svelte v3.53.1 */
@@ -5280,11 +5265,11 @@ var app = (function () {
function get_each_context$6(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[3] = list[i];
child_ctx[4] = list[i];
return child_ctx;
}
// (26:1) <Button new_layout={back} my_class="back icon" my_title="go back {back}">
// (20:1) <Button new_layout={back} my_class="back icon" my_title="go back {back}">
function create_default_slot_4$3(ctx) {
let t;
@@ -5304,14 +5289,14 @@ var app = (function () {
block,
id: create_default_slot_4$3.name,
type: "slot",
source: "(26:1) <Button new_layout={back} my_class=\\\"back icon\\\" my_title=\\\"go back {back}\\\">",
source: "(20:1) <Button new_layout={back} my_class=\\\"back icon\\\" my_title=\\\"go back {back}\\\">",
ctx
});
return block;
}
// (31:1) <Button my_class="new deactivate">
// (25:1) <Button my_class="new deactivate">
function create_default_slot_3$4(ctx) {
let t;
@@ -5331,14 +5316,14 @@ var app = (function () {
block,
id: create_default_slot_3$4.name,
type: "slot",
source: "(31:1) <Button my_class=\\\"new deactivate\\\">",
source: "(25:1) <Button my_class=\\\"new deactivate\\\">",
ctx
});
return block;
}
// (36:1) <Button new_layout="close" my_class="close icon">
// (30:1) <Button new_layout="close" my_class="close icon">
function create_default_slot_2$8(ctx) {
let t;
@@ -5358,14 +5343,14 @@ var app = (function () {
block,
id: create_default_slot_2$8.name,
type: "slot",
source: "(36:1) <Button new_layout=\\\"close\\\" my_class=\\\"close icon\\\">",
source: "(30:1) <Button new_layout=\\\"close\\\" my_class=\\\"close icon\\\">",
ctx
});
return block;
}
// (42:2) <Button new_layout="create" my_class="create">
// (36:2) <Button new_layout="create" my_class="create">
function create_default_slot_1$8(ctx) {
let t;
@@ -5385,14 +5370,14 @@ var app = (function () {
block,
id: create_default_slot_1$8.name,
type: "slot",
source: "(42:2) <Button new_layout=\\\"create\\\" my_class=\\\"create\\\">",
source: "(36:2) <Button new_layout=\\\"create\\\" my_class=\\\"create\\\">",
ctx
});
return block;
}
// (1:0) <script> import { layout, msgs, user, socket }
// (1:0) <script lang="ts">import './Store_chat'; import { join_room, change_room, get_all_rooms }
function create_catch_block$2(ctx) {
const block = {
c: noop,
@@ -5407,14 +5392,14 @@ var app = (function () {
block,
id: create_catch_block$2.name,
type: "catch",
source: "(1:0) <script> import { layout, msgs, user, socket }",
source: "(1:0) <script lang=\\\"ts\\\">import './Store_chat'; import { join_room, change_room, get_all_rooms }",
ctx
});
return block;
}
// (52:3) {:then rooms}
// (46:3) {:then rooms}
function create_then_block$2(ctx) {
let each_1_anchor;
let current;
@@ -5503,16 +5488,16 @@ var app = (function () {
block,
id: create_then_block$2.name,
type: "then",
source: "(52:3) {:then rooms}",
source: "(46:3) {:then rooms}",
ctx
});
return block;
}
// (54:5) <Button my_class="list" on_click={join_rooms}>
// (48:5) <Button my_class="list" on_click={function() {join_rooms(room)}}>
function create_default_slot$9(ctx) {
let t0_value = /*room*/ ctx[3].name + "";
let t0_value = /*room*/ ctx[4].name + "";
let t0;
let t1;
@@ -5536,22 +5521,26 @@ var app = (function () {
block,
id: create_default_slot$9.name,
type: "slot",
source: "(54:5) <Button my_class=\\\"list\\\" on_click={join_rooms}>",
source: "(48:5) <Button my_class=\\\"list\\\" on_click={function() {join_rooms(room)}}>",
ctx
});
return block;
}
// (53:4) {#each rooms as room}
// (47:4) {#each rooms as room}
function create_each_block$6(ctx) {
let button;
let current;
function func() {
return /*func*/ ctx[3](/*room*/ ctx[4]);
}
button = new Element_button({
props: {
my_class: "list",
on_click: /*join_rooms*/ ctx[1],
on_click: func,
$$slots: { default: [create_default_slot$9] },
$$scope: { ctx }
},
@@ -5566,10 +5555,11 @@ var app = (function () {
mount_component(button, target, anchor);
current = true;
},
p: function update(ctx, dirty) {
p: function update(new_ctx, dirty) {
ctx = new_ctx;
const button_changes = {};
if (dirty & /*$$scope*/ 64) {
if (dirty & /*$$scope*/ 128) {
button_changes.$$scope = { dirty, ctx };
}
@@ -5593,14 +5583,14 @@ var app = (function () {
block,
id: create_each_block$6.name,
type: "each",
source: "(53:4) {#each rooms as room}",
source: "(47:4) {#each rooms as room}",
ctx
});
return block;
}
// (50:17) <p>rooms are loading...</p> {:then rooms}
// (44:17) <p>rooms are loading...</p> {:then rooms}
function create_pending_block$2(ctx) {
let p;
@@ -5608,7 +5598,7 @@ var app = (function () {
c: function create() {
p = element("p");
p.textContent = "rooms are loading...";
add_location(p, file$n, 50, 4, 1077);
add_location(p, file$n, 44, 4, 1114);
},
m: function mount(target, anchor) {
insert_dev(target, p, anchor);
@@ -5625,7 +5615,7 @@ var app = (function () {
block,
id: create_pending_block$2.name,
type: "pending",
source: "(50:17) <p>rooms are loading...</p> {:then rooms}",
source: "(44:17) <p>rooms are loading...</p> {:then rooms}",
ctx
});
@@ -5726,17 +5716,17 @@ var app = (function () {
p1.textContent = "/ there are no public rooms yet /";
t7 = space();
info.block.c();
add_location(p0, file$n, 44, 2, 897);
add_location(p0, file$n, 38, 2, 934);
attr_dev(p1, "class", "__center");
add_location(p1, file$n, 47, 4, 987);
add_location(p1, file$n, 41, 4, 1024);
attr_dev(div0, "class", "__show_if_only_child");
add_location(div0, file$n, 46, 3, 948);
add_location(div0, file$n, 40, 3, 985);
attr_dev(div1, "class", "public_rooms");
add_location(div1, file$n, 45, 2, 918);
add_location(div1, file$n, 39, 2, 955);
attr_dev(div2, "class", "panel panel_new __border_top");
add_location(div2, file$n, 40, 1, 781);
add_location(div2, file$n, 34, 1, 818);
attr_dev(div3, "class", "grid_box svelte-1b4c0qx");
add_location(div3, file$n, 22, 0, 472);
add_location(div3, file$n, 16, 0, 509);
},
l: function claim(nodes) {
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
@@ -5769,28 +5759,28 @@ var app = (function () {
if (dirty & /*back*/ 1) button0_changes.new_layout = /*back*/ ctx[0];
if (dirty & /*back*/ 1) button0_changes.my_title = "go back " + /*back*/ ctx[0];
if (dirty & /*$$scope*/ 64) {
if (dirty & /*$$scope*/ 128) {
button0_changes.$$scope = { dirty, ctx };
}
button0.$set(button0_changes);
const button1_changes = {};
if (dirty & /*$$scope*/ 64) {
if (dirty & /*$$scope*/ 128) {
button1_changes.$$scope = { dirty, ctx };
}
button1.$set(button1_changes);
const button2_changes = {};
if (dirty & /*$$scope*/ 64) {
if (dirty & /*$$scope*/ 128) {
button2_changes.$$scope = { dirty, ctx };
}
button2.$set(button2_changes);
const button3_changes = {};
if (dirty & /*$$scope*/ 64) {
if (dirty & /*$$scope*/ 128) {
button3_changes.$$scope = { dirty, ctx };
}
@@ -5849,11 +5839,13 @@ var app = (function () {
let rooms = get_all_rooms();
// join the room
async function join_rooms(evt) {
async function join_rooms(room) {
console.log("inside join_room");
let room_name = evt.target.innerText;
await join_room(room_name);
await change_room(room_name);
console.log("room:", room);
console.log("room:", room);
const updated_room = await join_room(room);
console.log("updated room:", updated_room);
await change_room(updated_room);
}
const writable_props = ['back'];
@@ -5862,18 +5854,17 @@ var app = (function () {
if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console_1$b.warn(`<Layout_new> was created with unknown prop '${key}'`);
});
const func = function (room) {
join_rooms(room);
};
$$self.$$set = $$props => {
if ('back' in $$props) $$invalidate(0, back = $$props.back);
};
$$self.$capture_state = () => ({
layout,
msgs,
user,
socket: socket$1,
join_room,
change_room,
get_room_messages,
get_all_rooms,
Button: Element_button,
back,
@@ -5890,7 +5881,7 @@ var app = (function () {
$$self.$inject_state($$props.$$inject);
}
return [back, join_rooms, rooms];
return [back, join_rooms, rooms, func];
}
class Layout_new extends SvelteComponentDev {

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
<script>
<script lang="ts">
import { layout, msgs, user, socket } from './Store_chat';
import { join_room, change_room, get_room_messages, get_all_rooms } from './Request_rooms';
@@ -9,13 +9,15 @@
let rooms = get_all_rooms();
// join the room
async function join_rooms(evt)
async function join_rooms(room: object)
{
console.log("inside join_room");
let room_name = evt.target.innerText;
console.log("room:", room);
await join_room(room_name);
await change_room(room_name);
console.log("room:", room);
const updated_room = await join_room(room);
console.log("updated room:", updated_room);
await change_room(updated_room);
}
</script>
@@ -51,7 +53,7 @@
<p>rooms are loading...</p>
{:then rooms}
{#each rooms as room}
<Button my_class="list" on_click={join_rooms}>
<Button my_class="list" on_click={function() {join_rooms(room)}}>
{room.name}
</Button>
{/each}

View File

@@ -48,40 +48,40 @@ export async function create_room(room_name, room_type)
};
}
export async function join_room(room_name)
export async function join_room(room)
{
console.log("in join_room");
console.log(room_name);
let name = {
room_name: room_name,
}
const response = await fetch('/api/v2/chat/join', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(name),
body: JSON.stringify(room),
});
let data = await response.json();
console.log(data.message);
return data.room;
}
export async function change_room(room_name)
export async function change_room(room)
{
console.log("in change_room");
let room_name_request = {
room_name: room_name,
}
const response = await fetch('/api/v2/chat/change', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(room_name_request),
body: JSON.stringify(room),
});
let data = await response.json();
console.log(data.message);
await get_room_messages();
let room_name = data.room.name;
if (room.type === 'direct')
{
room_name === room.users[0];
if (room_name === user.username)
room_name === room.users[1];
}
current_room_name.set(room_name);
layout.set("room");
}
@@ -93,12 +93,7 @@ export async function get_my_rooms()
const response = await fetch('/api/v2/chat/myrooms');
const data = await response.json();
console.log("data.rooms:", data.rooms);
for (let room of data.rooms)
console.log(room.name);
let rooms = data.rooms;
return rooms;
return data.rooms;
}
export async function get_all_rooms()
@@ -108,11 +103,7 @@ export async function get_all_rooms()
const response = await fetch('/api/v2/chat/allrooms');
const data = await response.json();
console.log("data.rooms:", data.rooms);
for (let room of data.rooms)
console.log(room.name);
return rooms;
return data.rooms;
}
export async function get_room_users()
@@ -122,12 +113,7 @@ export async function get_room_users()
const response = await fetch('/api/v2/chat/roomusers');
const data = await response.json();
console.log("data.users:", data.users);
for (let user of data.users)
console.log(user.username);
let users = data.users;
return users;
return data.users;
}
export async function user_leave_room()
@@ -137,9 +123,6 @@ export async function user_leave_room()
const response = await fetch('/api/v2/chat/removeuser', {
method: 'DELETE',
});
const data = await response.json();
console.log("data", data);
}