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(alembic): add support for creating apikey and user tables in the database
🔥 chore(alembic): remove flowstyle and component tables from the database schema
🔄 chore(__init__.py): add users_router and api_key_router to the __all__ list to include the new routes for users and api keys
🆕 feat(api_key.py): add new routes for retrieving, creating, and deleting API keys
🆕 feat(login.py): add new routes for user login, auto login, and token refresh
🆕 feat(schemas.py): add new schemas for API key response and users response
🆕 feat(users.py): add new routes for adding, reading, updating, and deleting users
🗑️ chore(health.py): remove health router as it is no longer needed
🔄 chore(utils.py): update import statements for User model and update_user_last_login_at function
📦 feat(component): add Component model and related classes for database operations
📦 feat(flow): add Flow model and related classes for database operations
📦 feat(token): add Token model for authentication
📦 feat(user): add User model and related classes for database operations
📦 feat(user): add utility functions for user operations
🔧 fix(models/__init__.py): add ApiKey to __all__ list to fix missing import error
✨ feat(models/api_key.py): add ApiKey model and its related classes to support API key functionality
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
📚 docs(JSONDocumentBuilder.py): add documentation link for the JSON Document Builder component
📚 docs(PostRequest.py): add documentation link for the POST Request component
📚 docs(UpdateRequest.py): add documentation link for the Update Request component
✨ feat(PatchRequest.py): add new component 'PatchRequest' to make PATCH requests to a given URL
🐛 fix(PostRequest.py): change variable name 'document' to 'documents' to improve clarity and semantics
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.
🐛 fix(GetRequest.py): update return type annotation of get_documents method to list[Document]
🐛 fix(PostRequest.py): update return type annotation of post_document method to list[Document]