Skip to content

Commit f8f4776

Browse files
Merge pull request #4903 from OneCommunityGlobal/adithya_materials_inventory_health
Adithya materials inventory health
2 parents 8c52d46 + 6f3be34 commit f8f4776

6 files changed

Lines changed: 723 additions & 593 deletions

File tree

src/components/BMDashboard/ItemList/ItemListView.jsx

Lines changed: 54 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,14 @@ import ItemsTable from './ItemsTable';
1010
import UpdateHistoryModal from '../UpdateHistory/UpdateHistoryModal';
1111
import styles from './ItemListView.module.css';
1212

13-
export function ItemListView({ itemType, items, errors, UpdateItemModal, dynamicColumns }) {
13+
export function ItemListView({
14+
itemType,
15+
items,
16+
errors,
17+
UpdateItemModal,
18+
dynamicColumns,
19+
children,
20+
}) {
1421
const [filteredItems, setFilteredItems] = useState(items);
1522
const [selectedProject, setSelectedProject] = useState('all');
1623
const [selectedItem, setSelectedItem] = useState('all');
@@ -66,10 +73,11 @@ export function ItemListView({ itemType, items, errors, UpdateItemModal, dynamic
6673
<main className={`${styles.itemsListContainer} ${darkMode ? styles.darkMode : ''}`}>
6774
<h3>{itemType}</h3>
6875
<section>
69-
<span>
76+
<div
77+
style={{ display: 'flex', flexDirection: 'column', gap: '15px', marginBottom: '20px' }}
78+
>
7079
{items && (
7180
<div className={`${styles.selectInput}`}>
72-
{/* Wrap the Time label and Datepicker in a flex group */}
7381
<div className={`${styles.filterGroup}`}>
7482
<label htmlFor="itemListTime">Time:</label>
7583
<DatePicker
@@ -88,20 +96,29 @@ export function ItemListView({ itemType, items, errors, UpdateItemModal, dynamic
8896
}
8997
/>
9098
</div>
91-
<SelectForm
92-
items={items}
93-
setSelectedProject={setSelectedProject}
94-
setSelectedItem={setSelectedItem}
95-
/>
96-
<SelectItem
97-
items={items}
98-
selectedProject={selectedProject}
99-
selectedItem={selectedItem}
100-
setSelectedItem={setSelectedItem}
101-
label={itemType}
102-
/>
99+
100+
<div className={`${styles.filterGroup}`}>
101+
<SelectForm
102+
items={items}
103+
setSelectedProject={setSelectedProject}
104+
setSelectedItem={setSelectedItem}
105+
/>
106+
</div>
107+
108+
{itemType !== 'Materials' && (
109+
<div className={`${styles.filterGroup}`}>
110+
<SelectItem
111+
items={items}
112+
selectedProject={selectedProject}
113+
selectedItem={selectedItem}
114+
setSelectedItem={setSelectedItem}
115+
label={itemType}
116+
/>
117+
</div>
118+
)}
103119
</div>
104120
)}
121+
105122
<div className={`${styles.buttonsRow}`}>
106123
<button type="button" className={`${styles.btnPrimary}`}>
107124
Add Material
@@ -117,7 +134,7 @@ export function ItemListView({ itemType, items, errors, UpdateItemModal, dynamic
117134
View Update History
118135
</button>
119136
</div>
120-
</span>
137+
</div>
121138

122139
<UpdateHistoryModal
123140
isOpen={updateHistoryModalOpen}
@@ -126,6 +143,25 @@ export function ItemListView({ itemType, items, errors, UpdateItemModal, dynamic
126143
selectedProject={selectedProject}
127144
/>
128145

146+
{children && (
147+
<div
148+
style={{
149+
display: 'flex',
150+
justifyContent: 'space-between',
151+
alignItems: 'center',
152+
marginBottom: '15px',
153+
flexWrap: 'wrap',
154+
gap: '15px',
155+
backgroundColor: darkMode ? '#2d2d2d' : '#f8f9fa',
156+
padding: '12px 15px',
157+
borderRadius: '6px',
158+
border: darkMode ? '1px solid #444' : '1px solid #dee2e6',
159+
}}
160+
>
161+
{children}
162+
</div>
163+
)}
164+
129165
{filteredItems && (
130166
<ItemsTable
131167
selectedProject={selectedProject}
@@ -171,10 +207,12 @@ ItemListView.propTypes = {
171207
key: PropTypes.string.isRequired,
172208
}),
173209
).isRequired,
210+
children: PropTypes.node,
174211
};
175212

176213
ItemListView.defaultProps = {
177214
errors: {},
215+
children: null,
178216
};
179217

180218
export default ItemListView;

src/components/BMDashboard/ItemList/ItemListView.module.css

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,26 +53,27 @@ table td {
5353
flex-wrap: wrap;
5454
justify-content: center;
5555
align-items: center;
56-
gap: 30px;
56+
gap: 30px;
5757
width: 100%;
5858
max-width: 1200px;
5959
margin: 0 auto 20px auto;
6060
overflow: visible;
6161
}
6262

6363
.filterGroup,
64-
.selectInput > div,
65-
.selectInput > form {
66-
display: flex;
67-
align-items: center;
68-
gap: 10px;
64+
.filterGroup > div,
65+
.filterGroup > form {
66+
display: flex !important;
67+
flex-direction: row !important;
68+
align-items: center !important;
69+
gap: 10px !important;
6970
}
7071

7172
.selectInput label {
7273
font-weight: bold;
7374
text-align: center;
7475
white-space: nowrap;
75-
margin-bottom: 0;
76+
margin-bottom: 0 !important;
7677
}
7778

7879
.selectInput input,
@@ -84,12 +85,11 @@ table td {
8485
padding: 5px;
8586
border: 1px solid #ccc;
8687
border-radius: 4px;
87-
margin-bottom: 0;
88+
margin-bottom: 0 !important;
8889
}
8990

9091
.selectInput input[type='text'] {
9192
padding: 5px;
92-
margin-bottom: 0;
9393
}
9494
.btnPrimary {
9595
background-color: #468ef9;

0 commit comments

Comments
 (0)