fixed a mutitudes of errors in chat

This commit is contained in:
simplonco
2023-01-18 03:54:39 +01:00
parent 532576cb08
commit 035eb2a46a
7 changed files with 137 additions and 48 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { layout, settings_user } from './Store_chat';
import { set_mute, get_is_mute, get_unmute } from './Request_rooms';
import { set_mute, get_unmute } from './Request_rooms';
import Button from './Element_button.svelte';
import Warning from './Element_warning.svelte';
@@ -9,20 +9,12 @@
let response: FetchResponse;
let show_error = false;
let is_mute = false;
let mute_date: date;
let date_string: string;
get_is_mute($settings_user).then(response =>
{
if (response && response.name)
is_mute = true;
if (response && response.date)
mute_date = response.date;
if (mute_date)
date_string = stringify_date(new Date(mute_date));
else
date_string = "eternity";
});
if ($settings_user.mute_date)
date_string = stringify_date(new Date($settings_user.mute_date));
else
date_string = "eternity";
let is_forever;
let minutes: number = 0;
@@ -41,11 +33,6 @@
if (!formIsValid)
return;
console.log("is_forever:", is_forever);
console.log("minutes:", minutes);
console.log("hours:", hours);
console.log("days:", days);
let date_limit: Date;
let time: string;
@@ -54,24 +41,23 @@
else
{
let duration = minutes * (1000 * 60) + hours * (1000 * 60 * 60) + days * (1000 * 60 * 60 * 24);
console.log("duration:", duration);
let date_start = new Date();
date_limit = new Date(date_start.getTime() + duration);
time = stringify_date(date_limit);
console.log("time:", time);
}
response = await set_mute(date_limit, $settings_user, time);
response = await set_mute(date_limit, $settings_user.name, time);
// print error
if (response.status >= 300 || response.error)
show_error = response.error;
else
layout.set("room");
layout.set("room");
}
async function unmute()
{
get_unmute($settings_user);
get_unmute($settings_user.name);
layout.set("room");
}
@@ -86,7 +72,7 @@
<!-- user -->
<Button my_class="user deactivate">
{$settings_user}
{$settings_user.name}
</Button>
<!-- close -->
@@ -99,7 +85,7 @@
{#if show_error}
<Warning content={response.message}/>
{/if}
{#if is_mute === true }
{#if $settings_user.ismute }
<p class="__center">this user is mute untill {date_string}</p>
<Button on:click={unmute}>
un-mute

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { layout, current_room, settings_user } from './Store_chat';
import { get_room_users, leave_room, get_is_admin, get_current_room } from './Request_rooms';
import { get_room_users, leave_room, get_is_admin, set_current_room, set_settings_user } from './Request_rooms';
import { User } from './Types_chat';
import { to_print } from './Utils_chat';
import Button from './Element_button.svelte';
@@ -13,7 +13,7 @@
let is_admin = false;
get_is_admin().then(response => is_admin = response);
get_current_room().then(response => current_room.set(response.room));
set_current_room();
$: console.log("current_room infos:", $current_room);
to_print("current_room:", $current_room);
@@ -22,6 +22,7 @@
{
to_print("in user_profile");
settings_user.set(room_user);
set_settings_user(room_user.name);
layout.set("user");
}

View File

@@ -17,6 +17,8 @@
let response: FetchResponse;
let show_error = false;
$: console.log("settings_user infos:", $settings_user);
function game_invitation()
{
to_print("in game_invitation");
@@ -53,7 +55,8 @@
//show errors
if (response.status >= 300 || response.error)
show_error = response.error;
layout.set("room");
else
layout.set("room");
}
</script>
@@ -105,12 +108,20 @@
{/if}
{#if is_admin && back === "room_set" && $current_room.type !== "direct"}
<Button on:click={make_user_admin}>
make admin
</Button>
<Button new_layout="mute">
mute
</Button>
{#if !$settings_user.isadmin}
<Button on:click={make_user_admin}>
make admin
</Button>
{/if}
{#if $settings_user.ismute}
<Button new_layout="mute">
unmute
</Button>
{:else}
<Button new_layout="mute">
mute
</Button>
{/if}
{/if}
</div>

View File

@@ -1,4 +1,4 @@
import { msgs, user, layout, socket, current_room } from './Store_chat';
import { msgs, user, layout, socket, current_room, settings_user } from './Store_chat';
import type { Room, FetchResponse } from './Types_chat';
import { FetchMethod, Mute, User } from './Types_chat';
import { to_print } from './Utils_chat';
@@ -66,14 +66,30 @@ export async function change_room(room: Room): Promise<FetchResponse>
return response;
}
export async function get_current_room()
export async function set_current_room()
{
to_print("in validate_password");
to_print("in set_current_room");
let response: FetchResponse = await fetch_chat_request('currentroom', FetchMethod.GET);
to_print("response from get_current_room:", response);
return response;
if (response && response.room)
{
set_client_name_on_room(response.room);
current_room.set(response.room);
}
}
export async function set_settings_user(username: string)
{
to_print("in set_settings_user");
to_print("username for set_settings_user:", username);
let response: FetchResponse = await fetch_chat_request('userinfos', FetchMethod.POST, {username: username});
to_print("response from set_settings_user:", response);
if (response && response.user)
settings_user.set(response.user);
}
export async function validate_password(room: Room)

View File

@@ -25,6 +25,8 @@ export interface User
name: string;
isadmin: boolean;
isblocked: boolean;
ismute: boolean;
mute_date: Date;
}
export interface FetchResponse
@@ -34,6 +36,7 @@ export interface FetchResponse
code?: string;
message?: string;
messages?: Message[];
user?: User;
users?: User[];
room?: Room;
rooms?: Room[];