wip try to make chatrooms db remember users
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
// {
|
||||
//
|
||||
// await init_socket();
|
||||
// init_socket();
|
||||
|
||||
// pbm: sometimes socket is still undefined here
|
||||
socket.on('connect', function(){
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
let room_type: string;
|
||||
let room_password: string;
|
||||
let response_data: string;
|
||||
let response_status: number = 200;
|
||||
let response_status: number = 0;
|
||||
let response_message: string;
|
||||
|
||||
async function handleSubmit(evt)
|
||||
@@ -26,20 +26,23 @@
|
||||
};
|
||||
console.log("formData:", formData);
|
||||
|
||||
//const response = await fetch(`http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}/api/v2/chat/join`, {
|
||||
// send the new room
|
||||
const response = await fetch('/api/v2/chat/join', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(formData),
|
||||
});
|
||||
|
||||
// get response status and message
|
||||
response_status = response.status;
|
||||
response_data = await response.json();
|
||||
console.log(response_data);
|
||||
if (response_data.statusCode)
|
||||
response_status = response_data.statusCode;
|
||||
else
|
||||
response_status = 200;
|
||||
if (response_data.message)
|
||||
response_message = response_data.message;
|
||||
console.log("response:", response_data, "status:", response_status, "message:", response_message);
|
||||
|
||||
// go to room
|
||||
if (response_status === 200 && response_message === "successfull room creation")
|
||||
layout = "room";
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -64,7 +67,7 @@
|
||||
<!-- panel_create -->
|
||||
<div class="panel panel_create __border_top">
|
||||
<form on:submit|preventDefault={handleSubmit}>
|
||||
{#if response_status !== 200}
|
||||
{#if response_status >= 300}
|
||||
<Warning content={response_message}/>
|
||||
{/if}
|
||||
<!-- name: -->
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
|
||||
<script>
|
||||
|
||||
import { onMount } from 'svelte';
|
||||
import Button from './Chat_button.svelte';
|
||||
export let layout;
|
||||
|
||||
let rooms = [
|
||||
{room_name: 'my room'},
|
||||
{room_name: 'better room'},
|
||||
{room_name: 'best room'},
|
||||
{room_name: 'ho room'},
|
||||
];
|
||||
|
||||
// ask for the rooms
|
||||
onMount(() => {
|
||||
console.log("onmount");
|
||||
const get_rooms = fetch('/api/v2/chat/rooms')
|
||||
.then(resp => resp.json())
|
||||
.then(data =>
|
||||
{
|
||||
console.log(data);
|
||||
//rooms = data;
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div class="grid_box">
|
||||
@@ -30,10 +50,13 @@
|
||||
<div class="__show_if_only_child">
|
||||
<p class="__center">/ you have no chat room yet /</p>
|
||||
</div>
|
||||
{#each rooms as room}
|
||||
<Button bind:layout new_layout="room" my_class="list">
|
||||
{room.room_name}
|
||||
</Button>
|
||||
{/each}
|
||||
|
||||
<!-- placeholders
|
||||
<Button bind:layout new_layout="room" my_class="list">
|
||||
a room
|
||||
</Button>
|
||||
<Button bind:layout new_layout="room" my_class="list">
|
||||
another room
|
||||
</Button>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
text_area.focus();
|
||||
}
|
||||
|
||||
function send_msg_if(evt)
|
||||
function enter_send_msg(evt)
|
||||
{
|
||||
if (evt.shiftKey && evt.key === "Enter")
|
||||
{
|
||||
@@ -72,7 +72,7 @@
|
||||
class="text_area"
|
||||
bind:innerHTML={msg}
|
||||
bind:this={text_area}
|
||||
on:keypress={send_msg_if}
|
||||
on:keypress={enter_send_msg}
|
||||
contenteditable="true"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
@@ -3,6 +3,9 @@ import io from 'socket.io-client';
|
||||
export let user;
|
||||
export let socket;
|
||||
|
||||
export let temp = "foo";
|
||||
export function change_temp(){temp = "bar";};
|
||||
|
||||
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
|
||||
|
||||
export function init_socket()
|
||||
@@ -19,7 +22,7 @@ export function init_socket()
|
||||
{
|
||||
username: user.username,
|
||||
},
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user