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

@@ -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);
}