Updated a lot of stuff

This commit is contained in:
Alois 2026-03-14 19:36:23 +01:00
commit c0102df54f
44 changed files with 1610 additions and 707 deletions

View file

@ -3,7 +3,6 @@ import { useSocket } from "@tensamin/ttp/context";
import { socket as schemas } from "@tensamin/shared/data";
import type z from "zod";
import { failedUser } from "./values";
export type User = z.infer<typeof schemas.get_user_data.response>;
@ -20,20 +19,17 @@ export default function UserProvider(props: { children: React.ReactNode }) {
async function get(userId: number): Promise<User> {
if (storageRef.current[userId] === undefined) {
try {
const userData = await send("get_user_data", { user_id: userId });
const userData = await send("get_user_data", { user_id: userId });
// Temp, add base64 stuff
userData.data.avatar = userData.data.avatar
? `data:image/png;base64,${userData.data.avatar}`
: undefined;
// Temp end
// Temp, add base64 stuff
userData.data.avatar = userData.data.avatar
? `data:image/png;base64,${userData.data.avatar}`
: undefined;
// Temp end
storageRef.current[userId] = userData.data;
} catch {
storageRef.current[userId] = failedUser;
}
storageRef.current[userId] = userData.data;
}
return storageRef.current[userId];
}

View file

@ -1,13 +0,0 @@
import type { User } from "./context";
export const failedUser: User = {
user_id: 0,
display: "Failed",
iota_id: 0,
omikron_connections: [],
online_status: "user_offline",
public_key: "",
sub_end: 0,
sub_level: 0,
username: "failed",
};

View file

@ -10,11 +10,18 @@ export default function Wrapper(props: {
React.useEffect(() => {
let active = true;
get(props.userId).then((value) => {
if (active) {
setUser(value);
}
});
void get(props.userId)
.then((value) => {
if (active) {
setUser(value);
}
})
.catch(() => {
if (active) {
setUser(null);
}
});
return () => {
active = false;