wip entities

This commit is contained in:
simplonco
2023-01-05 14:39:52 +01:00
parent 286d79ed06
commit f0736ab20b
11 changed files with 248 additions and 99 deletions

View File

@@ -10348,7 +10348,7 @@ var app = (function () {
const { console: console_1$8 } = globals;
const file$h = "src/pieces/chat/Layout_create.svelte";
// (27:1) <Button bind:layout new_layout={back} my_class="back icon" my_title="go back {back}">
// (30:1) <Button bind:layout new_layout={back} my_class="back icon" my_title="go back {back}">
function create_default_slot_2$3(ctx) {
let t;
@@ -10368,14 +10368,14 @@ var app = (function () {
block,
id: create_default_slot_2$3.name,
type: "slot",
source: "(27:1) <Button bind:layout new_layout={back} my_class=\\\"back icon\\\" my_title=\\\"go back {back}\\\">",
source: "(30:1) <Button bind:layout new_layout={back} my_class=\\\"back icon\\\" my_title=\\\"go back {back}\\\">",
ctx
});
return block;
}
// (32:1) <Button my_class="create deactivate">
// (35:1) <Button my_class="create deactivate">
function create_default_slot_1$3(ctx) {
let t;
@@ -10395,14 +10395,14 @@ var app = (function () {
block,
id: create_default_slot_1$3.name,
type: "slot",
source: "(32:1) <Button my_class=\\\"create deactivate\\\">",
source: "(35:1) <Button my_class=\\\"create deactivate\\\">",
ctx
});
return block;
}
// (37:1) <Button bind:layout new_layout="close" my_class="close icon">
// (40:1) <Button bind:layout new_layout="close" my_class="close icon">
function create_default_slot$5(ctx) {
let t;
@@ -10422,7 +10422,7 @@ var app = (function () {
block,
id: create_default_slot$5.name,
type: "slot",
source: "(37:1) <Button bind:layout new_layout=\\\"close\\\" my_class=\\\"close icon\\\">",
source: "(40:1) <Button bind:layout new_layout=\\\"close\\\" my_class=\\\"close icon\\\">",
ctx
});
@@ -10562,63 +10562,68 @@ var app = (function () {
t17 = space();
input5 = element("input");
attr_dev(p0, "class", "svelte-111r258");
add_location(p0, file$h, 53, 26, 1353);
add_location(p0, file$h, 56, 26, 1484);
attr_dev(label0, "for", "chat_name");
add_location(label0, file$h, 53, 3, 1330);
add_location(label0, file$h, 56, 3, 1461);
attr_dev(input0, "id", "chat_name");
attr_dev(input0, "name", "room_name");
input0.required = true;
add_location(input0, file$h, 54, 3, 1387);
add_location(input0, file$h, 57, 3, 1518);
attr_dev(input1, "id", "chat_public");
attr_dev(input1, "type", "radio");
attr_dev(input1, "name", "chat_create_type");
attr_dev(input1, "name", "room_type");
input1.value = "public";
input1.checked = true;
attr_dev(input1, "class", "svelte-111r258");
add_location(input1, file$h, 56, 3, 1445);
add_location(input1, file$h, 59, 3, 1593);
attr_dev(p1, "class", "svelte-111r258");
add_location(p1, file$h, 57, 43, 1559);
add_location(p1, file$h, 60, 43, 1715);
attr_dev(label1, "for", "chat_public");
attr_dev(label1, "class", "_radio svelte-111r258");
add_location(label1, file$h, 57, 3, 1519);
add_location(label1, file$h, 60, 3, 1675);
attr_dev(input2, "id", "chat_private");
attr_dev(input2, "type", "radio");
attr_dev(input2, "name", "chat_create_type");
attr_dev(input2, "name", "room_type");
input2.value = "private";
attr_dev(input2, "class", "svelte-111r258");
add_location(input2, file$h, 59, 3, 1608);
add_location(input2, file$h, 62, 3, 1764);
attr_dev(p2, "class", "svelte-111r258");
add_location(p2, file$h, 60, 44, 1716);
add_location(p2, file$h, 63, 44, 1881);
attr_dev(label2, "for", "chat_private");
attr_dev(label2, "class", "_radio svelte-111r258");
add_location(label2, file$h, 60, 3, 1675);
add_location(label2, file$h, 63, 3, 1840);
attr_dev(input3, "id", "chat_protected");
attr_dev(input3, "class", "__check_change_next svelte-111r258");
attr_dev(input3, "type", "radio");
attr_dev(input3, "name", "chat_create_type");
add_location(input3, file$h, 62, 3, 1768);
attr_dev(input3, "name", "room_type");
input3.value = "protected";
add_location(input3, file$h, 65, 3, 1933);
attr_dev(p3, "class", "svelte-111r258");
add_location(p3, file$h, 63, 46, 1908);
add_location(p3, file$h, 66, 46, 2084);
attr_dev(label3, "for", "chat_protected");
attr_dev(label3, "class", "_radio svelte-111r258");
add_location(label3, file$h, 63, 3, 1865);
add_location(label3, file$h, 66, 3, 2041);
attr_dev(p4, "class", "svelte-111r258");
add_location(p4, file$h, 66, 27, 2013);
add_location(p4, file$h, 69, 27, 2189);
attr_dev(label4, "for", "chat_pswd");
add_location(label4, file$h, 66, 4, 1990);
add_location(label4, file$h, 69, 4, 2166);
attr_dev(input4, "id", "chat_pswd");
attr_dev(input4, "type", "password");
attr_dev(input4, "placeholder", "minimum 8 characters");
attr_dev(input4, "minlength", "8");
add_location(input4, file$h, 67, 4, 2052);
attr_dev(input4, "name", "password");
add_location(input4, file$h, 70, 4, 2228);
attr_dev(div0, "class", "__to_show");
add_location(div0, file$h, 65, 3, 1962);
add_location(div0, file$h, 68, 3, 2138);
attr_dev(input5, "type", "submit");
input5.value = "⮡";
attr_dev(input5, "class", "svelte-111r258");
add_location(input5, file$h, 69, 3, 2154);
add_location(form, file$h, 51, 2, 1262);
add_location(input5, file$h, 72, 3, 2346);
add_location(form, file$h, 54, 2, 1393);
attr_dev(div1, "class", "panel panel_create __border_top svelte-111r258");
add_location(div1, file$h, 41, 1, 717);
add_location(div1, file$h, 44, 1, 848);
attr_dev(div2, "class", "grid_box svelte-111r258");
add_location(div2, file$h, 23, 0, 372);
add_location(div2, file$h, 26, 0, 503);
},
l: function claim(nodes) {
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
@@ -10738,13 +10743,20 @@ var app = (function () {
return block;
}
function handleSubmit(evt) {
async function handleSubmit(evt) {
let formIsValid = evt.target.checkValidity();
console.log("----- formIsValid:");
console.log(formIsValid);
if (formIsValid) {
fetch('/api/v2/chat/create', { method: 'POST', body: evt.target });
const formData = new FormData(evt.target);
console.log(formData);
const response = await fetch('/api/v2/chat/join', {
method: 'POST',
//headers: { 'Content-Type': 'multipart/form-data' },
body: formData
});
console.log(await response.json());
}
}
@@ -13984,6 +13996,10 @@ var app = (function () {
validate_slots('Chat', slots, []);
let { color = "transparent" } = $$props;
// async function socket_actions()
// {
//
// await init_socket();
// pbm: sometimes socket is still undefined here
socket$1.on('connect', function () {
console.log("socket.io connected");

File diff suppressed because one or more lines are too long

View File

@@ -7,54 +7,62 @@
/* web sockets with socket.io
*/
import { socket, user } from './Chat_socket.svelte';
// import { init_socket, socket, user } from './Socket';
import { msgs } from './Store_msg.js';
// async function socket_actions()
// {
//
// await init_socket();
// pbm: sometimes socket is still undefined here
socket.on('connect', function(){
console.log("socket.io connected");
});
socket.on('disconnect', function(){
console.log("socket.io disconnected");
});
socket.on('connect_error', function(){
console.log("socket.io connect_error");
});
socket.on('connect_timeout', function(){
console.log("socket.io connect_timeout");
});
socket.on('error', function(){
console.log("socket.io error");
});
socket.on('reconnect', function(){
console.log("socket.io reconnect");
});
socket.on('reconnect_attempt', function(){
console.log("socket.io reconnect_attempt");
});
socket.on('reconnecting', function(){
console.log("socket.io reconnecting");
});
socket.on('reconnect_error', function(){
console.log("socket.io reconnect_error");
});
socket.on('reconnect_failed', function(){
console.log("socket.io reconnect_failed");
});
socket.on('ping', function(){
console.log("socket.io ping");
});
socket.on('pong', function(){
console.log("socket.io pong");
});
// pbm: sometimes socket is still undefined here
socket.on('connect', function(){
console.log("socket.io connected");
});
socket.on('disconnect', function(){
console.log("socket.io disconnected");
});
socket.on('connect_error', function(){
console.log("socket.io connect_error");
});
socket.on('connect_timeout', function(){
console.log("socket.io connect_timeout");
});
socket.on('error', function(){
console.log("socket.io error");
});
socket.on('reconnect', function(){
console.log("socket.io reconnect");
});
socket.on('reconnect_attempt', function(){
console.log("socket.io reconnect_attempt");
});
socket.on('reconnecting', function(){
console.log("socket.io reconnecting");
});
socket.on('reconnect_error', function(){
console.log("socket.io reconnect_error");
});
socket.on('reconnect_failed', function(){
console.log("socket.io reconnect_failed");
});
socket.on('ping', function(){
console.log("socket.io ping");
});
socket.on('pong', function(){
console.log("socket.io pong");
});
socket.on('message', function(from, message)
{
console.log("received msg:", message, from);
if (from === user.username)
from = "me";
msgs.update(msgs => [...msgs, { content: message, name: from }]);
});
socket.on('message', function(from, message)
{
console.log("received msg:", message, from);
if (from === user.username)
from = "me";
msgs.update(msgs => [...msgs, { content: message, name: from }]);
});
// };
// socket_actions();
</script>

View File

@@ -5,17 +5,20 @@
export let layout = "";
export let back = "";
function handleSubmit(evt)
async function handleSubmit(evt)
{
let formIsValid = evt.target.checkValidity();
console.log("----- formIsValid:");
console.log(formIsValid);
if (formIsValid)
{
fetch('/api/v2/chat/create', {
const formData = new FormData(evt.target);
console.log(formData);
const response = await fetch('/api/v2/chat/join', {
method: 'POST',
body: evt.target,
})
//headers: { 'Content-Type': 'multipart/form-data' },
body: formData,
});
console.log(await response.json());
}
}
@@ -52,20 +55,20 @@
<form on:submit|preventDefault={handleSubmit}>
<!-- name: -->
<label for="chat_name"><p>new room name :</p></label>
<input id="chat_name" required>
<input id="chat_name" name="room_name" required>
<!-- [ ] pubic -->
<input id="chat_public" type="radio" name="chat_create_type" checked>
<input id="chat_public" type="radio" name="room_type" value="public" checked>
<label for="chat_public" class="_radio"><p>public</p></label>
<!-- [ ] private -->
<input id="chat_private" type="radio" name="chat_create_type">
<input id="chat_private" type="radio" name="room_type" value="private">
<label for="chat_private" class="_radio"><p>private</p></label>
<!-- [ ] protected -->
<input id="chat_protected" class="__check_change_next" type="radio" name="chat_create_type">
<input id="chat_protected" class="__check_change_next" type="radio" name="room_type" value="protected">
<label for="chat_protected" class="_radio"><p>protected</p></label>
<!-- [x] protected -->
<div class="__to_show">
<label for="chat_pswd"><p>choose a password :</p></label>
<input id="chat_pswd" type="password" placeholder="minimum 8 characters" minlength="8">
<input id="chat_pswd" type="password" placeholder="minimum 8 characters" minlength="8" name="password">
</div>
<input type="submit" value="&#x2BA1">
</form>

View File

@@ -0,0 +1,25 @@
import io from 'socket.io-client';
export let user;
export let socket;
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
export function init_socket()
{
fetch(`${address}/api/v2/user`)
.then((resp) => resp.json())
.then((data) =>
{
user = data;
socket = io(address,
{
path: '/chat',
query:
{
username: user.username,
},
});
});
}