add auth api and auth instance

This commit is contained in:
andres
2023-05-26 20:07:32 +02:00
parent 735ae87ca9
commit 38d3801914
8 changed files with 48 additions and 8 deletions

6
.gitignore vendored
View File

@@ -28,3 +28,9 @@ build
# Miscellaneous
*.local
# env
.env.development
.env.production

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -7,6 +7,7 @@ import { createTheme, ThemeProvider } from "@mui/material"
import { useAppDispatch, useAppSelector } from "@/app/hooks"
import { useEffect } from "react"
import { appActions } from "@/features/app/app.slice"
import { instance } from "@/app/instance"
export const Test = () => {
const isLoading = useAppSelector((state) => state.app.isLoading)
@@ -21,6 +22,7 @@ export const Test = () => {
setTimeout(() => {
dispatch(appActions.setIsLoading({ isLoading: false }))
}, 3000)
instance.get("/ping")
}, [dispatch])
if (isLoading) return <div>loading...</div>

9
src/app/instance.ts Normal file
View File

@@ -0,0 +1,9 @@
import axios from "axios"
export const instance = axios.create({
baseURL:
process.env.NODE_ENV === "development"
? "http://localhost:7542/2.0/"
: "https://neko-back.herokuapp.com/2.0/",
withCredentials: true,
})

0
src/constants/api_url.ts Normal file
View File

View File

@@ -1,12 +1,16 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit"
const initialAppState = {
error: null as null | string,
isLoading: true,
isAppInitialized: false,
}
export type InitialAppState = typeof initialAppState
const slice = createSlice({
name: "app",
initialState: {
error: null as null | string,
isLoading: true,
isAppInitialized: false,
},
initialState: initialAppState,
reducers: {
setIsLoading: (state, action: PayloadAction<{ isLoading: boolean }>) => {
state.isLoading = action.payload.isLoading
@@ -14,11 +18,11 @@ const slice = createSlice({
setError: (state, action: PayloadAction<{ error: string | null }>) => {
state.error = action.payload.error
},
setIsAppInitialized: (
setAppInitialized: (
state,
action: PayloadAction<{ isInitialized: boolean }>,
action: PayloadAction<{ isAppInitialized: boolean }>,
) => {
state.isAppInitialized = action.payload.isInitialized
state.isAppInitialized = action.payload.isAppInitialized
},
},
})

View File

@@ -0,0 +1,7 @@
import { AuthInstance } from "@/features/auth/auth.instance"
export const AuthApi = () => ({
register: (params: any) => {
return AuthInstance.post(params)
},
})

View File

@@ -0,0 +1,6 @@
import axios from "axios"
export const AuthInstance = axios.create({
baseURL: import.meta.env.BASE_URL + "auth/",
withCredentials: true,
})