Skip to content
18 changes: 18 additions & 0 deletions src/api/auth/login.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import axios from 'axios';
import { AUTH_URL } from '@/constants/urls';
import useAuthStore from '@/store/authStore';

export default async function handleLogin(email: string, password: string) {
try {
const response = await axios.post(`${AUTH_URL}/login`, { email, password });
const { accessToken } = response.data;

const { setAccessToken } = useAuthStore.getState();
setAccessToken(accessToken);

return true;
} catch (error) {
console.error('๋กœ๊ทธ์ธ ์‹คํŒจ:', error);
return false;
}
}
Empty file added src/api/auth/signup.ts
Empty file.
18 changes: 18 additions & 0 deletions src/store/authStore.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { create } from 'zustand';
import { User } from '../types/user';

interface AuthState {
accessToken: string | null;
user: User | null;
setAccessToken: (accessToken: string | null) => void;
setUser: (user: User | null) => void;
}

const useAuthStore = create<AuthState>((set) => ({
user: null,
accessToken: null,
setUser: (user) => set({ user }),
setAccessToken: (accessToken) => set({ accessToken }),
}));

export default useAuthStore;