✨ feat(ApiKeysPage): add Header component to the page layout for better organization and structure
🐛 fix(ApiKeysPage): fix import order to follow convention and improve readability
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
✨ feat(ApiKeysPage): add conditional rendering for displaying a message when user has no assigned keys
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
✨ feat(ApiKeysPage): add table component to display the list of keys with their details
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
✨ feat(ApiKeysPage): add ConfirmationModal component for deleting keys with appropriate title and content
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
✨ feat(authContext.tsx): move autoLogin logic from App component to AuthProvider to improve separation of concerns
🔧 fix(index.tsx): reorder context providers to ensure correct execution order
🔧 fix(tabsContext.tsx): add comment to clarify the purpose of the useEffect hook
🔧 fix(typesContext.tsx): add comment to clarify the purpose of the useEffect hook
🔧 fix(routes.tsx): rename ProtectedAdminRoute to ProtectedRoute for consistency
✨ feat(authContext.tsx): add support for process.env.PORT environment variable to be able to run app on a configurable port
🐛 fix(tabsContext.tsx): import missing AuthContext and use getAuthentication function to conditionally fetch data
🐛 fix(typesContext.tsx): import missing AuthContext and use getAuthentication function to conditionally fetch data
🐛 fix(api.tsx): add check to not refresh token if refreshToken is "auto"
fix(API): remove unused user_id parameter in createApiKey function and add name parameter
fix(API): change deleteApiKey parameter from user_id to api_key
fix(SecretKeyModal): change createApiKey parameter from data to apiKeyName
fix(ApiKeysPage): remove unused user_id parameter in getApiKey function and add console.log for debugging
The error handling in the tabs provider has been improved to display a more meaningful error message when there is an error while saving changes. Instead of directly assigning the error to the `setErrorData` state variable, the error message is now wrapped in an object with a title and a list of error messages. This change ensures that the error message is displayed consistently and provides better context to the user.
feat(App.tsx): add support for displaying fetch error message and description in FetchErrorComponent
feat(fetchErrorComponent): create FetchErrorComponent to display fetch error message and description
fix(genericIconComponent): add stroke-width property to ensure consistent icon stroke width
feat(loadingComponent): import LoadingComponentProps from types/components to improve type safety
feat(constants): add FETCH_ERROR_MESSAGE and FETCH_ERROR_DESCRIPTION constants for fetch error handling
fix(typesContext): remove console.log statement and set fetchError to true when an error occurs during fetching types
feat(typesContext): add error handling for fetching types and set fetchError to true when an error occurs
feat(typesContext): import fetchErrorComponentType from types/components to improve type safety
feat(types/components): create fetchErrorComponentType and LoadingComponentProps interfaces for type safety
fix(styleUtils): import Unplug icon from lucide-react to fix missing icon issue
feat(App.tsx): add support for displaying fetch error message when there is an error in the backend API call
fix(typesContext.tsx): add error handling for API call and set fetchError state accordingly
feat(typesContext.tsx): add fetchError state and setFetchError function to the typesContext
✨ feat(tabsContext.tsx): add success alert when changes are saved successfully in TabsProvider component
🔧 fix(flowSettingsModal/index.tsx): remove setSuccessData from useContext to fix missing function error
🔧 fix(AdminPage/index.tsx): remove console.log statement
✨ feat(AdminPage/index.tsx): add success alert when user is edited successfully
🔧 fix(extraSidebarComponent/index.tsx): remove setSuccessData from useContext to fix missing function error
✨ feat(App.tsx): set isAdmin state based on user's is_superuser value to conditionally render admin-related components
🐛 fix(headerComponent/index.tsx): fix conditional rendering of Sign out, Home, and Admin page buttons based on autoLogin and isAdmin values
🐛 fix(authContext.tsx): remove unnecessary useEffect to update isAdmin state when accessToken or isAdmin changes
🔥 chore(api.tsx): remove unused sleep function
✨ feat(AdminPage/index.tsx): update text in AdminPage to provide a better description of the page's purpose
🐛 fix(routes.tsx): wrap AdminPage and ApiKeysPage components with ProtectedAdminRoute component to restrict access to admin-only routes
✨ feat(headerComponent): remove conditional rendering for api keys button to always display it in the header
🔧 fix(ApiKeysPage): add missing import for Header component to fix compilation error
The Header component is added to the ApiKeysPage to provide a consistent layout and navigation across the application. This will improve the user experience and make it easier for users to navigate between different pages.