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">
|
<script lang="ts">
|
||||||
|
|
||||||
import Layouts from './Chat_layouts.svelte';
|
import Layouts from './Chat_layouts.svelte';
|
||||||
|
import { init_socket } from './Socket_init';
|
||||||
|
|
||||||
export let color = "transparent";
|
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();
|
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>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
||||||
export let color;
|
export let color;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
||||||
import Debug from './tmp_debug.svelte';
|
import Debug from './tmp_debug.svelte';
|
||||||
@@ -16,7 +15,7 @@
|
|||||||
import MuteLayout from './Layout_mute.svelte';
|
import MuteLayout from './Layout_mute.svelte';
|
||||||
import UserLayout from './Layout_user.svelte';
|
import UserLayout from './Layout_user.svelte';
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
|
|
||||||
/* global variables
|
/* 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
|
<Button
|
||||||
bind:layout
|
bind:layout
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout;
|
export let layout;
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
import Warning from './Chat_warning.svelte';
|
import Warning from './Element_warning.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
import { msgs } from './Store_msg.js';
|
import { msgs, user } from './Store_chat';
|
||||||
import { user } from './Chat_socket.svelte';
|
|
||||||
export let layout;
|
export let layout;
|
||||||
|
|
||||||
let rooms = [
|
let rooms = [
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
import Msg from './Chat_msg.svelte';
|
import Msg from './Element_msg.svelte';
|
||||||
import { socket } from './Chat_socket.svelte';
|
import { socket, msgs } from './Store_chat';
|
||||||
import { msgs } from './Store_msg.js';
|
|
||||||
|
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
export let back = "";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Button from './Chat_button.svelte';
|
import Button from './Element_button.svelte';
|
||||||
export let layout = "";
|
export let layout = "";
|
||||||
export let back = "";
|
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 @@
|
|||||||
|
export function connection_states(socket)
|
||||||
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()
|
|
||||||
{
|
{
|
||||||
socket.on('connect', function(){ console.log("socket.io connected"); });
|
socket.on('connect', function(){ console.log("socket.io connected"); });
|
||||||
socket.on('disconnect', function(){ console.log("socket.io disconnected"); });
|
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