feat(component): Add loading and context handling

The update enhances the account dialog component by introducing loading state management and improved context handling. Instead of displaying "Loading..." while user data is being fetched, a Skeleton component is now rendered. Additionally, detailed user data fields are now provided when setting the user data context. An effect hook supplies the proper loading state management.
This commit is contained in:
Mathis H (Avnyr) 2024-06-12 16:54:18 +02:00
parent 600692e3e5
commit a873095099
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -4,13 +4,7 @@ import { AccountInfo } from "@/components/account-info";
import { UserDataContext } from "@/components/providers/userdata-provider";
import { Skeleton } from "@/components/ui/skeleton";
import type { IUserData } from "@/interfaces/userdata.interface";
import {
type Dispatch,
type SetStateAction,
useContext,
useEffect,
useState,
} from "react";
import {Dispatch, SetStateAction, useContext, useEffect, useState} from "react";
export function AccountDialog() {
const userContext = useContext(UserDataContext);
@ -45,12 +39,7 @@ export function AccountDialog() {
return (
<div>
<AccountInfo
userData={userContext?.userData as IUserData}
setUserData={
userContext?.setUserData as Dispatch<SetStateAction<IUserData | undefined>>
}
/>
<AccountInfo userData={userContext?.userData as IUserData} setUserData={userContext?.setUserData as Dispatch<SetStateAction<IUserData | undefined>>} />
</div>
);
}