Save hosts to tabs (very early version, not that many issues not just not very feature rich and has a poor UI that will be improved with more features)

This commit is contained in:
Karmaa
2025-03-12 23:30:34 -05:00
parent 994de92451
commit e41bec5e4d
6 changed files with 306 additions and 41 deletions

View File

@@ -106,16 +106,57 @@ export const User = forwardRef(({ onLoginSuccess, onCreateSuccess, onDeleteSucce
}
};
const saveHost = (hostConfig) => {
if (currentUser.current?.id && socketRef.current) {
socketRef.current.emit("saveHostConfig", {
userId: currentUser.current.id,
hostConfig: hostConfig,
});
socketRef.current.once("error", (error) => {
onFailure(error);
});
} else {
onFailure("No user is currently logged in.");
}
}
const getUser = () => {
return currentUser.current;
}
const getAllHosts = () => {
return new Promise((resolve, reject) => {
if (currentUser.current?.id && socketRef.current) {
socketRef.current.emit("getHosts", {
userId: currentUser.current.id,
});
socketRef.current.once("hostsFound", (data) => {
resolve(data);
});
socketRef.current.once("error", (error) => {
console.error(error);
const errorMsg = (error && typeof error === 'object' && error !== null)
? error.error || error.message || 'An error occurred'
: String(error);
reject(errorMsg);
});
} else {
reject("No user is currently logged in.");
}
});
};
useImperativeHandle(ref, () => ({
createUser,
loginUser,
logoutUser,
deleteUser,
saveHost,
getUser,
getAllHosts,
}));
return <div></div>;