Compare commits
3 Commits
278cf844c2
...
4d00d4b936
Author | SHA1 | Date | |
---|---|---|---|
4d00d4b936 | |||
2c333d9c00 | |||
697dcbf4b8 |
@ -23,7 +23,7 @@ export function AccountInfo({userData}: {userData: IUserData}) {
|
|||||||
<SheetTrigger asChild>
|
<SheetTrigger asChild>
|
||||||
<Button variant="outline" className={"gap-1"}>
|
<Button variant="outline" className={"gap-1"}>
|
||||||
<User />
|
<User />
|
||||||
{userData?.name || "?"}
|
{userData?.firstName || "?"}
|
||||||
</Button>
|
</Button>
|
||||||
</SheetTrigger>
|
</SheetTrigger>
|
||||||
<SheetContent>
|
<SheetContent>
|
||||||
@ -38,7 +38,7 @@ export function AccountInfo({userData}: {userData: IUserData}) {
|
|||||||
<Label htmlFor="name" className="text-right">
|
<Label htmlFor="name" className="text-right">
|
||||||
Name
|
Name
|
||||||
</Label>
|
</Label>
|
||||||
<Input id="name" placeholder={userData.name} className="col-span-3" onChange={(event)=>{console.log(event.target.value)}} />
|
<Input id="name" placeholder={userData.firstName} className="col-span-3" onChange={(event)=>{console.log(event.target.value)}} />
|
||||||
</div>
|
</div>
|
||||||
<div className="grid grid-cols-4 items-center gap-4">
|
<div className="grid grid-cols-4 items-center gap-4">
|
||||||
<Label htmlFor="username" className="text-right">
|
<Label htmlFor="username" className="text-right">
|
||||||
|
@ -2,13 +2,54 @@
|
|||||||
|
|
||||||
import { createContext, useContext, useState } from 'react';
|
import { createContext, useContext, useState } from 'react';
|
||||||
import {IUserData} from "@/interfaces/userdata.interface";
|
import {IUserData} from "@/interfaces/userdata.interface";
|
||||||
|
import {IApiLoginReq, IApiLoginRes, IApiRegisterReq, IApiRegisterRes} from "@/interfaces/api.interface";
|
||||||
|
import ApiRequest from "@/services/apiRequest";
|
||||||
|
import {useEncodedLocalStorage} from "@/services/localStorage";
|
||||||
|
|
||||||
const UserDataContext = createContext<IUserData>({name: "Avnyr"})
|
const UserDataContext = createContext<IUserData | null>(null)
|
||||||
|
const [userData, setUserData] = useEncodedLocalStorage<IUserData | null>("user_data", null)
|
||||||
|
|
||||||
//TODO Run register task
|
//TODO Run register task
|
||||||
|
export async function doRegister(registerData: IApiRegisterReq): Promise<IApiRegisterRes | null> {
|
||||||
|
console.trace(registerData)
|
||||||
|
try {
|
||||||
|
const ReqRes = await ApiRequest.standard.post.json<IApiRegisterReq, IApiRegisterRes>("auth/signup", registerData)
|
||||||
|
console.trace(ReqRes.data)
|
||||||
|
if (ReqRes.data.user) {
|
||||||
|
setUserData(ReqRes.data.user)
|
||||||
|
}
|
||||||
|
ReqRes.data.message?.forEach((err)=> console.warn(err))
|
||||||
|
return ReqRes.data
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error during registration:', error);
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//TODO Run login task
|
//TODO Run login task
|
||||||
|
export async function doLogin(loginData: IApiLoginReq) {
|
||||||
|
try {
|
||||||
|
const ReqRes = await ApiRequest.standard.post.json<IApiLoginReq, IApiLoginRes>("auth/login", loginData)
|
||||||
|
console.trace(ReqRes.data)
|
||||||
|
//if (ReqRes.data.user) {
|
||||||
|
// setUserData(ReqRes.data.user)
|
||||||
|
//}
|
||||||
|
ReqRes.data.message?.forEach((err)=> console.warn(err))
|
||||||
|
return ReqRes.data
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Error during login:', err);
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//TODO Run disconnect task
|
//TODO Run disconnect task
|
||||||
|
export function doDisconnect() {
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
window.localStorage.removeItem('sub')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
console.log('Whut ? Why trying to remove an item from the localStorage when runner in SSR ?')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
//TODO Run update user data
|
//TODO Run update user data
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import axios, {type AxiosResponse} from "axios";
|
import axios, {type AxiosResponse} from "axios";
|
||||||
|
|
||||||
const baseUrl = ""
|
const baseUrl = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3333'
|
||||||
|
|
||||||
const AxiosConfigs = {
|
const AxiosConfigs = {
|
||||||
authenticated: {
|
authenticated: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user