From 1dd03848578072ad25daa7ef44c243486f588d13 Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 7 Jun 2024 16:57:37 +0200 Subject: [PATCH] feat(components, services): Add user data management and account handling This commit introduces user data management with the addition of new interfaces and services. User data interface which defines the structure of user data was created. Account handler service for registering, logging in, updating user data and disconnecting was also added. User data provider component was created for managing user data state. The account info component for displaying and editing the user account was introduced too. Finally, updates were made in the existing components and services for accommodating these new elements. --- package.json | 2 + src/app/layout.tsx | 20 +++---- src/components/account-dialog.tsx | 22 +++++++ src/components/account-info.tsx | 58 +++++++++++++++++++ src/components/header.tsx | 4 +- src/components/providers/providers.tsx | 23 ++++++++ .../providers/userdata-provider.tsx | 21 +++++++ src/interfaces/userdata.interface.ts | 3 + src/services/account.handler.ts | 14 +++++ src/services/exchange.handler.ts | 0 src/services/localStorage.ts | 18 +++++- 11 files changed, 172 insertions(+), 13 deletions(-) create mode 100644 src/components/account-dialog.tsx create mode 100644 src/components/account-info.tsx create mode 100644 src/components/providers/providers.tsx create mode 100644 src/components/providers/userdata-provider.tsx create mode 100644 src/interfaces/userdata.interface.ts create mode 100644 src/services/account.handler.ts create mode 100644 src/services/exchange.handler.ts diff --git a/package.json b/package.json index 44839f2..aed7297 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-menubar": "^1.0.4", + "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-progress": "^1.0.3", "@radix-ui/react-radio-group": "^1.1.3", @@ -45,6 +46,7 @@ "embla-carousel-react": "^8.1.3", "framer-motion": "^11.2.10", "input-otp": "^1.2.4", + "lightweight-charts": "^4.1.4", "lucide-react": "^0.387.0", "next": "14.2.3", "next-themes": "^0.3.0", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 5fa9053..f5380d4 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,6 +5,8 @@ import {ThemeProvider} from "@/components/providers/theme-provider"; import type React from "react"; import {Footer} from "@/components/footer"; import {Header} from "@/components/header"; +import {PrimaryNavigationMenu} from "@/components/primary-nav"; +import {Providers} from "@/components/providers/providers"; export const metadata: Metadata = { title: "YeloBit", @@ -21,16 +23,14 @@ export default function RootLayout({ - - -
- {children} -