24 Commits

Author SHA1 Message Date
a7899d8a4a
feat(services): refactor localStorage service
The updated code refactors the `localStorage.ts` service. The refactoring introduces typescript syntax on the import statement, adds a safer use of localStorage when window is undefined, and enhances readability of the code by modifying the function signature to multiple lines. Additionally, it removes unnecessary lines for cleaner code structure.
2024-06-12 09:47:56 +02:00
1c42b6a4b6
feat: Improve code formatting and import order
Rearranged import orders for better visibility and readability. Also, cleaned up some of the typescript and JSX by adding appropriate line breaks and spaces, and ensuring the use of semicolons for better punctuation.
2024-06-12 09:47:17 +02:00
4d00d4b936
feat(handler): add login, registration functionality
The login and registration functionality have been implemented using the new `IApiLoginReq`, `IApiLoginRes`, `IApiRegisterReq`, `IApiRegisterRes` interfaces. These include error handling and data storing in local storage.
2024-06-11 16:59:02 +02:00
2c333d9c00
feat(component): update user data references from name to firstName
The changes replace the "name" property references with "firstName" in the account-info component. The user interface buttons' labels and input field placeholders now utilize "firstName" for user data. This adjustment provides clearer and more accurate data presentation to the users.
2024-06-11 16:58:43 +02:00
697dcbf4b8
feat(services): update baseUrl in apiRequest
This commit updates the baseUrl value in the apiRequest service. It now uses the API_URL from the environment variables, or defaults to "http://localhost:3333" if the environment variable is not set.
2024-06-11 16:55:45 +02:00
278cf844c2
feat(services): update apiRequest module
Updated the apiRequest module with refinements in authorization and removal of redundant comments. The changes allow handling server-side rendering and type enforcement in request body.
2024-06-11 16:08:57 +02:00
e9048ca7eb
feat(interfaces): add API request/response interfaces
Created new typescript interfaces for API. They include IApiRegisterReq, IApiLoginReq, IAbstractApiResponse, IApiRegisterRes, and IApiLoginRes. These interfaces will be used to properly structure the data for API requests and responses, thus enhancing type safety and maintainability.
2024-06-11 16:08:34 +02:00
950cb9137f
feat(interface): extend IUserData properties
This commit enriches the IUserData interface by adding a series of new properties for a more comprehensive representation of a user. These additional properties include id, firstName, lastName, pseudo, email, roleId, isActive, city, dollarAvailables, age, created_at, and updated_at.
2024-06-11 16:07:59 +02:00
882729ffc9
Revert "feat: Implement new auto-form components and fields"
This reverts commit dc17e4a8f755ce045b461858ffcd56f567c5658f.
2024-06-10 11:58:40 +02:00
dc17e4a8f7
feat: Implement new auto-form components and fields
This commit includes the creation of new react components and fields for auto-form functionality. The components include AutoFormLabel, AutoFormTooltip, and specific field components for data types such as AutoFormObject, AutoFormArray, AutoFormDate, AutoFormCheckbox, and others. Added tests to ensure the correct rendering of fields, labels generation, among other behaviors.
2024-06-10 11:51:23 +02:00
036acfce23
feat(services): update default value in UserDataContext
The default value in the UserDataContext has been updated. Previously, it was set to false and now it has been changed to an object with the name property set to "Avnyr".
2024-06-10 11:50:05 +02:00
1dd0384857
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.
2024-06-07 16:57:37 +02:00
d624ac6ab2
feat(page): update layout styling
The structure of the main component in page.tsx has been adjusted to better accommodate its content. The div styling has been updated from full width with padding to half-width, full height, and content justified to the end.
2024-06-07 14:34:31 +02:00
3eec5846e7
feat(components): update copyright text in Footer component 2024-06-06 14:58:16 +02:00
e3dbeaf501 feat: add multiple UI components
This commit introduces a batch of UI components such as Accordion, Alert, Avatar, Badge, etc. Each component is provided with proper TypeScript type definitions. Reusable styling is catered for many of these using the `cn` utility for applying styles. Integration with `@radix-ui/react-*` libraries is also evident in some components for advanced and flexible functionality.
2024-06-06 14:45:49 +02:00
3d8a1ab677 feat: add layout and home page components
The commit includes a new layout component that contains the basic structure of the application, including Header, Footer, and ThemeProvider. Also, a new Home page component has been created including a basic "Hello World" greeting.
2024-06-06 14:10:31 +02:00
427fc265ec feat(components): add Footer and Header components
Introduced two new components: Footer and Header. The Footer includes copyright and navigation links, while the Header contains the site's logo, title, and a theme selector.
2024-06-06 14:10:12 +02:00
85a1a4a4df feat(components): add PrimaryNavigationMenu component
This commit introduces a new component, PrimaryNavigationMenu, to the components directory. This component is responsible for rendering the main navigation menu of the application. It also includes the logic for mapping and displaying a list of features in the menu.
2024-06-06 14:09:18 +02:00
4df8ae4769 feat(components): add theme provider and theme button selector
This commit introduces a `ThemeProvider` component and a `ThemeBtnSelector` component. The `ThemeProvider` component applies the current theme to all its children. The `ThemeBtnSelector` component provides a dropdown menu that allows users to select a theme ("light", "dark", or "system").
2024-06-06 14:09:01 +02:00
4c9a7c137c feat: add global CSS styling
This commit introduces a new file 'globals.css' to manage our application-wide styles. The imported Tailwind CSS utility classes have been applied and custom CSS variables for both light and dark themes have been defined. It also includes styling for some components like the body and borders for a more consistent look and feel throughout the application.
2024-06-06 14:06:30 +02:00
4d6ae67389 feat(utils): add utility function for class merging
A new utility function `cn` has been added to `utils.ts` for the purpose of class merging. This function uses "clsx" and "tailwind-merge" to merge class values, simplifying and optimizing the process of multiple class joining in our project.
2024-06-06 14:06:05 +02:00
7910c5ef25 feat(service): add localStorage custom React hooks
Created a new service, localStorage.ts to handle localStorage operations in React, introducing two new custom hooks, useLocalStorage and useEncodedLocalStorage. These hooks provide functionalities to store, retrieve, and update data in the browser's localStorage.
2024-06-06 14:04:44 +02:00
bde56f4bb2 feat(service): add apiRequest service
This commit introduces the new 'apiRequest' service file. This service file contains functionalities for standard and authenticated network requests including POST, GET, PATCH, and DELETE actions using axios. The file has been structured to easily perform network requests with necessary headers and status validations.
2024-06-06 14:04:20 +02:00
74ec86c684 feat: Add multiple UI components to the codebase
This commit includes several User Interface components such as Button, DropdownMenu, FlipWords, HeroParallax, Input, Label, NavigationMenu and ToastBox. Each component was developed individually and has different attributes and behaviors. This will significantly improve the user experience and interactivity of the application.
2024-06-06 14:03:45 +02:00