From b28580b5095cbb4427704fdceecee216a0fab0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Mon, 29 Sep 2025 11:31:53 +0200 Subject: [PATCH] refactor: move CollectionsBadge to a dedicaced folder --- .../Collections/CollectionsBadge/index.js | 72 +++++++++++++++++++ .../components/Sidebar/Collections/index.js | 62 ++-------------- 2 files changed, 78 insertions(+), 56 deletions(-) create mode 100644 packages/bruno-app/src/components/Sidebar/Collections/CollectionsBadge/index.js diff --git a/packages/bruno-app/src/components/Sidebar/Collections/CollectionsBadge/index.js b/packages/bruno-app/src/components/Sidebar/Collections/CollectionsBadge/index.js new file mode 100644 index 000000000..8790170b3 --- /dev/null +++ b/packages/bruno-app/src/components/Sidebar/Collections/CollectionsBadge/index.js @@ -0,0 +1,72 @@ +import { + IconArrowsSort, + IconFolders, + IconSortAscendingLetters, + IconSortDescendingLetters, + IconX, +} from '@tabler/icons'; +import { sortCollections } from 'providers/ReduxStore/slices/collections/index'; +import { useDispatch, useSelector } from 'react-redux'; + +const CollectionsBadge = () => { + const dispatch = useDispatch(); + const { collections } = useSelector(state => state.collections); + const { collectionSortOrder } = useSelector(state => state.collections); + const sortCollectionOrder = () => { + let order; + switch (collectionSortOrder) { + case 'default': + order = 'alphabetical'; + break; + case 'alphabetical': + order = 'reverseAlphabetical'; + break; + case 'reverseAlphabetical': + order = 'default'; + break; + } + dispatch(sortCollections({ order })); + }; + + let sortIcon; + if (collectionSortOrder === 'default') { + sortIcon = ; + } else if (collectionSortOrder === 'alphabetical') { + sortIcon = ; + } else { + sortIcon = ; + } + + return ( +
+
+
+ + + + Collections +
+ {collections.length >= 1 && ( +
+ + +
+ )} +
+
+ ); +}; + +export default CollectionsBadge; diff --git a/packages/bruno-app/src/components/Sidebar/Collections/index.js b/packages/bruno-app/src/components/Sidebar/Collections/index.js index 119318819..cbe4d42e4 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/index.js @@ -1,64 +1,14 @@ -import React, { useState } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; import { IconSearch, - IconFolders, - IconArrowsSort, - IconSortAscendingLetters, - IconSortDescendingLetters, - IconX + IconX, } from '@tabler/icons'; -import Collection from './Collection'; +import React, { useState } from 'react'; +import { useSelector } from 'react-redux'; import CreateCollection from '../CreateCollection'; -import StyledWrapper from './StyledWrapper'; +import Collection from './Collection'; +import CollectionsBadge from './CollectionsBadge/index'; import CreateOrOpenCollection from './CreateOrOpenCollection'; -import { sortCollections } from 'providers/ReduxStore/slices/collections/actions'; - -// todo: move this to a separate folder -// the coding convention is to keep all the components in a folder named after the component -const CollectionsBadge = () => { - const dispatch = useDispatch(); - const { collections } = useSelector((state) => state.collections); - const { collectionSortOrder } = useSelector((state) => state.collections); - const sortCollectionOrder = () => { - let order; - switch (collectionSortOrder) { - case 'default': - order = 'alphabetical'; - break; - case 'alphabetical': - order = 'reverseAlphabetical'; - break; - case 'reverseAlphabetical': - order = 'default'; - break; - } - dispatch(sortCollections({ order })); - }; - return ( -
-
-
- - - - Collections -
- {collections.length >= 1 && ( - - )} -
-
- ); -}; +import StyledWrapper from './StyledWrapper'; const Collections = () => { const [searchText, setSearchText] = useState('');