feat: big major update

This commit is contained in:
2026-02-02 04:00:37 +03:00
parent bbab6fc46a
commit d557664b25
34 changed files with 1801 additions and 665 deletions

View File

@@ -7,6 +7,7 @@ export type User = {
is_admin: boolean;
name: string;
password?: string;
icon?: string;
};
class UserStore {
@@ -57,15 +58,23 @@ class UserStore {
email: "",
password: "",
is_admin: false,
icon: "",
};
setCreateUserData = (
name: string,
email: string,
password: string,
is_admin: boolean
is_admin: boolean,
icon?: string
) => {
this.createUserData = { name, email, password, is_admin };
this.createUserData = {
name,
email,
password,
is_admin,
icon: icon ?? "",
};
};
createUser = async () => {
@@ -73,7 +82,9 @@ class UserStore {
if (this.users.data.length > 0) {
id = this.users.data[this.users.data.length - 1].id + 1;
}
const response = await authInstance.post("/user", this.createUserData);
const payload = { ...this.createUserData };
if (!payload.icon) delete payload.icon;
const response = await authInstance.post("/user", payload);
runInAction(() => {
this.users.data.push({
@@ -88,19 +99,29 @@ class UserStore {
email: "",
password: "",
is_admin: false,
icon: "",
};
setEditUserData = (
name: string,
email: string,
password: string,
is_admin: boolean
is_admin: boolean,
icon?: string
) => {
this.editUserData = { name, email, password, is_admin };
this.editUserData = {
name,
email,
password,
is_admin,
icon: icon ?? "",
};
};
editUser = async (id: number) => {
const response = await authInstance.patch(`/user/${id}`, this.editUserData);
const payload = { ...this.editUserData };
if (!payload.icon) delete payload.icon;
const response = await authInstance.patch(`/user/${id}`, payload);
runInAction(() => {
this.users.data = this.users.data.map((user) =>