fix(API/index.ts): update API endpoint for checkHasStore function to match backend route
feat(StorePage/index.tsx): add functionality to fetch and display store tags from backend
The import statement for the `getTagsIds` function from `storeUtils` was added to the `extraSidebarComponent` file. This function is used to retrieve the IDs of tags based on their names.
fix(extraSidebarComponent): remove duplicate getTagsIds function
The duplicate `getTagsIds` function in the `extraSidebarComponent` file was removed to avoid conflicts and improve code organization.
feat(extraSidebarComponent): update saveFlowStore function call to use getTagsIds function
The `saveFlowStore` function call in the `extraSidebarComponent` file was updated to use the `getTagsIds` function instead of directly passing the selected tags array. This change ensures that the IDs of the selected tags are used in the function call.
feat(nodeToolbarComponent): add import statement for getTagsIds function from storeUtils
The import statement for the `getTagsIds` function from `storeUtils` was added to the `nodeToolbarComponent` file. This function is used to retrieve the IDs of tags based on their names.
fix(nodeToolbarComponent): remove duplicate getTagsIds function
The duplicate `getTagsIds` function in the `nodeToolbarComponent` file was removed to avoid conflicts and improve code organization.
feat(nodeToolbarComponent): update saveFlowStore function call to use getTagsIds function
The `saveFlowStore` function call in the `nodeToolbarComponent` file was updated to use the `getTagsIds` function instead of directly passing the selected tags array. This change ensures that the IDs of the selected tags are used in the function call.
feat(storeUtils): add getTagsIds function
The `getTagsIds` function was added to the `storeUtils` file. This function takes an array of tag names and a reference to the tag list with IDs, and returns an array of tag IDs based on the names. This function is used in the `extraSidebarComponent` and `nodeToolbarComponent` files to retrieve the IDs of selected tags.
The `create_component` function in `store.py` has been modified to include the total count of each type in the metadata dictionary. This change improves the structure of the metadata and provides more comprehensive information about the types and their counts in the nodes.
🔧 fix(store.py): add missing metadata comment to clarify the purpose of the code block
✨ feat(store.py): add 'has_api_key' field to the response of 'check_if_store_is_enabled' endpoint to indicate if the user has an API key
🔧 fix(store.py): add missing metadata using the Component.data in the 'create_component' endpoint to properly handle component metadata
feat(extraSidebarComponent): add support for tags selection in the extra sidebar component
fix(nodeToolbarComponent): add missing import statements for new components
feat(nodeToolbarComponent): add support for tags selection and public/private toggle in the node toolbar component
feat(tagsSelectorComponent): add TagComponent to render individual tags in the TagsSelector component
fix(API): add tags and publicFlow parameters to saveFlowStore function to save tags and set flow visibility
fix(ConfirmationModal): add size prop to allow customizing the size of the modal
feat(ExtraSidebar): add TagsSelector component to the Share Flow confirmation modal to allow users to select tags for the flow
feat(ExtraSidebar): add ToggleShadComponent to allow users to toggle the visibility of the shared flow
fix(ExtraSidebar): pass selected tags and sharePublic value to saveFlowStore function when sharing a flow
fix(ExtraSidebar): add useEffect to fetch tags from API and initialize tags state
fix(ExtraSidebar): add handleTagSelection function to handle tag selection in TagsSelector component
fix(ExtraSidebar): update handleShareFlow function to pass selected tags and sharePublic value to saveFlowStore function
fix(ExtraSidebar): update ConfirmationModal size prop to use size prop from component props
fix(ExtraSidebar): update ConfirmationModal dependency array to include sharePublic value
fix(NodeToolbarComponent): pass empty array as tags parameter to saveFlowStore function when sharing a component
fix(MarketCardComponent): pass tags parameter to saveFlowStore function when saving a flow from the store
fix(ConfirmationModal): add size prop to ConfirmationModalType to allow customizing the size of the modal
🔧 chore(store.py): add endpoint to like a component in the store API to enable users to like components
🔧 chore(base.py): add LIKE_WEBHOOK_URL to the settings to allow configuration of the webhook URL for liking components
🔧 chore(service.py): rename webhook_url variable to download_webhook_url for clarity and add like_webhook_url variable to store the LIKE_WEBHOOK_URL from the settings. Update call_webhook method to use download_webhook_url for downloading components and add like_component method to handle liking a component.
feat(ConfirmationModal): add support for displaying tooltip content and positioning in the Trigger component
fix(AdminPage): remove duplicate modalContent prop in ConfirmationModal components
fix(ApiKeysPage): remove duplicate modalContent prop in ConfirmationModal components
fix(ExtraSidebar): remove duplicate modalContent prop in ConfirmationModal component
fix(NodeToolbarComponent): remove duplicate modalContent prop in ConfirmationModal component
fix(types/components): add TriggerProps type to define props for the Trigger component in ConfirmationModal
feat(store.py): add new endpoint to get list of components liked by a user
fix(store.py): add "downloads_count" field to the list_components response to display the number of downloads for each component
fix(store.py): add "metadata" field to the list_components response to include additional metadata for each component
fix(store.py): change the "user_created.name" field to "user_created.first_name" in the list_components response to display the first name of the user who created the component
fix(store.py): change the "liked_by_count" field in the component response to be an integer instead of a list of UUIDs
fix(store.py): change the "downloads_count" field in the component response to be an integer instead of a list of UUIDs
fix(store.py): add "metadata" field to the component response to include additional metadata for each component
fix(store.py): add "metadata" field to the store_component_create request schema to allow passing additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
fix(store.py): add "metadata" field to the download_component response schema to include additional metadata for a component
feat(market-card.tsx): add setErrorData function to alertContext to handle error messages when adding a component
feat(market-card.tsx): add setSuccessData function to alertContext to display success message when adding a component
feat(market-card.tsx): add ShadTooltip component for displaying tooltips on market card
fix(index.tsx): fix import statement for storeComponent type
feat(index.tsx): change data and dataSelect state types to storeComponent[]
fix(index.tsx): add missing properties to storeComponent type
fix(styleUtils.ts): add missing import statement for Heart and ToyBrick icons
🔧 fix(store.py): add user_created.id field to the list_components response to match the schema
🔧 fix(store.py): add count(downloads) field to the list_components response to match the schema
🔧 fix(store.py): add tags_id field to the TagsIdResponse schema to match the response structure
🔧 fix(service.py): add user_created.first_name and user_created.id fields to the list_components query to match the schema
🔧 fix(service.py): add count(downloads) field to the list_components query to match the schema
🔧 fix(schema.py): add "metadata" field to the ComponentResponse, ListComponentResponse, DownloadComponentResponse, and StoreComponentCreate models to support metadata in the store component data
🔧 fix(service.py): add "metadata" field to the list of requested fields in the StoreService class to include metadata in the query parameters
✨ feat(service.py): add support for filtering by user_created field and limit the results to 100
✨ feat(service.py): add support for fetching additional fields in the response for better data retrieval
✨ feat(store.py): add new endpoint to get list of components liked by a user
🔧 fix(schema.py): add UsersLikesResponse schema to define the response structure for the new endpoint
🔧 fix(service.py): add get_user_likes method to retrieve the list of components liked by a user from the store API
- Add `PaginatorComponent` import to the `saved-components` file to use for pagination.
- Add `totalRowsCount`, `size`, and `index` state variables to manage pagination.
- Modify the `handleGetComponents` function to fetch components based on the current `index` and `size` values.
- Add `handleChangePagination` function to handle pagination changes and fetch components accordingly.
- Render the `PaginatorComponent` below the list of components if there are components to display and the loading state is false.
feat(store-page): add pagination functionality to the store page
- Remove the `loadingWithApiKey` variable as it is no longer needed.
- Remove the `renderComponents` variable as it is no longer needed.
- Add `renderPagination` variable to determine if pagination should be rendered based on the search data, loading state, and search state.
- Render the `PaginatorComponent` below the list of components if there are components to display, the loading state is false, and the search state is false.
✨ feat(__main__.py): add 'store' option to the run command to enable/disable store feature
🔧 fix(store.py): add check_if_store_is_enabled endpoint to check if store feature is enabled
✨ feat(store.py): add get_tags endpoint to retrieve tags from the store
🔧 fix(base.py): add STORE setting to enable/disable store feature
🔧 fix(schema.py): rename 'likes_count' field to 'liked_by_count' in ComponentResponse and ListComponentResponse
🔧 fix(service.py): change default sorting in query_components function to sort by 'count(liked_by)'
✅ test(test_store.py): update sort parameter in test_search_components to 'count(liked_by)'
✨ feat(store.py): add `count_components` endpoint to get the count of components based on filter criteria
🔧 fix(service.py): modify `query_components` function to return a list of dictionaries when `count` parameter is True