new svelte files organisation for sockets and store
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,70 +1,11 @@
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
import Layouts from './Chat_layouts.svelte';
|
||||
import { init_socket } from './Socket_init';
|
||||
|
||||
export let color = "transparent";
|
||||
|
||||
/* 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';
|
||||
|
||||
init_socket();
|
||||
/*
|
||||
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");
|
||||
});
|
||||
|
||||
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>
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
export let color;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
import Debug from './tmp_debug.svelte';
|
||||
@@ -16,7 +15,7 @@
|
||||
import MuteLayout from './Layout_mute.svelte';
|
||||
import UserLayout from './Layout_user.svelte';
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
|
||||
/* global variables
|
||||
*/
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<script context="module">
|
||||
|
||||
import io from 'socket.io-client';
|
||||
export let user;
|
||||
export let socket;
|
||||
|
||||
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
|
||||
|
||||
fetch(`${address}/api/v2/user`)
|
||||
.then((resp) => resp.json())
|
||||
.then((data) =>
|
||||
{
|
||||
user = data;
|
||||
console.log("user:", user);
|
||||
socket = io(address,
|
||||
{
|
||||
path: '/chat',
|
||||
query:
|
||||
{
|
||||
username: user.username,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<!--
|
||||
<Button
|
||||
bind:layout
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout;
|
||||
|
||||
</script>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Warning from './Chat_warning.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
import Warning from './Element_warning.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
|
||||
<script>
|
||||
|
||||
import { onMount } from 'svelte';
|
||||
import Button from './Chat_button.svelte';
|
||||
import { msgs } from './Store_msg.js';
|
||||
import { user } from './Chat_socket.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
import { msgs, user } from './Store_chat';
|
||||
export let layout;
|
||||
|
||||
let rooms = [
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Msg from './Chat_msg.svelte';
|
||||
import { socket } from './Chat_socket.svelte';
|
||||
import { msgs } from './Store_msg.js';
|
||||
import Button from './Element_button.svelte';
|
||||
import Msg from './Element_msg.svelte';
|
||||
import { socket, msgs } from './Store_chat';
|
||||
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Button from './Chat_button.svelte';
|
||||
import Button from './Element_button.svelte';
|
||||
export let layout = "";
|
||||
export let back = "";
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
export function socket_events(socket)
|
||||
{
|
||||
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 }]);
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import io from 'socket.io-client';
|
||||
import { set_socket, set_user } from './Store_chat';
|
||||
import { socket_events } from './Socket_events';
|
||||
import { connection_states } from './Socket_states';
|
||||
|
||||
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
|
||||
|
||||
export async function init_socket()
|
||||
{
|
||||
const response = await fetch(`${address}/api/v2/user`);
|
||||
const response_data = await response.json();
|
||||
|
||||
set_user(response_data);
|
||||
|
||||
let socket = await io(address,
|
||||
{
|
||||
path: '/chat',
|
||||
query:
|
||||
{
|
||||
username: response_data.username,
|
||||
},
|
||||
});
|
||||
set_socket(socket);
|
||||
|
||||
connection_states(socket);
|
||||
socket_events(socket);
|
||||
}
|
||||
|
||||
@@ -1,45 +1,4 @@
|
||||
|
||||
import io from 'socket.io-client';
|
||||
export let user;
|
||||
export let socket;
|
||||
|
||||
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
|
||||
|
||||
export async function init_socket()
|
||||
{
|
||||
console.log("inside init_socket");
|
||||
const response = await fetch(`${address}/api/v2/user`);
|
||||
const response_data = await response.json();
|
||||
|
||||
user = response_data;
|
||||
console.log("user:", user);
|
||||
|
||||
socket = await io(address,
|
||||
{
|
||||
path: '/chat',
|
||||
query:
|
||||
{
|
||||
username: user.username,
|
||||
},
|
||||
})
|
||||
console.log("socket:", socket);
|
||||
|
||||
connection_states();
|
||||
socket_events();
|
||||
}
|
||||
|
||||
function socket_events()
|
||||
{
|
||||
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 }]);
|
||||
});
|
||||
}
|
||||
|
||||
function connection_states()
|
||||
export function connection_states(socket)
|
||||
{
|
||||
socket.on('connect', function(){ console.log("socket.io connected"); });
|
||||
socket.on('disconnect', function(){ console.log("socket.io disconnected"); });
|
||||
@@ -0,0 +1,10 @@
|
||||
import { writable } from 'svelte/store';
|
||||
|
||||
export let msgs = writable([]);
|
||||
|
||||
export let user;
|
||||
export let socket;
|
||||
|
||||
export function set_user(new_user) { user = new_user; }
|
||||
export function set_socket(new_socket) { socket = new_socket; }
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
|
||||
import { writable } from 'svelte/store';
|
||||
|
||||
export let user = writable({});
|
||||
export let socket = writable({});
|
||||
export let msgs = writable([]);
|
||||
|
||||
Reference in New Issue
Block a user