diff --git a/frontend/src/logic/sdk.ts b/frontend/src/logic/sdk.ts new file mode 100644 index 0000000..dfaf8eb --- /dev/null +++ b/frontend/src/logic/sdk.ts @@ -0,0 +1,35 @@ + +// db.users: Signup table map +// db.user: Current logged-in user +const db = localStorage + +export function signup(username: string, password: string) +{ + if (!db.users) + db.users = JSON.stringify({}) + + const users = JSON.parse(db.users) + if (users[username]) + throw new Error('User already exists') + + users[username] = password +} + +export function login(username: string, password: string) +{ + const users = JSON.parse(db.users) + if (users[username] !== password) + throw new Error('Invalid credentials') + + db.user = username +} + +export function logout() +{ + delete db.user +} + +export function isLoggedIn() +{ + return !!db.user +}